Cursusaanbod

Introductie

  • Wat is OpenACC?
  • OpenACC vs OpenCL vs CUDA vs SYCL
  • Overzicht van OpenACC-functies en -architectuur
  • Opzetten van de ontwikkelomgeving

Slag

  • Een nieuw OpenACC-project maken met behulp van Visual Studio Code
  • Verkennen van de projectstructuur en bestanden
  • Samenstellen en uitvoeren van het programma
  • Weergave van de uitvoer met printf en fprintf

OpenACC-richtlijnen en -clausules

  • Inzicht in de rol van OpenACC-richtlijnen en -clausules in de host- en apparaatcode
  • OpenACC parallelle richtlijn en clausules gebruiken om parallelle regio's te maken en het aantal bendes, workers en vectoren te specificeren
  • OpenACC kernels directive en clauses gebruiken om kernels regio's te maken en de compiler het parallellisme te laten bepalen
  • OpenACC-lusinstructie en -clausules gebruiken om lussen te parallelliseren en de lusverdeling, samenvouwing, reductie en tegel te specificeren
  • OpenACC-gegevensrichtlijnen en -clausules gebruiken om gegevensverplaatsing en gegevensregio's te beheren
  • OpenACC-updaterichtlijnen en -clausules gebruiken om gegevens tussen de host en het apparaat te synchroniseren
  • OpenACC-cache-instructies en -clausules gebruiken om het hergebruik en de lokalisatie van gegevens te verbeteren
  • OpenACC-routinerichtlijnen en -clausules gebruiken om apparaatfuncties te maken en het functietype en de vectorlengte te specificeren
  • OpenACC-wachtinstructie en -clausules gebruiken om gebeurtenissen en afhankelijkheden te synchroniseren

OpenACC-API

  • Inzicht in de rol van OpenACC API in het hostprogramma
  • OpenACC API gebruiken om apparaatinformatie en -mogelijkheden op te vragen
  • OpenACC API gebruiken om apparaatnummer en apparaattype in te stellen
  • OpenACC API gebruiken om fouten en uitzonderingen af te handelen
  • OpenACC API gebruiken om gebeurtenissen te maken en te synchroniseren

OpenACC-bibliotheken en interoperabiliteit

  • Inzicht in de rol van OpenACC-bibliotheken en interoperabiliteitsfuncties in het apparaatprogramma
  • OpenACC-bibliotheken gebruiken, zoals wiskundige, willekeurige en complexe, om algemene taken en bewerkingen uit te voeren
  • OpenACC-interoperabiliteitsfuncties gebruiken, zoals deviceptr, use_device en acc_memcpy, om OpenACC te integreren met andere programmeermodellen, zoals CUDA, OpenMP en MPI
  • OpenACC-interoperabiliteitsfuncties gebruiken, zoals host_data en declareren, om OpenACC te integreren met GPU-bibliotheken, zoals cuBLAS en cuFFT

OpenACC-hulpprogramma's

  • Inzicht in de rol van OpenACC-tools in het ontwikkelingsproces
  • OpenACC-tools gebruiken om OpenACC-programma's te profileren en te debuggen en prestatieknelpunten en -kansen te identificeren
  • OpenACC-tools gebruiken, zoals PGI Compiler, NVIDIA Nsight Systems en Allinea Forge, om de uitvoeringstijd en het gebruik van resources te meten en te verbeteren

Optimalisering

  • Inzicht in de factoren die van invloed zijn op de prestaties van OpenACC-programma's
  • OpenACC-richtlijnen en -clausules gebruiken om de gegevenslokalisatie te optimaliseren en gegevensoverdrachten te verminderen
  • OpenACC-richtlijnen en -clausules gebruiken om lusparallellisme en fusie te optimaliseren
  • OpenACC-richtlijnen en -clausules gebruiken om kernelparallellisme en fusie te optimaliseren
  • OpenACC-richtlijnen en -clausules gebruiken om vectorisatie en auto-tuning te optimaliseren

Samenvatting en volgende stappen

Vereisten

  • Een goed begrip van C/C++ of Fortran taal en parallelle programmeerconcepten
  • Basiskennis van computerarchitectuur en geheugenhiërarchie
  • Ervaring met command-line tools en code editors

Audiëntie

  • Ontwikkelaars die willen leren hoe ze OpenACC kunnen gebruiken om heterogene apparaten te programmeren en hun parallellisme te benutten
  • Ontwikkelaars die draagbare en schaalbare code willen schrijven die op verschillende platforms en apparaten kan worden uitgevoerd
  • Programmeurs die de high-level aspecten van heterogeen programmeren willen verkennen en hun codeproductiviteit 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

Reviews (2)

Voorlopige Aankomende Cursussen

Gerelateerde categorieën