Différences entre les versions de « 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''] | ||
Version du 22 juillet 2011 à 10:40
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 exemplaires des documents de la liste 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")