GPGUs Technologies

GPGPU - OpenCL | GPGPU : Power & Perf | Home

hyPACK-2013 : PGI Compilers OpenACC CUDA enabled NVIDIA GPU

contents | overview | Module 1: Getting Started:CUDA enabled NVIDIA GPU Programs | Module 2:Getting Started :PGI OpenACC APIs on CUDA enabled NVIDIA GPU | Module 3: CUDA enabled NVIDIA GPU Programs on Num. Computations | Module 4:CUDA enabled NVIDIA GPU Programs using BLAS libraries for Matrix Computations | Module 5:CUDA enabled NVIDIA GPU Programs - Application Kernels | Module 6:CUDA enabled NVIDIA GPU Memory Optimization Programs - Tuning & Performance | Module 7:CUDA enabled NVIDIA GPU Streams : Concurrent Ashynchronous Execution

NVIDIA\92s Compute Unified Device Architecture (CUDA) is a software platform for massively parallel high-performance computing on the company's powerful GPUs. PGI compilers deliver world-class performance across a wide spectrum of applications and benchmarks. PGI is the compiler-of-choice among many popular performance-critical applications used in the fields of geophysical modeling, mechanical engineering, computational chemistry, weather forecasting, and high-energy physics.

The Portland Group, a leader in GPGPU development tools and technologies for HPC, offers one and two day courses on NVIDIA GPU Programming with CUDA C, CUDA Fortran and the PGI Accelerator programming model.The PGI Fortran & C accelerator programming model document covers only user-directed accelerator programming, where the user specifies the regions of a host program to be targeted for offloading to an accelerator device.

Application -Porting a 3D Elastic Wave Simulator to GPUs Using PGI Accelerator †36.

Using MAGMA with PGI Fortran †37.

Using the CULA GPU-enabled LAPACK Library with CUDA Fortran †38.

Parallel Random Number Generation Using OpenMP, OpenCL and PGI Accelerator Directives †39.

Codes: NVIDIA - PGI OpenACC Compilation & Execution

References & Web-Pages: OpenACC      Web-Sites: NVIDAI CUDA

PGI 2012 compilers language support exisit for full CUDA C/C++ compiler for targettting multi-core x64 platforms. For GPU Computing, support for the OpenACC GPU programming directives specification v1.0 and Asynchronous data transfers and kernel launch are provided. One of the objectives to use PGI compiler on CUDA enabled NVIDIA GPUs is to introduce a collection of compiler directives in the specific regions of code in Fortran and C programs that can be offloaded from a host CPU to an attached CUDA enable d NVIDIA GPU accelerator. This method provides a model for accelerator programming that is portable across operating systems and various types of host CPUs and accelerators.

For more information :PGI Accelerator Programming Model for Fortran & C †41.

Module : Summary of Programs on OpenACC in hyPACK-2013 workshop

Set of Programs on Numerical Linear Algebra and Solution of Possion Equations by Finite Difference method (FDM) will be discussed. PGI tutorials on applications will be provided.

NVIDIA - PGI OpenACC Compilation & Execution

Detatils of Compilation and execution of "openacc" program is given below.

