|
| Les calculs de physique dans les jeux : le temps du choix est arrivé | | Auteur : JF Maquiné | Dernière révision : 09 Novembre 2005 |
|

| | |
Le PPU est un processeur spécialisé qui dispose de sa propre carte sur laquelle il est monté ainsi que de sa propre mémoire. Disposer d'un processeur dédié à une tâche hyperspécialisée et très exigeante en terme de puissance n'est pas nouveau. On peut donner l'exemple le plus important, à savoir celui de la 3D et des processeurs graphiques. Que de chemin parcouru en 10 ans pour les GPU ! Peut-on envisager que les PPU suivent la même voie ? Ce qui, reformulé autrement, consiste à se demander si l'utilisation de PPU a un avenir ? A mon avis, il faut regarder cela sous deux aspects, le bénéfice pour les animations 3D par rapport à l'apport de puissance, ensuite l'état du marché pour voir l'accueil qui peut leur être fait.
A moins que les concepteurs de PPU soient totalement incompétents, l'utilisation d'un processeur spécialisé dans les calculs mathématiques spécifique aux calculs physiques est un plus indéniable. On peut donc raisonnablement penser que la puissance de calcul physique brut sera importante. Par rapport à quoi ? Au GPU et CPU évidemment, quoique cela ne soit pas aussi évident que cela comme nous allons le voir à présent.
Si les performances brutes ne sont pas à remettre en question, il existe quand même un petit souci. Celui de la communication entre le PPU et les autres processeurs. En effet cette communication ne dispose pas d'un canal privilégié comme en disposent le GPU et le CPU. Bien sûr on peut envisager à terme qu'une carte équipée d'un PPU dispose, comme pour les cartes graphiques, d'un canal privilégié. Les cartes graphiques n'ont-elles pas commencé sur un simple bus ISA puis PCI comme toutes les autres cartes avant d'avoir un port AGP et maintenant PCI-e x16 ? Mais pour que cela arrive, faut-il encore que les PPU soient adoptés par le marché et là c'est plus délicat.
Le problème des PPU c'est qu'on ajoute un processeur spécialisé à une structure (le PC) qui est déjà fortement équipé en processeur de tout genre. Les utilisateurs seraient-ils d'accord pour ajouter encore une carte à leur PC ? Ma foi si elle ne coutait que 30€ je pense que la pilule passerait mais c'est plutôt dans les 100€ à 150€ que la première carte PPU est prévue. En fait cela se comprend. On peut même envisager que certains utilisateurs, et donc part du marché, ne comprennent pas pourquoi ils devraient acheter quelque chose dont ils ne voient pas concrètement l'utilité. Qui a déjà du changer de machine ou d'éléments de son PC parce que le calcul physique ne suivait pas ? Donc hormis les spécialistes de la question, l'intérêt d'achat d'un PPU semble totalement abstrait.
Donc indépendamment de toute concurrence, le PPU n'est déjà pas un choix facile, mais si en plus il entre en concurrence avec d'autres solutions alors l'accueil par le marché risque d'être assez froid. En parlant de concurrence, il faut savoir qu'à part Ageia aucune autre société n'a déclaré vouloir attaquer le marché des cartes physiques avec PPU. Or les utilisateurs ont l'habitude de la concurrence sur ce marché. |

