Course Outline
Introduction
Understanding the Fundamentals of Heterogeneous Computing Methodology
Why Parallel Computing? Understanding the Need for Parallel Computing
Multi-Core Processors - Architecture and Design
Introduction to Threads, Thread Basics and Basic Concepts of Parallel Programming
Understanding the Fundamentals of GPU Software Optimization Processes
OpenMP - A Standard for Directive-Based Parallel Programming
Hands on / Demonstration of Various Programs on Multicore Machines
Introduction to GPU Computing
GPUs for Parallel Computing
GPUs Programming Model
Hands on / Demonstration of Various Programs on GPU
SDK, Toolkit and Installation of Environment for GPU
Working with Various Libraries
Demonstration of GPU and Tools with Sample Programs and OpenACC
Understanding the CUDA Programming Model
Learning the CUDA Architecture
Exploring and Setting Up the CUDA Development Environments
Working with the CUDA Runtime API
Understanding the CUDA Memory Model
Exploring Additional CUDA API Features
Accessing Global Memory Efficiently in CUDA: Global Memory Optimization
Optimizing Data Transfers in CUDA Using CUDA Streams
Using Shared Memory in CUDA
Understanding and Using Atomic Operations and Instructions in CUDA
Case Study: Basic Digital Image Processing with CUDA
Working with Multi-GPU Programming
Advanced Hardware Profiling and Sampling on NVIDIA / CUDA
Using CUDA Dynamic Parallelism API for Dynamic Kernel Launch
Summary and Conclusion
Requirements
- C Programming
- Linux GCC
Testimonials (7)
Podejście prowadzącego. Very friendly and with a sense of humor, while maintaining the necessary professionalism. In the event of questions, the answers were always comprehensive. For me, as someone with little knowledge of low-level programming, the instructor's openness was very helpful.
Michal Kwiatek - Nokia Solutions and Networks Sp. z o.o.
Course - NVIDIA GPU Programming - Extended
Machine Translated
Dynamic pace of lessons, a sense of quickly acquiring basic knowledge that allows me to efficiently learn on my own.
Sebastian Zientek - Nokia Solutions and Networks Sp. z o.o.
Course - NVIDIA GPU Programming - Extended
Machine Translated
Trainers energy and humor.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Course - NVIDIA GPU Programming - Extended
Personal engagement of the trainer in the topic
Tomasz Barabasz - Nokia
Course - NVIDIA GPU Programming - Extended
Machine Translated
Simple, yet original approach to teaching. Despite the circumstances requiring remote format, the instructor excelled in maintaining my interest, knew the answer to every question, and could share numerous fascinating insights related to the topic and work in the industry.
Lukasz Dzwoniarek - Nokia
Course - NVIDIA GPU Programming - Extended
Machine Translated
Live examples, digressions, and real-life examples. The training format involves interspersing lectures with practical examples and discussions of those examples.
Piotr Glazor - Nokia
Course - NVIDIA GPU Programming - Extended
Machine Translated
A cohesive presentation style, extensive trainer knowledge, appropriate entry level
Maciej Majka - Nokia
Course - NVIDIA GPU Programming - Extended
Machine Translated