Flow Computing, société inconnue au bataillon, serait assise sur une mine d’or. Avec un PPU ou Parallel Processing Unit, elle aurait trouvé la recette magique pour démultiplier les capacités de calcul de tout type de processeur. Elle promet de multiplier par 100 leur puissance, de quoi bouleverser tout le marché ?
Evidemment, l’annonce fait du bruit mais elle reste à prendre avec toutes les pincettes nécessaires. Si cette technologie de PPU était vraiment fonctionnelle, elle transformerait énormément la qualité du parc informatique actuel. Imaginez juste une technologie PPU qui doublerait la puissance de calcul de votre matériel, la puissance gagnée sur votre machine actuelle.
Jussi Roivainen, Martti Forsell et Timo Valtonen, les trois papas de Flow Computing
Toute jeune société qui a été lancée en janvier dernier, Flow Computing est le fruit du travail de ses trois fondateurs. Pilotée par un centre de recherche technique en Finlande, elle n’a pour le moment fait que des annonces théoriques. Sa levée de fond initiale est minimale, 4 millions d’euros seulement. Quand on voit ce qu’arrivent à récupérer certaines startups qui collent juste IA dans le titre de leurs recherche aujourd’hui, cela semble même assez étonnant.
Tout le fruit du travail de Flow Computing tourne autour de son PPU qui pourrait, selon eux, bouleverser l’informatique actuelle. Ouvrant la porte à puissance de calcul telle qu’un micro ordinateur personnel deviendrait quasiment une station de travail sur certaines tâches. Même en divisant la promesse de plusieurs niveaux, cette technologie de Parallel Processing Unit permettrait d’obtenir les capacités d’une machine haut de gamme dans un MiniPC ou un engin portable. Mieux, Flow Computing assure que sa technologie serait invisible pour le système, que les logiciels n’auraient pas besoin d’être adaptés pour en profiter.
Le PPU, nouveau bouton « Turbo » de la façade des PC ?
Sur les PC 386 et 486 des années 90 trônait un petit bouton « Turbo »‘ qui permettait de booster la fréquence du processeur et donc de gagner « un peu » de vitesse. Cette solution PPU ressemble à cette fonctionnalité de l’époque. L’idée est d’appuyer la puissance de calcul nécessaire aux logiciels et améliorer notamment les tâches parallèles. Ce gain sur la puissance de calcul aurait en outre des conséquences sur le reste de l’engin. Le processeur graphique et même le NPU bénéficieraient d’un processeur de base plus rapide. Toutes les puces seraient concernées et tous les formats également : de la montre connectée aux supers calculateurs, de ARM, à Intel en passant par AMD, Apple ou Qualcomm.
Pour faire (très) simple, ce que ferait ce PPU en pratique serait surtout d’améliorer les cycles d’opérations. En transformant un calcul effectué en file de chaque opération pour le transformer en de multiples calculs en parallèle. Le PPU permettrait de distribuer les tâches et de les agglomérer ensuite à une vitesse inconnue jusqu’alors. Chaque transistor n’aurait plus à attendre qu’un autre ait finit son travail opératoire pour prendre la suite, le PPU distribuerait d’énormes quantités de calculs en parallèle sur tous les transistors disponibles avant de récupérer et d’organiser le fruit de leurs opérations dans le bon ordre.
Dans le tableau ci-dessus, on retrouve diverses tâches où des puces sont mises en concurrence. Les deux premières barres montrent les capacités de calcul d’un Core i7 ou d’un Intel Xeon W. Les barres suivantes indiquent les capacités de calcul avec l’ajout d’un FPGA-PPU plus ou moins puissant. Les références F16, F64 et F256 indiquant le nombre de cœurs PPU en fonction.
Ce n’est pas une nouveauté au sens strict du terme et chaque processeur se charge déjà de cette tâche optimisée de distribution des calculs. Des travaux théoriques ont déjà proposé ce genre d’amélioration massive mais cela pose en général de gros soucis de recollection logique. Les données parallélisées n’ont rien de transparent pour le système, le fruit des opération perdent le fil de la logique du code et n’ont donc rapidement plus d’intérêt.
Ici, la nouveauté n’est donc pas de proposer cette parallélisation mais de mieux la gérer. De permettre son emploi sans avoir à réécrire tout le code des programmes. Un bonus énorme de calcul qu’on obtiendrait avec un changement mineur et qui ne toucherait pas au reste de la machine. Les nouveaux processeurs sont tous au format SoC et on imagine que la volonté de Flow serait d’ajouter ses PPU au mix actuel. On aurait un CPU, un GPU, un NPU et un PPU intégrés directement sur le même DIE.
Pour améliorer encore plus significativement la vitesse des puces il faudrait néanmoins retravailler le code des logiciels. Pour Flow Computing cette multiplication par deux des performances de calcul d’un Core i7 avec un de ses PPU n’est qu’une étape. En recompilant les logiciels pour mieux tirer partie du duo PPU-CPU, certains programmes testés en laboratoire auraient vu leurs performances encore plus largement améliorées. La société finlandaise proposerait d’ailleurs des logiciels pour recompiler les différents programmes afin de tirer partie des capacités de sa technologie.
La startup promet jusqu’à 100x plus de performances…
Reste un détail, l’histoire est très belle, trop belle ?
Les calculs en question sont limités à des tâches très précises. Si la société met en avant des puces Core i7 et Xeon W il y a fort a parier que les seconds seraient plus intéressés par cette technologie que les premiers. Si Flow Computing parle d’un développement possible aussi bien sur une montre connectée sous ARM que sur un smartphone, l’intérêt pour ces matériels n’est franchement pas évident.
Pour le moment Flow Computing n’a également rien prouvé de ses capacités de calcul. Si la startup espère passer des contrats avec tous les fabricants de processeurs, elle reste pour le moment encore très mystérieuse dans son fonctionnement. Promettre de multiplier les capacités de tout type de puce est très alléchant mais ces chiffres semblent pour le moment totalement théoriques. Avec une telle capacité, le trio finlandais est potentiellement dans une position très avantageuse. On pourrait connaitre une révolution d’usages identique à celle de l’apparition des circuits graphiques en appui des processeurs classiques dans des tâches de calculs lourds.
Mais cette annonce d’une multiplication des capacités des processeurs semble concerner uniquement des opérations au fort parallélisme. Quand on demande à une puce d’effectuer des milliers de fois la même opération. Cela concernera plus des usages spécifiques que les besoins d’un ordinateur classique. Cela pourrait fluidifier des opérations utilisant de manière intensive le processeur pour faire tout le temps la même tâche mais n’aura pas l’effet miracle d’un méga bouton Turbo.
A suivre donc, mais en gardant un oeil circonspect.
2,5€ par mois | 5€ par mois | 10€ par mois | Le montant de votre choix |
Il est 100% sûr que c’est du foutage de gu****
Si c’était vrai, ça voudrait dire qu’avec une Aruidno on aurait une puissance supérieure à un processeur serveur ultra-haut-de-gamme 192 coeurs.
De quoi complètement révolutionner le monde du matériel. Et c’est littéralement physiquement impossible étant donné la manière dont sont traitées certaines informations, rien que la latence de traitement dans le CPU rends ça infaisable.
Peut être que ça ajoute un joli gain dans *certaines* tâches, peut-être même du 100x dans des scénarios très spécifiques, mais c’est tout. Comme le font déjà les GPU et NPU, ce n’est pas pour autant qu’ils rendent les CPU 100x plus rapide, ils rendent *certaines* tâches 100x plus rapide.
Berf, pour moi ça reste une vaste fumerie. Je suis curieux de voir ce que ça va donner que leurs produits vont sortir et être testés par le grand public.
@Clément Nerma: Je ne dirais pas « fumisterie » mais bien un gain spécifique pour des tâches spécifiques. Je ne vois pas l’intérêt pour une montre connectée sous ARM par exemple. Les calculs PPU seront limités à des tâches vraiment très caractéristiques liées à des usages vraiment spécialisés.
Halte-là ! Le bouton Turbo n’accélérait rien du tout, le PC était en vitesse nominale sous Turbo. Il servait au contraire à être ralenti fortement quand on enlevait le Turbo, pour être plus ou moins compatible avec je ne sais quel vieux standard (PC XT AT ou je ne sais quoi). On s’en servait par exemple pour jouer à des vieux jeux qui tournaient bcp trop vite sur des PC « modernes ». Mais sur la fin (style 486 DX2-66), même avec le Turbo désactivé ces jeux étaient injouables.
Ceci étant dit, je vais maintenant pouvoir lire le reste de l’article ^^
J’ai connu le bouton turbo, je suis vieux :D !
@gUI: Alors sur mon 486 DX4-100 c’était bien un bouton Turbo qui boostait la fréquence du CPU ! Mais je l’avais monté moi même et j’avais choisi les composants exprès !
Bon, j’ai lu… mouais… je me méfie comme de la peste des innovations qu’on annonce à l’avance. J’attends de voir, mais de ce que j’en comprends, je vais attendre assis :)
@Pierre Lecourt: Alors, c’est quoi le plus rapide ? Un DX4-100 ou un DX2 66 ? Parce que certes le DX2 66 il a un coefficient multiplicateur de x2 (et pas x4 comme le DX4-100), mais il son bus à 33MHz alors que le DX4-100 il a son bus à 25MHz !
Que de souvenir !!!
« Sur les PC 386 et 486 des années 90 trônait un petit bouton « Turbo »‘ qui permettait de booster la fréquence du processeur et donc de gagner « un peu » de vitesse » : pour moi c’était plus l’inverse qui se passait, quand je touchais au bouton « Turbo » ça réduisait la cadence XD
@gUI: J’en sais rien, à l’époque j’avais qu’un seul PC, pas 70 comme aujourd’hui :p
@Yrt: Il fallait déplacer le jumper en position B.
Je me demandais pourquoi personne n’avait fait ca avant : coller un fpga dans le pc pour booster certains calculs, apres faut voir le cout, si c’est au niveau d’une 4090 ou d’une a100 c’est pas forcement interessant
@gUI:
Le plus rapide, c’était un DX4 100 (bus à 33, proc à 3*33 = 100Mhz) réglé en DX2 100 (bus à 50, proc à 2*50 = 100Mhz), le tout réglé aux cavaliers sur la CM.
Le bouton poussoir, en 2023, 2024 a été remplacé par une molette avec trois modes d’usages :
1/ Un mode silencieux qui bride le TDP du processeur …
2/ Un mode « mixte » qui autorisera tout type d’usages…
3/ Un mode performances qui laissera le Ryzen 7 aller au max…
comme sur :
https://www.minimachines.net/actu/minipc-amr5-121617
il y a d’autre fabricants qui ont repris ce même Form Factor
Sauf que le bouton Turbo faisait l’inverse, il diminuait la cadence pour permettre à de vieux logiciels de tourner ‘normalement’.
@Cinos: Pas chez tout le monde non, comme dit plus haut.
Reste quelques questions en suspens, si les performances annoncées sont bien là :
– Quelle consommation supplémentaire ? Parce que leurs 256 cœurs auront sûrement besoin de quelques électrons.
– Quelle place supplémentaire cela va-t-il occuper sur le DIE (notamment en embarqué) ?
– Comment sont gérés les accès mémoire ? Parce que faire 100 fois plus de choses nécessitera une bande passante mémoire beaucoup plus importante (non ?)
@Clément Nerma: « rien que la latence de traitement dans le CPU rends ça infaisable »
Justement ils disent que leur solution permet de mieux exploiter les latences d’accès à la RAM pendant lesquelles le CPU ne fait rien pour coller d’autres opérations en parallèle.
Il me semble que c’est un peu le principe de l’hyper-threading, mais poussé à l’extrême pour avoir un nombre gargantuesque de threads au lieu de se contenter de 2 threads (x86) ou 8 threads (PowerPC si je confonds pas).
En tout cas c’est ce que j’ai compris de leur baratin lu via différentes sources.
« ils rendent *certaines* tâches 100x plus rapide »
Par contre ce point là c’est le vraiment le plus important. Leur résultats sont peut-être réels sur un périmètre de tâches assez limité, mais en dehors de ce périmètre je doute que ça marche aussi bien.
Le problème aussi c’est qu’ils se comparent avec un CPU, des vieux trucs en plus (sur leur site, dans les toutes petites lignes ils se comparent avec un Core i7 et Xeon de génération Skylake intégrés respectivement dans un Macbook Pro et un iMac), alors qu’en réalité, les calculs ciblés par le PPU tournent plutôt sur GPU à l’heure actuelle.
Et du coup je pense que la comparaison est nettement moins avantageuse.
@Lionel:
Apple a ouvert le bal, pour le grand public (mais pas toutes les bourses) : mémoire partagée ou : Unified Memory Architecture
Intel s’y essaye : https://www.lesnumeriques.com/cpu-processeur/pourquoi-la-puce-lunar-lake-d-intel-ressemble-beaucoup-aux-apple-m-n222652.html
Donc les Lunar Lake n’auront que des modules 16, 32 Go de ram LPDDR5x intégrées ?!
Pour en revenir à l’article:
Qu’il le prouve et le démontre leur « jusqu’à 100x plus rapide (sur des calculs bien spécifiques)
Après l’on pourra juger
De toute manière cela semble orientée « Pro » puisqu’ils ont fait leur tests avec la gamme intel Xeon W
@Lionel: Oui, c’est pour cela que j’indique que cette techno sera plus pertinente sur un Xeon que sur un Core i7. Et difficile a imaginer sur une puce ARM : conso, place occupée, mémoire… tout cela n’a aucun sens sur un SoC ARM qui doit respecter des contraintes spécifiques.
@Alf: Clairement, les tâches pouvant être vraiment améliorées sont à la fois spécifiques et demandent une reprogrammation. C’est très différent de certains titres qui laissent croire à un coup de baguette magique. Et du reste si c’était le cas les trois compères auraient été embauchés chez Intel, Apple ou Nvidia avec un chèque de plusieurs milliards a se partager.
@to:
Voilà, le prix. Puis la conso. Puis l’efficacité uniquement sur les calculs massivement parallèle (qui, comme expliqué, n’ont que peu d’intérêt pour l’informatique personnelle.
Puis 256 cœurs, on a déjà des CPU serveurs qui en ont autant, mais ça coute un rein et la consommation est folle.
Sauf révolution niveau conso et prix, ce qu’il reste au trio cité en article, c’est leur procédé pour mieux organiser les calculs. En supposant que cela est vrai et efficace, ça serait bien mieux d’intégrer la logique directement dans les CPU. Bref, vendre un brevet.
Mais bon, l’histoire est pleine de cas similaires, où l’on nous promet une révolution, puis led créateurs sombrent dans l’oubli.
Je vois bien un cas d’usage, les stations de travail dans les labos qui font tourner des logiciels mal optimisés pour le calcul massivement parallélisé et sur lequel ce genre de produits pourrait améliorer significativement la donne.
@Pierre Lecourt: J’ai vu passer une dizaine d’articles sur le sujet, ils étaient tous un minimum sceptique sur la véracité des annonce de Flow Computing.
Le problème vient du marketing de Flow Computing eux-mêmes : c’est eux qui annoncent des chiffres complétement dingues sans prendre de recul pour dire que ça ne concerne que des usages très spécifiques, ils parlent bien de rendre plus rapides tous les processeurs de manière globale, et c’est eux qui se vantent de pouvoir aller même s’intégrer dans des smartwatchs pour les rendre plus rapides alors qu’elles ont vraiment pas besoin de ça. Un peu plus ils auraient même vanté une intégration dans les sticks HDMI pour TV :D
Du coup, même si ce qu’il présentent semble avoir une vague possibilité d’améliorer les choses dans des cas précis, ça m’inspire vraiment pas confiance leur façon de survendre leur truc.
@Jle: Pour la comparaison avec des unités de calcul qui ont 256 coeurs, je pense que le plus approprié c’est de regarder les iGPU : un Ryzen 3 7440U c’est 256 coeurs de calculs de shaders et ça coute pas du tout le même prix qu’un CPU avec 256 coeurs.
@wanou: Pour obtenir le « x100 », il faut absolument réécrire le code et l’optimiser à fond pour l’architecture du PPU.
Si le programme est pas optimisé aujourd’hui, ça veut dire qu’il n’y a aucune volonté de l’améliorer, donc à peu près 0% de chances que le programme soit réécrit pour tourner mieux sur ce nouveau machin.
@Alf: C’est la recette habituelle oui : On mélange des résultats de labo entre eux et on en fait une sauce marketing appétissante.
@Alf: Oui mais les GPU aujourd’hui ne peuvent pas commander leurs shaders de manière indépendante pour chacun comme le ferait un coeur CPU ce qui complique aussi les choses, c’est pour ça que AMD communique sur les computes units (clusters) qui contiennent les shaders (généralement 64 par compute unit/cluster).
Nvidia communique sur les shaders alias coeurs cudas car commercialement c’est plus vendeur.
S’ils avaient prévu une extension de jeu d’instruction ou un co-proc optique ça aurait été plus crédible.
Je pensais que pour tirer le max des machines il suffisait de ne pas installer windows.
Pas trop compris, ça ressemble a un DPU (Dataflow Processing Unit) qui joue un rôle dans la gestion de la manière dont les données traversent le data center. Avec les DPU, le réseau devient plus intelligent et devient un agent actif du traitement des données. Les DPU rapprochent le traitement des données elles-mêmes et font que le réseau se comporte comme un coprocesseur soulageant le moteur de calcul central.