AMD Fusion: une révolution… en deux temps

Dans le monde des processeurs x86, les révolutions sont rares. L’architecture Fusion d’AMD constitue une véritable rupture technologique, tellement importante qu’elle sera réalisée en plusieurs étapes.

Dans le cadre du Computex de Taïpei (Taïwan, du 1er au 5 juin), AMD a voulu mettre sa future architecture Fusion sur le devant de la scène. Le concept est simple: ce type de processeur embarquant à la fois l’équivalent d’un CPU (processeur principal), l’équivalent d’un GPU (processeur graphique) et un contrôleur mémoire. Au premier abord, cela ressemble fort à certains processeurs distribués aujourd’hui par Intel, avec à la clé une belle économie en terme de coûts de production et de consommation électrique.

Toutefois, les choses sont plus complexes. L’APU Fusion (Accelerated Processing Unit) regroupe les diverses unités de calcul au sein d’un ensemble cohérent. Ainsi, les unités dédiées aux traitements massivement parallèles et celles relatives aux calculs classiques accèdent directement au même espace mémoire. Aujourd’hui, certaines applications peuvent être accélérées par les GPU, mais ne le sont pas. Pourquoi ? Le tri d’informations au sein d’une base de données est un bon exemple : il peut être facilement parallélisé mais reste hors de portée des GPU, à cause des incessants transferts de données entre la mémoire centrale du PC (sous le contrôle du CPU) et celle de la carte graphique (sous le contrôle du GPU). Grâce à la fusion des deux unités, ce goulot d’étranglement n’existera plus.

C’est cette technologie que nous retrouvons dans les premières puces présentées au Computex par AMD. Les Llano, qui comprennent quatre cœurs de CPU, se destinent aux marchés classiques, alors que les puces Ontario, avec deux cœurs de CPU, adressent spécifiquement celui des ultraportables. Des échantillons de ces composants sont d’ores et déjà distribués auprès des OEM, la mise sur le marché étant prévue pour le premier semestre 2011.

Avec cette première génération de puces, la partie SIMD (Single Instruction on Multiple Data) est programmée à l’aide d’outils comme l’OpenCL ou DirectCompute. À terme, il serait évidemment très appréciable que la partie CPU de la puce dispose d’instructions capables d’adresser directement les unités effectuant des calculs parallèles. Ces dernières deviendraient alors un ‘super SSE’, utilisable depuis le code principal du programme. La fusion serait alors complète. C’est – fort logiquement – ce qu’AMD a en tête pour la seconde génération de puces Fusion (un élément qui nous a été confirmé par la compagnie comme faisant effectivement partie de sa feuille de route). Révolutionnaires, les Llano et Ontario préparent donc le terrain à une révolution encore plus radicale.

Pour en savoir plus sur Fusion, vous pourrez vous rendre sur cette page web.

apu.jpg

CPU + GPU != APU L’architecture Fusion permet de regrouper les CPU et GPU dans un même ensemble… pour simplifier, car un APU n’est ni un CPU, ni un GPU. Dans un livre blanc, AMD décrit l’APU non pas comme étant un mélange de CPU et de GPU, mais comme une unité capable d’effectuer les tâches des CPU et GPU (nuance), en regroupant des unités de traitement optimisées en partie pour les traitements parallèles (comme un GPU) et en partie pour les traitements sérialisés (comme un CPU). Avec Fusion, les termes de CPU et GPU n’ont donc tout simplement plus lieu d’être, quoiqu’ils restent un bon moyen de se représenter cette technologie.