• DocumentCode
    43641
  • Title

    A Code Generation Framework for Targeting Optimized Library Calls for Multiple Platforms

  • Author

    Wen Jun Tan ; Wai Teng Tang ; Goh, Rick Siow Mong ; Turner, Stephen John ; Weng-Fai Wong

  • Author_Institution
    Sch. of Comput. Eng., Nanyang Technol. Univ., Singapore, Singapore
  • Volume
    26
  • Issue
    7
  • fYear
    2015
  • fDate
    July 1 2015
  • Firstpage
    1789
  • Lastpage
    1799
  • Abstract
    Directive-based programming approaches such as OpenMP and OpenACC have gained popularity due to their ease of programming. These programming models typically involve adding compiler directives to code sections such as loops in order to parallelize them for execution on multicore CPUs or GPUs. However, one problem with this approach is that existing compilers generate code directly from the annotated sections and do not make use of hardware-specific architectural features. As a result, the generated code is unable to fully exploit the capabilities of the underlying hardware. Alternatively, we propose a code generation framework in which linear algebraic operations in the annotated codes are recognized, extracted and mapped to optimized vendor-provided platform-specific library calls. We demonstrate that such an approach can result in better performance in the generated code compared to those which are generated by existing compilers. This is substantiated by experimental results on multicore CPUs and GPUs.
  • Keywords
    graphics processing units; linear algebra; multiprocessing systems; program compilers; software libraries; GPU; OpenACC; OpenMP; central processing unit; code annotation; code generation framework; compiler directives; directive-based programming approach; graphics processing unit; linear algebraic operations; multicore CPU; optimized vendor-provided platform-specific library calls; Arrays; Engines; Graphics processing units; Libraries; Multicore processing; Programming; Vectors; Code generation; GPU; OpenACC; OpenMP; multicore CPU;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2014.2329494
  • Filename
    6827957