Konu özeti

  • Overview

     

    Course Tittle: Introduction to HPC using GPUs

    Skill Level: Introductory

    Language: 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


  • Course Introduction

  • Lesson I-I

  • Lesson I-II

  • Lesson II