ABSTRACT
The PGI Accelerator model is a high-level programming model for accelerators, such as GPUs, similar in design and scope to the widely-used OpenMP directives. This paper presents some details of the design of the compiler that implements the model, focusing on the Planner, the element that maps the program parallelism onto the hardware parallelism.
- Bacon, D. F., Graham, S. L., and Sharp, O. J. Compiler transformations for high-performance computing. Computing Surveys (Dec. 1994), 345--420. Google ScholarDigital Library
- Dolbeau, R., Bihan, S., and Bodin, F. HMPP: A hybrid multicore parallel programming environment.Google Scholar
- Han, T. D., and Abdelrahman, T. S. hiCUDA: A high-level directive-based language for gpu programming. In Proceedings of the 2nd Workshop on General Purpose Processing on Graphics Processing Units (Mar. 2009), pp. 52--61. Google ScholarDigital Library
- Lee, S., Min, S.-J., and Eigenmann, R. OpenMP to GPGPU: A compiler framework for automatic translation and optimization. In Proceedings of the 2009 ACM SIGPLAN Symposium in Principles and Practice of Parallel Programming (Raleigh, N. C., Feb. 2009), pp. 101--110. Google ScholarDigital Library
- Nunshi, A., Ed. The OpenCL Specification. The Kronos Group, Oct. 2009.Google Scholar
- NVIDIA Corp. NVIDIA CUDA Cuda Unified Device Architecture Reference Manual, July 2009. available at www.nvidia.com/cuda.Google Scholar
- OpenMP Architecture Review Board. OpenMP Application Program Interface, 2008. available at www.openmp.org.Google Scholar
- The Portland Group, Inc. The PGI Fortran and C Accelerator Programming Model, Nov. 2009. available at www.pgroup.com/accelerate.Google Scholar
- Ruetsch, G., and Micikevicius, P. Optimizing Matrix Transpose in CUDA, Jan. 2009. available in the CUDA Toolkit.Google Scholar
- Wolfe, M. High Performance Compilers for Parallel Computing. Reading, Mass.: Addison-Wesley, 1996. Google ScholarDigital Library
- Wolfe, M. Design and implementation of a high level programming model for GPUs. In Workshop on Exploiting Parallelism using GPUs and other Hardware-Assisted Methods (EPHAM) (Seattle, Wa., Mar. 2009).Google Scholar
Index Terms
- Implementing the PGI Accelerator model
Recommendations
Implementing a GPU programming model on a Non-GPU accelerator architecture
ISCA'10: Proceedings of the 2010 international conference on Computer ArchitectureParallel codes are written primarily for the purpose of performance. It is highly desirable that parallel codes be portable between parallel architectures without significant performance degradation or code rewrites. While performance portability and ...
Accelerator: using data parallelism to program GPUs for general-purpose uses
Proceedings of the 2006 ASPLOS ConferenceGPUs are difficult to program for general-purpose uses. Programmers can either learn graphics APIs and convert their applications to use graphics pipeline operations or they can use stream programming abstractions of GPUs. We describe Accelerator, a ...
Cross-Accelerator Performance Profiling
XSEDE16: Proceedings of the XSEDE16 Conference on Diversity, Big Data, and Science at ScaleThe computing requirements of scientific applications have influenced processor design, and have motivated the introduction and use of many-core processors, i.e., accelerators, for high performance computing (HPC). Consequently, it is now common for the ...
Comments