Swan: A tool for porting CUDA programs to OpenCL

Published: 01-04-2011| Version 1 | DOI: 10.17632/dnzykbrzxk.1
M J Harvey,
Gianni De Fabritiis


This program has been imported from the CPC Program Library held at Queen's University Belfast (1969-2018) Abstract The use of modern, high-performance graphical processing units (GPUs) for acceleration of scientific computation has been widely reported. The majority of this work has used the CUDA programming model supported exclusively by GPUs manufactured by NVIDIA. An industry standardisation effort has recently produced the OpenCL specification for GPU programming. This offers the benefits of hardware-independence and reduced dependence on proprietary tool-chains. Here we describe a source-to-source tr... Title of program: Swan Catalogue Id: AEIH_v1_0 Nature of problem Graphical Processing Units (GPUs) from NVIDIA are preferentially programed with the proprietary CUDA programming toolkit. An alternative programming model promoted as an industry standard, OpenCL, provides similar capabilities to CUDA and is also supported on non-NIVIDA hardware (including multicore x86 CPUs, AMD GPUs and IBM Cell processors). The adaptation of a program from CUDA to OpenCL is relatively straightforward but laborious. The Swan tool facilitates this conversion. Versions of this program held in the CPC repository in Mendeley Data AEIH_v1_0; Swan; 10.1016/j.cpc.2010.12.052