
Un même programme pourrait bientôt traverser plusieurs générations de GPU Intel sans être recompilé spécifiquement pour chacune. Cette couche intermédiaire promet davantage de portabilité, tout en conservant un accès proche du matériel.
Intel PISA s’intercale entre le compilateur et le GPU

Intel a ajouté à son Compute Runtime la prise en charge du format Portable Instruction Set Architecture, ou PISA. Cette nouvelle ISA virtuelle et son modèle de programmation fournissent aux compilateurs une cible commune, ensuite convertie en instructions machine natives pour le GPU concerné.
Contrairement aux CPU, largement structurés autour d’ISA établies comme x86 ou Arm, les GPU reposent sur des jeux d’instructions et des architectures propres. Chaque génération peut introduire de nouvelles capacités matérielles, fonctions d’exécution et instructions natives, que les compilateurs ciblant directement l’ISA machine doivent gérer.
PISA ajoute une abstraction entre la sortie du compilateur et le code machine. Un programme peut ainsi être produit une fois dans ce format, puis finalisé pour plusieurs architectures Intel compatibles, avec la possibilité d’exploiter les fonctions du matériel récent sans modifier le code PISA d’origine.
Une portabilité encadrée par les capacités matérielles
Cette approche ne garantit toutefois pas qu’une charge de travail PISA fonctionnera sur tous les GPU Intel. La compatibilité dépend toujours de l’architecture ciblée, ainsi que des fonctions et instructions utilisées par le programme.
PISA n’est pas la première ISA virtuelle du groupe. La vISA existante sert depuis longtemps de représentation intermédiaire dans sa chaîne de compilation GPU, tandis que PISA introduit une ISA portable et un modèle de programmation plus récents.
Un modèle comparable au PTX de NVIDIA
Le principe rappelle le Parallel Thread Execution de NVIDIA. PTX s’intercale entre le code CUDA de haut niveau et les instructions machine natives, tout en exposant aux développeurs des concepts GPU de bas niveau.
Si PISA suit une logique similaire, Intel pourra proposer une programmation proche du matériel depuis une couche plus abstraite. Parmi les objectifs affichés figurent les performances « close-to-the-metal », la prise en charge de bibliothèques écrites à la main et l’assembleur en ligne.
Une spécification encore au stade 0.1
PISA est actuellement disponible en version 0.1. Sa documentation décrit un modèle d’exécution et de mémoire fondé sur OpenCL 3.0, ainsi que les types de données entiers et flottants, l’adressage, l’accès aux registres et les autres éléments habituels d’une ISA.
À ce stade, PISA constitue surtout une fondation pour la chaîne logicielle GPU d’Intel. Sa portée réelle dépendra du nombre d’architectures prises en charge, de la stabilité de la spécification et de son adoption par les compilateurs et bibliothèques, mais l’investissement engagé confirme la volonté du groupe de pérenniser son écosystème graphique au-delà d’une génération matérielle.
Source : Intel on GitHub