CONTACT ONS

Cursusaanbod

Inleiding

  • Wat is OpenACC?
  • OpenACC vergeleken met OpenCL, CUDA en SYCL
  • Overzicht van de mogelijkheden en architectuur van OpenACC
  • Het instellen van een ontwikkelomgeving

Aan de slag

  • Een OpenACC-project aanmaken in Visual Studio Code
  • De projectstructuur en bestanden verkennen
  • Het programma compileren en uitvoeren
  • Uitvoer weergeven met printf en fprintf

OpenACC-directieven en clausules

  • Inzicht krijgen in OpenACC-directieven en clausules
  • Parallelle directieven gebruiken om parallelle regio’s te creëren
  • Kernel-directieven gebruiken voor door de compiler beheerde parallelisme
  • Loop-directieven gebruiken om lussen parallel te maken
  • Gegevensbeweging beheren met data-directieven
  • Gegevens synchroniseren met update-directieven
  • Gegevenshergebruik verbeteren met cache-directieven
  • Apparatafhankelijke functies maken met routine-directieven
  • Gebeurtenissen synchroniseren met wait-directieven

OpenACC-API

  • Inzicht in de rol van de OpenACC-API
  • Informatie en mogelijkheden van apparaten opvragen
  • Het selecteren van een apparaattype en -nummer
  • Fouten en uitzonderingen afhandelen
  • Gebeurtenissen aanmaken en synchroniseren

Bibliotheken en interoperabiliteit in OpenACC

  • Inzicht krijgen in OpenACC-bibliotheken en hun interoperabiliteit
  • Wiskundige, willekeurige getal- en complexe bibliotheken gebruiken
  • Integratie met andere modellen (CUDA, OpenMP, MPI)
  • Integratie met GPU-bibliotheken zoals cuBLAS en cuFFT

Gebruik van tools voor OpenACC

  • Inzicht krijgen in hulpmiddelen voor ontwikkeling met OpenACC
  • OpenACC-programma’s profileren en debuggen
  • Prestatieanalyse uitvoeren met PGI Compiler, NVIDIA Nsight Systems en Allinea Forge

Optimalisatie

  • Factoren die de prestaties van OpenACC-programma’s beïnvloeden
  • Gegevenslocatie optimaliseren en gegevensoverdracht verminderen
  • Parallelisme in lussen verbeteren en luss fusie optimaliseren
  • Kernel-parallelisme en -fusie verder optimaliseren<\/li>
  • Vectorisering en automatische tuning verbeteren

Samenvatting en volgende stappen

Vereisten

  • Grondige kennis van C/C++ of Fortran, evenals begrip van parallelle programmeringstechnieken
  • Basiskennis van computerarchitectuur en de hiërarchie van het geheugen
  • Ervaring met commandoregeltools en code-editors

Doelgroep

  • Ontwikkelaars die leren hoe ze OpenACC kunnen gebruiken voor het programmeren op heterogene apparaten en hun parallelisme optimaliseren
  • Ontwikkelaars die draagbare en schaalbare code willen schrijven die op verschillende platforms en apparaten werkt
  • Programmeurs die de hogere aspecten van heterogeen programmeren willen verkennen en hun productiviteit door optimalisatie wil verhogen
 28 Uren

Aangepaste bedrijfsopleiding

Opleidingsoplossingen ontworpen exclusief voor bedrijven.

  • Aangepaste inhoud: We passen de syllabus en praktijkopdrachten aan naar de echte doelen en behoeften van uw project.
  • Voor flexibel schema: Datums en tijden aangepast aan het rooster van uw team.
  • Formaat: Online (live), In-company (bij uw kantoren) of Hybride.
Investering

Prijs per privégroep, online live training, startend vanaf 6400 € + BTW*

Neem contact met ons op voor een exacte offerte en om onze laatste promoties te horen

Voorlopige Aankomende Cursussen

Gerelateerde categorieën