MathWorks et Nvidia veulent accélérer le développement d'applications logicielles fondées sur l’IA dans le médical

Matlab et Nvidia Holoscan

En autorisant les développeurs de systèmes médicaux à utiliser une base existante d'algorithmes écrits avec l’environnement Matlab de l'éditeur d’outils logiciels de calcul et de simulation MathWorks, ces mêmes développeurs pourront à l’avenir bâtir et déployer des applications intégrant des algorithmes d’intelligence artificielle (IA) en utilisant la plateforme Holoscan de Nvidia.

Selon les deux sociétés, les ingénieurs spécialisés en équipements médicaux pourront ainsi accélérer le développement et le déploiement d'applications d'analyse et de visualisation de données en mode streaming grâce à l’intégration native de fonctions et d’algorithmes écrits en Matlab sur des processeurs graphiques adaptés à la gestion de fonctions d’inférence et au traitement de données en temps réel inhérents aux algorithmes IA.

Pour rappel, Holoscan est une plateforme de traitement de données de capteurs conçue par Nvidia dans le but de rationaliser le développement et le déploiement d'applications IA et de calcul haute performance en vue d’une compréhension en temps réel d’une application. La plateforme autorise l’introduction des dernières applications IA en date dans les contextes médicaux (en clinique ou en hôpital) en proposant une infrastructure complète pour un traitement de données en flux continu (streaming) évolutif.

A ce niveau l'intégration de programmes écrits dans Matlab au sein d’Holoscan a pour ambition d’aider les ingénieurs à utiliser les opérations matricielles intégrées existantes et des fonctions complexes pour le traitement du signal et des images, le filtrage, les transformées et les algorithmes d'apprentissage profond.

Dans le détail, l’implantation d'un pipeline Holoscan avec des programmes issus de Matlab comprend quatre étapes : la création d'une fonction Matlab, la génération de codes pour des cœurs Cuda (unités de calcul parallèles propres à Nvidia et parties intégrantes de l'architecture des processeurs graphiques) accélérés grâce à l'outil GPU Coder de Nvidia, la création d'un wrapper (*) d'opérateur Holoscan, et la reconstruction de l'application Holoscan avec un nouveau programme Matlab. Une approche qui permet de créer, pour les équipements médicaux, un flux de travail fonctionnel défini par logiciel. Des capacités supplémentaires de vérification et de validation, intégrées dans Matlab et Holoscan, permettent en outre à ces flux de se conformer aux réglementations et normes industrielles, y compris à la norme CEI 62304.

Selon MathWorks et Nvidia, cette intégration va aider les ingénieurs spécialisés en équipements médicaux à s'adapter aux réglementations mondiales complexes et en constante évolution, tout en respectant le rythme des innovations technologiques. Et par voie de conséquence, à éviter le phénomène de quasi-obsolescence de nombreux équipements peu après leur mise sur le marché. L’idée sous-jacente étant, comme dans d’autres domaines, de favoriser l'émergence de la notion de SaMD (Software as a Medical Device). L’International Medical Device Regulators Forum définit le SaMD comme étant un logiciel destiné à être utilisé à une ou plusieurs fins médicales et qui remplit ces fonctions sans faire référence à un dispositif médical matériel spécifique.

Par le biais de cette approche, les équipements SaMD devraient pouvoir intégrer des fonctionnalités logicielles supplémentaires au fil du temps, obligeant alors les ingénieurs à mettre au point un flux de travail défini par logiciel pour leur développement. D’où la coopération entre MathWorks et Nvidia. CQFD.

« L'industrie des technologies médicales est en pleine transformation sous l'effet de l’arrivée de l'intelligence artificielle, explique David Niewolny, directeur du développement commercial pour les technologies médicales chez Nvidia. En proposant une expérience de développement fluide à la communauté des développeurs Matlab au sein de la plateforme médicale Holoscan, notre objectif avec MathWorks est d’accélérer l'innovation fondée sur l’utilisation de l'IA dans le domaine des technologies médicales. »

(*) En programmation informatique, une fonction wrapper est un programme dont la fonction principale est d'appeler une autre fonction. Une des utilisations des wrappers et de permettre la réutilisation d’un code en environnement hétérogène en vue d’assurer une interopérabilité entre langages et bibliothèques d'exécution issus de différents éditeurs.