Coding for Multicore
Multicore processors are the current technological solution that keeps the CPU computational performance growing while satisfying the power and the cooling constraints imposed on high performance computing systems.
Harnessing the high performance of the multicore CPU is not straightforward in many cases as the memory latency and bandwidth contention problems are exacerbated with the increase of the number of cores per CPU.
As solutions to these problems, in this course, we shall present the mixed mode OpenMP/MPI as a programming paradigm and the use of System V shared memory segments.
The specific issues regarding compiling and profiling for multicore processors will be addressed in the Debugging, Profiling and Optimising course.
Programmers aiming their code at supercomputers and similar multicore based systems.
Please note that this course does not teach a computer programming language. A good working knowledge of a scientific programming language (either Fortran- 95/2003 or C) is a pre-requisite. Students will also be assumed to be familiar with the computational environment found on HPC platforms, and to have knowledge of basic Linux commands, text editors, and compilation of scientific code in a command-line environment.
After Course Attendees Will:
Understand the implications of multi-core processors, and be able to exploit their performance.
Please email us if you would like to attend this course.