Pages : 1
#1 Le 17/09/2011, à 10:47
- DaveNull
Calculer avec sa carte graphique ?
Bonjour,
Suite à une réflexion amorcée par la lecture de ce topic, il m'est venu une idée (sans beaucoup de rapport avec le topic sus-cité, mais bon…) :
Étant donné que la carte graphique est généralement un assez bon processeur, et que bien souvent, quand on est en train de faire des tâches courantes telles que surfer sur l'interwebz, éditer du texte et même regarder des vidéos, ce processeur n'est jamais utilisé à 100% (mis à part quand on joue, ou qu'on encode de la vidéo. Pour le dernier cas, je suis même pas certain que ce soit pas le processeur principal qui s'en charge…).
Est-ce que c'est possible, par exemple avec une option du noyau, ou du driver graphique, de faire en sorte que le GPU soit vu comme un autre CPU, et qu'il puisse servir par exemple à des grosses tâches de compilation ou de compression ?
Voilà, google ne me donne pas beaucoup de piste, mis à part que boinc, avec certains drivers graphiques, permette de faire ça (calcul partagé).
Avez-vous des pistes ?
timezone[Europe/Paris]
Hors ligne
#2 Le 17/09/2011, à 11:01
- Dr Le Rouge
Re : Calculer avec sa carte graphique ?
J'ai un pote qui a fait un mini-projet de recherche sur l'utilisation d'une carte graphique pour résoudre une équation différentielle. Apparemment, le truc, c'est qu'elles ont des jeux d'instructions différents (très) des processeurs classiques, du coup il faut tout recoder dessus.
En gros, il faudrait que tu aies des programmes spécifiquement codés pour tourner sur carte graphique, du moins je suppose (je ne suis pas spécialiste de la question ^^).
C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog
Hors ligne
#3 Le 17/09/2011, à 11:08
- DaveNull
Re : Calculer avec sa carte graphique ?
En gros, il faudrait que tu aies des programmes spécifiquement codés pour tourner sur carte graphique, du moins je suppose (je ne suis pas spécialiste de la question ^^).
Oui, ou alors un seul programme qui se mette entre le processeur de la carte graphique et le reste du système, et qui traduise à la volée les instructions entrantes dans le GPU pour qu'elles soient compatibles avec celui-ci…
Après j'dis ça, j'y connais rien dans ce domaine (très proche du hardware, jeux d'instructions, etc.)…
timezone[Europe/Paris]
Hors ligne
#4 Le 17/09/2011, à 13:03
- Steap
Re : Calculer avec sa carte graphique ?
Effectivement, on ne programme pas une carte graphique comme on programme un CPU. Certes, on peut programmer en C, à l'aide de CUDA pour les cartes Nvidia (exercice laissé au lecteur : peut-on exécuter ce code sur une carte AMD ?) ou d'OpenCL, mais la manière dont on pense les programmes est assez différente. Les GPGPUs sont surtout bons pour faire des calculs réguliers : c'est nickel pour effectuer des opérations "classiques" sur des matrices, par exemple. Et il faut avoir des algos bien parallèles : filer une séquence d'instructions à un GPGPU n'a que peu d'intérêt.
Faut aussi savoir si c'est rentable : pour faire un calcul sur un GPGPU, on doit copier les données sur sa mémoire embarquée, effectuer le calul, et rapatrier les données vers la RAM. Le temps de transfert est généralement non négligeable, et il peut arriver que le temps de calcul sur un CPU soit plus important que le temps de calcul sur un GPU, mais qu'au vu des temps de transfert, il soit plus intéressant d'utiliser le CPU quand même.
Des projets de recherche visent à fournir au programmeur une interface transparente permettant d'ordonnancer les calculs en les envoyant sur une unité de calcul appropriée en prenant en compte les paramètres qui vont bien. Je pense notamment à StarPU. Ce genre de programme permet également d'avoir une portabilité des performances. Si tu "tunes" à la main ton appli pour qu'elle ait des super perfs sur ton CPU avec tes cartes graphiques, que va-t-il se passer quand un autre type l'exécutera sur une machine avec un autre CPU, d'autres GPUs etc. ?
GNU Guix, un gestionnaire de paquets fonctionnel.
Hors ligne
#5 Le 17/09/2011, à 14:37
- cbrunos
Re : Calculer avec sa carte graphique ?
Je m'étais posé la même question, mais j'ai pas eu le temps d'approfondir. J'ai un peu regardé du coté de PyOpenCL et de PyCuda, mais je pourrai que m'y pencher à partir de l'année prochaine je pense.
Je recommande pcubuntoo!
Hors ligne
#6 Le 18/09/2011, à 01:06
- DaveNull
Re : Calculer avec sa carte graphique ?
En tout cas, tout ça m'a bien l'air hautement expérimental. Affaire à suivre…
timezone[Europe/Paris]
Hors ligne
#7 Le 18/09/2011, à 11:28
- siden
Re : Calculer avec sa carte graphique ?
Pour les calculs de modélisation numérique, il est possible d'utiliser la CG pour le calcul, mais il faut des cartes spéciales pour que ca soit efficace.
Aussi, vu la différence de prix, il est parfois préférable d'acheter un meilleur CPU.
Hors ligne
Pages : 1