| | |
Cela fait plusieurs années que des groupes de recherches tentent de développer des projets mettant en oeuvre les possibilités de calcul des cartes graphiques pour du calcul scientifique (exemple : projet brookGPU). Il n'y a donc rien de surprenant à entendre parler de projet visant à faire exécuter les calculs de physique par les GPU. A une petite exception près. Une toute petite exception de rien du tout. Le GPU devra continuer à faire son travail 3D en même temps. Et là ça change tout. Si un GPU dispose d'une grande puissance de calcul, il n'en reste plus grand chose quand il est en plein boulot. Ou alors on nous ment, les processeurs 3D sont si peu exploités qu'il peuvent faire des choses très complexes et lourdes en plus ! J'ironise, mais je vais vous expliquer pourquoi.
Vouloir faire croire que l'exécution des calculs physiques en parallèle des calculs 3D n'aura pas d'impact sur les calculs 3D est un mensonge. A une exception près. C'est en supposant que les besoins en calcul 3D et physique aient une progression lente et que donc l'évolution technologique de l'architecture des GPU et de leur conception pourra le supporter. Malheureusement, d'une part, les processeurs sont toujours dans une course effrénée à la puissance parce que les besoins de plus de puissance sont bien là et bien pesants. D'autre part, si on souhaite faire faire des calculs de physique par le biais d'un processeur dédié ou par un GPU c'est que les besoins de calcul physique ont urgemment besoin de puissance pour s'exprimer. Il y a donc malaise. D'un côté en voulant déporter les calculs physiques sur le processeur, on affirme qu'il y a des besoins urgents, d'un autre côté, on peut douter fortement qu'une telle solution puisse permettre d'exécuter des calculs 3D et de physique ayant une forte croissance et très complexe sans que l'un ne nuise à l'autre. Je ne doute pas que ça soit possible. Ce dont je doute c'est que si on entre dans une telle situation, cela ne va pas imposer des restrictions à la vitesse d'évolution des besoins de calcul 3D et de physique. Les évolutions d'architecture et de conception des GPU ne le supporteront pas. Elle ne le supporteront pas parce que les contructeurs poussent déjà au maximum les possibilités. Il suffit de voir la courbe d'évolution de consommation des cartes graphiques alors que toute l'industrie informatique a commencé à s'orienter vers le contrôle de la consommation et des solutions de plus en plus mobiles et portables (portable, console portable, ... ).
Il est à noter que la société Havok qui propose un moteur physique logiciel qui équipe déjà des jeux comme Half-life 2, a choisi la voie du GPU et proposera en 2006 son moteur physique havokFX pour toute carte disposant des fonctionnalités pixel shader 3.
Concernant les coûts. Si en première réflexion on peut affirmer que l'utilisation d'un processeur existant (le GPU) pour les moteurs physiques est une bonne manière de maîtriser les coûts, dans une réflexion plus poussée, on peut avoir des craintes. On sait que l'exécution des moteurs physiques, même si ce n'est qu'une partie de leurs fonctionnalités, a un coût en terme de performances sur la partie 3D. Cet impact pourrait être un appel du pied à ATI et NVidia à démocratiser leurs solutions multi-GPU pour compenser cette perte. Ce n'est pas une certitude, mais donner un satisfecit à la solution GPU, c'est prendre le risque de la donner aussi aux solutions multi-GPU. Dans cette situation, le gain en coût (prix du produit) est totalement illusoire. En ce qui me concerne, je suis fermement opposé au déploiement des solutions multi-GPU dans la mesure où les constructeurs NVidia et ATI sont toujours dans une dynamique de toujours plus et pas de maîtrise de la consommation de leur produit. Développer des solutions abondantes dans la surconsommation, aux ventilateurs surdimensionnés, ... n'est plus le sens de l'histoire de l'évolution des technologies informatiques. C'est un concept qui n'a pas d'avenir. |

