« CUDA » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(22 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, consultez les | 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 | * [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 === | |||
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/nvcc.pdf ''The CUDA Compiler Driver NVCC'' - Guide concernant l'utilisation du compilateur NVCC] | |||
* [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/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''] | |||
'''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] |
Dernière version du 16 février 2018 à 12: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")