The module aims to provide an introduction to High Performance Computing (HPC) and its role in data sciences. In this course you will learn how to write faster code that is optimized for modern multi-core processors and clusters, using modern software development tools, parallelization strategies, and advanced parallel programming constructs in OpenMP and MPI.
A. Demonstrate understanding of the concepts used in modern processors for increasing the performance.
B. Demonstrate optimization techniques for serial code
C. Understand and apply parallel computing paradigms
D. Write optimized programs designed for high-performance computing systems.
Students will be expected to attend formal lectures, seminars, tutorials and labs . Students will be introduced to the academic content and have a understanding of lecture materials. In addition, students are expected to devote unsupervised time to private study. Private study will provide time for reflection and consideration of lecture material and background reading.