Dites-nous en plus sur votre projet

Nous vous proposerons une formule adaptée à vos besoins, ainsi qu’une estimation de devis.
Laissez-vous guider

Pourquoi choisir Aneo pour votre projet ?

Aneo est une agence conseil en transformation qui vous accompagne tout au long de la vie de vos projets sur des problématiques de :

Le +  d’Aneo : le conseil sans frontière !

Notre richesse, c’est de vous proposer des équipes pluridisciplinaires, chaque membre avec une approche, une expérience et une sensibilité différente : coach agile, formateur soft skills, Data Scientist designer, Architecte etc. On mise sur la complémentarité des disciplines pour vous apporter la meilleure réponse !

Pourquoi choisir Aneo  pour votre projet ? - Aneo

Aneo, une organisation à part entière !

Depuis 2015, Aneo est une organisation plate à gouvernance plate. Aplatir la hiérarchie, supprimer les silos, instaurer des bonus collectifs, ce nouveau modèle d’organisation avec comme objectif: apporter plus de valeur  à l’entreprise, aux collaborateurs et aux clients.

Le + d’Aneo : l’inattendu !

La sérendipité, c’est « le don de faire par hasard des découvertes fructueuses ». Chez Aneo, nous croyons fermement que les meilleures solutions sont parfois les plus inattendues. Ne rien s’interdire, expérimenter, oser s’entourer de profils atypiques et avoir une obsession : apporter la juste valeur.

Aneo, une organisation à part entière !  - Aneo

Qui êtes-vous ?

Vous êtes pour

Votre secteur

1 seul choix possible
Assurance & Protection sociale
Banque et Finance
Industrie & Services
Santé

Vos besoins

Plusieurs choix possibles
IT & Digital
Transformation des Organisations
Stratégie Business
Pilotage de projets

Détails

Des précisions à ajouter sur votre projet ? (facultatif)
C'est noté !
Nous avons pris en compte les spécificités de votre projet.
Nos équipes vous contacteront sous 48h pour en discuter plus amplement.
Votre prénom *
Votre nom *
Votre adresse email pro *
Votre numéro de téléphone *
Bien reçu !
Nos équipes vous contacteront sous peu
pour discuter de votre projet.
Article

Des FPGA chez ANEO ? #Billet 1

ANEO est présent chez différents clients dont le besoin en performance de calcul est important, particulièrement dans la finance et dans l’industrie. Nous nous intéressons tant aux aspects fonctionnels que technologiques permettant de répondre à leur besoin.

 

La recherche de performance en calcul scientifique et parallèle est l’une de nos thématiques principales, les technologies sont nombreuses et nous essayons de rester le plus pert inent possible. Chez ANEO, nous disposons d’une équipe d’une dizaine de membres ayant une expérience importante en architectures parallèles de type Components off-the-Shelf (COTS). Ces processeurs sont les multicoeurs x86 d’Intel ou AMD, l’architecture POWER d’IBM, les puces basse consommation d’ARM, les GPU de NVIDIA ou AMD ou encore le Xeon Phi d’Intel. Notre expérience autour des aspects de compilation, vectorisation ou de SMT (Simultaneous Multithreading) nous a permis de nous retrouver face à de nombreux langages et outils. C’est dans l’optique d’élargir ces connaissances que nous avons souhaité approcher le FPGA.

En quelques mots, c’est quoi un FPGA ?

Un FPGA, Field-Programmable Gate Array ou Circuit Logique Programmable, est un circuit qui peut être reprogrammé après sa fabrication. A l’inverse d’un hardware figé comme celui des architectures COTS, le FPGA est donc une architecture flexible, composée de millions de portes logiques, lookup tables, registres, unités arithmétiques et d’un interconnect les reliant. Toutes ces ressources peuvent se reconfigurer de manière à générer les opérations logiques et arithmétiques ainsi que les espaces mémoires afin de définir une architecture sur-mesure par rapport à une application, juste avant son exécution sur le FPGA. L’étape de reconfiguration du FPGA nécessitait habituellement un travail de fond et de design poussés, passant par des langages très spécifiques dits Hardware Description Languages comme le VHDL ou Verilog. Ci-dessous, une vue schématisée des trois composants principaux de cette architecture.

Trois raisons de reparler du FPGA aujourd’hui

Cela fait pourtant bien longtemps que les FPGA sont utilisés dans l’industrie, alors, pourquoi s’y intéresser maintenant et dans quel contexte ?

Plusieurs raisons nous ont amené à cette étude. Tout d’abord, Altera a proposé en 2014 un SDK qui se propose de générer la configuration FPGA, appelée design, à partir de kernels écrits en OpenCL. OpenCL est un langage de programmation qui permet de développer des applications visant des architectures hétérogènes, avec une API en C/C++. Sur GPU, il est notamment connu pour être une des rares alternatives au langage CUDA de NVIDIA qui ne permet de s’adresser qu’aux produits de ce même constructeur. Le FPGA apparait donc comme plus attractif pour la communauté du calcul parallèle et scientifique, notamment grâce à la généricité d’un langage plus familier qui permettait déjà de s’adresser à plusieurs architectures communément utilisées.

La seconde raison est que les performances en calcul flottant FPGA commencent en 2016 à arriver à un niveau prometteur : elles étaient jusque là bien en dessous de ce qu’un GPU pouvait fournir. L’utilisation du FPGA pourrait-donc bien se démocratiser auprès de nombreux professionnels en quête de performance, si tant est qu’il est approprié pour leurs applications.

