Standard Portable Intermediate Representation
Standard Portable Intermediate Representation ou SPIR est un langage intermédiaire, créé par le Khronos Group, à l'origine pour le calcul parallèle intensif et faciliter l'interprétation d'OpenCL, et dans son API Vulkan, avec SPIR-V pour la transmission des shaders aux pilotes des processeurs graphiques. Initialement basée sur LLVM, la version SPIR-V utilise sa propre représentation.
Créateur | Khronos Group |
---|---|
Développé par | Khronos Group |
Première version | |
Dernière version | 5 |
Environnement | Cross-platform |
Type | langage intermédiaire |
Licence | Format Ouvert Libre de Droits |
Site web | https://www.khronos.org/spir |
Étant donné la proximité de SPIR-V avec SPIR (et donc la représentation intermédiaire de LLVM), ce dernier pourra être utilisé pour son interprétation[1].
Version basée sur LLVM
SPIR est basé sur LLVM, il est utilisé notamment pour OpenCL. Des spécifications provisoires de SPIR 1.0 sont annoncées en 2012[2]. La version 1.2 est annoncée au SIGGRAPH 2013[3] et la version 2.0 est annoncée à la même conférence en 2014[4].
SPIR-V présenté en 2015 n'est plus compatible avec la représentation d'LLVM, une évolution a donc été nécessaire pour la première version expérimentale de SPIR-V avec LLVM en [5].
Notes et références
- (en) « Learning More About The Intel Vulkan Driver, Linux Vulkan Plans », phoronix,
- (en) Michael Larabel, « Khronos SPIR For OpenCL Brings Binary Compatibility », Phoronix, (consulté le )
- (en) Ryan Smith, « Khronos @ SIGGRAPH 2013: OpenGL 4.4, OpenCL 2.0, & OpenCL 1.2 SPIR Announced », Anandtech, (consulté le )
- (en) Ryan Smith, « Khronos Announces OpenCL SPIR 2.0 », (consulté le )
- (en) Michael Larabel, « hLunarGLASS Adds Experimental SPIR-V Front-End », Phoronix,
Annexes
Liens externes
- https://www.khronos.org/spir — SPIR sur le site de Khronos group