Introduction to HPC using GPUs
Konu özeti
-
Course Tittle: Introduction to HPC using GPUs
Skill Level: IntroductoryLanguage: English
Workload: 1 hour total
Topic: High Performance Computing
Overview: Introductory remarks on computers, performance and parallelization as a preparatory section for introduction to HPC using Cuda
Course Description: Important concepts for computing performance and parallelization are shortly visited, with an emphasis on concepts that will be talked about again in the continuation course because they are crucial for using GPUs efficiently or a similar concept that’s better understood together is
Course Contents: Moore’s law, architecture of CPUs, cache hit/miss ratio, locality, performance metrics, roofline model (compute vs memory bound), race condition, creating a parallel section and declaring private&shared variables and atomic operations in OpenMP, strong & weak scaling, shared memory vs. distributed memory, comparison of various parallelizm technologies, false sharing
Who Should Enroll: Anyone who wishes to learn cuda or review concepts about computing performance and parallelization
Prerequisites:
- General understanding of performance and parallelization concepts
- Basic programming skills in C/C++.
Tools, libraries, frameworks used: c/c++ compiler (GNU compiler is used in the course), OpenMP, google colab & jupyter notebook
Learning Objectives: By participating in this course, you will learn:
- How compiler tries to optimize cache usage and how we can help it
- Basic parallelization concepts like shared and private variables
About the instructor(s): Denizhan Tutar, Research Assistant and PhD candidate at ITU Informatics Institute Computational Science and Engineering programme
- General understanding of performance and parallelization concepts