Le pub des programmeurs
- 1 927 réponses
- 117 participants
- 123 982 vues
- 130 followers
Anonyme
miles1981
Ensuite, la précision a été améliorée sur certains CG, mais ça ne vaut pas encore la précision des CPUs. De plus, certains unités de calculs sont "encore" en 24 bits, d'autres en 32bits, pas la même précision, d'autant qu'on passe progressivement vers du 64 en audio - cf VST3 -
Audio Toolkit: http://www.audio-tk.com/
Pov Gabou
Le fait que l'on puisse faire du calcul numerique type BLAS/LAPACK/FFT sur GPU me laisserait quand meme supposer que le probleme n'est pas filer beaucoup de donnees au GPU, non ?
Pov Gabou
http://forums.nvidia.com/lofiversion/index.php?t29951.html
http://developer.download.nvidia.com/compute/cuda/0_8/NVIDIA_CUFFT_Library_0.8.pdf
Mais comme j'y connais rien en carte graphique, je vois pas tres bien les trucs qui coincent.
cptn.io
Effectivement y a eu pas mal de changement depuis qqs temps, Nividia ayant sorti le CUDA qui permet de coder directement en C.
Par rapport à la précision, les chips g80 qui sont les premiers chez Nvidia à avoir la structure unifiée propre à faire ce qu'on veut faire ont la limitation de ne pas avoir de type long si j'ai bien compris, mais les prochaines générations auront cette possibilité.
ATI propose un peu la meme chose avec le CTM mais c'est de la programmation de bien plus bas niveau et ils ont des cartes graphiques modifiées exprès pour ca : https://en.wikipedia.org/wiki/Close_to_Metal .
Les chiffres qu'on te donne sont véridiques, j'ai meme vu des tests approuvés je ne sais plus où qui montraient qu'on peut monter jusqu'au téraflop avec des cartes graphiques en SLI .
Mon problème est plutot que on ne peut pas réécrire tous les vst pour les adapter au GPU.
Il faudrait donc un host vst qui fasse le lien sans induire de pertes de perf trop importantes.
Qu'en pensez vous ? C'est faisable ? Ou le fait de faire de la traduction va n'apporter aucun gain de perfs ?
cptn.io
Pov Gabou
Citation :
Mon problème est plutot que on ne peut pas réécrire tous les vst pour les adapter au GPU.
Il faudrait donc un host vst qui fasse le lien sans induire de pertes de perf trop importantes.
On pourrait imaginer un truc genre machine virtuelle JIT, cad a compilation a la volee du code pour GPU. C'est d'ailleurs tres proche de ce que fait Mac OS X en utilisant llvm (un compilo JIT pour optimiser les shaders openGL)
http://lists.cs.uiuc.edu/pipermail/llvmdev/2006-August/006492.html
Mais bon, c'est sacrement balaise. Pour qqn d'interesse, ce serait extremement interessant d'essayer ce genre de techniques pour des trucs genre synthes modulaires (j'ai entendu dire que reaktor utilisait aussi certaines techniques JIT, mais evidemment, jamais vu de details).
nonconforme
Un truc, mais j'ai pas tout lu donc j'ai pu le louper : si le GPU ne prend pas en charge en natif des données AU MOINS 32 bits flottants, faut oublier. En typiquement en vidéo on travaille avec des entiers au plus 16 bits.
Affiliation : Dirigeant Fondateur d'Orosys - Two notes Audio Engineering
Pov Gabou
Citation :
Y'a quand même un truc qui coince : pourquoi faire faire un truc à la CG qui n'est pas prévu d'avance, se prendre le chou à l'extrême, quand un malheureux upgrade de CPU fait la même chose pour moins cher.
Ben les ordres de grandeur sont carrement pas les memes Pour les recentes NVIDIA, on parle quand meme de cents GFLOPS/seconde, voire plus, sur des FFT:
http://www.thinkingparallel.com/2007/02/17/nvidia-releases-cuda-and-reinvents-stream-processing/
Je reciste ce lien (deja donne pour la programmation parallele), parce que c'est assez technique globalement (le site, pas le lien).
Le gros plus de CUDA, c'est que c'est du C, et que tu n'as pas besoin de t'y connaitre en programmation de carte: c'est fondamentalement different de ce que j'avais vu il y a meme pas un an. Typiquement, nvidia propose une FFT avec une API semblable a fftw. L'autre interet, c'est qu'on arrive quand meme a une sacre barriere sur les CPU avec les multi core, alors que les GPU ont une architecture qui aide beaucoup (pleins de threads en parallele de maniere un peu transparante).
Si j'etais pas pauvre, j'acheterais un nouvel ordi avec une carte graphique qui le supporte, ce que j'en ai vu aujourd'hui en parcourant le net me donne bien envie, beaucoup plus que ce que j'avais vu les autres fois...
nonconforme
Par rapport à un core 2 duo qui annonce 50GFLOPS maxi, ça commence à devenir intéressant.
Mais pas si la carte graphique coûte le prix de 4 core 2 duo... ;)
Affiliation : Dirigeant Fondateur d'Orosys - Two notes Audio Engineering
miles1981
En tout cas, à moins d'une machine virtuelle qui aura de toute manière besoin de savoir d'une manière ou d'une autre ce qu'elle peut paralléliser - et tout en audio ne peut pas être parallélisé -, utiliser le GPU pour tous les VSTs est impossible
Audio Toolkit: http://www.audio-tk.com/
Pov Gabou
Un truc qui promet beaucoup, c'est qu'alors que pour les CPU, il va falloir programmer en parallele, les GPU ont un modele plus simple pour programmer du numerique (les GPU utilisant les multi core depuis bien plus longtemps que les processeurs). Et la puissance des GPU evolue beaucoup plus vite que les CPU, aussi.
- < Liste des sujets
- Charte