Skip to main content

A Translation Framework for Automatic Translation of Annotated LLVM IR into OpenCL Kernel Function

  • Conference paper
Advances in Intelligent Systems and Applications - Volume 2

Part of the book series: Smart Innovation, Systems and Technologies ((SIST,volume 21))

Abstract

Heterogeneous multi-core processor is proposed to accelerate applications using an application-specific hardware, such as graphics processing unit (GPU). However, heterogeneous multi-core processor is difficult to program. Therefore, OpenCL (Open Computing Language) standard recently has been proposed to reduce the difficulty. A program of OpenCL mainly consists of the host code (executed on CPU) and the device code (executed on GPU or other accelerators). LLVM (Low Level Virtual Machine) is a compiler infrastructure and supports a variety of front-ends into LLVM IR (Intermediate Representation). To help translate programs written by different programming languages of LLVM front-ends to OpenCL, this work defines some extensions of LLVM IR to represent the kernel function of OpenCL. Furthermore, a translation framework is designed and implemented to translate annotated LLVM IR to OpenCL kernel function.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 259.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 329.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 329.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Tsai, T.-C.: OMP2OCL Translator: A Translator for Automatic Translation of OpenMP Programs into OpenCL Programs. MS. Thesis, National Chiao Tung University (2010)

    Google Scholar 

  2. Hruska, J.: AMD Announces New GPGPU Programming Tools, http://hothardware.com/News/AMD-Announces-New-GPGPU-Programming-Tools

  3. Khronos OpenCL Working Group, The OpenCL Specification 1.0 (2009)

    Google Scholar 

  4. Lattner, C., Adve, V.: LLVM: A compilation framework for lifelong program analysis & transformation. In: International Symposium on Code Generation and Optimization (2004)

    Google Scholar 

  5. Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently computing static single assignment form and the control dependence graph. In: ACM Transactions on Programming Languages and Systems (1991)

    Google Scholar 

  6. LLVM Developer Group, LLVM Language Reference Manual, http://llvm.org/docs/LangRef.html

  7. Khronos Group, SPIR 1.0 Specification for OpenCL (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chen-Ting Chang .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chang, CT., Chen, YS., Wu, IW., Shann, JJ. (2013). A Translation Framework for Automatic Translation of Annotated LLVM IR into OpenCL Kernel Function. In: Pan, JS., Yang, CN., Lin, CC. (eds) Advances in Intelligent Systems and Applications - Volume 2. Smart Innovation, Systems and Technologies, vol 21. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35473-1_62

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35473-1_62

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35472-4

  • Online ISBN: 978-3-642-35473-1

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics