In a society that grows more and more dependent on fast digital
data processing, many developers have turned their attention toward
performing general-purpose computations on the graphics processing
unit. This thesis explores what types of problems might be, or might
not be, suitable for implementation on the GPU by taking a look at
both classical and modern GPU concepts. Two computational problems
– matrix multiplication and maximum value of a matrix – are
implemented for both multi-core CPU and GPU and a comparison is
presented. We reach the conclusion that the GPU can be an extremely
potent computation unit as long as the problem is highly parallelizable,
has no or very few branches and is computationally intensive.
|