• Home
  • News
  • Tutorials
  • Analysis
  • About
  • Contact

TechEnablement

Education, Planning, Analysis, Code

  • CUDA
    • News
    • Tutorials
    • CUDA Study Guide
  • OpenACC
    • News
    • Tutorials
    • OpenACC Study Guide
  • Xeon Phi
    • News
    • Tutorials
    • Intel Xeon Phi Study Guide
  • OpenCL
    • News
    • Tutorials
    • OpenCL Study Guide
  • Web/Cloud
    • News
    • Tutorials
You are here: Home / CUDA / OpenACC Compilers Deliver 85% The Performance Of Hand-Optimized Code

OpenACC Compilers Deliver 85% The Performance Of Hand-Optimized Code

September 4, 2014 by Rob Farber Leave a Comment

Directive-based compilers offer both portability and the ability to optimized code for specific platforms such as GPUs and CPUs.  A recent LCPC14 paper, “Directive-Based Compilers for GPUs“,  by Swapnil Ghike, Ruben Gran, Maria J. Garzaran, David Padua at the University of Illinois at Urbana-Champaign found OpenACC code generated by the PGI and Cray OpenACC compilers achieved over 85% of the performance of a hand-tuned CUDA implementations. The benchmarks were chosen from the Rodinia Benchmark suite. The paper was presented at the 2014 International Workshop on Languages and Compilers for Parallel Computing.
Following is the paper abstract:
General Purpose Graphics Computing Units can be effectively used for enhancing the performance of many contemporary scientific applications. However, programming GPUs using machine-specific notations like CUDA or OpenCL can be complex and time consuming. In addition, the resulting programs are typically fine-tuned for a particular target device. A promising alternative is to program in a conventional and machine-independent notation extended with directives and use compilers to generate GPU code automatically. These compilers enable portability and increase programmer productivity and, if effective, would not impose much penalty on performance.
This paper evaluates two such compilers, PGI and Cray. We first identify a collection of standard transformations that these compilers can apply. Then, we propose a sequence of manual transformations that programmers can apply to enable the generation of efficient GPU kernels. Lastly, using the Rodinia Benchmark suite, we compare the performance of the code generated by the PGI and Cray compilers with that of code written in CUDA. Our evaluation shows that the code produced by the PGI and Cray compilers can perform well. For 6 of the 15 benchmarks that we evaluated, the compiler generated code achieved over 85% of the performance of a hand-tuned CUDA version.

Share this:

  • Twitter

Filed Under: CUDA, Featured news, News, News, openacc Tagged With: CUDA, GPU, HPC, NVIDIA, openacc

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tell us you were here

Recent Posts

Farewell to a Familiar HPC Friend

May 27, 2020 By Rob Farber Leave a Comment

TechEnablement Blog Sunset or Sunrise?

February 12, 2020 By admin Leave a Comment

The cornerstone is laid – NVIDIA acquires ARM

September 13, 2020 By Rob Farber Leave a Comment

Third-Party Use Cases Illustrate the Success of CPU-based Visualization

April 14, 2018 By admin Leave a Comment

More Tutorials

Learn how to program IBM’s ‘Deep-Learning’ SyNAPSE chip

February 5, 2016 By Rob Farber Leave a Comment

Free Intermediate-Level Deep-Learning Course by Google

January 27, 2016 By Rob Farber Leave a Comment

Intel tutorial shows how to view OpenCL assembly code

January 25, 2016 By Rob Farber Leave a Comment

More Posts from this Category

Top Posts & Pages

  • ARM64 with CUDA Early Access Boards Now Available
  • Apache Spark Claims 10x to 100x Faster than Hadoop MapReduce
  • PyFR - Python/GPU Combustion Code Shortlisted for Several HPCWire Readers Choice Awards
  • Analysis of Intel share price drop after earnings call
  • Microsoft Shows Hyper-Lapse Video Tech for Smooth and Interesting Action Videos for the Masses

Archives

© 2026 · techenablement.com