How to Scale Up Your Company's Code

Course/Event Essentials

Event/Course Start
Event/Course End
Event/Course Format
In person
Live (synchronous)

Venue Information

Country: United Kingdom
Venue Details: Click here

Training Content and Scope

Scientific Domain
Level of Instruction
Advanced
Sector of the Target Audience
Industry
Public Sector
HPC Profile of Target Audience
Application Users
Data Scientists
Language of Instruction

Other Information

Organiser
Event/Course Description

Do you have existing company or research codes that need scaling up for use on supercomputing platforms, or old codes that need updating for newer systems? Aimed at Independent Users, this course will teach you how to parallelise your company’s code, enabling it to be used with high performance computing (HPC) systems.   

If you are carrying out modelling and simulation but find yourself limited by running the code in serial, or using a non-compiled language, this course will give you the confidence to run codes in parallel and reap the benefits. You can also take advantage of our experts’ knowledge and experiences scaling up and optimising codes for many of our industry partners including the Met Office, Unilever and Rolls Royce.   

High Performance Computing (HPC) systems enable massive problems to be tackled, that would be impossible without such computational power. These systems have specific requirements on programs that want to extract their benefits, primarily the exposure of parallelism throughout the system.  

This course will introduce two of the most common methodologies for parallel computing: OpenMP and MPI. We will discuss the basics of both programming models, work through the common use-cases for these features, and host practical sessions to enable hands-on experience. Finally, the course will highlight how to combine these two approaches to enable massively parallel computation.   

Learning objectives 

  • A basic introduction to and understanding of OpenMP, MPI and hybrid parallelism 

  • To understand the importance of parallel computing to solve large-scale problems 

  • To implement basic parallel computing patterns using OpenMP and MPI 

Pre-requisites 

Experience of programming with either C or Fortran. This course will focus on C versions of routines but these can be applied to Fortran too.