Abstract
llc is a C-based language where parallelism is expressed using compiler directives. In this paper, we present a new backend of an llc compiler that produces code for GPUs. We have also implemented a software architecture that eases the development of new backends. Our design represents an intermediate layer between a high-level parallel language and different hardware architectures.
We evaluate our development by comparing the OpenMP and llc parallelizations of three different algorithms. In every case, the probable performance loss with respect to a direct CUDA implementation is clearly compensated by a significantly smaller development effort.
Similar content being viewed by others
References
Brodtkorb AR, Dyken C, Hagen TR, Hjelmervik JM, Storaasli OO (2010) State-of-the-art in heterogeneous computing. Sci Program 18:1–33
Dorta AJ, González JA, Rodríguez C, de Sande F (2003) llc: a parallel skeletal language. Parallel Process Lett 13(3):437–448
Dorta AJ, López P, de Sande F (2006) Basic skeletons in llc. Parallel Comput 32(7–8):491–506
Fatahalian K, Houston M (2008) A closer look at GPUs. Commun ACM 51(10):50–57
Khronos Group (2009) The OpenCL specification, version 1.0, online. http://www.khronos.org/registry/cl/specs/opencl-1.0.48.pdf
Nickolls J, Buck I, Garland M, Skadron K (2008) Scalable parallel programming with CUDA. Queue 6(2):40–53
Owens JD, Luebke D et al (2007) A survey of general-purpose computation on graphics hardware. Comput Graph Forum 26(1):80–113
Reyes R, Dorta AJ, Almeida F, de Sande F (2009) Automatic hybrid MPI+OpenMP code generation with llc. In: Ropo M, Westerholm J, Dongarra J (eds) 16th Euro PVM/MPI UGM, Espoo, Finland. LNCS, vol 5759. Springer, Berlin, pp 185–195
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Reyes, R., de Sande, F. Automatic code generation for GPUs in llc. J Supercomput 58, 349–356 (2011). https://doi.org/10.1007/s11227-011-0591-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-011-0591-7