Un FPGA n'est pas un processeur comme les autres à programmer : on ne travaille pas avec des instructions, mais directement avec des portes logiques. Ainsi, il faut utiliser d'autres technologies pour programmer un FPGA : avec le même code, cependant, on aura déjà fait un grand pas vers la conception complète d'un processeur. Le domaine dispose de deux langages principaux : Verilog et VHDL. Aucun des deux n'est vraiment très apprécié dans la communauté, surtout par les habitués des langages de programmation de plus haut niveau…
C'est pourquoi Xilinx développe un nouvel ensemble d'outils pour faciliter la programmation de FPGA, sous le nom de Vitis. Ces outils seront disponibles dès le 1er novembre, selon Xilinx, en supplément de Vivado. Vitis contient notamment des bibliothèques précodées, mais aussi un compilateur C et C++ (voire Python) en remplacement des outils VHDL/Verilog. La grande différence par rapport à Vivado est le prix : Vitis devrait être entièrement gratuit, contrairement à Vivado. De plus, Vitis est prévu pour être très facile à intégrer dans les environnements de développement existants.
Vitis est notamment prévu pour l'apprentissage profond, où le matériel avance très vite : le temps de concevoir une puce, de la faire fabriquer, de la déployer, il est probable qu'elle ne soit plus utile. Sur des FPGA, il est possible de reprogrammer très vite l'accélérateur et de toujours profiter des dernières avancées. Vitis permet, par exemple, de développer ses modèles avec TensorFlow ou PyTorch en Python, puis de les déployer sur FPGA pour les accélérer.
Vitis est aussi livré avec une série de bibliothèques déjà optimisées, très faciles à utiliser. Xilinx livre par exemple une implémentation de BLAS pour l'algèbre linéaire ou des algorithmes de vision par ordinateur.
En C, le code à compiler par Vitis doit être annoté pour indiquer les entrées et sorties de chaque fonction (qui sera traduite par un bloc) : chaque argument, la valeur de retour. Par exemple : #pragma HLS INTERFACE s_axilite port=in1 bundle=control.
Source : Xilinx
Voir aussi : tutoriels et bibliothèques sur GitHub.
Xilinx propose Vitis pour faciliter la programmation de FPGA
Avec un compilateur C et des bibliothèques faciles à l'emploi
Xilinx propose Vitis pour faciliter la programmation de FPGA
Avec un compilateur C et des bibliothèques faciles à l'emploi
Le , par dourouc05
Une erreur dans cette actualité ? Signalez-nous-la !