Diploma in Parallelization with CUDA/OpenMP and Profiling
Online postgraduate diploma of 800 hours in parallelisation with CUDA/OpenMP and profiling: 8 modules covering parallel architectures, OpenMP programming, CUDA fundamentals, advanced GPU optimisation, profiling and performance analysis, hybrid MPI+X programming, and applications in simulation and AI, with an assigned technical tutor.
Take the controls.
Run a real engineering trade-off from this field. Move the sliders, watch the model react in real time and beat the challenge.
What you will be able to do
Analyse potential performance with the Amdahl and roofline models.
Parallelise shared-memory codes with OpenMP.
Program GPU compute kernels with CUDA.
Optimise memory access and occupancy on the GPU.
Use profiling tools to locate bottlenecks.
Combine MPI with OpenMP and CUDA in hybrid applications.
Assess scalability, efficiency and numerical reproducibility.
Who it's for
- HPC engineers.
- CUDA developers.
- Performance engineers.
- Scientific software engineers.
- GPU computing engineers.
- Numerical simulation researchers who need faster codes.
- Engineering or science graduates aiming to enter scientific research.
What you'll work with
- OpenMP API 5.2 (shared-memory parallel programming)
- MPI 4.0 (Message Passing Interface)
- ISO/IEC 14882:2020 (C++20) (C++ programming language)
- IEEE 754-2019 (floating-point arithmetic)
- OpenACC 3.3 (directive-based accelerator programming)
- SYCL 2020 (heterogeneous C++ programming)
- ISO/IEC 9899:2018 (C17) (C programming language)
- NVIDIA CUDA Toolkit
- NVIDIA Nsight Systems
- NVIDIA Nsight Compute
- Intel VTune Profiler
- Score-P
8 modules
1.1Amdahl’s law and Gustafson’s law1.2Memory hierarchy and caches1.3Multi-core and NUMA architectures1.4NVIDIA GPU architecture1.5SIMT, warps and multiprocessors1.6Bandwidth versus compute1.7The roofline performance model1.8Taxonomy of parallelism1.9IEEE 754 floating-point representation1.10Workshop: roofline model of a compute kernel
2.1The parallel and for directives2.2Variable scoping and data races2.3Static, dynamic and guided scheduling2.4Reductions and atomic operations2.5Tasks and dependencies2.6Vectorisation with simd2.7Thread affinity and NUMA2.8GPU offloading with target2.9What is new in OpenMP 5.22.10Lab: parallelising a Jacobi solver
3.1The CUDA programming model3.2Kernels, blocks and grids3.3Device memory management3.4Unified memory and prefetching3.5Shared memory and banks3.6Coalesced access to global memory3.7Synchronisation and atomic operations3.8Streams and concurrency3.9Error handling3.10Lab: matrix multiplication with shared memory
4.1Occupancy and register usage4.2Warp divergence4.3Warp primitives and shuffle4.4Tensor Cores and mixed precision4.5The cuBLAS, cuFFT and Thrust libraries4.6Launches with CUDA Graphs4.7Multi-GPU communication with NCCL4.8Comparison with HIP and SYCL4.9Portability with Kokkos4.10Practical exercise: optimising a 3D stencil
5.1Performance analysis methodology5.2Hardware counters and PAPI5.3Intel VTune and perf5.4NVIDIA Nsight Systems5.5NVIDIA Nsight Compute5.6Bottleneck analysis5.7Tracing with Score-P and Vampir5.8Designing reproducible benchmarks5.9Performance regressions5.10Lab: profiling an application with Nsight
6.1The distributed memory model with MPI6.2Point-to-point and collective communications6.3Domain decomposition6.4MPI with OpenMP6.5Direct communication with CUDA-aware MPI6.6Overlapping computation and communication6.7Strong and weak scaling of the solver6.8Load balancing6.9Parallel I/O with HDF56.10Practical exercise: diffusion solver with MPI and CUDA
7.1Parallelising finite elements7.2Particle methods on GPU7.3Fluid dynamics with Lattice Boltzmann7.4Sparse linear algebra7.5Training networks on multiple GPUs7.6Optimised inference with TensorRT7.7Numerical precision and reproducibility7.8Energy efficiency of computation7.9Software engineering best practice7.10Case study: accelerating a molecular dynamics code
8.1Selection of the starting code8.2Profiling the sequential version8.3Parallelisation strategy8.4Implementation with OpenMP8.5Porting kernels to CUDA8.6Profiling-guided optimisation8.7Multi-GPU scalability study8.8Efficiency and cost analysis8.9Report and presentation8.10Final project: final review with the tutor
How you'll learn
100% online training on the SEIUM campus, with downloadable material, recorded classes and an assigned technical tutor. There are no fixed timetables: you progress at your own pace within the intake, so it fits around your job.
Each module combines theory, guided reading of the original standard and applied exercises. The working software is NVIDIA CUDA Toolkit, NVIDIA Nsight Systems, NVIDIA Nsight Compute, Intel VTune Profiler and Score-P, in free, academic or evaluation versions. Testing is studied on real procedures: profiling and optimisation of simulation codes on GPU, scalability studies on clusters and parallelisation of iterative solvers. Assessment is continuous by module, plus the final capstone project.
Standards covered: OpenMP API 5.2, MPI 4.0, ISO/IEC 14882:2020 (C++20), IEEE 754-2019, OpenACC 3.3, SYCL 2020, ISO/IEC 9899:2018 (C17).
Build it end to end
Your final project follows the real engineering workflow, step by step, reviewed by your tutor.
Where this takes you
Requirements
- Prior technical training or professional experience in the sector. No university degree is required.
- An internet connection and a computer capable of running the programme software.
- English sufficient to read technical standards.
Ready to start?
Send your application today. Our admissions team replies within 72 hours with your study plan and funding options.
Frequently asked questions
The programme totals 800 hours over 6–8 months. You set your own pace within each intake, and your tutor helps you plan the workload around your job.
You work with NVIDIA CUDA Toolkit, NVIDIA Nsight Systems, NVIDIA Nsight Compute, Intel VTune Profiler and Score-P, using free, academic or evaluation versions. Your tutor indicates the free alternative wherever one exists.
A SEIUM Institute diploma, awarded on passing the continuous assessment and the final project. It is SEIUM's own qualification, not an official state degree; its recognition depends on the programme completed and the regulations of each country.
Yes. Modules passed are recognised in a higher programme in the same area (postgraduate diploma or master's). Ask about the recognition policy when you enrol.
Prior technical training or professional experience in the sector (no university degree required), a computer able to run the programme software and English sufficient to read technical standards.
Start dates are set by SEIUM's faculty for each intake. Our admissions team will confirm the next available date when you apply.
Related programmes
Diploma in GNNs for Flows, Energy and Traffic
Online postgraduate diploma of 800 hours in GNNs for flows, energy and traffic, with 8 modules covering physical flow network graphs, core GNN architectures, spatio-temporal traffic…
Diploma in Uplift Modeling and Causality-Based Decision Making
Online postgraduate diploma of 800 hours in uplift modelling and causality-based decision-making. 8 modules covering potential outcomes and causal graphs, experimental design, meta-learners, causal trees and…
Diploma in Spatiotemporal Telemetry and Risk Maps
Online postgraduate diploma of 800 hours in spatio-temporal telemetry and risk maps. 8 modules covering spatio-temporal data, telemetry and ingestion, trajectory analysis, spatial statistics, risk modelling,…
More in Data, AI, Simulation & Analytics
All Data, AI, Simulation & Analytics programmes → · How to apply · Fees & financing · Scholarships