Introduction to Massively Parallel GPU Computing with CUDA

Europe/Riga
Online

Online

Description

In collaboration with NCC Latvia and RTU HPC Center, we organize an introductory course in CUDA. The course “Introduction to Massively Parallel GPU Computing with CUDA” covers the theoretical and practical principles of massively parallel approach to high-performance computing using multiprocessing systems and/or combination of GPU hardware and specialised software environment. The course gives an overview of the types of high-performance computing hardware and software architecture, computing algorithms, application libraries and tools. More attention is paid to the applied interdisciplinary use of GPU-based parallel computing platform CUDA, e.g., analysis of large data amount, image processing, and machine learning tasks.

This course is organized by HPC Competences Centres in Latvia and Poland within the EuroCC2 project in collaboration with RTU HPC Center.

The course will take place online. The link to the streaming platform will be provided to the registered participants only. A remote access to Riga Technical University’s training machines will be provided (RDP and SSH client software is needed on the participant computers). Alternatively, the attendees can use their own computers with CUDA (>=11.0) compatible GPUs for the course.

Prerequisites: some programming experience in C/C++ and knowledge of parallel/threaded programming models would be useful.

Timetable:

  • Tuesday, March 25, 2025, 15:00-18:00 CET
  • Tuesday, April 1, 2025, 15:00-18:00 CET


Instructor: Dr. Sc. Ing. Arnis Lektauers, Riga Technical University

For additional details, please visit the course website here.

 

             

Please note that this is a waiting list registration only. Due to very high demand, we cannot guarantee participation at this point.

Registration
WAITING LIST
  • Tuesday, March 25
    • 3:00 PM 4:00 PM
      Overview of CUDA architecture and programming model 1h

      – GPU evolution
      – CUDA GPU architecture

    • 4:00 PM 5:00 PM
      Basic CUDA programming 1h

      – Brief revise of CUDA programming model
      – Key principles
      – Introduction to the concept of threads & blocks
      – Host-device data transfer

    • 5:00 PM 6:00 PM
      Hands-on exercises on writing simple CUDA programs 1h

      – Using CUDA on HPC cluster
      – Simple programs with C/C++

    • 3:00 PM 4:00 PM
      Overview of CUDA memory hierarchy 1h

      – An overview of memory levels
      – Global memory
      – Registers, constant memory, texture memory
      – Shared memory and synchronization

    • 4:00 PM 5:00 PM
      Introduction to CUDA Deep Neural Network library (cuDNN) 1h

      – Using cuDNN for deep neural networks
      – Convolutional neural networks in cuDNN
      – Integration with other CUDA libraries (cuBLAS, cuSOLVER, cuRAND, cuTENSOR, TensorRT)

    • 5:00 PM 6:00 PM
      Exercises on CUDA techniques: image processing and neural networks 1h

      – Image convolution filtering
      – Implementation of neural network from scratch with C/C++
      – Implementation of neural network using cuDNN