IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ CUDA

FAQ CUDAConsultez toutes les FAQ

Nombre d'auteurs : 1, nombre de questions : 66, dernière mise à jour : 14 juin 2021 

 
OuvrirSommaireCUDAPourquoi choisir CUDA

Sous Linux, cela est possible, par login distant, et même supporté.

Sous Windows, cela n'est pas supporté, mais possible grâce à VNC.

Créé le 2 juillet 2009  par Thibaut Cuvelier

Oui, sans problème, vous pouvez même en utiliser plusieurs en même temps. L'application cependant est totalement maître de cette situation. Il existe un jeu de fonctions qui vous permet de choisir le GPU qui exécutera les calculs.

Cependant, chaque thread du côté CPU ne peut gérer qu'un seul et unique GPU. Pour pouvoir pleinement utiliser la puissance d'un système à multiples GPU, il vous faudra créer plusieurs threads CPU, chose relativement aisée avec les bibliothèques existantes.

Mis à jour le 10 juin 2009  par Thibaut Cuvelier

Lien : Gestion des GPU

CUDA fournit une couche d'abstraction aussi éloignée du matériel que souhaitable. Même si, pour obtenir le meilleur de ce matériel, il est nécessaire de programmer spécifiquement pour le matériel utilisé. Vous pouvez cependant déjà obtenir d'énormes accélérations sans devoir descendre à ce niveau.

CUDA est un énorme pas en avant pour le GPGPU. En effet, les choix posés par l'équipe CUDA formeront le futur du GPGPU, et des langages de programmation hétérogènes en général.

Il est plus amusant, en général, de se dire que son bout de code sera exécuté, par exemple, 16 millions de fois, au lieu d'une seule et unique par traitement dans d'autres environnements.

CUDA cache un énorme potentiel. En ouvrant le GPGPU à tous, NVIDIA permet au même public de se former à CUDA et de fournir des ressources de plus en plus nombreuses, en facilitant son enseignement.

Cependant, CUDA a aussi quelques inconvénients.

Par exemple, la récursion, si décriée par certain, permet de simplifier les algorithmes. Pourtant, CUDA ne peut la prendre en charge : un kernel GPU ne peut appeler un kernel GPU.

Il n'est pas encore possible de savoir si ce problème est inhérent à CUDA ou à l'architecture même des GPU.

Au vu de son architecture radicalement différente, CUDA va réveiller en vous tout ce qui vous a été interdit patiemment pendant les cours. Par exemple, les structures ne sont pas autorisées : au lieu de passer deux ou trois variables à un kernel, ce seront désormais des dizaines de variables aux noms parfois impossibles à donner qui seront passées.

En plus, vous vous verrez souvent enfreindre le DRY (Don't Repeat Yourself, ne pas répéter). Ce qui n'aidera pas à la maintenance de votre code. Ni à la lisibilité.

Créé le 2 juillet 2009  par Thibaut Cuvelier

Copyright © 2009 Thibaut Cuvelier. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.