Power/Performance Trade-offs of Small Batched LU Based Solvers on GPUs
In this paper we propose and analyze a set of batched linear solvers for small matrices on Graphic Processing Units (GPUs), evaluating the various alternatives depending on the size of the systems to solve. We discuss three different solutions that operate with different level of parallelization and GPU features. The first, exploiting the CUBLAS library, manages matrices of size up to 32x32 and employs Warp level (one matrix, one Warp) parallelism and shared memory. The second works at Thread-block level parallelism (one matrix, one Thread-block), still exploiting shared memory but managing matrices up to 76x76. The third is Thread level parallel (one matrix, one thread) and can reach sizes up to 128x128, but it does not exploit shared memory and only relies on the high memory bandwidth of the GPU. The first and second solution only support partial pivoting, the third one easily supports partial and full pivoting, making it attractive to problems that require greater numerical stability. We analyze the trade-offs in terms of performance and power consumption as function of the size of the linear systems that are simultaneously solved. We execute the three implementations on a Tesla M2090 (Fermi) and on a Tesla K20 (Kepler).
- Research Organization:
- Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
- Sponsoring Organization:
- USDOE
- DOE Contract Number:
- AC05-76RL01830
- OSTI ID:
- 1123253
- Report Number(s):
- PNNL-SA-93959
- Resource Relation:
- Conference: Euro-Par 2013 Parallel Processing. 19th International Conference, August 26-30, 2013, Aachen, Germany. Lecture Notes in Computer Science, 8097:813-825
- Country of Publication:
- United States
- Language:
- English
Similar Records
A High-Throughput Solver for Marginalized Graph Kernels on GPU
Evaluation of vectorized Monte Carlo algorithms on GPUs for a neutron Eigenvalue problem