Application Médical Répondre aux exigences de l’imagerie médicale avec un module COM Express Les systèmes embarqués conçus pour être utilisés dans des applications médicales nécessitent un affichage et un traitement d’image de haute performance. Avec les APU (Accelerated Processing Unit) d’AMD embarquées sur des modules processeurs COM Express de congatec, les développeurs de plates-formes ont les moyens d’y parvenir. AUTEUR Martin Danzer, responsable Produits Congatec. P our les applications qui ont besoin d’un traitement graphique intégré de performance élevée, il faut, au-delà de la puissance d’affichage requise, réussir à mettre en œuvre des systèmes de capture d’images extrêmement rapides et des fonctions de traitement d’image optimisées. Les données des capteurs doivent, en sus, être traitées de manière à générer des images pour une consommation d’énergie la plus faible possible et, idéalement, en temps réel. Ce qui nécessite de la puissance de calcul en termes de traitement parallèle. Les solutions existantes basées sur des DSP ou des FPGA sont adaptées à ce type d’application, car ces architectures sont puissantes. Mais elles ont un caractère propriétaire et, souvent, réclament des développements supplémentaires, ce qui entraîne des coûts élevés et des efforts de conception importants. La solution idéale pour les applications graphiques intégrées est de combiner toutes ces exigences requises au sein d’un seul système à la fois compact et économe en énergie. La structure de la puce du processeur Embedded R-Series d’AMD, qui intègre des ressources partagées et dédiées, apporte des performances de calcul élevées pour une faible consommation d’énergie. ● 34 / L’EMBARQUÉ / N°4 / 2013 Avec, à la clé, une puissance de calcul suffisante associée à une parallélisation intensive des traitements, un affichage en temps réel des images et une haute performance graphique pour la visualisation, le tout sur une plate-forme matérielle réutilisable. C’est l’objectif affiché par une architecture système hétérogène basée sur une carte COM (Computer On Module) architecturée autour des unités de traitement accéléré (APU) de la famille de processeurs R-Series d’AMD. Sur une puce de silicium, ces systèmes intègrent un processeur x86 multicœur, conçu pour gérer efficacement les tâches d’un PC classique, associé à une unité vectorielle programmable pour des tâches de calcul parallèle et d’infographie de haute performance. Dans cette approche, grâce à l’intégration étroite des unités de traitement spécialisées avec des groupes auxiliaires très compacts, l’ensemble est économe en énergie et est capable de soutenir des charges de travail évolutives. Une unité de calcul faite pour paralléliser les traitements Dans la pratique, quelle unité de calcul est responsable des tâches parallèles ? La réponse est simple : c’est le processeur graphique intégré. En effet, sous l’effet des développements dans le secteur des applications grand public, en particulier des jeux, les unités graphiques ont évolué pour que les développeurs, qui le réclamaient, puissent exploiter leur capacité à traiter les données en parallèle. De fait, les GPU (Graphical Processor Unit) se sont transformées au fil des ans. Aujourd’hui, elles sont composées de plusieurs centaines d’unités élémentaires de traitement capables d’effectuer des calculs complexes en parallèle. Et comme ces architectures peuvent le faire avec des données générées à partir d’un jeu d’ordinateur, tout naturellement, les développeurs se sont rendus compte quelles pouvaient faire de même avec des données réelles issue de capteurs. Médical Application Pour parvenir à cette ouverture en termes de programmation, l’unité intégrée Radeon de la famille 7000 d’AMD, côté matériel, dispose de 128 à 384 cœurs graphiques avec une vitesse d’horloge jusqu’à 686 MHz. Avec un résultat de 13 066 lors du test 3DMark Vantage « E », l’APU R-464L d’AMD fait ainsi partie des unités graphiques intégrées les plus puissantes sur le marché. Et, pour les tâches de calcul parallèle, cette unité de calcul atteint en performance de calcul en simple précision jusqu’à 576 Gflops (Giga Floating Operations Per Second). UN MODULE FAIT POUR LE GRAPHIQUE… n Le cœur graphique intégré sur la carte COM Express de Congatec est compatible avec les standards DirectX11 et OpenGL 4.2 pour l’imagerie rapide en 2D et 3D. Une unitéde traitement vidéo (Universal Video Decoder) permet le traitement des flux vidéo cifiquement dédiées au calcul parallèle classique sont aussi supportées par cette approche. Conséquence, au-delà des travaux de programmation pour l’affichage graphique, de nombreux problèmes analytiques peuvent être traités par le biais de l’OpenCL. Ainsi, en mettant en œuvre des calculs parallèles complexes réclamant de la précision, L’OpenCL ouvre la voie à la programmation parallèle Coté logiciel, pour permettre aux développeurs de tirer le meilleur parti de cette puissance de traitement parallèle, le module conga-TFS COM de congatec, architecturé autour d’un APU Embedded R-Series supporte, via une API ad hoc, le langage OpenCL. Rappelons que ce dernier est un environnement de programmation qui permet aux tâches informatiques d’être distribuées et traitées sur des systèmes de processeurs hétérogènes. L’OpenCL offre la particularité de pouvoir programmer l’exécution parallèle et multiple d’une application en la découpant en étapes unitaires de calcul (SIMD : Single Instruction Multiple Data), ce qui signifie que les architectures spé- indépendants. Sept voies PCI Express 2.0 x1, un PCI Express 2.0 x8, quatre ports SuperSpeed USB 3.0, quatre ports USB 2.0, quatre ports Sata 6 Gbit/s, une interface Gigabit Ethernet et un port audio haute définition complètent l'ensemble. met d’envisager des gains en vitesse d’exécution de 120 à 130 par rapport à une approche plus classique sur un processeur x86. Lorsque ces processeurs sont intégrés sur un module COM, l’ensemble permet aux développeurs et aux équipementiers de concevoir des dispositifs médicaux, avec leurs applications, de manière sécurisée. En effet, ces ● Le module processeur COM conga-TFS, avec son processeur Embedded R-Series d’AMD, est adapté aux contraintes des applications d’imagerie médicale grâce aux possibilités offertes par cette architecture pour paralléliser des opérations de calcul. Ce module prend en charge trois versions du processeur Embedded R-Series s’échelonnant de l’AMD R-272F double cœur à l’AMD R-464L à quadruple cœur, associés au contrôleur hub A70M d’AMD, avec, à disposition, jusqu’à 16 Go de mémoire DDR3 double canal à 1 600 MHz. L’architecture de l’APU R-Series d’AMD intègre dans une solution à deux puces tous les principaux éléments d’un système processeur, y compris les cœurs x86, les moteurs GPU vectoriels (SIMD) et le décodeur vidéo unifié. ● H.264, VC-1, Mpeg-4 Part 2 et Mpeg-2. Les interfaces graphiques présentes offrent le choix entre le VGA et le LVDS 18/24 bits simple ou double canal, trois interfaces DisplayPort 1.2, un port HDMI 1.4 et deux liens DVI Single Link pour un contrôle direct de trois écrans quelques étapes de traitement suffisent à résoudre le problème alors qu’avec un processeur classique, il faudrait plusieurs milliers d’étapes pour arriver au même résultat. Conséquence, les temps de calcul et la consommation d’énergie pour les tâches de calcul complexes diminuent de manière drastique. Les applications d’imagerie médicale, qui souvent se prêtent bien à la parallèlisation des calculs (répétitions de calculs identiques, algorithmes de traitement séquentiel via des FFT…), sont des candidates idéales pour ce type d’approche. Par exemple, les enregistrements d’images répétées, comme dans un scanner, demandent non seulement de la puissance de calcul, mais aussi une parallélisation intense de ces calculs afin que l’image soit parfaitement stable à l’écran. Ici, l’utilisation de l’OpenCL sur une architecture hétérogène per- modules COM constituent le cœur des fonctions informatiques d’un système. On peut les considérer comme des composants pré-intégrés connectés sur une carte porteuse sur laquelle sont installés les interfaces externes et les périphériques nécessaires à l’application. Cette séparation de la carte porteuse de l’unité de calcul est un avantage certain pour le domaine du médical, car ces équipements doivent répondre à de nombreuses caractéristiques, comme par exemple la norme EN6061, qui spécifie la valeur des courants de fuite à travers les entrées/sorties qui doivent être extrêmement faibles. Dans ce cas, cette exigence nécessite une expertise forte au niveau de la conception des entrées/sorties, qui se trouvent sur la carte porteuse, sans que l’équipe de design n’ait à se préoccuper de l’unité centrale qui sera mise en place. n L’EMBARQUÉ / N°4 / 2013 35 Logiciels & systèmes Professionnels de l’embarqué Découvrez le système d’information le plus complet, 100% utile à votre métier ! Une newsletter quotidienne Votre fil d’actualité gratuit Une newsletter hebdo Tous les jeudis, des infos exclusives à forte valeur ajoutée Un magazine 100% numérique, trimestriel, pour une information fouillée, analysée et développée Un site Internet Plus de 1 500 articles par an exclusivement dédiés à l’embarqué Abonnez-vous •Pub 148x210.indd 1 www.lembarque.com 20/03/13 12:52