Top config PC MAO 2022 (test, bench, discussion, débat...)
- 1 183 réponses
- 68 participants
- 77 076 vues
- 82 followers
Darkmoon
Ce sujet est la suite logique des précédents du même noms :
Top config PC MAO 2018 (test, bench, discussion, débat...)
Top config PC MAO 2019 (test, bench, discussion, débat...)
Top Config M.A.O 2020
Top config PC MAO 2021 (test, bench, discussion, débat...)
(Dernière page ici.)
Nous causons config MAO, PC, optimisation, DAW, interface audio, façons de bosser. Nous parlons matos, processeur, etc. Aussi, certains d'entre nous aiguillent les newbs et/ou ceux qui posent des questions vers la machine la plus appropriée pour leur besoin.
Et, bien sûr, nous débattons parfois, mais dans la bonne humeur et le respect, parce que nous sommes passionnés, mais ne partageons pas tous forcément les mêmes idées et opinions (ce qui est très bien ainsi!).
Voilà! En nous souhaitant de bons échanges en cette nouvelle année 2022!
"Si t'enregistres à Poudlard, avec l'ingé son Dumbledore, les lois physiques tu peux t'en foutre. Mais dans l'monde réel, les lois physiques, les mesures, le dBFS, tout ça existe bel et bien." youtou
csurieux
Tu peux regarder du côté des Ryzen 5 5600X.
Done. Sur le papier les Intels I5-12600 semblent plus avancés, fréquences plus élevées pour même puissance consommée et gestion de la DDR5 et PCIe 5, alors que le R5 5600 reste sur les versions 4, pour un prix très proche avec toutefois avantage à AMD, non ?
[ Dernière édition du message le 18/02/2022 à 17:18:52 ]
ElliotValentine
[ Dernière édition du message le 18/02/2022 à 19:00:36 ]
Darkmoon
Les deux mon capitaine : les interfaces graphiques de Cubase, Reaper, Pro Tools et beaucoup d'autres utilisent OpenGL/Direct3D pour décharger le CPU, ce que de nombreux plugins font également (et certains sont gourmands en la matière, Kontakt notamment). Les DAWs se mettent aussi à utiliser OpenCL pour accélérer le processus de rendu/export audio (Reaper, Sound Forge...). Et en plus de ça, de plus en plus de plugins d'effets utilisent des solutions GPGPU type CUDA (Acustica Audio, LiquidSonics...) pour leurs calculs, ce qui risque de se généraliser avec l'arrivée des plugins basés sur l'utilisation de réseaux neuronaux.
Nous avons déjà eu cette discussion. Pour l'export, je veux bien (c'est possible techniquement), mais pour le temps réel, aucun DAW et plugins n'exploite le GPU (pour des calculs audio, je précise!) à ma connaissance, si ce n'est que les GPU ne sont pas conçus pour traiter du temps réel en basse latence.
J'apprécierai des preuves, des sources sur ce que tu avances Sarakyel.
"Si t'enregistres à Poudlard, avec l'ingé son Dumbledore, les lois physiques tu peux t'en foutre. Mais dans l'monde réel, les lois physiques, les mesures, le dBFS, tout ça existe bel et bien." youtou
Snowfall
Citation de Sarakyel :
Tu peux regarder du côté des Ryzen 5 5600X.
Done. Sur le papier les Intels I5-12600 semblent plus avancés, fréquences plus élevées pour même puissance consommée et gestion de la DDR5 et PCIe 5, alors que le R5 5600 reste sur les versions 4, pour un prix très proche avec toutefois avantage à AMD, non ?
Ecrit dans l'article de Tom's Hardware posté par Danbei.
The Core i5-12600K speeds past AMD's Ryzen 5 5600X and the Ryzen 7 5800X during almost all of our gaming tests in Windows 10 and 11, but there is a caveat: The 12600K led with DDR4 memory in both operating systems, but our DDR5 test system didn't respond as well in Windows 10. In either case, the 12600K led convincingly in 3 of the four configurations, which is impressive given its price point.
Sarakyel
Nous avons déjà eu cette discussion. Pour l'export, je veux bien (c'est possible techniquement), mais pour le temps réel, aucun DAW et plugins n'exploite le GPU (pour des calculs audio, je précise!) à ma connaissance
Tiens, v'là un plugin trouvé au pif. Et il y'a effectivement Braingines, cité plus haut par Danbei. Et sûrement d'autres...
Ceci dit pour les DAWs, il semblerait effectivement qu'aucun ne le fasse pour l'instant. Les quelques discussions que j'ai retrouvées sur les forums de Cockos (Reaper) évoquent bien une tentative d'accélération des calculs via GPU, mais... Il s'agit de rendu graphique. Comme je pensais que Reaper le faisait déjà, j'avais dû supposer qu'il s'agissait de rendu audio, mais en fait non, Reaper affiche son interface via le pipeline graphique du l'OS et c'est tout. Bref, je m'est fourvoyé.
les GPU ne sont pas conçus pour traiter du temps réel en basse latence.
Techniquement, un GPU est un co-processeur arithmétique qui peut effectuer exactement les mêmes calculs qu'un CPU ; seuls les jeux d'instructions spécialisés diffèrent, et de fait les interfaces de programmation qui les exploitent (API). Les GPUs ont été à l'origine créés comme des unités de calcul graphiques, donc forcément les API étaient prévues spécifiquement pour optimiser ce type de calcul.
Mais y'a du chemin qui a été fait depuis, entre les calculs physiques (PhysX/Havok), puis CUDA suivi d'OpenCL qui permettent de distribuer n'importe quel type de calcul temps-réel... D'ailleurs fun fact : le premier DSP commercialisé par UAD était en réalité une puce de rendu 3D MPACT2 alors fabriquée par une filiale de... ATI ! La même puce équipait les cartes graphiques Nitro DVD à la fin des 90's !
Et maintenant c'est NVidia se place en bonne position sur l'IA, toujours traitée sur GPU à l'aide des Tensor Cores sur les cartes RTX.
Du coup si tu peux me trouver une bonne raison pour que l'architecture hardware des GPU actuels soit incapable de traiter de l'audio en temps réel, je suis preneur ! Parce que de mon point de vue, le facteur limitant c'est seulement la partie logicielle, notamment le manque criant d'API dédiée à ça. Mais n'étant pas développeur GPU moi-même, je peux complètement ignorer certaines limites inhérentes à l'architecture.
edit : un début de réponse ici pour ceux qui n'ont pas peur des "tech talks", et un papier complet qui explique les tenants et les aboutissants du GPGPU pour l'audio temps réel.
J'apprécierai des preuves, des sources sur ce que tu avances Sarakyel
Et moi j'apprécierais un ton plus courtois et moins inquisiteur, histoire que ça reste une discussion à la cool entre gens sympas
Mais sinon tu peux commencer par la lecture des docs techniques de NVidia pour le SDK Audio Effects, qui permet de traiter du son en temps réel sur les cartes RTX. La version publique de l'outil permet actuellement de traiter jusqu'à 4 flux 48 kHz/32-bit float. La version accessible aux partenaires supporte 8 flux 96 kHz / 32-bit float, avec quelques restrictions sur ce que le GPU peut faire à côté. Et comme je le disais, à l'heure actuelle c'est principalement utilisé pour le streaming et autres broadcasts, mais rien n'empeche de développer des plugins basé sur les fonctionnalités offertes par ce SDK (et mine de rien, y'en a une belle liste qui pourrait être tout aussi utile en live qu'en studio). Vu que nous (dans le jeu vidéo) on le fait déjà, je serais très surpris que des boîtes comme iZotope ne considèrent pas cette possibilité...
[ Dernière édition du message le 19/02/2022 à 02:35:56 ]
Darkmoon
Techniquement, un GPU est un co-processeur arithmétique qui peut effectuer exactement les mêmes calculs qu'un CPU ; seuls les jeux d'instructions spécialisés diffèrent [...] Du coup si tu peux me trouver une bonne raison pour que l'architecture hardware des GPU actuels soit incapable de traiter de l'audio en temps réel, je suis preneur !
Là, maintenant, je n'ai pas de sources sous la main, mais je vais tenter de retrouver (puisque je suis le premier à demander des sources! c'est la moindre des chose!
Je sais, c'est contre-intuitif a priori, car l'on se dit qu'une carte graphique doit forcément calculer en temps réel pour les jeux, mais à l'époque j'avais très bien saisi l'explication du dev, qui était des plus logique.
Je vais rechercher et revenir ensuite partager...
Citation de Darkmoon :J'apprécierai des preuves, des sources sur ce que tu avances Sarakyel
Et moi j'apprécierais un ton plus courtois et moins inquisiteur, histoire que ça reste une discussion à la cool entre gens sympas
Désolé si cela t'a paru un peu « sec/inquisiteur », ce n'était pas mon intention. J'ai juste demandé des sources pourtant.
Je vais d'ailleurs moi-même tenter de retrouver celles qui appuient mon propos. Y a pas de problème à ne pas avoir le même avis, c'est même bien, car ça nous pousse à faire des recherches pour confirmer ou infirmer nos opinions.
"Si t'enregistres à Poudlard, avec l'ingé son Dumbledore, les lois physiques tu peux t'en foutre. Mais dans l'monde réel, les lois physiques, les mesures, le dBFS, tout ça existe bel et bien." youtou
[ Dernière édition du message le 19/02/2022 à 03:56:58 ]
ElliotValentine
efbie
https://stackoverflow.com/questions/64800548/gpu-audio-processing
Pour autant, il se pourrait qu'il y ait des perspectives :
https://www.reddit.com/r/ableton/comments/lw85ko/gpu_audio_processing_on_the_way_signing_up_beta/
https://www.google.com/url?sa=t&source=web&rct=j&url=https://www-sop.inria.fr/reves/personnel/Emmanuel.Gallo/publication/posterGP2.pdf&ved=2ahUKEwiXgqm7xYv2AhWMgnIEHTYKCB0QFnoECCgQAQ&sqi=2&usg=AOvVaw3Bp8eqUI9OJv41acWQf8Y8
Je suis parti de cette recherche :
https://www.google.com/search?q=gpu+for+audio+processing&oq=gpu+for+aud&aqs=chrome.1.69i57j0i19l2j0i19i22i30l2.8146j0j7&sourceid=chrome-mobile&ie=UTF-8
Danbei
Du coup si tu peux me trouver une bonne raison pour que l'architecture hardware des GPU actuels soit incapable de traiter de l'audio en temps réel, je suis preneur !
Une des idées principale du modèle d'exécution sur GPU c'est la parallélisme massif. Un GPU récent dispose de l'ordre de quelques milliers de cœurs, par exemple de 2500 à 10700 pour la dernière série NVIDIA (GeForce 30 series). Ce sont des cœurs qui sont beaucoup moins puissant que les cœurs CPU, attention il ne faut pas les mettre en face, ils sont très différents, mais très nombreux. On peut aussi lire une rapide introduction au GPU ici (le paragraphe "The Benefits of Using GPUs").
Mais c'est pire que ça, sur GPU il y a la même idée que le SMT/Hyperthreading CPU mais poussé encore plus loin, sur un GPU on exécute typiquement plusieurs centaines de milliers de threads pour exploiter toute la puissance de calcul d'un GPU récent. Utiliser autant de thread qu'il y a de cœur sur GPU est souvent très insuffisant pour obtenir des performances intéressantes. Dans ces spec on voit qu'on peut aller jusqu'à 2048 threads par SMX, et en fait on veut souvent en avoir au moins 2048 pour bien exploiter le SMX, sur une 3080 il y a 80 SMX (GeForce 30 series) : on veut au moins 2048*80=163 840 threads pour occuper correctement le GPU.
Autre contrainte, les GPU sont efficaces quand on exécute exactement le même code sur tous les threads. On peut coder un logiciel qui ferait des calculs différents sur chaque threads, mais c'est pas performant et du coup on évite (SIMT architecture).
Tout est exécutable sur GPU, mais tout n'est pas efficace, il faut que les algo soit massivement parallélisable.
Pour illustrer une des grandes différences entre l'image et le son : dans une image 1080p on a 2 millions de pixels, dans un buffer audio on a 32-1024 échantillons ! On peut tout à fait faire des calculs sur GPU avec un buffer de 32 échantillons, mais on va très largement sous exploiter la puissance disponible, c'est pas rentable.
A partir de la on peut :
- Utiliser des buffer beaucoup plus grand : plusieurs centaines de milliers d'échantillons, ce qui veut dire des latences de l'ordre de la seconde
- Appliquer les traitements sur plusieurs canaux. "Plusieurs" au sens de 100, 1000, pas au sens de 2 ou 3
- Il y a peut être d'autres idées auxquelles je ne pense pas
L'article "un papier complet qui explique les tenants et les aboutissants du GPGPU pour l'audio temps réel" montre bien la difficulté à la page 5 :
Pour 1 canal avec un buffer de 1024 échantillons (ce qui est appelé "temps réel" *), c'est plus lent sur GPU et c'est seulement quand on applique les traitements (le même appliqué à tous les canaux) sur 128 canaux qu'on bénéficie de la puissance du GPU. Sachant que les résultats de cet article ont été obtenue avec un un GPU GTX780M avec ~1500 cœurs CUDA, l'équivalent aujourd'hui serait une 3080 avec 10200 cœurs CUDA et le phénomène serait encore plus marqué.
* La notion de temps réel n'est pas très précise, dans cet article et dans les slides "un début de réponse ici" ils parlent de temps réel pour des buffer de 512-1024 échantillons et plus, soit déjà plusieurs dizaines de ms de latence, plus que ce que l'on considère comme temps réel en MAO.
De la même manière, pour ce qui est de Audio effects de NVIDIA il est ici indiqué que les traitements impliquent un minimum de 30ms de latence.
Attention aux articles d'il y a quelques années : à l'époque les GPU n'avait "que" quelques centaines de cœurs et on avait besoin d'autant moins de parallélisme pour les exploiter. D'où le fait qu'à l'époque plusieurs se sont légitimement poser la question de faire des traitements audio sur GPU. Et c'est pour cela que je dis que les GPU on progressés dans un sens qui n'est pas adapté au traitement audio : on a multiplié le nombre de cœurs par presque 20 en 10 ans
De plus, les dernières fonctionnalité GPU ce sont des unités de calcul spécialisées pour le calcul tensorielle, le tracé de rayon, le calcul en faible précision, des choses qu'on ne peut pas systématiquement appliquer au traitement audio. On peut utiliser les unités de calcul faible précision et de calcul tensorielle pour faire de l'inférence, mais c'est pas applicable à tout les traitements audio de manière général... Ma conclusion c'est que plus ça va plus les GPU s'éloignent de ce qu'on voudrait pour faire du traitement audio.
[ Dernière édition du message le 19/02/2022 à 13:10:01 ]
Darkmoon
J’avais loupé une page (encore,
Au final (ce que vous échangez tous les deux), ça revient à ce que je voulais exprimer : il n’y a pas — présentement — de DAW, ni de plugins (comprendre un environnement complet), qui exploitent nos cartes graphiques pour faire du calcul audio en temps réel.
Et ce qui m’importe, c’est surtout le fait de ne pas conseiller à quelqu’un (qui vient demander des conseils ici) de s’acheter telle ou telle carte graphique sous prétexte que certains DAW ou plugins l’utiliseront (et/ou, de par nos propos, donner l’impression qu’il y aura un gain de perf, un avantage, en MAO, à posséder une carte graphique non intégrée). Pour l’instant, un IGPU (puce intégrée à la CM) est tout à fait suffisant pour bosser dans un DAW et les quelques « tests/essais » qui tentent d’exploiter les cartes graphiques (pour calculer de l’audionumérique) sont rarissime (et/ou fonctionnent en application « standalone », mais pas en tant que plugin dans un DAW) et donc pas suffisant pour prendre en compte l’achat d’une carte graphique dans « l’équation » de l’achat d’un PC dédié MAO. Tel est mon propos et ce qui m’importe, précisément!
Maintenant, pour le reste, oui, depuis près de 20 ans maintenant, comme plusieurs, j’ai souvent lu « ici et là » que certaines entreprises et/ou universités effectuaient de la recherche, des tests et essais sur le sujet. Et c’est justement ce qui contribue à ramener le sujet dans certaines discussions de certains forums de temps à autre (il y a tjrs un mec pour dire « hey, mais pourquoi nos DAW et plugins n’utilisent pas nos cartes graphiques? » Moi même je me souviens m’être fait la même réflexion au début des années 2000). Par exemple, déjà, ici, en 2004, nous pouvions lire dans un article de 01net que la société BionicFX avait eu l’idée d’utiliser les capacités de calcul de la puce graphique pour traiter de l’audio en temps réel. C’est donc dire que l’idée est loin d’être « nouvelle »!
Sauf qu’entre avoir l’idée, effectuer des tests et de la recherche VS que ce soit dispo et fonctionnel au sein de nos workflows habituels à l’intérieur de nos DAW + plugins, il y a un monde! Et ce n’est manifestement pas encore disponible.
Sinon, je n’ai pas retrouvé l’interview spécifique avec le dev dont je parlais, ça m’emmerde, mais bon. Et sinon, oui, en effet, de temps à autre, nous tombons sur des « papiers de recherche » comme celui que tu as partagé en lien (thx!
There and Back Again: The Practicality of GPU Accelerated Digital Audio (PDF)
Ou ici directement sur site et ici pour la présentation vidéo du NIME2020
C’est un autre « vrai papier scientifique » (complémentaire à celui que tu partages) avec un « abstract » (résumé), et de nombreuses références en dernière page.
Pour résumer (j’ai lu le papier dans son intégralité) :
- il s’agit surtout de recherches universitaires (sans doute dans le cadre de thèses),
- il s’agit uniquement d’observer si le coût des échanges de données~mémoires entre le CPU et le GPU est limitant ou non, au final. Et uniquement ça!
- surtout, ces recherches et tests ne sont pas effectués en situation réelle, c’est-à-dire avec un « OS » et un DAW (comme nous, « l’utilisateur final », bossons), mais qu’avec des outils spécifiques destinés (codé spécifiquement) qu’à ne mesurer que les échanges de données~mémoires entre le CPU et le GPU. C’est donc à dire que les résultats observés, c’est-à-dire les latences induites, sont (seraient) à ajouter à celle déjà effective dans notre chaîne de traitement habituelle,
- OpenCL permet d’exploiter les FPGA, les DSP, ainsi que les GPU (pour les vendeurs dont le matériel le supporte), mais CUDA est plus « problématique » car non compatible (puisque c’est une techno « propriétaire ) avec les cartes graphiques AMD (anciennement ATI),
- Il semble (ça, ce n’est pas ma formulation, c’est un copié/collé, mais traduit, d’un passage dans le papier) y avoir une prudence compréhensible au sein de la communauté des développeurs audio numérique, une prudence à l’égard de la « GPGPU » (NDT : c’est le terme qui désigne l’exploitation des GPU pour des applications autres que graphiques), et par conséquent, l’optimisation « GPGPU » est peu utilisée.
Et pour ce qui est de leurs conclusions, concernant le test bidirectionnel pour des échantillons audio, les résultats de leur tableau sont toujours en déca de 1ms dès que la valeur du buffer est à 8smp ou plus. Sauf que pour ce tableau, l’on voit bien que ça n’a rien à voir avec une utilisation réelle, au sein d’un OS + DAW qui doit gérer des plugins tiers, etc., car aucune de nos machines actuelles n’arrive à bosser à 0.142ms, comme le genre de valeur que l’on observe dans leurs tableaux. Il est donc clair (c’est même précisé en préambule), qu’ils testent uniquement et précisément les latence induites par les échanges mémoire et données entre CPU et GPU afin de constater si l’échange entre les deux est limitant ou non. Il apparaît qu’il ne l’est pas (très peu), mais seulement sous les paramètres et le protocole de ce type de test qui ne prend pas en compte l’OS, ni le DAW, etc. Autrement dit, pour ce que j’en comprends, puisqu’il ne s’agit que d’observer la latence induite par les échanges entre le CPU et le GPU, il faut donc ajouter cette latence (celle des échanges observés dans ce papier) à celle déjà existante dans nos chaînes de traitement habituel (Interface audio, OS, DAW, plugins, etc.). Mais, bon, en regard des résultats, l’on peut dire qu’ajouter moins d’une milliseconde n’est pas limitant! Leur test démontre donc que ce serait possible, techniquement! C’est-à-dire que ça n’ajouterait pas trop de latence!
Par contre il y a aussi un autre tableau qui, pour ce que j’en comprends, montre les résultats pour de la modélisation physique (disons dans l’éventualité d’un VSTi de synthé) et, pour ce dernier, ça peut poser des problèmes de jitter à partir d’un buffer à 64smp. Et pour la latence, induire de 1ms à 8ms, entre un buffer à 128smp jusqu’à 512smp. Mais, encore, toujours dans le cadre de ce protocole particulier pour cette recherche universitaire. C’est-à-dire que la latence induite par ces échanges s’ajoutera à celle déjà induite par le reste de notre chaîne. Du coup, là, en ajoutant plus d’une seconde à partir de 128smp, c’est déjà moins « intéressant » pour de la modélisation.
Et il semble en être de même pour le papier que tu as partagé (je l’ai juste survolé en diago, car il est bcp plus « dense ». Sinon tu me corrigeras
Sauf que pour ce qui nous intéresse nous, en tant qu’utilisateurs finaux, c’est qu’il faudrait que toute « l’industrie » suive afin qu’autant les DAW que les plugins puissent exploiter nos cartes graphiques. Et pour ce que j’en comprends, le principal problème vient, encore une fois (ce n'est pas nouveau, mais c'est un autres sujet
Bref, quand tu disais que ça dépendait des API et de la prog, c’était exact.
Sauf qu’en pratique et dans les faits, bien que l’idée ait « émergé » il y a déjà près de 20 ans, ça semble trop compliqué (pas théoriquement, mais en pratique pour les éditeurs de produits) à mettre en œuvre au sein de « l’environnement global MAO ». Faudrait que tous se mettent d’accord pour utiliser le même API et j’imagine qu’autant l’interface audio, que le DAW, les plugins et l’OS devraient « bosser de pairs » pour gérer le tout (suis pas codeur, mais je présume ici).
Aussi, ces tests ne nous démontrent pas, outre la latence induite par les échanges en le CPU et le GPU, le gain de performance que ça nous procurerait (et c’est là tout l’intérêt!). Et pour cause, car ce n’est pas ce qui a été testé, car pour cela, ils devraient créer un « DAW » et des plugins (pour « simuler une utilisation standard typique) afin d’observer, P. Ex., combien de plugins et/ou la taille d’un projet MAO que pourrait gérer telle ou telle carte graphique.
Bref, ma conclusion est la suivante : nous n’en sommes qu’encore qu’au stade de la recherche et des balbutiements en ce domaine, les principaux acteurs semblent encore trop frileux pour emprunter cette « voie » et il n’existe pas encore d’environnement complet (comprendre ==> DAW et plusieurs plugins) permettant d’exploiter nos cartes graphiques pour faire de la MAO.
Mais tu as raison : techniquement, ce serait possible! Les récentes recherches démontrent que ça n’ajouterait pas plus que quelques centièmes de milliseconde de latence, dans certains cas!
"Si t'enregistres à Poudlard, avec l'ingé son Dumbledore, les lois physiques tu peux t'en foutre. Mais dans l'monde réel, les lois physiques, les mesures, le dBFS, tout ça existe bel et bien." youtou
Darkmoon
Utiliser autant de thread qu'il y a de cœur sur GPU est souvent très insuffisant pour obtenir des performances intéressantes [...] Autre contrainte, les GPU sont efficaces quand on exécute exactement le même code sur tous les threads. On peut coder un logiciel qui ferait des calculs différents sur chaque threads, mais c'est pas performant et du coup on évite [...] Tout est exécutable sur GPU, mais tout n'est pas efficace, il faut que les algo soit massivement parallélisable [...] on peut tout à fait faire des calculs sur GPU avec un buffer de 32 échantillons, mais on va très largement sous exploiter la puissance disponible, c'est pas rentable [...] Utiliser des buffer beaucoup plus grand : plusieurs centaines de milliers d'échantillons, ce qui veut dire des latences de l'ordre de la seconde [...] Appliquer les traitements sur plusieurs canaux. "Plusieurs" au sens de 100, 1000 [...] Si on veut vraiment profiter de la puissance de calcul GPU on évitera d'appliquer un gain sur un canal, on compresseur sur un autre etc [...] Pour 1 canal avec un buffer de 1024 échantillons (ce qui est appelé "temps réel" *), c'est plus lent sur GPU et c'est seulement quand on applique les traitements (le même appliqué à tous les canaux) sur 128 canaux qu'on bénéficie de la puissance du GPU [...] Ma conclusion c'est que plus ça va plus les GPU s'éloignent de ce qu'on voudrait pour faire du traitement audio.
Voilà, c'est exactement ce que le dev de l'interview que je ne retrouve pas expliquait, grosso modo, à l'époque. Thx Danbei
on peut tout à fait faire des calculs sur GPU avec un buffer de 32 échantillons, mais on va très largement sous exploiter la puissance disponible, c'est pas rentable
C'est pour ça que dans mon dernier message, je dis que ce qui a été testé ce n'est que la latence induite par les échanges, mais que cela ne nous renseigne pas sur le gain de perf. Parce que si, pour gagner en perfs, il faut remonter au point où cela ajoute trop de latence pour bosser en temps réel, alors ça ne sert à rien.
Par contre, dans le papier que j'ai partagé Danbei, pour le premier tableau (Table 3), même avec un buffer au max, les latences observées (pour les échange CPU ==>GPU) demeurent à moins de 0.5ms.
À moins, comme je ne le pense, que cela ne concerne que strictement des échanges sans considérer ce qu'il y aurait à traiter (dans le cadre d'un gros projet dans un DAW) ?

"Si t'enregistres à Poudlard, avec l'ingé son Dumbledore, les lois physiques tu peux t'en foutre. Mais dans l'monde réel, les lois physiques, les mesures, le dBFS, tout ça existe bel et bien." youtou
Danbei
Par contre, dans le papier que j'ai partagé Danbei, pour le premier tableau (Table 3), même avec un buffer au max, les latences observées (pour les échange CPU ==>GPU) demeurent à moins de 0.5ms.Est-ce donc à dire que cela a changé depuis? Tu en pense quoi Danbei? Est-ce que j'interprète bien les résultats?
Ce tableau sert à vérifier que le temps total soit en dessous de 1000 ms, sinon ça veut dire que ça "glitch".
Avec un buffer de 32786 échantillons la latence final pour l'utilisateur à 44.1KHz est à 32786/44.1 ms = 743 ms.
La conclusion de l'article est qu'il est possible de faire du temps réel avec un GPU, la question suivante c'est : est ce que, dans un contexte en temps réel, un GPU est plus performant qu'un CPU ? Parce que pour faire du temps réel avec un GPU il faudra probablement rogner sur les performances.
[ Dernière édition du message le 19/02/2022 à 16:42:07 ]
csurieux
Ils m'amènent à me poser la question de quels types de calculs sont fréquents en MAO ? De nombreuses pédales d'effets guitares utilisent des DSP dédiés, type scharc comme Strymon ou autre comme Source Audio, pourquoi ne trouvent-on pas celà sur des cartes PCIe ?
Ils ne sont peut-être pas utiles aux traitements MAO nécessaires dans un DAW ?
Sinon je commence à observer les prix et je note qu'il y a des 'deals' sur des I5-12600 KF.
Personne ne m'a suggéré un processeur capable d'over clocking, est-ce qu'ils chauffent tellement que le coût du refroidissement à installer fait grimper celui de la solution totale de manière astronomique ? Ou bien est-ce que la gestion de ce type de proc est complexe pour un néophite en la matière ?
Merci par avance pour vos éclairages.
JohnnyG
Alors pour de l'OC faudrait pratiquement songer à du watercooling. En AIO ou acheter pièce par pièce...
csurieux
Peut-être pas pour un modèle KF qui fait de l'OC ?
Sans compter l'alim Be Quiet Straight Power 11 - 550W - Platinium qui devient peut être juste ?
[ Dernière édition du message le 19/02/2022 à 17:22:51 ]
Snowfall
Sinon je commence à observer les prix et je note qu'il y a des 'deals' sur des I5-12600 KF.
Personne ne m'a suggéré un processeur capable d'over clocking, est-ce qu'ils chauffent tellement que le coût du refroidissement à installer fait grimper celui de la solution totale de manière astronomique ? Ou bien est-ce que la gestion de ce type de proc est complexe pour un néophite en la matière ?
Le prix des CM pour la 12ème génération d'Intel sont complètement aberrants. Si l'on prend en compte CPU + CM + Ventirad, je trouve que le 5600X reste quand même le plus intéressant. Le 12400F aussi mais j'ai peur de le regretter dans 5-6 ans comparé à un 5600X.
csurieux
Le prix des CM pour la 12ème génération d'Intel sont complètement aberrants. Si l'on prend en compte CPU + CM + Ventirad, je trouve que le 5600X reste quand même le plus intéressant. Le 12400F aussi mais j'ai peur de le regretter dans 5-6 ans comparé à un 5600X.
Peux-tu m'indiquer dans ce cas quelle CM pour un 5600X ?Et quel Ventirad ?
Snowfall
Les Tomahawk & TUF sont souvent de très bonnes cartes.
Ce lien est plutôt utile également : https://linustechtips.com/topic/1137619-motherboard-vrm-tier-list-v2-currently-amd-only/
Edit : Pour le Ventirad j'ai beaucoup vu le "ARCTIC Freezer 34 eSports DUO" revenir dernièrement, je ne sais pas exactement ce qu'il vaut mais il a l'air de beaucoup plaire et le prix est correct.
[ Dernière édition du message le 19/02/2022 à 20:49:01 ]
ElliotValentine
[ Dernière édition du message le 19/02/2022 à 21:30:16 ]
Darkmoon
Ce tableau sert à vérifier que le temps total soit en dessous de 1000 ms, sinon ça veut dire que ça "glitch".
Avec un buffer de 32786 échantillons la latence final pour l'utilisateur à 44.1KHz est à 32786/44.1 ms = 743 ms.
La conclusion de l'article est qu'il est possible de faire du temps réel avec un GPU, la question suivante c'est : est ce que, dans un contexte en temps réel, un GPU est plus performant qu'un CPU ? Parce que pour faire du temps réel avec un GPU il faudra probablement rogner sur les performances.
Je suis d'accord sur le fond (la conclusion), mais....
...Je ne suis pas sûr de comprendre leur tableau. Dans celui-ci, par exemple :

si je regarde pour le buffer à 256smp, pour la GeForce2080 (avec OpenCL), le « total time » (donc latence audio + jitter) indique 24.731 alors que la latence indique 0.142 et le jitter 0.217
Premièrement, est-ce que les valeurs sont en seconde ou en ms? Moi je comprends (par la lecture du reste du papier) qu'il s'agit de ms, donc 24ms, 0.142ms et 0.217ms.
De plus, je ne comprends pas le résultat du « total time » puisque 0.142 + 0.217 = 0.359!!!

"Si t'enregistres à Poudlard, avec l'ingé son Dumbledore, les lois physiques tu peux t'en foutre. Mais dans l'monde réel, les lois physiques, les mesures, le dBFS, tout ça existe bel et bien." youtou
Danbei
A la première lecture j'ai aussi eu du mal à comprendre ce tableau ^^
Le "Total Time" est le temps total pour faire la manip avec 44100 échantillons
Dans le benchmark il y a les étapes suivantes :
1) Transfert CPU/GPU
2) Exécution d'un noyau de calcul vide
3) Transfert GPU/CPU
On peut décomposer chacune des étapes de la manière suivante :
1) Transfert CPU/GPU = Latence de transfert (temps pour "mettre en route" le transfert) + temps de transfert (taille du buffer / bande passante) + synchronisation CPU/GPU
2) Exécution d'un noyau de calcul vide = Latence de lancement du noyau de calcul + temps d'exécution du noyau de calcul (ici c'est 0 ms parce que le noyau de calcul est vide) + synchronisation CPU/GPU
3) Transfert GPU/CPU = Idem au 1
Par exemple :
- Pour un buffer de taille 1 il faut répéter les étapes pour 44100/1 = 44100 buffers
On paie la latence pour chaque échantillons parce qu'on fait 2 transferts (aller/retour) et un noyau par échantillons : 88200 transferts, 44100 noyaux et 132300 (3x44100) synchronisations
- Pour un buffer de taille 32768 il faut répéter les étapes pour 44100/32768 = 2 buffers (il faut prendre la partie entière supérieur)
On paie beaucoup moins de latence parce qu'on a fait seulement 2 transferts aller, 2 transferts retour, 2 lancement de noyaux et 6 synchronisations
Finalement, c'est pour cela que le temps total pour les buffers de petites tailles est très grand : on paie beaucoup plus de latence de transfert, de lancement de noyau et de synchronisations.
Cette colonne sert à vérifier qu'on peut bien faire la manip sur les 44100 échantillons présents avant que les 44100 échantillons suivants arrivent : à 44,1KHz il faut que le "Total time" soit inférieur à 1s.
Le "Average latency" c'est les temps total / le nombre de buffer qu'il a fallu traiter pour s'occuper des 44100 échantillons.
Par ex: 6133.319/44100 pour la première ligne, 0.368/2 pour la dernière ligne.
Et là ca représente la latence induite pour le traitement sur le GPU, ie la latence qu'il faut ajouter à toutes les autres latence (ADC, interface avec le PC)
[ Dernière édition du message le 20/02/2022 à 12:49:39 ]
csurieux
Ce serait passer à l'OC, j'ai pas mal lu dessus, et Intel semble proposer une solution très acceptable, donc ça ne m'effraie pas plus que ça.
J'ai aussi entendu que l'AMD 5600X ou 5800X pourraient être envisagés, mais là il me faut revoir la CM Gigabyte qui me plaisait bien, je traiterai ça en seconde priorité, souhaitant boucler le sujet sur Intel et le I5-12600KF.
Bref, mon problème en cas d'OC semble la gestion de ce surplus de chaleur et j'ai 'brulé' ,
comment dimensionner un système de refroidissement ? Ce n'est quand même pas empirique, il doit bien exister une ou deux lois qui permettent, connaissant les températures atteintes par un processeur, de savoir combien de ventilateurs il faut utiliser dans son boitier en plus de ceux de son ventirad ?
A ce sujet, je note que le 'ARCTIC Freezer 34 eSports DUO' avec ses deux ventilateurs semble meilleur que le 'Cooler Master Silencio FP 120 PWM ' monté avec deux ventilateurs. Il semble aussi plus silencieux.
Ensuite il y a l'alim... et là les 550W de la 'Be Quiet Straight Power 11' semblent légers pour absorber les W de plus réclamés par l'OC du I5-12600KF, mais là aussi à quelle puissance monter, 750W pour être tranquile ?
La carte Gigabyte B660M DS3H DDR4, quant à elle, semble supporter l'OC et peut être conservée ?
Autre chose ? Le boitier 'Cooler Master Silencio S400' silencieux, ce qui me plait bien, chaufferait-t-il trop pour de l'OC ? Même en multipliant les ventilateurs ? J'ai regardé des démos de boitiers mais dans ces prix ils semblent tous plus bruyants, comme le 'Corsair Crystal 280X Noir' (plus cher) ? Ce qui est logique, plus ils laissent passer l'air de refroidissement, plus ils laissent sortir les ronflements...
Merci pour vos avis et corrections pour ma meilleure compréhension.
[ Dernière édition du message le 20/02/2022 à 20:33:17 ]
Snowfall
csurieux
Une question bête mais, pourquoi vouloir OC ? Un 12600K va être suffisant pour les 7-8 ans à venir sans forcer.
Juste question, je me dis que je ne voudrais pas me retrouver bloqué en enregistrement, actuellement j'utilise aux max 16 pistes Cubase, mais sans aucun plugin, tout en effets externes et amplis réels qui donnent dans des DI puis ma Focusrite.
Mais j'ai acquis récemment des simus Neural DSP et Bias FX2 qui s'avèrent très gourmandes en CPU. Tout ce qui était fait dans les effets externes et dans les amplis lampes H&K, se trouve réalisé par le proc du PC, et mes premiers tests mettent ma config actuelle laptop sur les genoux (!!!), sans même créer plusieures pistes de Neural DSP (ou Bias), ni ajouter des bus et autres effets internes, ce qui est une démarche classique dans ce type de pratique.
Donc voilà, je me dis que ce serait dommage si ma pratique virait plus dans ce sens 'virtuel', d'avoir monté une config trop restreintre et s'il faut ajouter 200 à 300 euros de plus...mieux vaudrait le faire dès le début.
Je suis très attaché au matériel tant guitares, amplis, effets, synthé, mais l'appel de la virtualisation est là...
[ Dernière édition du message le 20/02/2022 à 20:52:03 ]
Snowfall
A moins de mettre 500-600€ il n'y a pas beaucoup mieux qu'un 12600k à l'heure actuelle. OC ce CPU c'est gagner peu de perf' et doubler la consommation ; c'est à faire sur une "fin de vie" d'un CPU histoire de grapiller un peu, mais clairement pas en début de cycle.
- < Liste des sujets
- Charte