[ZMIANA TERMINU] C++ & CUDA – podstawy i możliwości
🟢 Warsztat weekendowy w godz. 10:00-14:00 (4 h) 🟢
UWAGA! ZMIANA TERMINU! Warsztat został przeniesiony z 12 stycznia 2025 na termin 23 lutego 2025.
Czego się nauczysz?
1. Pisanie kerneli dla CUDA z wykorzystaniem C++ oraz środowiska VS2022 z kompilatorem MSVC i łączenie go z aplikacją w środowisku Windows,
2. CUDA programming model – zrozumienie wysokopoziomowego schematu operacji na karcie graficznej lub układzie do obliczeń tensorowych,
3. Ręczna implementacja prostego modelu sieci neuronowych dla identyfikacji znaków (MNIST dataset),
4. Profilowanie rozwiązania z wykorzystaniem narzędzi od NVIDII.
Dla kogo jest ten warsztat?
- Osoby zainteresowane obliczeniami wykonywanymi na układach GPU, nie tylko graficznymi, na poziomie własnych definicji tzw. kerneli, które jest najniżej abstrakcyjnie ogólnodostępnym API dla programistów i inżynierów – w skrócie wykorzystanie mocy równoległości układów graficznych.
Wymagania wstępne
2. MSVC – kompilator Microsoftu, dostępny jako Visual Studio Build Tools 2022 w wersji 17.11.4,
3. Nvcc – NVIDIA Cuda compiler driver build cuda_12.6.r12.6/compiler.34714021_0. Tutaj podobnie może być inna wersja, jednak zajęcia odbędą się na tej. Zawiera się w CUDA Toolkit dostępnym na stronie - https://developer.nvidia.com/cuda-toolkit,
4. Hardware GPU Nvidii. Dowolna karta graficzna powinna wystarczyć, jednak nie ma gwarancji, że wszystkie starsze generacje będą obsłużone przez CUDĘ w wersji >12.0 na której będziemy pracować. Nie ma możliwości uruchomienia kodu CUDA na CPU lub innym hardwarze.
Prowadzący
Senior inżynier oprogramowania specjalizujący się w technologiach systemowych i językach takich jak C/C++/Python oraz szeregu innych. Obecnie pracuje w obszarze Research and Development dla sieci telekomunikacyjnych i płynnie porusza się w technologiach LTE/5G (New Radio) oraz tworzy elementy przyszłego 6G. Tematem zainteresowań są też architektury sprzętowe, od CPU w ISA x86, arm, Risc-V poprzez implementacje dla języków RTL pod FPGA, aż do akceleratorów graficznych i tensorowych (GPU/TPU). Bardziej hobbystycznie i mniej zawodowo porusza się w tematach gamedevu oraz teorii języków oprogramowania, oraz uczenia maszynowego.
Program warsztatów
1. Informacje na temat CUDA – co to jest, jak działa, do czego można to wykorzystać,
2. Pierwszy kernel i obliczenia na karcie graficznej. Porównanie prędkości sumowania tensorów CPU vs GPU,
3. Pierwsze elementy sieci neuronowych zbudowane od podstaw w C++ dla CUDA kerneli. Wprowadzenie do datasetu MNIST ręcznie zapisanych cyfr,
4. Implementacja sieci neuronowych i sprawdzenie ich w praktyce dla datasetu MNIST.
Uwaga
Zakupione certyfikaty zostaną przesłane uczestnikom w formie elektronicznej po warsztacie. Jeśli chcesz otrzymać zakupiony certyfikat w formie papierowej, zgłoś to mailowo na adres kontakt@stacja.it.
Zapisz się na warsztat
Liczba miejsc ograniczona! Organizator zastrzega sobie prawo do odwołania wydarzenia w przypadku niezgłoszenia się minimalnej liczby uczestników. Zakupione certyfikaty zostaną przesłane uczestnikom w formie elektoronicznej po warsztacie oraz za pośrednictwem firmy kurierskiej.