CUDA
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")