Programming CUDA and OpenCL: A Case Study Using Modern C++ Libraries. Demidov, D., Ahnert, K., Rupp, K., & Gottschling, P. *arXiv:1212.6326 [physics]*, December, 2012. Paper abstract bibtex 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.

@article{demidov_programming_2012,
title = {Programming {CUDA} and {OpenCL}: {A} {Case} {Study} {Using} {Modern} {C}++ {Libraries}},
shorttitle = {Programming {CUDA} and {OpenCL}},
url = {http://arxiv.org/abs/1212.6326},
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.},
urldate = {2014-01-25},
journal = {arXiv:1212.6326 [physics]},
author = {Demidov, Denis and Ahnert, Karsten and Rupp, Karl and Gottschling, Peter},
month = dec,
year = {2012},
keywords = {Computer Science - Distributed, Parallel, and Cluster Computing, Computer Science - Mathematical Software, Physics - Computational Physics}
}

Downloads: 0

{"_id":"JwYKKqrmvNzmufDSr","bibbaseid":"demidov-ahnert-rupp-gottschling-programmingcudaandopenclacasestudyusingmodernclibraries-2012","authorIDs":[],"author_short":["Demidov, D.","Ahnert, K.","Rupp, K.","Gottschling, P."],"bibdata":{"bibtype":"article","type":"article","title":"Programming CUDA and OpenCL: A Case Study Using Modern C++ Libraries","shorttitle":"Programming CUDA and OpenCL","url":"http://arxiv.org/abs/1212.6326","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.","urldate":"2014-01-25","journal":"arXiv:1212.6326 [physics]","author":[{"propositions":[],"lastnames":["Demidov"],"firstnames":["Denis"],"suffixes":[]},{"propositions":[],"lastnames":["Ahnert"],"firstnames":["Karsten"],"suffixes":[]},{"propositions":[],"lastnames":["Rupp"],"firstnames":["Karl"],"suffixes":[]},{"propositions":[],"lastnames":["Gottschling"],"firstnames":["Peter"],"suffixes":[]}],"month":"December","year":"2012","keywords":"Computer Science - Distributed, Parallel, and Cluster Computing, Computer Science - Mathematical Software, Physics - Computational Physics","bibtex":"@article{demidov_programming_2012,\n\ttitle = {Programming {CUDA} and {OpenCL}: {A} {Case} {Study} {Using} {Modern} {C}++ {Libraries}},\n\tshorttitle = {Programming {CUDA} and {OpenCL}},\n\turl = {http://arxiv.org/abs/1212.6326},\n\tabstract = {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.},\n\turldate = {2014-01-25},\n\tjournal = {arXiv:1212.6326 [physics]},\n\tauthor = {Demidov, Denis and Ahnert, Karsten and Rupp, Karl and Gottschling, Peter},\n\tmonth = dec,\n\tyear = {2012},\n\tkeywords = {Computer Science - Distributed, Parallel, and Cluster Computing, Computer Science - Mathematical Software, Physics - Computational Physics}\n}\n\n","author_short":["Demidov, D.","Ahnert, K.","Rupp, K.","Gottschling, P."],"key":"demidov_programming_2012","id":"demidov_programming_2012","bibbaseid":"demidov-ahnert-rupp-gottschling-programmingcudaandopenclacasestudyusingmodernclibraries-2012","role":"author","urls":{"Paper":"http://arxiv.org/abs/1212.6326"},"keyword":["Computer Science - Distributed","Parallel","and Cluster Computing","Computer Science - Mathematical Software","Physics - Computational Physics"],"downloads":0},"bibtype":"article","biburl":"https://bibbase.org/zotero/moorepants","creationDate":"2019-12-04T16:23:11.379Z","downloads":0,"keywords":["computer science - distributed","parallel","and cluster computing","computer science - mathematical software","physics - computational physics"],"search_terms":["programming","cuda","opencl","case","study","using","modern","libraries","demidov","ahnert","rupp","gottschling"],"title":"Programming CUDA and OpenCL: A Case Study Using Modern C++ Libraries","year":2012,"dataSources":["kGdXP2S4pPvthm6Pa"]}