Différences entre les versions de « CUDA »
(9 versions intermédiaires par un autre utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Catégorie:Logiciels]] | [[Catégorie:Logiciels]] | ||
− | [[Image:CUDA_Logo.jpg|thumb | + | [[Image:CUDA_Logo.jpg|thumb]] |
'''CUDA''' (Compute Unified Device Architecture) est une technologie de GPGPU (General-Purpose Computing on Graphics Processing Units), c'est-à-dire qui permet l'utilisation d'un ou plusieurs processeurs graphiques (GPU) pour exécuter des calculs généraux habituellement exécutés par le processeur central (CPU). | '''CUDA''' (Compute Unified Device Architecture) est une technologie de GPGPU (General-Purpose Computing on Graphics Processing Units), c'est-à-dire qui permet l'utilisation d'un ou plusieurs processeurs graphiques (GPU) pour exécuter des calculs généraux habituellement exécutés par le processeur central (CPU). | ||
Ligne 13 : | Ligne 13 : | ||
=== Pour démarrer à programmer en CUDA === | === Pour démarrer à programmer en CUDA === | ||
− | Pour une introduction au language CUDA et à la programmation sur GPU en général, consultez les présentations suivantes: | + | Pour une introduction au language CUDA et à la programmation sur GPU en général, consultez les présentations suivantes : |
− | * [http://www.dms.umontreal.ca/downloads/Presentation2010.pdf Séminaire sur la programmation GPU donné au DMS le 4 octobre 2010] | + | * [http://www.dms.umontreal.ca/downloads/CUDA/Presentation2010.pdf Séminaire sur la programmation GPU donné au DMS le 4 octobre 2010] |
− | * [http://www.dms.umontreal.ca/downloads/2131_GTC2010.pdf ''Introduction to CUDA C'' - Présentation par Jason Sanders, programmeur sénior chez NVIDA] | + | * [http://www.dms.umontreal.ca/downloads/CUDA/2131_GTC2010.pdf ''Introduction to CUDA C'' - Présentation par Jason Sanders, programmeur sénior chez NVIDA] |
− | * [http://www.dms.umontreal.ca/downloads/gpu_mike.pdf ''A beginner's guide to programming GPUs with CUDA'' - Bonne introduction à CUDA, par Mike Peardon] | + | * [http://www.dms.umontreal.ca/downloads/CUDA/gpu_mike.pdf ''A beginner's guide to programming GPUs with CUDA'' - Bonne introduction à CUDA, par Mike Peardon] |
− | * [http://www.dms.umontreal.ca/downloads/090213_gpu_computing.pdf ''Scientific Computing on a GPU Using CUDA'' - Autre bonne introduction au sujet] | + | * [http://www.dms.umontreal.ca/downloads/CUDA/090213_gpu_computing.pdf ''Scientific Computing on a GPU Using CUDA'' - Autre bonne introduction au sujet] |
=== Documents de référence utiles === | === Documents de référence utiles === | ||
− | Plusieurs documents de référence, fournis avec chaque [http://developer.nvidia.com/cuda-downloads installation de CUDA], sont disponibles dans le répertoire <tt>/usr/local/cuda/cudaX/doc/</tt>, où le "X" de <tt>cudaX</tt> compte pour la version de CUDA désirée, par exemple <tt>cuda31</tt>. Voici une courte liste des documents qui risquent de vous être les plus utiles: | + | Plusieurs documents de référence, fournis avec chaque [http://developer.nvidia.com/cuda-downloads installation de CUDA], sont disponibles dans le répertoire <tt>/usr/local/cuda/cudaX/doc/</tt>, où le "X" de <tt>cudaX</tt> compte pour la version de CUDA désirée, par exemple <tt>cuda31</tt>. Voici une courte liste des documents qui risquent de vous être les plus utiles : |
* [http://www.dms.umontreal.ca/downloads/CUDA/CUDA_C_Programming_Guide.pdf ''CUDA C Programming Guide'' - Guide détaillé comportant plusieurs exemples et pouvant faire office de manuel d'introduction à CUDA] | * [http://www.dms.umontreal.ca/downloads/CUDA/CUDA_C_Programming_Guide.pdf ''CUDA C Programming Guide'' - Guide détaillé comportant plusieurs exemples et pouvant faire office de manuel d'introduction à CUDA] | ||
Ligne 28 : | Ligne 28 : | ||
* [http://www.dms.umontreal.ca/downloads/CUDA/CUDA_C_Best_Practices_Guide.pdf ''CUDA C Best Practices Guide'' - S'adresse aux utilisateurs plus avancés désirant approfondir leurs connaissances de la programmation GPU] | * [http://www.dms.umontreal.ca/downloads/CUDA/CUDA_C_Best_Practices_Guide.pdf ''CUDA C Best Practices Guide'' - S'adresse aux utilisateurs plus avancés désirant approfondir leurs connaissances de la programmation GPU] | ||
* [http://www.dms.umontreal.ca/downloads/CUDA/CUDA_Toolkit_Reference_Manual.pdf ''Reference Manual'' - Document de référence décrivant en détails chacune des fonctions de CUDA] | * [http://www.dms.umontreal.ca/downloads/CUDA/CUDA_Toolkit_Reference_Manual.pdf ''Reference Manual'' - Document de référence décrivant en détails chacune des fonctions de CUDA] | ||
− | * [http://www.dms.umontreal.ca/downloads/CUDA/ | + | * [http://www.dms.umontreal.ca/downloads/CUDA/CUBLAS_Library.pdf ''CUBLAS Library'' - Guide de référence de la librairie ''CUDA Basic Linear Algebra Subprograms''] |
* [http://www.dms.umontreal.ca/downloads/CUDA/CUFFT_Library.pdf ''CUFFT Library'' - Guide de référence de la librairie ''CUDA Fast Fourier Transform''] | * [http://www.dms.umontreal.ca/downloads/CUDA/CUFFT_Library.pdf ''CUFFT Library'' - Guide de référence de la librairie ''CUDA Fast Fourier Transform''] | ||
− | '''N.B.:''' Les | + | '''N.B. :''' Les documents proposés par les liens ci-haut sont tirés de la version 3.2.9 de CUDA. |
== Exemples == | == Exemples == | ||
+ | |||
+ | Voici quelques exemples pour vous aider à démarrer avec CUDA : | ||
+ | |||
+ | * [http://www.dms.umontreal.ca/downloads/CUDA/exemples/AddVec.cu Addition de vecteurs/matrices avec code CUDA] | ||
+ | * [http://www.dms.umontreal.ca/downloads/CUDA/exemples/AddMat.c Addition de vecteurs/matrices sous MATLAB (fichier compilé "MEX"] | ||
+ | * [http://www.dms.umontreal.ca/downloads/CUDA/exemples/AddMatCUDA.cu Addition de vecteurs/matrices sous MATLAB (fichier compilé "MEX") avec code CUDA] | ||
+ | * [http://www.dms.umontreal.ca/downloads/CUDA/exemples/AddMatGPUmat.cu Addition de vecteurs/matrices déclarées avec le toolbox "GPUmat" sous MATLAB (fichier compilé "MEX")] | ||
== Voir aussi == | == Voir aussi == | ||
− | === | + | === Articles connexes === |
* [[logiciels|Logiciels au DMS]] | * [[logiciels|Logiciels au DMS]] | ||
* [[GPUmat|GPUmat]] | * [[GPUmat|GPUmat]] | ||
− | * [[ | + | * [[MATLAB|MATLAB]] |
* [[NVCC|NVCC]] | * [[NVCC|NVCC]] | ||
+ | * [[Programmation_GPU|Programmation GPU]] | ||
− | === | + | === Références externes === |
* [http://developer.nvidia.com/cuda-downloads Site officiel de téléchargement de CUDA et du compilateur NVCC] | * [http://developer.nvidia.com/cuda-downloads Site officiel de téléchargement de CUDA et du compilateur NVCC] | ||
* [http://fr.wikipedia.org/wiki/CUDA CUDA sur Wikipédia] | * [http://fr.wikipedia.org/wiki/CUDA CUDA sur Wikipédia] | ||
* [http://developer.nvidia.com/suggested-reading CUDA by Example: An Introduction to General-Purpose GPU Programming] | * [http://developer.nvidia.com/suggested-reading CUDA by Example: An Introduction to General-Purpose GPU Programming] |
Version actuelle datée du 16 février 2018 à 11:12
CUDA (Compute Unified Device Architecture) est une technologie de GPGPU (General-Purpose Computing on Graphics Processing Units), c'est-à-dire qui permet l'utilisation d'un ou plusieurs processeurs graphiques (GPU) pour exécuter des calculs généraux habituellement exécutés par le processeur central (CPU).
CUDA désigne également une extension du langage C qui permet la programmation des GPU à architecture CUDA.
Guide
Pour démarrer à programmer en CUDA
Pour une introduction au language CUDA et à la programmation sur GPU en général, consultez les présentations suivantes :
- Séminaire sur la programmation GPU donné au DMS le 4 octobre 2010
- Introduction to CUDA C - Présentation par Jason Sanders, programmeur sénior chez NVIDA
- A beginner's guide to programming GPUs with CUDA - Bonne introduction à CUDA, par Mike Peardon
- Scientific Computing on a GPU Using CUDA - Autre bonne introduction au sujet
Documents de référence utiles
Plusieurs documents de référence, fournis avec chaque installation de CUDA, sont disponibles dans le répertoire /usr/local/cuda/cudaX/doc/, où le "X" de cudaX compte pour la version de CUDA désirée, par exemple cuda31. Voici une courte liste des documents qui risquent de vous être les plus utiles :
- CUDA C Programming Guide - Guide détaillé comportant plusieurs exemples et pouvant faire office de manuel d'introduction à CUDA
- The CUDA Compiler Driver NVCC - Guide concernant l'utilisation du compilateur NVCC
- CUDA C Best Practices Guide - S'adresse aux utilisateurs plus avancés désirant approfondir leurs connaissances de la programmation GPU
- Reference Manual - Document de référence décrivant en détails chacune des fonctions de CUDA
- CUBLAS Library - Guide de référence de la librairie CUDA Basic Linear Algebra Subprograms
- CUFFT Library - Guide de référence de la librairie CUDA Fast Fourier Transform
N.B. : Les documents proposés par les liens ci-haut sont tirés de la version 3.2.9 de CUDA.
Exemples
Voici quelques exemples pour vous aider à démarrer avec CUDA :
- Addition de vecteurs/matrices avec code CUDA
- Addition de vecteurs/matrices sous MATLAB (fichier compilé "MEX"
- Addition de vecteurs/matrices sous MATLAB (fichier compilé "MEX") avec code CUDA
- Addition de vecteurs/matrices déclarées avec le toolbox "GPUmat" sous MATLAB (fichier compilé "MEX")