References :
  1. http://www.nvidia.com/object/nvidia-kepler.html NVIDIA Kepler Architecture

  2. http://developer.nvidia.com/cuda-toolkitNVIDIA
    CUDA toolkit 5.0 Preview Release April 2012

  3. http://developer.nvidia.com/category/zone/cuda-zone NVIDIA Developer Zone

  4. http://developer.nvidia.com/gpudirect
    RDMA for NVIDIA GPUDirect coming in CUDA 5.0 Preview Release, April 2012

  5. http://docs.nvidia.com/cuda/index.html
    NVIDIA CUDA C Programmig Guide Version 4.2 dated 4/16/2012 (April 2012)

  6. http://developer.download.nvidia.com/
    Dynamic Parallelism in CUDA Tesla K20 Kepler GPUs - Prelease of NVIDIA CUDA 5.0

  7. http://developer.nvidia.com/cuda-downloads
    NVIDIA Developer ZONE - CUDA Downloads CUDA TOOLKIT 4.2

  8. http://developer.nvidia.com/gpudirect NVIDIA Developer ZONE - GPUDirect

  9. http://developer.nvidia.com/search/google_cse_adv/openacct Openacc - NVIDIA

  10. http://developer.nvidia.com/cuda-toolkit
    Nsight, Eclipse Edition Pre-release of CUDA 5.0, April 2012

  11. http://docs.nvidia.com/cuda/index.html
    NVIDIA OpenCL Programming Guide for the CUDA Architecture version 4.0 Feb, 2011 (2/14,2011)

  12. http://docs.nvidia.com/cuda/index.html
    Optmization : NVIDIA OpenCL Best Practices Guide Version 1.0 Feb 2011

  13. http://developer.download.nvidia.com/OpenCL/NVIDIA_OpenCL_JumpStart_Guide.pdf
    NVIDIA OpenCL JumpStart Guide - Technical Brief

  14. http://docs.nvidia.com/cuda/index.html
    NVIDIA CUDA C BEST PRACTICES GUIDE (Design Guide) V4.0, May 2011

  15. http://docs.nvidia.com/cuda/index.html
    NVIDIA CUDA C Programming Guide Version V4.0, May 2011 (5/6/2011)

  16. http://developer.nvidia.com/gpu-computing-sdk
    NVIDIA GPU Computing SDK

  17. http://developer.apple.com/technologies/mac/core.html Apple : Snowleopard - OpenCL

  18. http://www.khronos.org/registry/cl/specs/opencl-1.1.pd
    The OpenCL Specification, Version 1.1, Published by Khronos OpenCL Working Group, Aaftab Munshi (ed.), 2010

  19. http://www.khronos.org/opencl/
    The OpenCL Speciifcation Version : v1.0 Khronos OpenCL Working Group

  20. http://www.khronos.org/
    Khronos V1.0 Introduction and Overview, June 2010

  21. http://www.khronos.org/files/opencl-1-1-quick-reference-card.pdf
    The OpenCL 1.1 Quick Reference card

  22. http://developer.amd.com/
    tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/ OpenCL 1.2 (pdf file)

  23. http://www.khronos.org/registry/cl/
    OpenCL 1.1 Specification (Revision 44) June 1, 2011

  24. http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/
    OpenCL Reference Pages

  25. http://www.mathworks.in/products/matlab/ MATLAB

  26. http://developer.nvidia.com/cuda-tools-ecosystem#Numeric
    NVIDIA - CUDA MATLAB Acceleration

  27. Jason Sanders, Edward Kandrot (Foreword by Jack Dongarra) CUDA BY EXAMPLE
    - An Introduction to General Purpose GPU Programnming, Addison Wessely 2011, nvidia

  28. Programming Massively Parallel Processors A Hands-on Approach
    - David B Kirk, Wen-mei W. David B Kirk, Wen-mei W. Hwu nvidia corporation, 2010, Elsevier,
    Morgan Kaufmann Publishers, 2011

  29. http://www.mathworks.com/matlabcentral/fileexchange/30109-opencl-toolbox-v0-17 OpenCL Toolbox for MATLAB

  30. http://www.nag.co.uk/ NAG

  31. OpenCL Progrmamin Guide, Aftab Munshi Benedict R Gaster
    , timothy F Mattson, James Fung, Dan Cinsburg, Addision Wesley,
    Pearson Education, 2012

  32. http://www.khronos.org/opencl/
    The OpenCL 1.2 Specification Khronos OpenCL Working Group

  33. http://www.khronos.org/files/opencl-1-2-quick-reference-card.pdf
    The OpenCL 1.2 Quick-reference-card ; Khronos OpenCL Working Group