COMPTOIR
register

CPU ou GPU : lequel est préférable pour bosser ?

Ces dernières années, depuis 2017 et l'arrivée de Ryzen, nous avons vu le segment mainstream envahir les places de feu le segment HEDT représenté par Threadripper et Cascade Lake-X. Petit à petit, les processeurs se sont musclés, avec 16 coeurs offerts par le 3950X, puis le 5950X. Les 3900X et 5900X avec leurs 12 coeurs et 24 threads ne sont pas des manchots non plus, et ils correspondent à une demande précise, avoir un max de perf en gaming et en applicatif lourd. C'est dans ce dernier domaine que la parallélisation joue le plus, mais on a également vu dans nos tests des derniers Threadripper 3000 que l'offre logicielle était en retard sur la prise en charge parfaite de toute cette puissance.

 

cadecoiffelequel décoiffe le plus entre CPU et GPU ?

 

Mais c'est également oublier que les GPU ont commencé à se perfectionner pour des usages autres que le gaming, par exemple Nvidia a continué de développer CUDA, mais aussi son écosystème logiciel au niveau pro. Les GTX/RTX Titan représentaient le compromis entre grand public et professionnel, et  c'est depuis peu que le géant vert développe une branche de pilotes estampillée Studio pour grand public afin d'exploiter au mieux certains logiciels de retouche photo/création de vidéo/encodage sur les Geforce.

 

Nous avons voulu faire un petit point sur ce qui était le mieux pour quelques usages précis, mais pas rares, avec une poignée de logiciels. Passons avant à la configuration utilisée :

 

Ryzen 9 3900XT + AIO Cooler Master ML360 RGB
MSi B550 Gaming Edge Wifi
Klevv Bolt X 2x16 Go DDR4 3200 C16
Nvidia RTX 3090 Founders Edition
Kingston A1000 500 Go
Fractal Design Ion+ 860W

 

Nous avons donc un CPU qui est tout sauf anémique, et une carte graphique réputée parmi les plus violentes pour bosser. Nous avons utilisé divers softs, comme Blender qui calcule le temps de rendu de scènes 3D, Adobe Premiere Pro et Media Encoder, Vegas Pro et DaVinci Resolve. Ces logiciels ont la capacité de fonctionner en tirant sur le CPU, ou le GPU, au choix dans les options. Le but étant de voir lequel est le plus rapide à réglage identique entre les deux. Depuis Turing, Nvidia a largement amélioré la qualité de rendu de son encodeur NVEnc, confirmé sur Ampere. Si la qualité de rendu était très largement déficiente sur GPU il y a 10 ans, ce n'est pas le cas aujourd'hui. Il a aussi développé OptiX, un moteur/framework qui optimise le rendu du Ray Tracing par le GPU, nous le retrouvons dans Blender par exemple. Est-ce que l'avenir est réservé aux GPU ou est-ce que les processeurs continuent de lutter ?

 

 

Quel que soit le test Blender/Adobe compatible Nvidia Studio, les temps de rendu ou d'encodage sont toujours à l'avantage du GPU, et la qualité visuelle du produit final est quasiment identique, avec la même qualité d'image. Media Encoder même permet un gain de plus du double entre CPU et GPU. Vegas Pro, quant à lui, met moins de temps à compiler un projet vidéo multiple fait de plusieurs rushes et d'effets sur le GPU que le CPU. Les ratios sont assez importants, et du même ordre sur DaVinci Resolve qui a une version gratuite déjà bien complète pour quiconque veut faire du montage vidéo.

 

Au final, on pourrait rétorquer que la RTX 3090 est une carte d'exception pour ce genre de pratique, que les gains seraient moindres avec une RTX 3060 voire une 2060, la question est de savoir jusqu'à quel moment ça devient plus intéressant de bosser sur CPU que GPU. Et encore cela dépend clairement de votre processeur, c'est donc du cas par cas. Mais nous sommes tentés de vous inciter à tester vous-mêmes pour voir ce qui est préférable sur votre configuration, mais vu l'avance de notre 3090 sur un 3900XT pas manchot, nous sommes prêts à parier que vous devriez gagner du temps à bosser sur GPU que CPU, pour peu que ceux que vous utilisez sachent tirer partie de l'accélération GPU. Il y a de plus plein de domaines pas mesurés dans ce mini article où le GPU fait des merveilles, comme les Deep PRIME de DxO Photolab qui utilisent les GPU depuis la GTX 1060 pour débruiter vos images en RAW, c'est assez bluffant. Tentez l'expérience !

 

