image

Online HPC Programming Training Workshops

LEARN & UPSKILL

Modern Fortran
OpenMP
MPI
CUDA

Find further details on each online course below

Cost for Each Course:  £1000 / $1400 / €1190 (plus VAT if based in UK)

Introduction to Modern Fortran

Tuesday 26th - Friday 29th October 1.00pm—5.00pm (BST)


A comprehensive introduction to modern Fortran for those that are either completely new to the language or have some prior experience but need to be brought up to date.

Learn how to exploit the features of the language to implement software engineering best practices, leading to the development of efficient and maintainable code.

alt

Topics will include:

- Compiling and running Fortran, 

- Variables and basic mathematical operations.

- Using conditional statements and writing loops.

- Using arrays, array sections and dynamic memory allocation.

- Program structure including functions, subroutines, and modules.

- File input and output.

Pre-Requisites:

- Some experience in scripting or programming is an advantage

- Familiar with working in a Linux environment

Please click here for the course syllabus

Cost :
£1000 / $1400 / €1190

plus VAT if UK-based

Introduction to MPI

Tuesday 2nd - Friday 5th November 1.00pm-5.00pm (GMT)


MPI (Message Passing Interface) is the de facto standard for distributed-memory parallel programming, defining how concurrent processes can communicate, and hence work together, to complete a given task in a shorter time. 

This course is primarily aimed at programmers who are new to MPI, and provides a solid grounding in the use of point-to-point and collective communication, as well as explaining some more advanced topics. This will enable delegates to both better understand and develop existing MPI codes, and to start to write their own parallel codes using MPI.

alt

Topics will include:

- Point-to-point communication (blocking and non-blocking)

- Collective communication (blocking and non-blocking)

- MPI Derived Datatypes

- User-defined Binary Operators

- Cartesian Topologies

- Groups and Communicators

Pre-Requisites:

- Competent in Fortran, C or C++ Programming

- Familiar with working in a Linux environment

(i.e., connect to a machine remotely, use basic UNIX commands, edit a source file, and understand the elementary steps in compiling object files and creating executables).

Please click here for the course syllabus


Cost:
£1000 / $1400 / €1190

plus VAT if UK-based

Introduction to OpenMP

Tuesday 9th - Friday 12th November 1.00pm—5.00pm (GMT)


OpenMP is the standard for writing parallel codes to run on a shared memory computer or multi-core processor. It primarily involves adding compiler directives to an existing serial code. This course is aimed at those interested in parallelising their software.

We will introduce concepts and syntax of OpenMP, covering a range of features and including both loop and task based parallelism. Throughout we will emphasise performance issues.

alt

Topics will include:

- OpenMP directives, constructs and regions; sharing data.

- Parallelizing and scheduling loops; using reductions.

- OpenMP synchronisation, race conditions and data dependencies.

- Introduction to OpenMP tasks.

- Environment variables and runtime library routines; hints and tips.


Pre-Requisites:

- Competent in Fortran, C or C++ Programming

- Familiar with working in a Linux environment

(i.e., you should be able to connect to a machine remotely, use basic UNIX commands, edit a source file, and understand the elementary steps in compiling object files and creating executables).

Please click here for the course syllabus


Cost
£1000 / $1400 / €1190

plus VAT if UK-based

Introduction to CUDA

Tuesday 16th - Friday 19th November 1.00pm-5.00pm (GMT)


This Course is aimed at those interested in learning how to use NVIDIA GPUs most efficiently. No prior experience of parallel computing is required.

Starting from scratch, we cover the principles and best practices of parallel programming for NVIDIA GPUs using CUDA C++

alt

Topics will include:

- An overview of GPU architecture and its fundamental differences with CPUs

- Heterogenous programming with CUDA C++

- GPU memory hierarchy

- Fundamental CUDA Optimization techniques

- CUDA programming and parallel patterns

- CUDA Concurrency

Pre-Requisites:

- Competent in C or C++ Programming

- Familiar with working in a Linux environment

(i.e., you should be able to connect to a machine remotely, use basic UNIX commands, edit a source file and understand the elementary steps in compiling object files and creating executables).

Please click here for the course syllabus

Cost
£1000 / $1400 / €1190

plus VAT if UK-based

Course Fees

£1000 / $1400 / €1190
plus VAT if you are based in the UK

Courses are tutor-led over 4 half days. Each course is supported by practical exercises.
The sessions will be in a virtual environment, and slides provided in PDF format.
Example codes and solutions are provided, with time to ask tutors questions throughout.
All course attendees will be given access to a suitably configured cloud platform on which to carry out the exercises.
Detailed instructions will be provided on how to access this from both Windows and Linux machines.

Questions? Please contact the NAG Training Team

Save your place by registering here.
Payment will not be required until confirmation of booking.