Standard Portable Intermediate Representation
# 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.

É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.

## 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. La version 1.2 est annoncée au SIGGRAPH 2013 et la version 2.0 est annoncée à la même conférence en 2014.

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 mars 2015.

