SPIR-V Logo

SPIR-V: The Standard IR for Parallel Compute and Graphics

SPIR-V is catalyzing a revolution in the ecosystem for shader and kernel language compilers used for expressing parallel computation and GPU-based graphics.

SPIR-V enables high-level language front-ends to emit programs in a standardized intermediate form to be ingested by a wider range of drivers, including Vulkan, OpenGL and OpenCL. SPIR-V eliminates the need for high-level language front-end compilers in device drivers, significantly reducing driver complexity and enabling a broad range of language and framework front-ends to run on diverse hardware architectures and encourages a vibrant ecosystem of open source analysis, porting, debug and optimization tools.

For developers, using SPIR-V means that kernel source code no longer has to be directly exposed, kernel load times can be accelerated, and developers can choose the use of a common language front-end compiler, improving kernel reliability and portability across multiple hardware implementations.

LATEST NEWS

SPIR-V 1.6 Revision 5 Released

The latest updates to the SPIR-V specification were released on January 30 2025.

Release Notes

Ecosystem News

DirectX Adopting SPIR-V as the Interchange Format of the Future


Sep 19, 2024 -- The Direct3D and HLSL teams share some exciting insighta into the next big step for GPU programmability via their DirectX Developer Blog. Once Shader Model 7 is released, DirectX 12 will accept shaders compiled to SPIR-V.

DirectX Developer Blog Post

"SPIR-V is a foundational element of the Khronos Group’s software developer ecosystem that provides a valuable and standard intermediate representation that connects compilers with API runtimes; SPIR-V is at the forefront of open standards-based multiarchitecture software development. SPIR-V is used as a compiler target for a wide variety of source languages, from complex industry-standard languages to custom domain-specific languages. It enables execution on a wide range of hardware, from the largest supercomputers to the mobile phone in your pocket. .

Ben Ashbaugh — SPIR Working Group Chair and Principal Engineer at Intel

SPIR-V Language Ecosystem


The SPIR-V ecosystem includes a rich variety of language front-ends (producers), development tools and run-times (consumers).

SPIR-V Ecosystem diagram

Essential Resources for SPIR-V Development

SPIR-V Resources


Thanks to the support of the Khronos membership and our passionate developer community, there is a full set of well-supported developer information and educational resources to help quickly get you up and running with your SPIR development.

  • SPIR-V Specification
  • SPIR-V-Registry - contains published Khronos and vendor extensions
  • SPIR-V-Guide - In depth tour of SPIR-V
  • SPIR-V Tools - an API and commands for processing SPIR-V modules, including an assembler, binary module parser, disassembler, optimizer, linker, and validator.
  • SPIR-V Cross - a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.
  • SPIR-V LLVM Translator - contains a LLVM <-> SPIR-V converter intended to serve as a foundation for LLVM-based front-end compilers targeting SPIR-V.
  • SPIR-V on Compiler Explorer. Examples: SPIR-V Optimizer & SPIR-V Validator

Community Discussions & Getting Involved

Help Shape the Future of SPIR-V


The SPIR-V specification is free for anyone to download, review and comment, and there are several ways to follow the latest SPIR developments, get your questions answered and give us feedback on the specification and implementations.

Community Discussions

You'll find thriving SPIR discussions on several platforms that provide a great way to get involved, and help build out the SPIR-V ecosystem.

Join the Khronos Group

If you are working with SPIR-V and wish to get involved in helping shape its future, please consider joining Khronos and our Working Group. Any organization is welcome to join, and multiple levels of membership are available to enable any organization, large or small, to get involved.

Join Khronos

SPIR and OpenCL

SPIR 1.2/2.0 Resources


SPIR 1.2 and 2.0 map from the OpenCL C programming language into LLVM IR. SPIR 1.2 is based on LLVM 3.2 and SPIR 2.0 is based on LLVM 3.4 and their respective OpenCL C specification.

Stay Informed

Subscribe to the SPIR Newsletter


Stay in the loop with by subscribing to our newsletter to receive updates on all the latest SPIR resources, news and events.

Click to Subscribe

By subscribing you are consenting to receive marketing emails about news and events relating to the Khronos Group. You can unsubscribe at any time by following the “Unsubscribe” link included in each email sent. For information on our privacy practices and commitment to protecting your privacy, please review our Privacy Policy. We do not sell your contact information to third parties.

Khronos Standard Additional links and information