Skip to main content
Log in

Automatic code generation for GPUs in llc

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Brodtkorb AR, Dyken C, Hagen TR, Hjelmervik JM, Storaasli OO (2010) State-of-the-art in heterogeneous computing. Sci Program 18:1–33

    Google Scholar 

  2. Dorta AJ, González JA, Rodríguez C, de Sande F (2003) llc: a parallel skeletal language. Parallel Process Lett 13(3):437–448

    Article  MathSciNet  Google Scholar 

  3. Dorta AJ, López P, de Sande F (2006) Basic skeletons in llc. Parallel Comput 32(7–8):491–506

    Article  Google Scholar 

  4. Fatahalian K, Houston M (2008) A closer look at GPUs. Commun ACM 51(10):50–57

    Article  Google Scholar 

  5. Khronos Group (2009) The OpenCL specification, version 1.0, online. http://www.khronos.org/registry/cl/specs/opencl-1.0.48.pdf

  6. Nickolls J, Buck I, Garland M, Skadron K (2008) Scalable parallel programming with CUDA. Queue 6(2):40–53

    Article  Google Scholar 

  7. Owens JD, Luebke D et al (2007) A survey of general-purpose computation on graphics hardware. Comput Graph Forum 26(1):80–113

    Article  Google Scholar 

  8. 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Francisco de Sande.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-011-0591-7

Keywords

Navigation