Nvidia cuda ou ATI stream
- 11 réponses
- 4 participants
- 2 661 vues
- 3 followers
rossignol85
Bonjour
J'ai vu ici où là qu'on pouvait utiliser le GPU de sa carte vidéo pour faire fonctionner des logiciels autres que ceux pour la vidéo. J'aimerais avoir des avis concernant ces pratiques qui me paraissent très intéressantes. Il y a deux systèmes à ma connaissance, Cuda de Nvidia et l'ATI stream. Je sais que le système Nebula d'Acustica fonctionne avec le Cuda de Nvidia, existe-t-il d'autres exemples de compatibilité ? Y a t-il d'autres softs (VST etc.) qui peut fonctionner avec l'un ou l'autre système GPU ? Toutes les expériences sur ce sujet sont bonnes à glaner.
Merci
Anonyme
il y a Nebula, comme tu l'as dis,
et aussi LiquidSonics qui a développé une reverbe à convolution et un eq
rossignol85
merci je vais voir ça
rossignol85
C'est étonnant qu'il n'y ait pas plus de programmes pour ce système qui me semble vraiment très intéressant. D'après les dire de certains, on peut faire fonctionner pas mal de plug (ceux de Nebula par ex) sans problème. Je vais devoir changer ma carte vidéo pour pouvoir en profiter. Je pense que le fait que ce soit assez complexe pour quelqu'un qui aborde la MAO explique surement que je ne trouve pas beaucoup de témoignages sur ce sujet.
Pourtant, quand on voit le prix d'une UAD2 par rapport à ça
. Peut-être que la qualité diffère mais je suis ébahis par celle de Nebula.
rick49
Bonjour,
Je viens de voir ce post qui est déjà vieux, mais je peux rajouter à cette liste :
- GPUImpulseReverb de Nils Schneider : développée pour CUDA, bizarrement, elle ne fonctionne pas sur ma GT220 (carte carrément non détectée) alors que tout l'environnement CUDA (y compris de développement) est installé et a été testé. Il n'y a plus de lien sur la page de l'auteur, mais l'accès direct fonctionne toujours : https://www.nilsschneider.de/files/nsGPUImpulseReverbVSTSetup.exe
- toujours de Nils Schneider, deux vieux plugins GPUChorus et GPUDelay, qui utilisent les pixel shaders et fonctionnent donc à la fois sur Nvidia et ATI, à partir des Geforce 5200 et Radeon 9500 (eh oui !). Idem, plus aucun lien trouvable sur le Net, mais il se trouve que ces fichiers sont toujours accessibles également en lien direct : https://www.nilsschneider.de/files/GPUChorus.exe et https://www.nilsschneider.de/files/GPUDelay.exe
J'espère que cela peut vous aider. Si vous arrivez à faire fonctionner le premier sur une carte graphique récente, la marche à suivre m'intéresse. Quant aux autres, pas besoin de carte graphique dernier cri pour les essayer !
Richard
EDIT : j'ai réussi à faire fonctionner GPUImpulseReverb aujourd'hui en installant la dernière version en date (266.58) des pilotes Nvidia. La version précédente devait être buggée ...
[ Dernière édition du message le 04/03/2011 à 20:18:03 ]
rossignol85
Merci Richard pour ces précieuses infos.
Pas le temps de voir ça en ce moment mais dès que je rallume mon studio, je vois ça de plus près.
![]()
![]()
![]()
miles1981
Comme je l'ai déjà dit souvent, il n'y a que très peu d'algorithmes audio parallélisables. Même plus, je n'en connais qu'un seul, le filtrage a réponse impulsionnel finie (FIR). C'est ce qui fait fonctionner les réverbs à convolution et certains EQ non réalistes.
La majorité des algorithmes n'est pas adapté car ils ont besoin du résultat du filtrage du sample précédent pour calculer le suivant (IIR, overdrive, ...).
De plus, un GPU fonctionne bien quand on lui donne des milliers de données indépendantes à calculer. En Audio, on essaie de limiter ces données à quelques centaines, ce qui n'est clairement pas adapté au GPU !
Audio Toolkit: http://www.audio-tk.com/
rossignol85
Merci pour ce petit ajustement précieux. ![]()
Ce que j'ai entendu des traitements audios de Nebula ne concerne pourtant pas que la réverbe. Le son est intéressant pour les compresseurs, EQs, pas vraiment sur les effets du type chorus. Bien entendu, c'est de la convolution et cela a des limites. Je ne comprends pas tout sur le comment on fait un plug, la programmation est une langue inconnue. Je me doute que le GPU n'est pas fait pour de l'audio...
Si des audiofrangins ont des envies de discutions à ce sujet qu'ils se lâchent....
miles1981
Si tu veux faire un traitement un peu intéressant, tu ne peux pas le paralléliser, donc plus de GPU.
Certains compresseurs basiques (sans ADSR) peuvent être portés sur GPU parce que c'est juste une multiplication par un facteur. Mais étant donné que le coût de transfert vers et depuis le GPU, le CPU reste plus rapide.
Audio Toolkit: http://www.audio-tk.com/
rick49
Citation de miles1981 :
Comme je l'ai déjà dit souvent, il n'y a que très peu d'algorithmes audio parallélisables. Même plus, je n'en connais qu'un seul, le filtrage a réponse impulsionnel finie (FIR). C'est ce qui fait fonctionner les réverbs à convolution et certains EQ non réalistes.La majorité des algorithmes n'est pas adapté car ils ont besoin du résultat du filtrage du sample précédent pour calculer le suivant (IIR, overdrive, ...).
Nous sommes bien d'accord, les algorithmes récursifs tels que les filtres IIR ne sont effectivement pas adaptés aux GPU. Ne soyons pas cependant trop négatifs, à défaut de partir dans des rêves inconsidérés, on peut tout de même faire des choses intéressantes avec de simples convolutions, et surtout, quand une carte graphique est présente, cela ne coûte pas plus cher de l'utiliser ! Le problème serait bien évidemment tout autre s'il s'agissait de cartes optionnelles ...
J'avais tout de même bien apprécié la démarche de Nils Schneider qui, avant de passer sur CUDA, avait utilisé les pixel shaders à très bas niveau pour réaliser des effets élémentaires (chorus, délai) qui ne nécessitaient que des cartes graphiques très simples (pixel shaders 2.0 et compatibles DirectX 9.0c). Je suis un peu étonné de la confidentialité de ses deux plugins VST. On pourrait même les essayer a priori sur de bons vieux GPU intégrés Intel "de base" (à partir du 915G tout de même). Des volontaires ?
Richard
miles1981
Si, ça coûte cher à utiliser pour plusieurs raisons :
- il faut développer et optimiser une version CPU, une version CUDA et une version OpenCL pour AMD (et si on ne faisait pas une CUDA, il faudrait faire une OpenCL pour nVidia spécifique)
- il faut prendre en compte le fait qu'à part les Fermi, les cartes d'nVidia ne veulent pas qu'on les utilise à faire deux choses (calculer un kernel et afficher)
- il faut prendre en compte le fait que les outils proposés par nVidia ne sont pas industriels (nvcc est un truc infâme, et les cartes ne détectent pas les corruptions mémoire, les instabilités, ... ce que fait un CPU), ce qui fait que de manière générale, utiliser des GPU pour une application professionnelle sur un PC de travail, c'est très risqué
- A part les Fermi, il n'est pas possible de lancer plusieurs kernels en même temps, et donc une petite carte ou une grosse carte, c'est kif kif
- Il faut mettre sur la balance le coût de transfert CPU vers GPU et retour, ce qui fait que de manière générale, le GPU ne peut pas être plus intéressant qu'un CPU
Plein de raisons qui font que j'ai abandonné l'idée de tester des algos sur GPUs (j'en fais de manière professionnelle, et déjà là ça me gonfle grave !)
Audio Toolkit: http://www.audio-tk.com/
rick49
@miles1981 : merci pour toutes ces infos très intéressantes. Mon message n'était peut-être pas clair, je parlais de l'utilisation des plugins GPU déjà sortis et non du développement d'autres plugins à titre onéreux. Pour le reste, je ne peux qu'être d'accord.
Je n'avais pas encore creusé les différences architecturales entre les diverses versions de GPU Nvidia, en particulier entre les Fermi et les autres au niveau de la possibilité de lancer plusieurs kernels ou non. Des collègues "traiteurs de signaux" sont tout de même intéressés par l'implémentation de certains algorithmes massivement parallèles sur GPU afin d'accélérer leurs simulations. Merci encore en tout cas pour ton retour d'expérience sur la "qualité" des outils de développement CUDA.
Il y a quand même quelques outils "professionnels" qui utilisent le GPU et que mes collègues et moi allons tester, en particulier pour la simulation électromagnétique 3D, ainsi que GPUmat (http://gp-you.org/) qui semble assez intéressant pour Matlab si cela peut remplacer gratuitement la Parallel Computing Toolbox. A voir, mais tout cela nous éloigne un peu de la musique même si c'est très intéressant ...
Richard
- < Liste des sujets
- Charte

