Introduction to GPU Programming with OpenACC: Difference between revisions
No edit summary |
No edit summary |
||
| Line 5: | Line 5: | ||
===== '''Prerequisites''' ===== | ===== '''Prerequisites''' ===== | ||
The course does not require any basic knowledge in GPU-programming | |||
The course does not require any basic knowledge in GPU-programming | |||
* Basic programming experience with either Fortran or C | * Basic programming experience with either Fortran or C | ||
* Basic Linux | * Basic Linux | ||
| Line 22: | Line 23: | ||
* Interpret Slurm gpu-job. | * Interpret Slurm gpu-job. | ||
==== Registration ==== | ==== Registration ==== | ||
Please register [https://skjemaker.app.uib.no/view.php?id=12165532 here] | '''Please register [https://skjemaker.app.uib.no/view.php?id=12165532 here]''' | ||
===== Date & Time ===== | ===== Date & Time ===== | ||
29th March 2022 Tuesday 10:00 -15:30 | 29th March 2022 Tuesday 10:00 -15:30 | ||
| Line 28: | Line 29: | ||
To be updated | To be updated | ||
===== Schedule ===== | ===== Schedule ===== | ||
'''* Session I General introduction 10:00-10:45 | |||
''' | |||
* ''State-of-the-art supercomputers'' | |||
* ''Introduction to GPU-hardware'' | |||
* ''GPU-programming models and supports'' | |||
'''Coffee break (10:45-11:00)''' | |||
'''* Showcase: OpenACC and functionality 11:00 - 12:00 ''' | |||
* ''Synchronous OpenACC'' | |||
* ''Nsight Systems profiling'' | |||
* ''Asynchronous OpenACC'' | |||
'''Lunch (12:00-13:00)''' | |||
* '''III. Hands-on + discussion 13:00- 15:30''' | |||
[[Category:Training]] | [[Category:Training]] | ||
[[Category:Training]] | [[Category:Training]] | ||
Revision as of 11:03, 10 February 2022
About the course The Scientific Computing group at the IT department (UiB) is offering a one day hands-on physical course for Introductory GPU Programming with OpenACC.
The course is designed for beginners in GPU-programming and who want to get familiar with available directives programming models with a special focus on the OpenACC offloading. The course does not require any basic knowledge in GPU-programming, but it is a requirement that the user has some basic programming experience with either Fortran or C. The course aims at providing an overview of the OpenACC model and guiding users towards its optimal use. The course will familiarise the users with the most needed constructs, clauses and runtime library routines via some practical numerical applications. The applications include solving partial differential equations, matrix multiplication, integration etc.
Prerequisites
The course does not require any basic knowledge in GPU-programming
- Basic programming experience with either Fortran or C
- Basic Linux
Expected Outcome of the course
By the end of this training course, the user should be able to:
- Recognise the necessity of GPU-programming.
- Define different available programming models.
- Get an overview of the GPU-architectures and compilers supporting OpenACC.
- Determine the role of different constructs, clauses, and runtime library routines.
- Compile and interpret the compiler flags and feedback messages.
- Use appropriate constructs and clauses to offload compute regions to the GPU device.
- Select and map regions of a code with the use of data locality concepts.
- Implement OpenACC on simple numerical models.
- Do code-profiling using NVIDIA Nsight Systems
- Interpret Slurm gpu-job.
Registration
Please register here
Date & Time
29th March 2022 Tuesday 10:00 -15:30
Location
To be updated
Schedule
* Session I General introduction 10:00-10:45
* State-of-the-art supercomputers
* Introduction to GPU-hardware
* GPU-programming models and supports
Coffee break (10:45-11:00)
* Showcase: OpenACC and functionality 11:00 - 12:00
* Synchronous OpenACC
* Nsight Systems profiling
* Asynchronous OpenACC
Lunch (12:00-13:00)
- III. Hands-on + discussion 13:00- 15:30