Programming CUDA and OpenCL: A Case Study Using Modern C++ Libraries
arXiv:1212.6326 · doi:10.1137/120903683
Abstract
We present a comparison of several modern C++ libraries providing high-level interfaces for programming multi- and many-core architectures on top of CUDA or OpenCL. The comparison focuses on the solution of ordinary differential equations and is based on odeint, a framework for the solution of systems of ordinary differential equations. Odeint is designed in a very flexible way and may be easily adapted for effective use of libraries such as Thrust, MTL4, VexCL, or ViennaCL, using CUDA or OpenCL technologies. We found that CUDA and OpenCL work equally well for problems of large sizes, while OpenCL has higher overhead for smaller problems. Furthermore, we show that modern high-level libraries allow to effectively use the computational resources of many-core GPUs or multi-core CPUs without much knowledge of the underlying technologies.
21 pages, 4 figures, submitted to SIAM Journal of Scientific Computing and accepted
References in corpus (1)
Cited by in corpus (17)
- On the impact of quantum computing technology on future developments in high-performance scientific computing
- Conjugate gradient methods in micromagnetics
- Preconditioned nonlinear conjugate gradient method for micromagnetic energy minimization
- Development and Analysis of a Block-Preconditioner for the Phase-Field Crystal Equation
- A Performance Comparison of Sort and Scan Libraries for GPUs
- Wigner crystal diode
- Transition Jitter in Heat Assisted Magnetic Recording by Micromagnetic Simulation
- Scaling of Chaos in Strongly Nonlinear Lattices
- Characterizing and Detecting CUDA Program Bugs
- What is the central bank of Wikipedia?
- Challenges Porting a C++ Template-Metaprogramming Abstraction Layer to Directive-based Offloading
- Modular, general purpose ODE integration package to solve large number of independent ODE systems on GPUs
- Modeling high-order harmonic generation in quantum dots using a real-space tight-binding approach
- Thermoelectric properties of Wigner crystal in two-dimensional periodic potential
- SODECL: An Open Source Library for Calculating Multiple Orbits of a System of Stochastic Differential Equations in Parallel
- Optimizing Large-Scale ODE Simulations
- FDBB: Fluid Dynamics Building Blocks