Programming CUDA and OpenCL: A Case Study Using Modern C++ Libraries

  title={Programming CUDA and OpenCL: A Case Study Using Modern C++ Libraries},
  author={Denis Demidov and K. Ahnert and K. Rupp and P. Gottschling},
  • Denis Demidov, K. Ahnert, +1 author P. Gottschling
  • Published 2013
  • Computer Science, Physics
  • ArXiv
  • 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 (ODEs) and is based on odeint, a framework for the solution of systems of ODEs. Odeint is designed in a very flexible way and may be easily adapted for effective use of libraries such as MTL4, VexCL, or ViennaCL, using CUDA or OpenCL technologies. We found… CONTINUE READING
    51 Citations
    ViennaCL - Linear Algebra Library for Multi- and Many-Core Architectures
    • 52
    • PDF
    Meta-programming and Multi-stage Programming for GPGPUs
    • 6
    • PDF
    Towards High-Level Parallel Patterns in OpenCL
    • J. Dokulil, S. Benkner
    • Computer Science
    • 2014 15th International Conference on Parallel and Distributed Computing, Applications and Technologies
    • 2014
    Automatic OpenCL Code Generation from LLVM-IR using Polyhedral Optimization
    • 4
    An array API for finite difference methods
    • 2
    Comparison of OpenCL performance on different platforms using VexCL and Blaze
    • 4
    • PDF
    Optimizing Large-Scale ODE Simulations
    • 1
    • PDF
    Simulee: Detecting CUDA Synchronization Bugs via Memory-Access Modeling
    • 2
    • PDF


    ViennaCL-A High Level Linear Algebra Library for GPUs and Multi-Core CPUs
    • 79
    • PDF
    Thrust: A Productivity-Oriented Library for CUDA
    • 378
    Efficient AMG on Heterogeneous Systems
    • 9
    C++ Templates
    • 52
    • PDF
    Productive Parallel Linear Algebra Programming with Unstructured Topology Adaption
    • 4
    • PDF
    Ecient Sparse Matrix-Vector Multiplication on CUDA
    • 739
    • PDF
    Odeint - Solving ordinary differential equations in C++
    • 148
    • PDF