BoolSi lève 6 millions de dollars pour compiler du code ordinaire en puces personnalisées

La startup de conception de puces BoolSi Inc. a annoncé aujourd'hui avoir levé 6 millions de dollars de financement de démarrage pour construire un compilateur qui transforme un logiciel ordinaire en matériel personnalisé, supprimant ainsi les années de formation en logique numérique que la conception de puces a toujours exigées.

Le co-fondateur et directeur général Mihailo Isakov a construit BoolSi pour cibler les FPGA, les réseaux de portes programmables sur site qui peuvent être reconfigurés après la fabrication et déposés à côté d'une unité centrale de traitement. Le flux de travail est simple du côté de l’utilisateur. Un développeur pointe le compilateur vers un point lent dans un programme écrit en C, C++ ou dans un autre langage de haut niveau et BoolSi renvoie un circuit personnalisé et un pilote.

L'entreprise affirme que cela prend quelques minutes. Faire le même travail à la main prend des mois.

Le matériel personnalisé peut exécuter des charges de travail fixes beaucoup plus rapidement qu'un processeur à usage général. Il répartit le calcul sur des portes et des fils dédiés qui s'exécutent tous en même temps, ce qui évite la surcharge de récupération, de décodage et d'exécution qu'un processeur paie pour chaque instruction. Le compromis a toujours été difficile.

La conception de puces est plus proche de l’horlogerie que de la programmation, avec des millions de sous-circuits qui doivent se coordonner avec précision. Les ressources open source sont limitées et le coût d’entrée s’étend sur plusieurs années. La plupart des ingénieurs logiciels n’ont jamais accès au matériel, même lorsque leurs applications en bénéficieraient.

BoolSi recadre le problème comme apprendre ce que fait un programme, et non traduire comment il est écrit. L'entreprise forme des modèles d'apprentissage automatique qui convergent vers des circuits entièrement numériques, en utilisant le programme source lui-même comme générateur de données synthétiques. Un fuzzer explore l'espace d'entrée et transforme chaque exécution en un exemple de formation exactement étiqueté, ce qui, selon l'entreprise, rend une précision de 100 % à la fois réalisable et requise. Pour vérification, BoolSi entraîne plusieurs modèles indépendants en parallèle et les vérifie formellement les uns par rapport aux autres.

L’entreprise fait valoir son point de référence, une routine regex qui analyse le texte à la recherche d’adresses e-mail. Compilée avec gcc -O3, la routine a pris 2,66 millisecondes sur un processeur ARM Cortex-A9. Un seul agent matériel BoolSi l'a fait en 0,325 millisecondes. C'est environ huit fois plus rapide. Huit agents exécutés ensemble ont terminé leur travail en 0,042 millisecondes, soit 63 fois plus vite que le processeur.

BoolSi compare le travail aux outils de synthèse de haut niveau existants tels que Vivado HLS, Catapult et Bambu. Il affirme que ces outils ont rendu les ingénieurs matériels plus productifs, mais n’ont jamais ouvert le champ aux développeurs de logiciels.

La startup s'adresse d'abord aux développeurs embarqués en robotique, où des tâches telles que les boucles de contrôle moteur, la fusion de capteurs et le contrôle prédictif de modèles martèlent encore et encore les processeurs à usage général. Une version bêta privée devrait s'ouvrir au troisième trimestre. BoolSi commence avec les FPGA car ils permettent aux développeurs de livrer immédiatement, et il s'attend à ce que la chaîne d'outils sous-jacente s'étende aux puces ASIC personnalisées à mesure que les charges de travail se stabilisent.

Photo de : BoolSi

Newsletter

Rejoignez notre newsletter pour des astuces chaque semaine