Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

: Cg et la programmation du GPU

Posté par Bruno (page perso, ). Modéré le 19 mars 2004.
La version 1.2 du kit de développement en Cg (C Graphique) proposé par nVidia a été mis en ligne en février 2004. Le langage Cg se présente comme un langage de haut niveau type OpenGL, ajoutant une couche d'abstraction entre l'utilisateur et le code machine de la puce graphique. Il permet de programmer directement des shaders dans le GPU (Graphics Processing Unit).

La nouveauté, c'est que des chercheurs détournent l'utilisation première des GPU et utilisent leur puissance de calcul pour effectuer des calculs scientifiques.

Ainsi les opérations sur les matrices, domaine dans lequel les GPU graphiques excellent, sont considérablement accélérés. Alors qu'un processeur AMD Athlon 1800+ pointe en théorie à 1.5 GFlops, un processeur Quadro FX 2000 à 400 MHz fournira 12.8 GFlops. Le gain de temps est plus qu'appréciable.

Malheureusement, le toolkit nVidia n'est ni Open Source, ni libre. En revanche, la spécification du langage Cg est ouverte. Le tout est disponible sous GNU/Linux, Mac OS X et Windows.

> Lire la dépêche (21 commentaires, moyenne: 2,8).  

Vous avez demandé le commentaire #373514.

Re: Cg et la programmation du GPU

Posté par Christophe Fergeau () le 19/03/2004 à 13:02. (lien). Évalué à 2.

Le problème avec ces chiffres de GFlop, c'est que les cartes graphiques fonctionnent essentiellement en mode simd, ie pour atteindre les 12GFlops il faut appliquer la même opération sur plusieurs entiers en même temps, beaucoup d'algos ne se prêtent pas à ce traitement.
Un autre point qui me titille, c'est les communications entre carte graphique et processeur pour envoyer/récupérer les données, a priori via le bus agp actuel, c'est très lent (ça devrait s'améliorer avec le pci express), est-ce qu'on perd pas une grosse partie des gains obtenus lors du calcul à cause de ce transfert ?

  • [^]Re: Cg et la programmation du GPU

    Posté par Éric (Jabber id, page perso, ) le 19/03/2004 à 14:06. (lien). Évalué à 2.

    "très lent" ... AGP 8x ça veut tout de même dire 2.13 Go /s .... ça laisse tout de même de quoi faire trainer quelques données.

    • [^]Re: Cg et la programmation du GPU

      Posté par Christophe Fergeau () le 19/03/2004 à 14:31. (lien). Évalué à 1.

      Je faisais allusion à http://slashdot.org/article.pl?sid=02/08/19/1310216&mode=thread(...)
      Si t'as des résultats super rapidement dans la mémoire de ta carte graphique mais que tu mets des siècles à les récupérer (pour les écrire dans un fichier par ex), c'est dommage.

      • [^]Re: Cg et la programmation du GPU

        Posté par xilun () le 19/03/2004 à 16:27. (lien). Évalué à 2.

        Le truc c'est que auparavant l'AGP servait a foutre les texture en RAM principale (entre autre) et a les echanger, a faire mumuse avec, donc a cette epoque le debit etait correct. J'ai des souvenir de jeux magnifique (textures détaillées et tout, mais résolution basse 800*600 vu la vitesse du chip) sur une ATI RAGE PRO 8 mo. Aujourd'hui, les nouvelles CG ont 128 mo embarqué, voire 256 ? et donc l'AGP n'a absolument plus aucune utilitée, et donc les fabriquant developpent cette aspect de la carte avec leur pieds.

    [^]Re: Cg et la programmation du GPU

    Posté par renoo () le 19/03/2004 à 14:27. (lien). Évalué à 1.

    Pas genant les cartes graphiques embarquant pas mal de mémoire (souvent 128 ou 256mo) et cette mémoire est tres rapide (bus 256bits, DDR, 400mhz) des caracteristiques à faire palir la mémoire centrale de vos pc.