Enfin, la consommation énergétique des FPGA est bien moins élevée que celle d’autres composants connus. A l’heure où la tendance est d’utiliser toujours de plus en plus de multiprocesseurs et accélérateurs en parallèle pour chercher plus de performance (des industriels comme des centres de recherche possèdent des systèmes utilisant jusqu’à des millions de cœurs de calculs), alléger la facture EDF et réduire ses dépendances en énergie peut faire beaucoup de bien.

Bref, le FPGA c’est un peu trendy en ce moment. Entre le rachat du constructeur ALTERA par Intel fin 2015, l’approche avec Xiliinx sur l’architecture IBM POWER, Microsoft et Amazon ajoutant respectivement des FPGA dans leurs clouds Azure et EC2 et le chinois Baïdu qui les utilisés pour faire du machine learning dans ses (gros) datacenters… On ne manque pas de prétextes pour s’intéresser au sujet.

Tous ces arguments pourraient à eux-seul nous motiver à réaliser une étude sur les FPGA ; cela-dit, ces arguments sont dans notre cas principalement des éléments déclencheurs. En effet, le moteur derrière cette étude est d’enrichir notre capacité à accompagner nos clients dans les domaines connexes au HPC. Et donc une des questions naturelles qu’ANEO se pose c’est notamment la question du trade-off gain de performance versus coût de portage d’une application vers cette architecture.

Cadrage de l’étude

Dans ce cadre, nous avons ouvert un partenariat avec les sociétés Bittware et EMG2 ainsi que la société Altera, ce qui nous a permis d’obtenir un accès temporaire à une machine disposant d’une carte FPGA Stratix V S5PH-Q D8 ainsi qu’à l’ensemble des outils du SDK OpenCL (version 14.1 au moment de l’étude). L’objectif principal du partenariat était d’appréhender l’architecture au travers d’un langage haut-niveau et d’évaluer notre capacité à répondre à un client qui souhaiterait industrialiser une solution de ce type ou accompagner sa montée en compétence.

Pour ce faire, nous avons sélectionné une application très connue, le cryptage AES 128-bit. Nous sommes partis d’une implémentation séquentielle en C que nous avons portée tout d’abord sur GPU en CUDA, puis en OpenCL. Nous avons ensuite porté cette implémentation sur FPGA. Nous avons décidé de repartir d’une implémentation naturelle et de ne pas utiliser d’implémentations déjà optimisées pour une architecture donnée.

Notre étude a été réalisée durant l’été 2015. Depuis, une nouvelle génération de FPGA est arrivée et les capacités de calculs flottants continuent de s’améliorer. Cela dit, nous avons préféré nous concentrer sur une application qui puisse tirer partie au mieux des forces du FPGA et nous sommes donc partis sur une application utilisant du calcul sur les entiers. De plus, l’étude s’intéresse davantage à la prise en main du SDK et à l’expérience utilisateur du point de vue des difficultés, perspectives ou encore des méthodologies, plutôt que de la performance brute: nous ne sommes pas experts FPGA.

Notre étude est couverte par une série de billets abordant les points suivant :

  • Architecture des FPGA et intégration
  • Conversion GPU/CUDA vers FPGA/OpenCL
  • Présentation du SDK OpenCL d’Altera
  • Présentation de l’AES et portage du CPU vers le GPU
  • Design FPGA Single Work-Item
  • Design FPGA vectorisé
  • Mémoire constante
  • Perspectives

Nous espérons que cet article a su éveiller votre intérêt sur le FPGA et nous vous retrouvons bientôt pour parler un peu plus précisément de son architecture et ses différentes possibilités d’intégration.

La suite de la série FPGA est disponible ici.

Crédit : Damien DUBUC

Ça peut aussi vous intéresser
Les Femmes et le Numérique : une histoire de « Je t’aime, moi non plus … »
17 novembre 2021

Les Femmes et le Numérique : une histoire de « Je t’aime, moi non plus … »

Cet article sur les Femmes et le Numérique fait partie de la série sur le thème « Numérique et RSE ». Ils sont publiés par une équipe de consultants Aneo. Ada Lovelace, la pionnière ayant créé la machine analytique… Grace Hopper, « the Queen of software » témoin du premier…
En savoir plus
Article
DevOps et modèles organisationnels
14 septembre 2021

DevOps et modèles organisationnels

Le mouvement DevOps se présente comme une culture impliquant les process, l’outillage et l’organisation. Si les deux premiers axes semblent couverts par des démarches méthodologiques et techniques éprouvées (lean, agilité, automatisation, craft …etc), l’axe organisationnel manque – quant à lui – d’abaques fiables. De ce fait il devient primordial avant…
En savoir plus
Article
Tech Intelligence #6 – Développement du numérique en Afrique : où en est-on ?
20 juillet 2021

Tech Intelligence #6 – Développement du numérique en Afrique : où en est-on ?

La série Tech Intelligence explore des sujets variés de la tech : cloud, cybersécurité, blockchain … Aujourd’hui, découvrez un rapide coup d’oeil sur le développement du numérique sur le continent africain. Cliquez ici pour retrouver les autres sujets traités par Tech Intelligence.  Tout miser sur la téléphonie…
En savoir plus
Article
Vous avez un projet de transformation
digitale pour votre entreprise ?