Un poil avant ?

Les flammes aux fesses, NZXT rappelle officiellement le H1... aux USA et Canada

Un peu plus tard ...

Un test pour le 11700K, et alors ?

Les 39 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Thibaut G., le Mardi 16 Février 2021 à 12h26  
par Un ragoteur de transit en Île-de-France le Mardi 16 Février 2021 à 01h29
Hehe, j'aurais bien fais un test, mais je n'ai pas de RTX.
Peux tu nous partager la vidéo source, celle encodé par le cpu et celle encodé par le gpu ? J'aimerai bien voir la différence s'il y en a une.
Pour info, voici un tuto afin de générer un score VMAF, PSNR et SSIM :
un petit lien tout mignon
Je vais regarder ça, je vais également bosser sur les mêmes tests mais un cpu moins huppé et une rtx 2060
par Un ragoteur de transit en Île-de-France, le Mardi 16 Février 2021 à 01h29  
Hehe, j'aurais bien fais un test, mais je n'ai pas de RTX.
Peux tu nous partager la vidéo source, celle encodé par le cpu et celle encodé par le gpu ? J'aimerai bien voir la différence s'il y en a une.
Pour info, voici un tuto afin de générer un score VMAF, PSNR et SSIM :
un petit lien tout mignon
par Thibaut G. le Lundi 15 Février 2021 à 22h25
c'est franchement compliqué de voir une différence, en 20 Mbits, arrêt sur l'image, je suis pas capable de voir une différence. Je ne suis pas non plus un pro de l'image, rapport aux tests que tu me demandes, on reste dans le cadre du semi pro ou du particulier avancé. C'est aussi la raison pour laquelle je propose aux gens dans le test de faire eux même leurs tests, je ne suis partie prenante de rien, je constate juste. D'ailleurs, comme je l'ai dit, mes deux derniers tests ont des vidéos encodées avec la 3090, et pas le CPU. Si un peut me dire qu'il s'en était rendu compte, j'y paye une quille de jaune (alors qu'avant c'était très flagrant avec une qualité CPU sans équivalent GPU)
C'est suite à cette observation de qualité très proche que j'ai eu l'idée de pousser un peu plus loin. Après chacun a ses croyances, mais le mieux est de tester soi même, je peux donner des conseils pour prendre en main les logiciels par mail si vous me le demandez.
par Thibaut G., le Lundi 15 Février 2021 à 22h25  
par Un ragoteur de transit en Île-de-France le Lundi 15 Février 2021 à 21h03
On est bien d'accord. Du coup vous avez la même image au pixel près en sortie ?
Les paramètres de l'encodeur ne justifie pas du résultat, il peut très bien y avoir quelques optimisations apportées par nvidia. Que donne les tests PSNR et SSIM ?

