Bedankt voor uw aanvraag! Een van onze medewerkers neemt binnenkort contact met u op
Bedankt voor uw boeking! Een van onze medewerkers neemt binnenkort contact met u op.
Cursusaanbod
Invoering
- Wat is OpenCL?
- OpenCL versus CUDA versus SYCL
- Overzicht van OpenCL functies en architectuur
- Het opzetten van de ontwikkelomgeving
Aan de slag
- Een nieuw OpenCL-project maken met behulp van Visual Studio-code
- Het verkennen van de projectstructuur en bestanden
- Het compileren en uitvoeren van het programma
- De uitvoer weergeven met printf en fprintf
OpenCLAPI
- Inzicht in de rol van OpenCL API in het hostprogramma
- API OpenCL gebruiken om apparaatinformatie en mogelijkheden op te vragen
- API OpenCL gebruiken om contexten, opdrachtwachtrijen, buffers, kernels en gebeurtenissen te creëren
- API OpenCL gebruiken om opdrachten in de wachtrij te plaatsen, zoals lezen, schrijven, kopiëren, toewijzen, toewijzing ongedaan maken, uitvoeren en wachten
- API OpenCL gebruiken om fouten en uitzonderingen af te handelen
OpenCL C
- Inzicht in de rol van OpenCL C in het apparaatprogramma
- OpenCL C gebruiken om kernels te schrijven die op het apparaat worden uitgevoerd en gegevens manipuleren
- Gebruik maken van OpenCL C-gegevenstypen, kwalificaties, operators en expressies
- Met behulp van OpenCL ingebouwde C-functies, zoals wiskunde, meetkunde, relationeel, enz.
- Met behulp van OpenCL C-extensies en -bibliotheken, zoals atomic, image, cl_khr_fp16, enz.
OpenCL Geheugenmodel
- Het verschil begrijpen tussen host- en apparaatgeheugenmodellen
- OpenCL geheugenruimten gebruiken, zoals globaal, lokaal, constant en privé
- OpenCL geheugenobjecten gebruiken, zoals buffers, afbeeldingen en pijpen
- Gebruik van OpenCL geheugentoegangsmodi, zoals alleen-lezen, alleen-schrijven, lezen-schrijven, enz.
- Met behulp van OpenCL geheugenconsistentiemodel en synchronisatiemechanismen
OpenCL Uitvoeringsmodel
- Het verschil begrijpen tussen host- en apparaatuitvoeringsmodellen
- Gebruik OpenCL werkitems, werkgroepen en ND-bereiken om het parallellisme te definiëren
- Met behulp van OpenCL werkitemfuncties, zoals get_global_id, get_local_id, get_group_id, etc.
- Gebruik van OpenCL werkgroepfuncties, zoals barrière, work_group_reduce, work_group_scan, etc.
- Met behulp van OpenCL apparaatfuncties, zoals get_num_groups, get_global_size, get_local_size, enz.
Foutopsporing
- Inzicht in de veelvoorkomende fouten en bugs in OpenCL programma's
- Gebruik Visual Studio Code debugger om variabelen, breekpunten, call-stack, enz. te inspecteren.
- CodeXL gebruiken om OpenCL programma's op AMD-apparaten te debuggen en analyseren
- Intel VTune gebruiken om OpenCL programma's op Intel-apparaten te debuggen en te analyseren
- NVIDIA Nsight gebruiken om OpenCL programma's op NVIDIA-apparaten te debuggen en analyseren
Optimalisatie
- Inzicht in de factoren die de prestaties van OpenCL programma's beïnvloeden
- Gebruik van OpenCL vectorgegevenstypen en vectorisatietechnieken om de rekenkundige doorvoer te verbeteren
- Het gebruik van OpenCL technieken voor het afrollen van lussen en het maken van lussen om de controleoverhead te verminderen en de lokaliteit te vergroten
- Gebruik van OpenCL lokaal geheugen en lokale geheugenfuncties om geheugentoegang en bandbreedte te optimaliseren
- Het gebruik van OpenCL profilering en profileringstools om de uitvoeringstijd en het gebruik van middelen te meten en te verbeteren
Samenvatting en volgende stappen
Vereisten
- Een goed begrip van de C/C++-taal en parallelle programmeerconcepten
- Basiskennis van computerarchitectuur en geheugenhiërarchie
- Ervaring met opdrachtregelprogramma's en code-editors
Publiek
- Ontwikkelaars die willen leren hoe ze OpenCL kunnen gebruiken om heterogene apparaten te programmeren en hun parallellisme te exploiteren
- Ontwikkelaars die draagbare en schaalbare code willen schrijven die op verschillende platforms en apparaten kan worden uitgevoerd
- Programmeurs die de lagere aspecten van heterogeen programmeren willen verkennen en hun codeprestaties willen optimaliseren
28 Uren
Leveringsopties
PRIVÉGROEPSTRAINING
Onze identiteit draait om het leveren van precies wat onze klanten nodig hebben.
- Pre-cursusgesprek met uw trainer
- Aanpassing van de leerervaring om uw doelen te bereiken -
- Op maat gemaakte overzichten
- Praktische, praktische oefeningen met gegevens / scenario's die herkenbaar zijn voor de cursisten
- Training gepland op een datum naar keuze
- Gegeven online, op locatie/klaslokaal of hybride door experts die ervaring uit de echte wereld delen
Private Group Prices RRP from €9120 online delivery, based on a group of 2 delegates, €2880 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.
Neem contact met ons op voor een exacte offerte en om onze laatste promoties te horen
OPENBARE TRAINING
Kijk op onze public courses