11.6.4 : Accélération avec FPGA Xilinx sur la plate-forme ACP du Laboratoire Leprince-Ringuet



Les résultats des études effectuées au Laboratoire de Physique de Clermont ont été présentés dans les réunions du projet Reprises [162]Reprise FPGA, Bogdan Vulpescu, avec aussi une démo dans une réunion au Centre de Calcul de l'IN2P3. Ces études se sont déroulées pendant la période de l'acquisition par Intel du fabricant de FPGA Altera, quand Intel a commencé à définir ses orientations en matière d'accélérateur avec FPGA.

nothing

Figure 52 : Carte accélérateur pour centre de données, Alveo U280. La version 280P de la plate-forme ACP sera un modèle en pré-production



En 2019 la décision a été prise d'équiper un nœud de calcul avec un accélérateur FPGA, sur la plate-forme ACP (Accelerated Computing in Physics) au LLR. La solution retenue a été celle d'un serveur Dell PowerEdge R7245 avec deux processeurs AMD EPYC et une carte d'accélération Alveo 280P (P = modèle en pré-production) équipée avec un FPGA Xilinx ([172]Xilinx Alveo 280 Data Center Accelerator Card, figure 52). Les ressources en logiciels pour l'exploitation de cette carte (SDAccel [170]SDAccel: Enabling Hardware-Accelerated Software) contiennent les compilateurs pour l'hôte et pour le FPGA, sur la base de l'API OpenCL et le Xilinx run time XRT spécifique pour cette carte. Ces ressources sont compatibles avec les systèmes d'exploitation CentOS 7.4, 7.5, 7.6 et Ubuntu 16.04 LTS, 18.04 LTS. L'environnement SDAccel est aussi présent sur des instances AWS F1 d'Amazon (Amazon Web Services, un service de cloud) et sur des instances pour le calcul élastique EC2 [173]Official repository of the AWS EC2 FPGA Hardware and Software Development Kit.

L'équivalent de Quartus pour les FPGA Xilinx est la suite de logiciels Vivado.

Les FPGA Xilinx ont des architectures différentes par rapport à leurs concurrents Altera/Intel. Dans la carte Alveo U280P, le FPGA utilisé est optimisé pour fonctionner exclusivement avec cette configuration. Dans les solutions Intel, le même type de FPGA peut fonctionner sur une carte de développement (utilisée, par exemple, par les développeurs en micro-électronique pour les détecteurs de particules) et aussi sur un accélérateur spécialisé.



Les changements de paradigme dans le domaine de la programmation, avec les prospectives de l'utilisation des architectures de programmation qui s'éloignent de l'architecture classique de von Neumann, doivent tenir compte du fait que les chercheurs physiciens ont depuis toujours été les auteurs de la plupart de leurs codes de simulation et analyse, en s'appuyant sur des langages de programmation de haut niveau relativement facile à apprendre et à utiliser pour des performances plus ou moins satisfaisantes dans la plupart des situations.

Les optimisations de code deviennent de plus en plus critiques avec le pronostic de la loi de Moore et l'inclusion d'autres architectures, comme les GPU, VPU, TPU (Tensor Processing Unit) et FPGA semble de plus en plus naturelle, vu les stratégies abordées par les fabricants de hardware. Un facteur non négligeable serait aussi la consommation des FPGA, qui fonctionnent aux fréquences moins élevées que celles des CPU et GPU et qui pourraient diminuer la consommation des centres de données d'un facteur important. Il reste, pourtant, le travail à faire pour voir où intervenir dans les applications avec des parties écrites pour les accélérateurs. L'existence d'une API comme celle offerte par OpenCL est très importante quand on veut programmer des dispositifs atypiques comme les FPGA, sans avoir besoin de connaissances en micro-électronique. Les efforts d'Intel d'intégrer plus de programmation FPGA dans leur compilateur propriétaire i++ reste l'autre option qui pourrait se concrétiser à l'avenir.

Les prochains essais avec le nœud FPGA sur la plate-forme ACP donneront plus d'information sur les possibilités concrètes de transfert d'une partie de calcul sur un accélérateur de ce type. Il sera aussi ouvert à une communauté plus large, avec des conséquences possibles de réplication dans les autres centres.