This master's-level GPU Programming course at Delft University of Technology is an advanced technical course for students who want to design, optimise and deploy high-performance parallel software on modern GPU and heterogeneous systems. It suits students from computer science, electrical engineering, computational science or related disciplines who already have solid programming and parallel-computing foundations and want hands-on experience with production-class GPU toolchains and architectures.
What you'll study
This course covers the architecture, programming models and optimisation techniques needed to exploit modern GPU and heterogeneous systems for high-performance computing. Teaching blends theory and practice through lectures, laboratory exercises and a substantial project.
- GPU architecture and memory systems: fundamentals of streaming multiprocessors, memory hierarchies, caches, coherence and how hardware design affects performance.
- Programming models and languages: CUDA and OpenCL fundamentals, vendor-specific toolchains, plus exposure to higher-level frameworks (e.g. OpenACC, SYCL) and compute APIs used in production.
- Parallel algorithms for GPUs: data-parallel patterns, reductions, scans, sorting, graph primitives and numerical kernels common in scientific computing and machine learning.
- Optimisation and performance engineering: profiling, bottleneck analysis, occupancy, memory coalescing, instruction-level parallelism, asynchronous execution and overlap of computation and communication.
- Heterogeneous and distributed GPU systems: multi-GPU programming, integration with MPI, out-of-core strategies and usage patterns for HPC clusters.
- Domain-specific acceleration: case studies in scientific computing, machine learning, computer vision and real-time rendering, emphasising portability and reproducibility.
- Project work: supervised, practical project where students develop, optimise and document a GPU-accelerated application or library, including benchmarking and comparison with CPU implementations.
Entry requirements
As a master's-level course, applicants are expected to hold (or be nearing completion of) a relevant bachelor's degree in computer science, electrical engineering, applied mathematics, physics or a closely related discipline. Specific expectations include:
- Proficiency in programming with C or C++ and familiarity with build systems.
- Basic experience with parallel programming concepts (threads, SIMD, OpenMP or MPI) and a working knowledge of linear algebra and numerical methods.
- Prior exposure to at least one GPU or accelerator programming environment is advantageous but not strictly required if the candidate can demonstrate strong programming and systems foundations.
- For international students, proof of English language proficiency as required by the University for postgraduate study.
Career prospects
Graduates with expertise in GPU programming are in demand across research, industry and engineering domains. Typical career paths include:
- HPC Software Engineer or Performance Engineer developing and optimising code for supercomputing centres and research institutions.
- GPU/Accelerator Engineer in industry sectors such as semiconductor design, autonomous systems, robotics and embedded platforms.
- Machine Learning Engineer or Deep Learning Infrastructure Engineer designing accelerated training and inference pipelines.
- Scientific or Computational Researcher developing GPU-enabled numerical models in physics, chemistry, climate science and bioinformatics.
- Real-time Graphics and Game Engine Developer working on compute-intensive rendering or simulation tasks.
- Consultant or developer in finance and quantitative analytics, where low-latency, high-throughput computation is required.
Why study at Delft University of Technology
Delft University of Technology combines a strong engineering culture with practical, project-led teaching and close ties to industry and national research infrastructure. The Faculty of Electrical Engineering, Mathematics and Computer Science hosts research groups active in parallel systems, computer architecture and numerical computing, providing access to expertise and supervision for GPU-related projects.
Students benefit from well-equipped lab facilities, access to national and university HPC resources through collaborative arrangements, and opportunities to work with industry partners on real-world problems. The programme emphasises transferable skills — from low-level performance engineering to software engineering practices — that prepare graduates for technical leadership roles across academia and industry.
Explore more on ScholarshipsAds