gpu training

GPU traininG

High-performance computing (HPC) systems are undergoing a significant transformation with the rising popularity of GPU-based systems. The advantages they offer, such as enhanced data analysis, improved power efficiency, and faster research progress, are clear. However, realising these benefits demands the right tools, skills, and time to harness the potential of GPUs.

The complexity is compounded by the various approaches to GPU programming that have emerged, tailored to the diverse requirements and limitations of different research teams. At DiRAC, our commitment is to support all our users effectively. To achieve this, we organise a variety of events aimed at accommodating different approaches to GPU utilisation. This ensures that researchers have access to the resources and knowledge needed to leverage GPUs for their specific research needs and constraints.

  • The simplest approach to unlocking the potential of GPUs and making them more accessible is through the use of directives. These straightforward code additions serve as hints to specialised compilers, guiding them to identify sections of code suitable for GPU acceleration. By implementing directives, developers can leverage GPU resources without delving into the complexities of low-level GPU programming. This approach is particularly valuable for those who may not have extensive GPU programming expertise or the time to devout to such a commitment.
  • Another approach is to employ modern programming languages, such as C++ and SYCL, that are incorporating more native support for GPU acceleration. While this approach is promising and offers a more accessible path for many developers, it’s worth noting that it may not always keep pace with the latest advances in GPU technology.
  • To maximise the potential of GPUs, using the manufacturer’s custom software is often the optimal choice. This approach ensures access to the latest enhancements and the fastest possible code execution on GPUs. DiRAC supports researchers who choose this approach through its CUDA courses. These courses encompass the essential principles of CUDA programming, covering topics such as fundamentals and multi-card setups. Additionally, DiRAC is planning to introduce a course on multi-node GPU programming next year.


The DiRAC CUDA courses, held in collaboration with NVIDIA,  are designed to provide users with a comprehensive introduction to CUDA programming, offering both conceptual understanding and hands-on practice.   These 8-hour, instructor-led, virtual courses are run ad-hoc throughout the year and are advertised by ‘All User’ email, through our website and  through our social media outlets: Twitter; Linked-In; Slack (the DiRACUersForm) and Mastodon.