| | |
Quel processeur exécute actuellement les calculs physiques ? Le CPU. Mais le pauvre a bien du mal et les concepteurs de jeux doivent limiter leur ardeur. Il faut bien reconnaître que depuis ces 2 dernières années les performances des processeurs n'ont pas ébloui beaucoup de gens. Le monde des CPU n'est pas dans la même dynamique que celui des GPU. Il suffit de regarder du côté des innovations pour voir, à chaque sortie d'un GPU, toutes les analyses qui s'en donnent à coeur joie pour essayer de comprendre et de faire comprendre toutes les nouveautés. Il est clair qu'avec une dynamique aussi poussive, beaucoup de professionnels ne voient pas le CPU comme un choix crédible.
Est-ce la seule raison, la vrai raison ? Effectivement si ces deux dernières années ont été mornes, plusieurs indicateurs semblent montrer que le marasme dans le monde des CPU va prendre fin. Non seulement on va assister à une généralisation des solutions n-core (pour les portables, les PC et les consoles de jeux), mais le retour sur la scène d'Intel avec une architecture nouvelle promet quelques gains substantiels de performances. Un peu plus loin, c'est l'utilisation de DSP c'est-à-dire de processeur spécialisé (dans le cas présent, spécialisé dans le calcul) intégré au CPU qui risque de faire son apparition. Et même si ce n'était pas le cas les processeurs à 4 cores et plus suffiraient à combler bon nombre de professionnels.
Mais voilà, qui dit n-core, dit aussi programmation multi-thread et là on sait que les concepteurs de jeux ne sont pas chauds. Pourquoi ? Parce que ce n'est pas performant ? Non parce qu'il faut qu'ils se mettent au boulot. La question est alors si un processeur 2-core pourrait être efficace pour satisfaire les besoins de calcul pour l'année 2006 et 2007 ? Je réponds sans difficulté oui !
Il y a une chose, une distinction importante qu'on oublie quand on parle de moteur physique. C'est que c'est de la programmation trationnelle, certes spécialisée mais traditionnelle. Or les calculs scientifiques, comme tout programme traditionnel, sont gourmands en mémoire cache. Et voilà le point fort des CPU, ils peuvent mettre une quantité de mémoire cache très importante à disposition des moteurs physiques.
Un autre atout des CPU. C'est que l'industrie des CPU vient de faire sa révolution. Elle termine de digérer les multi-cores et le 64 bits. Elle en a terminé avec des architectures à forte consommation. Ceci implique que la multiplication des cores ne signifiera pas une course à la surconsommation comme pour les GPU. C'est aussi une industrie qui distingue bien le monde professionnel du simple utilisateur. Elle ne proposera donc pas des solutions multi-CPU à des utilisateurs pour soi-disant satisfaire leurs besoins. |

| | |
Techniquement, la solution la plus intéressante est celle du PPU, indépendamment des coûts, de la mise en oeuvre, ... D'un point de vue adéquation au marché on peut quand même sérieusement s'interroger sur la pérénité de la démarche d'une société comme Agéia. Le point de départ de cette interrogation est qu'on dispose déjà de CPU, que que ceux-ci passent en multi-core ce qui devrait fournir une augmentation substantielle des capacités de calcul comme pourrait en avoir besoin un moteur physique. Alors pourquoi aller chercher un processeur dédié ? La situation est-elle si désespérée ? Bien sûr que non et les utilisateurs le sentent bien. Plus récemment, on leur a exposé la possibilité d'une autre solution à savoir celle de faire exécuter tous ou en partie les calculs physiques par le GPU. J'ai mis en avant le pour et le contre de cette solution mais il reste une question en suspend. Pourquoi les constructeurs de GPU sont-ils si intéressés à faire exécuter les moteurs physiques malgré les problèmes que cela pourrait engendrer ? C'est une question fondamentale pour comprendre et savoir si cette direction est viable. Malheureusement je crains fort que la réponse se situe du moins en partie dans une volonté de monopoliser les moyens technologiques sur leurs GPU afin de justifier certains débordements technologiques et tarifaires.
En conlusion et pour ce qui me concerne, la solution CPU est la plus sage, la plus mature et sans surprise tant en terme de prix, de consommation, ... La seule réserve qu'on peut avoir se situe dans l'engagement des développeurs à prendre le taureau par les cornes et à se mettre sérieusement au multi-thread. |


YOUM (analyseur syntaxique temps réel) | Nombre de définitions trouvées 35 Multi-dico par texte : actif - Multi-mots par définition : 4
|
|
|



 
|