8722

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

Denis Demidov, Karsten Ahnert, Karl Rupp, Peter Gottschling
Kazan Branch of Joint Supercomputer Center, Russian Academy of Sciences, Lobachevsky st. 2/31, 420111 Kazan, Russia
arXiv:1212.6326 [cs.MS], (27 Dec 2012)
@article{2012arXiv1212.6326D,

   author={Demidov}, D. and {Ahnert}, K. and {Rupp}, K. and {Gottschling}, P.},

   title={"{Programming CUDA and OpenCL: A Case Study Using Modern C++ Libraries}"},

   journal={ArXiv e-prints},

   archivePrefix={"arXiv"},

   eprint={1212.6326},

   primaryClass={"cs.MS"},

   keywords={Computer Science – Mathematical Software, Computer Science – Distributed, Parallel, and Cluster Computing, Physics – Computational Physics},

   year={2012},

   month={dec},

   adsurl={http://adsabs.harvard.edu/abs/2012arXiv1212.6326D},

   adsnote={Provided by the SAO/NASA Astrophysics Data System}

}

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.
VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
Programming CUDA and OpenCL: A Case Study Using Modern C++ Libraries, 5.0 out of 5 based on 1 rating

* * *

* * *

Like us on Facebook

HGPU group

166 people like HGPU on Facebook

Follow us on Twitter

HGPU group

1272 peoples are following HGPU @twitter

* * *

Free GPU computing nodes at hgpu.org

Registered users can now run their OpenCL application at hgpu.org. We provide 1 minute of computer time per each run on two nodes with two AMD and one nVidia graphics processing units, correspondingly. There are no restrictions on the number of starts.

The platforms are

Node 1
  • GPU device 0: AMD/ATI Radeon HD 5870 2GB, 850MHz
  • GPU device 1: AMD/ATI Radeon HD 6970 2GB, 880MHz
  • CPU: AMD Phenom II X6 @ 2.8GHz 1055T
  • RAM: 12GB
  • OS: OpenSUSE 13.1
  • SDK: AMD APP SDK 2.9
Node 2
  • GPU device 0: AMD/ATI Radeon HD 7970 3GB, 1000MHz
  • GPU device 1: nVidia GeForce GTX 560 Ti 2GB, 822MHz
  • CPU: Intel Core i7-2600 @ 3.4GHz
  • RAM: 16GB
  • OS: OpenSUSE 12.2
  • SDK: nVidia CUDA Toolkit 6.0.1, AMD APP SDK 2.9

Completed OpenCL project should be uploaded via User dashboard (see instructions and example there), compilation and execution terminal output logs will be provided to the user.

The information send to hgpu.org will be treated according to our Privacy Policy

HGPU group © 2010-2014 hgpu.org

All rights belong to the respective authors

Contact us: