2010 · 11 citations · 9 references
ComputingComputer ScienceHigh-performance ComputingComputer ArchitectureParallel ComputingScientific ComputingGraphics Processing Unit ArchitectureGraphics Processing Unit ComputingGraphics Processing UnitsHardware AccelerationParallel ArchitecturesParallel Computer ArchitectureComputational Linear AlgebraGpu ArchitectureGpu Parallel AlgorithmsOpencl ProgrammingParallel Thread SchedulingScientific Computing AccelerationScientific Computing On GpusThread Parallelism
Highly parallel computing architectures such as graphics processing units (GPUs) pose several new challenges for scientific computing, which have been absent on single core CPUs. However, a transition from existing serial code to parallel code for GPUs often requires a considerable amount of effort. The Vienna Computing Library (ViennaCL) presented in the beginning of this work is based on OpenCL to support a wide range of hardware and aims at providing a high-level C++ interface that is mostly compatible with the existing CPU linear algebra library uBLAS shipped with the Boost libraries. As a general purpose linear algebra library, ViennaCL runs on a variety of GPU boards from different vendors pursuing different hardware architectures. As a consequence, the optimal number of threads working on a problem in parallel depends on the available hardware and the algorithm executed thereon.
9
Sparse matrix solvers on the GPU
Jeff Bolz, Ian Farmer, Eitan Grinspun et al. · 2005 · 749 citations
Ecient Sparse Matrix-Vector Multiplication on CUDA
Nathan Bell, Michael Garland · 2008 · 581 citations