arrow
Return

PROGRAMMING CUDA AND OPENCL: A CASE STUDY USING MODERN C plus plus LIBRARIES

delete2013-01-01
delete35
delete
OA
AI
D
Denis Demidov *
K
Karsten Ahnert
K
Karl Rupp
P
Peter Gottschling
DOI:10.1137/120903683delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
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 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 us to effectively use the computational resources of many-core GPUs or multicore CPUs without much knowledge of the underlying technologies.
Keywords:
GPGPU
OpenCL
CUDA
C plus
Boost.odeint
MTL4
VexCL
ViennaCL
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

SIAM Journal on Scientific Computing cover
SIAM Journal on Scientific Computing
IF:
2.6
Papers:
5.1K
Citations:
1.8W

Organization

R
russian academy of sciences
Scholars:
9.1W
Papers: 6.0W
Citations: 60
U
united states department of energy (doe)
Scholars:
11.3W
Papers: 9.6W
Citations: 246
researcher View more organizations