2004 · 306 citations · 16 references
Cluster ComputingComputational ScienceGpu ArchitectureEngineeringGraphics HardwareArray ComputingGpu BenchmarkingDense Matrix-matrix MultiplicationComputer EngineeringComputer ArchitectureComputational ComplexityParallel ProgrammingComputer ScienceGpu AlgorithmsParallel ComputingGpu ClusterGpu ImplementationsGpu Computing
Utilizing graphics hardware for general purpose numerical computations has become a topic of considerable interest. The implementation of streaming algorithms, typified by highly parallel computations with little reuse of input data, has been widely explored on GPUs. We relax the streaming model's constraint on input reuse and perform an in-depth analysis of dense matrix-matrix multiplication, which reuses each element of input matrices O(n) times. Its regular data access pattern and highly parallel computational requirements suggest matrix-matrix multiplication as an obvious candidate for efficient evaluation on GPUs but, surprisingly we find even near-optimal GPU implementations are pronouncedly less efficient than current cache-aware CPU approaches. We find the key cause of this inefficiency is that the GPU can fetch less data and yet execute more arithmetic operations per clock than the CPU when both are operating out of their closest caches. The lack of high bandwidth access to cached data will impair the performance of GPU implementations of any computation featuring significant input reuse.
16
Ian Buck, Daniel Reiter Horn, Jeremy Sugerman et al. · ACM Transactions on Graphics · 2004 · 1.2K citations
Sparse matrix solvers on the GPU
Jeff Bolz, Ian Farmer, Eitan Grinspun et al. · 2005 · 744 citations
Numerical Analysis, Sparse Matrix Solvers, Gpu Architecture +15
The microarchitecture of the Pentium 4 processor
G. Hinton · Medical Entomology and Zoology · 2001 · 588 citations