Standard Portable Intermediate Representation
langage intermédiaire portable pour le calcul parallèle
From Wikipedia, the free encyclopedia
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 |
| Formats lus | SPIR-V file (d) |
| Formats écrits | SPIR-V file (d) |
| 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].