Informatique

Introduction au GPGPU - OpenCL, Cuda et Compute Shaders

Introduction au GPGPU - OpenCL, Cuda et Compute Shaders

Réf 4-GPGU
Durée 3 jours

Objectifs

Appréhender l'API et les concepts de la technologie CUDA (Compute Unified Device Architecture)

Infos

Programme

Introduction

  • Calcul parallèle hétérogène
  • Architecture des GPUs
  • Pourquoi plus de vitesse ou de parallèlisme ?
  • Accélérer de réelles applications
  • Challenges du calcul parallèle
  • Concept de GPGPU
  • Comparaison des frameworks (CUDA, OpenCL, OpenGL Compute Shader, OpenACC)

Architecture d'éxécution

  • Parallélisme de donnée
  • Notions clefs (Kernel, Thread, Work group, ...)
  • Structure d'un programme CUDA/OpenCL/Compute Shader
  • Device Global Memory et transfert de données
  • Lancement des kernels
  • Mémoire et localité des données

Stratégies d'optimisation

  • Configuration d'éxécution
  • Utilisation de la mémoire
  • Transfert de données efficient
  • Précalculs sur CPU

Examples pratiques

  • Manipulation des données
  • Calculs algébriques
  • Réduction

Outils et bibliothèques

  • NVIDIA Visual Profiler
  • nvcc, CLEW
  • CUBLAS, CUFFT, CUSOLVER
  • Thrust : bibliothèque orientée productivité pour CUDA

En savoir +

Prérequis

Bonnes connaissances du langage C/C++ et des threads, expérience requise.

Moyens pédagogiques

Réflexion de groupe et apports théoriques du formateur
Travail d'échange avec les participants sous forme de réunion-discussion
Utilisation de cas concrets issus de l'expérience professionnelle
Validation des acquis par des questionnaires, des tests d'évaluation, des mises en situation et des jeux pédagogiques.
Alternance entre apports théoriques et exercices pratiques (en moyenne 30 à 50%)
Remise d'un support de cours.

Possibilité de certification

Nous consulter.