Automatic program generation for heterogeneous architectures

H V Deepika, N. Mangala, Sarat Chandra Babu · 2016

The new generation accelerator based HPC clusters use OpenCL language for exploiting the heterogeneous compute power. OpenCL is a portable language which allows dynamic binding of heterogeneous compute devices at runtime. It uses a kernel programming method by which the different functionality of the program can execute simultaneously on heterogeneous devices. An OpenCL program is made up of host code, execution environment and device code making the program lengthy and complex. This paper describes the software named OpenCLGen which automatically generates OpenCL programs for single or multiple CPU or GPU devices. A complete OpenCL program is generated with minimum programming effort based on the kernel code supplied by the user; thereby helping to improve programmer productivity. OpenCLGen produces a downloadable package aggregating the host code, header files, runtime for kernel code, Makefile and user instructions. This paper describes the design of the OpenCLGen software and offers a comparison to other similar software.

Read the paper · More papers on PaperTik