Quelques liens qui parlent du sujet :
un petit lien tout mignon
un petit lien tout mignon
c'est franchement compliqué de voir une différence, en 20 Mbits, arrêt sur l'image, je suis pas capable de voir une différence. Je ne suis pas non plus un pro de l'image, rapport aux tests que tu me demandes, on reste dans le cadre du semi pro ou du particulier avancé. C'est aussi la raison pour laquelle je propose aux gens dans le test de faire eux même leurs tests, je ne suis partie prenante de rien, je constate juste. D'ailleurs, comme je l'ai dit, mes deux derniers tests ont des vidéos encodées avec la 3090, et pas le CPU. Si un peut me dire qu'il s'en était rendu compte, j'y paye une quille de jaune (alors qu'avant c'était très flagrant avec une qualité CPU sans équivalent GPU)
C'est suite à cette observation de qualité très proche que j'ai eu l'idée de pousser un peu plus loin. Après chacun a ses croyances, mais le mieux est de tester soi même, je peux donner des conseils pour prendre en main les logiciels par mail si vous me le demandez.
par Un ragoteur de transit en Île-de-France, le Lundi 15 Février 2021 à 21h03  
par Thibaut G. le Lundi 15 Février 2021 à 12h11
Bien entendu les presets d encodages sont identiques, la qualité en sortie est identique entre les deux. Sinon ça revient à mesurer des choux et des carottes, ça n à aucune valeur.
On est bien d'accord. Du coup vous avez la même image au pixel près en sortie ?
Les paramètres de l'encodeur ne justifie pas du résultat, il peut très bien y avoir quelques optimisations apportées par nvidia. Que donne les tests PSNR et SSIM ?

Quelques liens qui parlent du sujet :
un petit lien tout mignon
un petit lien tout mignon
par Thomas N., le Lundi 15 Février 2021 à 20h46  
par cabou83 le Lundi 15 Février 2021 à 18h49
car en 900p60 j'ai vraiment peux de différence aussi avec le x264 du cpu
Faut voir quel preset tu choisis pour le x264, y'a quand même une différence entre du x264 medium et du veryfast.
par cabou83 le Lundi 15 Février 2021 à 18h49
a tu essayé avec les rx6800/6900 ?
Pas testé personnellement l'encodeur AMD, mais j'ai vu suffisamment de tests pour savoir que c'était encore assez moyen par rapport à d'autres encodeurs utilisés pour le streaming. Y compris par rapport à QuickSync d'ailleurs (qui s'en sort bien je trouve).
par Un ragoteur blond en Île-de-France, le Lundi 15 Février 2021 à 19h57  
par Un ragoteur blond en Île-de-France le Lundi 15 Février 2021 à 19h56
À faible débit les nouveaux encodeur sont bieeeen plus efficaces avec les B frames en hiver par contre les 1070 et cartes pascal plus hdg ont le gros avantage d'avoir une paire de puces nvenc qui les rendent bien plus rapide, surtout quand il faut encoder plusieurs vidéos en même temps. J'ai une 3080 l'encodage vidéo lui prends 7-8% d'utilisation alors que mon ancienne 1080 montait rarement au dessus de 1-3%.
Les B frames en HEVC*
par Un ragoteur blond en Île-de-France, le Lundi 15 Février 2021 à 19h56  
par Thibaut G. le Lundi 15 Février 2021 à 14h31
non la vidéo ets faite avec la gtx 1650 qui a un encodeur nvenc de pascal, pas de turing et encore moins d'ampere. Or moi je te dis que depuis turing et encore mieux depuis Ampere, ça se vaut désormais.
À faible débit les nouveaux encodeur sont bieeeen plus efficaces avec les B frames en hiver par contre les 1070 et cartes pascal plus hdg ont le gros avantage d'avoir une paire de puces nvenc qui les rendent bien plus rapide, surtout quand il faut encoder plusieurs vidéos en même temps. J'ai une 3080 l'encodage vidéo lui prends 7-8% d'utilisation alors que mon ancienne 1080 montait rarement au dessus de 1-3%.
par Un ragoteur blond en Île-de-France, le Lundi 15 Février 2021 à 19h46  
Ça fait 8 ans que je bosse avec After Effects & Photoshop et le support du multithreading cpu ou gpu est déplorable en 2021. Déjà en 2014 on a perdu sur After Effects la possibilité de rendre plusieurs images sur plusieurs cœurs rendant les cpu à plus de 8 cœurs complètement inutilisés ce qui est ridicule quand on voit à quel points les cpu et gpu modernes sont bien exploités par les logiciels de rendus 3d.
par Un ragoteur Gaulois embusqué, le Lundi 15 Février 2021 à 19h22  
Je m'en suis aperçu avec la version demo de dxo photolab 4 pour deep prime (effectivement bluffant pour traiter le bruit . Ma rx470 4go écrasait le ryzen 7 2700 (8c/16t)
Depuis, je suis passé sur une 5700xt mais la demo a expiré
par Un hardeur des ragots en Auvergne-Rhône-Alpes, le Lundi 15 Février 2021 à 19h20  
par Thibaut G. le Lundi 15 Février 2021 à 18h15
En attendant, le seul facteur sur lequel on peut agir, c'est la qualité de
sortie des vidéos ou les temps d'encodage, tel que chaque personne peut
observer avec des logiciels. On n'est pas codeurs, faut faire avec ce qui
existe. et je ne vois pas de faille dans le protocole qui invaliderait les
tests. C'est aussi une des raisons pour lesquelles le taff via GPU prend de
la place, j'imagine que c'est ça en tout cas
Le seul avantage du GPU sur un CPU c'est sa capacité à traiter massivement
des flottants. En revanche, sa programmabilité est très contraignante si
bien qu'il est pratiquement impossible d'implémenter le même algorithme
sans contre-performance.

