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)

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
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.
Remise d'un support de cours.

Possibilité de certification

Nous consulter.