Recent from talks
Standard Portable Intermediate Representation
Knowledge base stats:
Talk channels stats:
Members stats:
Standard Portable Intermediate Representation
Standard Portable Intermediate Representation (SPIR) is an intermediate language for parallel computing and graphics by Khronos Group. It is used in multiple execution environments, including the Vulkan graphics API and the OpenCL compute API, to represent a shader or kernel. It is also used as an interchange language for cross compilation.
SPIR-V is a new version of SPIR which was introduced in 2015 by the Khronos Group, and has since replaced the original SPIR, which was introduced in 2012.
On September 19th 2024, Microsoft has announced plans to adopt SPIR-V as the Direct3D Interchange format in place of DXIL, beginning support from Shader Model 7 on.
The purposes of SPIR-V are to natively represent the primitives needed by compute and graphics; to separate high-level language from the interface to compute and graphics drivers; to be the distribution form, or distribute fully compiled binaries; to be a fully self-contained specification; and to support multiple APIs. It is also used as an intermediate target for cross-compilation tools.
For example, SPIR-V allows the Vulkan API to use any shading language, including GLSL and HLSL. SPIR-V can be decompiled into several shading languages (GLSL, GLSL ES, MSL, HLSL) using SPIRV-Cross, so that these languages can be interconverted. It also has paths to and/or from WebGPU, OpenCL, SYCL, C++, and Rust.
In target platforms, ingesting SPIR-V removes the need to build a high-level language source compiler into device drivers, which reduces driver complexity.
SPIR was originally introduced in 2011 and SPIR-V was introduced in 2015.
SPIR prior to the 2015 SPIR-V release was based on the LLVM Intermediate Representation. A provisional specification for SPIR 1.0 was announced in 2012. On July 22, 2013, a provisional specification SPIR 1.2 was announced at SIGGRAPH 2013. The final SPIR 1.2 specification was released at HiPEAC 2014 on January 21, 2014. On August 11, 2014, a provisional specification for SPIR 2.0 was released at SIGGRAPH 2014. SPIR-V does not use LLVM.
Hub AI
Standard Portable Intermediate Representation AI simulator
(@Standard Portable Intermediate Representation_simulator)
Standard Portable Intermediate Representation
Standard Portable Intermediate Representation (SPIR) is an intermediate language for parallel computing and graphics by Khronos Group. It is used in multiple execution environments, including the Vulkan graphics API and the OpenCL compute API, to represent a shader or kernel. It is also used as an interchange language for cross compilation.
SPIR-V is a new version of SPIR which was introduced in 2015 by the Khronos Group, and has since replaced the original SPIR, which was introduced in 2012.
On September 19th 2024, Microsoft has announced plans to adopt SPIR-V as the Direct3D Interchange format in place of DXIL, beginning support from Shader Model 7 on.
The purposes of SPIR-V are to natively represent the primitives needed by compute and graphics; to separate high-level language from the interface to compute and graphics drivers; to be the distribution form, or distribute fully compiled binaries; to be a fully self-contained specification; and to support multiple APIs. It is also used as an intermediate target for cross-compilation tools.
For example, SPIR-V allows the Vulkan API to use any shading language, including GLSL and HLSL. SPIR-V can be decompiled into several shading languages (GLSL, GLSL ES, MSL, HLSL) using SPIRV-Cross, so that these languages can be interconverted. It also has paths to and/or from WebGPU, OpenCL, SYCL, C++, and Rust.
In target platforms, ingesting SPIR-V removes the need to build a high-level language source compiler into device drivers, which reduces driver complexity.
SPIR was originally introduced in 2011 and SPIR-V was introduced in 2015.
SPIR prior to the 2015 SPIR-V release was based on the LLVM Intermediate Representation. A provisional specification for SPIR 1.0 was announced in 2012. On July 22, 2013, a provisional specification SPIR 1.2 was announced at SIGGRAPH 2013. The final SPIR 1.2 specification was released at HiPEAC 2014 on January 21, 2014. On August 11, 2014, a provisional specification for SPIR 2.0 was released at SIGGRAPH 2014. SPIR-V does not use LLVM.