Capacitación NAG

  • Home
  • Capacitación NAG


We’re delighted to announce a series of online workshops, each taking place over 4 half days. The courses will be delivered by our in-house technical experts, and will include hands-on exercises and Q&A sessions.

Don’t hesitate to contact the
NAG Training Team

  • Modern Fortran
  • MPI
  • OpenMP
  • CUDA


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.

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.

Learn More


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

This course, primarily aimed at programmers who are new to MPI 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.

Learn More


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 and 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.   Learn More


Image This course is aimed at those interested in learning how to use NVIDIA GPUs most efficiently. No prior experience of parallel computing is required. 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; resources for further study.