Les programmeurs font ce qu'ils peuvent pour proposer des options dans les
encodeurs souvent simplifiées afin que les utilisateurs puissent optimiser
sans grande difficulté la qualité de sortie néanmoins la granularité de
traitement d'un processeur permet bien souvent de mieux optimiser la qualité
de compression.

Je ne dis pas qu'un encodage sur GPU est intrinsèquement mauvais puisqu'un
encodeur bien implémenté et configuré peut produire des flux de bonne qualité
comparativement à un encodeur sur CPU mal implémenté et bien configuré.

Néanmoins opposer GPU et CPU tandis que pour une entrée identique, la sortie
sera très probablement binairement différente... et visuellement subjective.
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Lundi 15 Février 2021 à 19h16  
par Thibaut G. le Lundi 15 Février 2021 à 18h15
A quoi ça servirait de tester du matos avec un code identique, qui ne
tiendrait compte d'aucune spécificité de l'un ou de l'autre, avec forcément
un avantage indéniable pour l'archi la plus répandue. Est ce la plus efficace ?
pas sûr.
Un code tient nécessairement compte des spécificités du matériel puisque la
manière dont il est exécuté en interne est différente (cf. nombre d'ALU/FPU,
taille des caches, etc).

Néanmoins je ne trouve pas très pertinent de prétendre qu'une opération
quelconque (e.g. addition de 2 entiers) serait qualitativement supérieure
exécutée sur telle ou telle architecture tandis que le résultat devrait
rester identique.

La comparaison entre CPU et GPU me semble bien difficile car le code (binaire
exécutable) de ces architectures est incompatible. Tout ce qu'il est possible
de faire c'est de comparer des implémentations différentes possiblement d'un
même algorithme et d'en évaluer les performances.
par Un ragoteur qui pipotronne en Communauté Valencienne, le Lundi 15 Février 2021 à 19h14  
Il y a des gros soucies d'encodage sur les cartes AMD, mais a priori c'est surtout un problème de support logiciel la ou NVidia profite de son immense et éprouvé marché professionel (ils brident d'ailleurs le nombres de sessions simultanées sur les Geforce via le pilote (hackable) pour protéger les Quadro).

Par contre sur des services qu'ils travaillent et avec une seul session j'imagine que ça doit progresser constamment, ils ne peuvent pas se permettre d'ignorer la hype Twitch and co. Mais a bitrate équivalent la qualité reste superieur chez NVidia ou iGPU Intel, après plus le bitrate augmente moins les défauts seront visible.

un petit lien tout mignon
par cabou83 le Lundi 15 Février 2021 à 18h49
Je stream avec un R5 3600 et une RX6800XT avec le preset AMD Software encoder (donc sur la 6800XT), a tu essayé avec les rx6800/6900 ? car en 900p60 j'ai vraiment peux de différence aussi avec le x264 du cpu (test sur fall guys par exemple qui demande pas beaucoup de cpu donc le 3600 arrive a afficher le jeux en 60fps + encoder. Ben preset x264 ou amd c'est très proche voir équivalent.