Translations:CUDA tutorial/1/fr: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
No edit summary
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Software]]
=Introduction=
=Introduction=
Dans ce tutoriel, nous présentons le composant de calcul hautement parallèle qu'est le processeur graphique (ou GPU pour ''graphic processing unit'') et nous abordons le modèle CUDA avec quelques-unes de ses librairies numériques utilisées en calcul de haute performance.
Dans ce tutoriel, nous présentons la composante de calcul hautement parallèle qu'est le processeur graphique (ou GPU pour ''graphics processing unit''); le langage de programmation parallèle [[CUDA/fr|CUDA]]; et quelques-unes des librairies numériques CUDA utilisées en calcul de haute performance.
{{Prerequisites
{{Prerequisites
|title=Prérequis
|title=Prérequis
|content=
|content=
Ce tutoriel démontre comment utiliser CUDA pour accélérer des programmes en C ou en C++. Une bonne connaissance d'un de ces langages vous permettra de tirer le meilleur profit des exercices. Si CUDA sert aussi aux programmes en Fortran, nous nous limitons ici à CUDA pour C/C++ en utilisant le terme CUDA C. Il s'agit essentiellement de C/C++ permettant d'exécuter des fonctions sur les CPUs et les GPU.
Ce tutoriel montre comment utiliser CUDA pour accélérer des programmes en C ou en C++; une bonne connaissance d'un de ces langages vous permettra d’en tirer le meilleur profit. Si CUDA sert aussi aux programmes en Fortran, nous nous limiterons ici à CUDA pour C/C++ et utiliserons le terme '''CUDA C'''. Il s'agit essentiellement de produire des fonctions en C/C++ pouvant être exécutées par les CPUs et les GPUs.
}}
}}
{{Objectives
{{Objectives
Line 12: Line 11:
* Comprendre l'architecture d'un GPU
* Comprendre l'architecture d'un GPU
* Comprendre le déroulement d'un programme CUDA
* Comprendre le déroulement d'un programme CUDA
* Comprendre et gérer les différents types de mémoire GPU
* Comprendre et gérer les différents types de mémoires GPU
* Écrire et compiler du code CUDA simple avec des exemples
* Écrire et compiler un exemple de code CUDA
}}
}}
=Qu'est-ce qu'un GPU?=
=Qu'est-ce qu'un GPU?=
Un GPU (pour ''graphic processing unit''), est un processeur monopuce capable d'effectuer des calculs mathématiques rapidement; initialement, on l'utilisait surtout pour produire des rendus d'images.  
Un GPU (pour ''graphics processing unit'') est un processeur monopuce capable d'effectuer des calculs mathématiques rapidement pour produire des rendus d'images.  
Depuis quelques années, la puissance du GPU sert à accélérer l'exécution de calculs intensifs dans plusieurs domaines de la recherche scientifique de pointe.
Depuis quelques années, la puissance du GPU sert aussi à accélérer l'exécution de calculs intensifs dans plusieurs domaines de la recherche scientifique de pointe.
=Qu'est-ce que CUDA?=
CUDA est l'abréviation de ''Compute Unified Device Architecture''. Il s'agit d'un environnement logiciel flexible et d'un modèle de programmation pour le traitement de calculs parallèles intensifs.
=Architecture du GPU=
Un GPU comporte deux types d'éléments principaux :
* la mémoire globale
** est semblable à la mémoire du CPU
** est accessible par un CPU et un GPU
* des multiprocesseurs en continu (SM pour ''streaming multiprocessor'')
** chaque SM est formé de plusieurs processeurs en continu (SP pour ''streaming processor'')
** qui effectuent les calculs
**chaque SM est doté d'une unité de contrôle, de registres, de pipelines d'exécution, etc. qui sui sont propres
=Modèle de programmation=
Voyons d'abord quelques termes importants :
*'''Hôte''' : désigne le CPU et la mémoire  principale
*'''Composant''' :  désigne le GPU et sa mémoire

Latest revision as of 17:14, 7 March 2018

Information about message (contribute)
This message has no documentation. If you know where or how this message is used, you can help other translators by adding documentation to this message.
Message definition (CUDA tutorial)
=Introduction=
This tutorial introduces the graphics processing unit (GPU) as a massively parallel computing device; the [[CUDA]] parallel programming language; and some of the CUDA numerical libraries for high performance computing.
{{Prerequisites
|title=Prerequisites
|content=
This tutorial uses CUDA to accelerate C or C++ code: a working knowledge of one of these languages is therefore required to gain the most benefit. Even though Fortran is also supported by CUDA, for the purpose of this tutorial we only cover CUDA C/C++. From here on, we use term '''CUDA C''' to refer to CUDA C/C++. CUDA C is essentially a C/C++ that allows one to execute functions on both GPUs and CPUs.
}}
{{Objectives
|title=Learning objectives
|content=
* Understand the architecture of a GPU
* Understand the workflow of a CUDA program 
* Manage and understand the various types of GPU memories
* Write and compile an example of CUDA code
}}
=What is a GPU?=
A GPU, or graphics processing unit, is a single-chip processor that performs rapid mathematical calculations for the purpose of rendering images.
In the recent years however, such capability has been harnessed more broadly to accelerate computational workloads in cutting-edge scientific research.

Introduction

Dans ce tutoriel, nous présentons la composante de calcul hautement parallèle qu'est le processeur graphique (ou GPU pour graphics processing unit); le langage de programmation parallèle CUDA; et quelques-unes des librairies numériques CUDA utilisées en calcul de haute performance.

Prérequis

Ce tutoriel montre comment utiliser CUDA pour accélérer des programmes en C ou en C++; une bonne connaissance d'un de ces langages vous permettra d’en tirer le meilleur profit. Si CUDA sert aussi aux programmes en Fortran, nous nous limiterons ici à CUDA pour C/C++ et utiliserons le terme CUDA C. Il s'agit essentiellement de produire des fonctions en C/C++ pouvant être exécutées par les CPUs et les GPUs.


Objectifs d'apprentissage
  • Comprendre l'architecture d'un GPU
  • Comprendre le déroulement d'un programme CUDA
  • Comprendre et gérer les différents types de mémoires GPU
  • Écrire et compiler un exemple de code CUDA


Qu'est-ce qu'un GPU?

Un GPU (pour graphics processing unit) est un processeur monopuce capable d'effectuer des calculs mathématiques rapidement pour produire des rendus d'images. Depuis quelques années, la puissance du GPU sert aussi à accélérer l'exécution de calculs intensifs dans plusieurs domaines de la recherche scientifique de pointe.