GPU Programming @ JSC

CET
Computer Lab no. 021 (Jülich Supercomputing Centre)

Computer Lab no. 021

Jülich Supercomputing Centre

Forschungszentrum Jülich, Germany
Description

Many-core programming is a very dynamic research area. Many scientific applications have been ported to GPU architectures in recent years. We will give an introduction to CUDA, OpenACC, OpenCL, and multi-GPU programming using examples of increasing complexity. After introducing the basics the focus will be on optimization and tuning of scientific applications. Topics covered will include:

  • Programming models: CUDA, OpenACC, OpenCL
  • Using libraries as interface for GPU programming (e.g. Thrust)
  • Partitioning and granularity of parallel applications
  • Debugging and profiling of kernels
  • Performance optimizations
  • Multi-GPU programming

Prerequisites: Knowledge in C

This course is a Prace Advanced Training Centres (PATC) course.

Application
Registrations are only considered until 7 March 2014;
due to available space, the maximal number of participants is limited.
Applicants will be notified, whether they are accepted for participitation.

Instructors:

Dr. Jan Meinke, Jochen Kreutz, Peter Philippen, Andrew Adinetz, Anke Zitz, JSC;
Jiri Kraus, NVIDIA

Contact
For any questions concerning the course please send an e-mail to w.homberg@fz-juelich.de
    • Introduction to GPU computing
    • Hands-on session
    • 10:30 AM
      Coffee break
    • OpenACC intro
    • Hands-on session
    • 12:00 PM
      Lunch Break
    • Advanced Features in OpenACC
    • Hands-on session
    • 2:30 PM
      Coffe break
    • Cuda introduction
    • Hands-on session
    • 7:00 PM
      Social event (Dinner at the Restaurant "Am Hexenturm" in Jülich)

      Dinner at the Restaurant "Am Hexenturm" in Jülich

    • Matrix multiply using Cuda
    • Hands-on session
    • 10:30 AM
      Coffee break
    • Cuda performance measurement
    • Hands-on session
    • 12:00 PM
      Lunch Break
    • Performance tuning I
    • Hands-on session
    • 2:30 PM
      Coffee break
    • Performance tuning II
    • Hands-on session
    • Intra-node multi GPU programming
    • Hands-on session
    • 10:30 AM
      Coffee break
    • Multi GPU programming using Cuda/MPI
    • Hands-on session
    • 12:00 PM
      Lunch break
    • OpenCL Overview
    • Hands-on session
    • 2:30 PM
      Coffee break
    • Tuning OpenCL programs
    • Hands-on session
    • Wrap-up