Projet Strong ARMed de Microsoft : Agents d’IA pour le portage automatique de code x64 vers Arm64 sous Windows

Projet Strong ARMed de Microsoft : Agents d’IA pour le portage automatique de code x64 vers Arm64 sous Windows

Microsoft explore actuellement une initiative novatrice baptisée « Project Strong ARMed », comme l’indique une offre d’emploi récente pour un poste d’ingénieur logiciel senior au sein de sa division Experiences & Devices (E+D), basée à Reading, au Royaume-Uni. Ce projet vise à adapter les projets x64 existants de l’entreprise à l’architecture ARM64, marquant ainsi une nouvelle orientation pour le développement technologique de Microsoft.

Bien que l’objectif précis du « Projet Strong ARMed » demeure incertain (s’il ciblera principalement les PC grand public ou les solutions d’entreprise), il pourrait s’avérer important pour améliorer la compatibilité avec les plateformes ARM64. Les informations recueillies lors de Windows Latest suggèrent qu’il pourrait privilégier les applications cloud plutôt que les environnements de bureau, même s’il est encore trop tôt pour tirer des conclusions définitives.

Malgré un certain scepticisme suite à la controverse concernant l’utilisation de l’IA dans Rust pour le développement de Windows 11, il est important de noter que cette initiative ne représente qu’un aspect de la stratégie globale de Microsoft. Elle ne témoigne pas d’un changement radical de la philosophie de développement de l’entreprise.

Dans la description du poste, Microsoft précise :

« En tant qu’ingénieur logiciel senior sur le projet Strong ARMed, vous participerez à une initiative stratégique visant à accélérer la transition de Microsoft vers l’architecture ARM64 au sein de la division E+D (Expériences et Appareils).»

Bien que les effectifs dédiés au « Projet Strong ARMed » n’aient pas été divulgués, l’investissement conséquent de Microsoft dans ce projet souligne son importance. Le déploiement de Windows sur ARM64 n’est peut-être pas encore sans failles, mais son adoption s’accélère, les consommateurs appréciant les performances accrues et l’autonomie améliorée des systèmes basés sur ARM.

PC Snapdragon Elite ARM

De nombreux observateurs du secteur considèrent le succès de Windows sur ARM64 comme un facteur essentiel de diversification du marché actuel des processeurs, fortement dominé par Intel et AMD.

De plus, Microsoft précise :

« Ce rôle est essentiel pour permettre l’adoption de la puce propriétaire de Microsoft, Cobalt 100, en tirant parti des agents d’IA et de l’automatisation pour porter les charges de travail x64 existantes vers des systèmes compatibles ARM.»

« Concevoir et déployer des agents d’ingénierie logicielle basés sur l’IA qui portent automatiquement les bases de code de x64 vers AnyCPU et de Windows vers Linux.»

Optimisation des applications pour la compatibilité ARM64

Traditionnellement, les services et processus internes de Microsoft étaient développés autour de l’architecture x64 (Intel ou AMD).Cependant, ces services rencontrent des problèmes de compatibilité lorsqu’ils s’exécutent sur ARM64 en raison des différences fondamentales d’architecture du processeur. Le portage d’applications est une tâche complexe, notamment pour les vastes bases de code qui sous-tendent Windows et ses outils internes.

Chrome pour Windows 11 sur ARM

L’objectif n’est pas seulement de recompiler les programmes, mais de migrer efficacement les bases de code de x64 vers AnyCPU, en ciblant spécifiquement ARM64. Cette approche pourrait répondre principalement aux besoins des entreprises ou aux spécifications de Windows Server, tout en bénéficiant à terme aux utilisateurs grand public, les progrès réalisés dans le domaine des serveurs ayant généralement des répercussions importantes.

Cependant, la transition vers ARM64 est complexe. Microsoft est conscient de la nécessité d’investir du temps dans l’adaptation du code, des bibliothèques natives, des pilotes, des scripts de compilation et de l’évaluation des performances spécifiques à x64. Cette tâche pourrait s’avérer longue et ardue si elle était menée manuellement avec un budget limité. Néanmoins, l’offre d’emploi laisse entrevoir une stratégie pour accélérer le processus.

Microsoft prévoit d’exploiter des « agents d’ingénierie logicielle » pilotés par l’IA, conçus pour faciliter la conversion du code et les demandes d’extraction, afin de rationaliser les efforts de portage.

Développement d’agents d’IA pour le portage de code

L’offre d’emploi précise l’ambition de Microsoft de

« concevoir et déployer des agents d’ingénierie logicielle basés sur l’IA »,

  • Délimitation des dépôts pour les segments de code non portables.
  • Modification du code et des fichiers de compilation associés.
  • Remplacement des API ou bibliothèques non prises en charge.
  • Mise à jour des pipelines d’intégration continue.
  • Générer des demandes de fusion complètes avec des différences et des explications claires.
  • Exécuter les tests et itérer en fonction des retours d’information.

Perspectives d’avenir

L’offre d’emploi laisse entrevoir un lien étroit avec Microsoft Azure, suggérant que cette initiative pourrait être spécifiquement conçue pour Windows dans le cloud plutôt que pour la version grand public de Windows. Néanmoins, les avancées liées à l’architecture ARM64 devraient profiter à l’ensemble de l’écosystème Microsoft.

Microsoft affirme que l’optimisation pour ARM64 est essentielle au bon fonctionnement des outils et services internes, et qu’elle permettra d’améliorer des plateformes comme Microsoft 365 et Copilot pour la prochaine décennie. Il est important de rappeler que ce projet reflète la vision d’une équipe spécifique au sein de Microsoft, et non la stratégie globale de l’entreprise.

Comme indiqué dans l’annonce, Microsoft encourage les candidats à

« Évaluer les dépendances des services et la compatibilité ARM64 et contribuer au développement d’agents d’IA (par exemple, Chronicle, Bandish) qui génèrent des demandes d’extraction pour le portage du code source.»

Source et images

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *