Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Kurzusleírás
Bevezetés
- Mi az GPU programozás?
- Miért érdemes az GPU programozást használni?
- Melyek a GPU programozás kihívásai és kompromisszumai?
- Melyek a GPU programozás keretei?
- A megfelelő keret kiválasztása az alkalmazáshoz
OpenCL
- Mi az a OpenCL?
- Melyek a OpenCL előnyei és hátrányai?
- A OpenCL fejlesztői környezetének beállítása
- Vektor összeadást végrehajtó alap OpenCL program készítése
- OpenCL API használata eszközinformációk lekérdezésére, eszközmemória lefoglalására és felszabadítására, adatok másolására a gazdagép és az eszköz között, kernelek indítására és szálak szinkronizálására
- A OpenCL C nyelv használata olyan kernelek írásához, amelyek az eszközön futnak és adatokat kezelnek
- OpenCL beépített függvények, változók és könyvtárak használata általános feladatok és műveletek végrehajtására
- OpenCL memóriaterületek, például globális, lokális, állandó és privát memóriaterületek használata az adatátvitel és a memóriaelérés optimalizálására
- A OpenCL végrehajtási modell használata a párhuzamosságot meghatározó munkaelemek, munkacsoportok és ND-tartományok vezérlésére
- Programok hibakeresése és tesztelése OpenCL olyan eszközökkel, mint a CodeXL
- Programok optimalizálása OpenCL olyan technikák használatával, mint az összevonás, gyorsítótár, előzetes letöltés és profilalkotás
CUDA
- Mi az a CUDA?
- Mik a CUDA előnyei és hátrányai?
- A CUDA fejlesztői környezetének beállítása
- Alapvető CUDA program létrehozása, amely vektor összeadást végez
- CUDA API használata eszközinformációk lekérdezésére, eszközmemória lefoglalására és felszabadítására, adatok másolására a gazdagép és az eszköz között, kernelek indítására és szálak szinkronizálására
- A CUDA C/C++ nyelv használata olyan kernelek írásához, amelyek az eszközön futnak és adatokat kezelnek
- CUDA beépített függvények, változók és könyvtárak használata általános feladatok és műveletek végrehajtására
- CUDA memóriaterületek, például globális, megosztott, állandó és helyi memóriaterületek használata az adatátvitel és a memóriaelérés optimalizálására
- CUDA végrehajtási modell használata a párhuzamosságot meghatározó szálak, blokkok és rácsok vezérlésére
- CUDA programok hibakeresése és tesztelése olyan eszközökkel, mint a CUDA-GDB, CUDA-MEMCHECK és az NVIDIA Nsight
- CUDA programok optimalizálása olyan technikák használatával, mint az összevonás, gyorsítótár, előletöltés és profilalkotás
ROCm
- Mi az a ROCm?
- Melyek a ROCm előnyei és hátrányai?
- A ROCm fejlesztői környezetének beállítása
- Alapvető ROCm program létrehozása, amely vektorösszeadást végez
- A ROCm API használata eszközinformációk lekérdezésére, eszközmemória lefoglalására és felszabadítására, adatok másolására a gazdagép és az eszköz között, kernelek indítására és szálak szinkronizálására
- A ROCm C/C++ nyelv használata olyan kernelek írásához, amelyek az eszközön futnak és adatokat kezelnek
- ROCm beépített függvények, változók és könyvtárak használata általános feladatok és műveletek végrehajtására
- ROCm memóriaterületek, például globális, lokális, állandó és privát memóriaterületek használata az adatátvitel és a memóriaelérés optimalizálására
- ROCm végrehajtási modell használata a párhuzamosságot meghatározó szálak, blokkok és rácsok vezérlésére
- ROCm programok hibakeresése és tesztelése olyan eszközökkel, mint a ROCm Debugger és ROCm Profiler
- ROCm programok optimalizálása olyan technikák használatával, mint az összevonás, gyorsítótár, előletöltés és profilalkotás
Összehasonlítás
- A OpenCL, a CUDA és a ROCm szolgáltatásainak, teljesítményének és kompatibilitásának összehasonlítása
- GPU programok kiértékelése benchmarkok és metrikák segítségével
- A legjobb gyakorlatok és tippek elsajátítása a GPU programozáshoz
- A GPU programozás jelenlegi és jövőbeli trendjeinek és kihívásainak feltárása
Összegzés és a következő lépések
Követelmények
- A C/C++ nyelv és a párhuzamos programozási fogalmak megértése
- Számítógép-architektúra és memóriahierarchia alapismeretei
- Parancssori eszközökben és kódszerkesztőkben szerzett tapasztalat
Közönség
- Fejlesztők, akik szeretnék megtanulni, hogyan használhatnak különböző keretrendszereket GPU programozáshoz, és hasonlítsák össze szolgáltatásaikat, teljesítményüket és kompatibilitásukat
- Fejlesztők, akik hordozható és méretezhető kódot szeretnének írni, amely különböző platformokon és eszközökön futhat
- Programozók, akik szeretnék felfedezni a GPU programozás és optimalizálás kompromisszumait és kihívásait
28 Hours
Vélemények (1)
Nagyon interaktív különféle példákkal, a képzés kezdete és vége között jó összetettséggel.
Jenny - Andheo
Kurzus - GPU Programming with CUDA and Python
Machine Translated