SPIR intermediate representation

E653477

SPIR intermediate representation is a standardized, portable intermediate language based on LLVM IR used to enable cross-platform compilation and execution of OpenCL kernels and other heterogeneous compute workloads.

Try in SPARQL Jump to: Surface forms Statements Referenced by

Observed surface forms (1)

Surface form Occurrences
SPIR 0

Statements (46)

Predicate Object
instanceOf intermediate representation
portable intermediate language
allows kernel compilation without device-specific source code
basedOn LLVM IR NERFINISHED
designedFor device-independent representation of compute kernels
domain GPGPU
GPU computing
parallel computing
ecosystem OpenCL toolchains
heterogeneous compute runtimes
enables offline compilation of OpenCL kernels
portability of compiled kernels across devices
separation of front-end and back-end compilation in OpenCL toolchains
fileType LLVM bitcode
binary module
focusesOn data-parallel computation
kernel-based execution model
fullName Standard Portable Intermediate Representation NERFINISHED
goal enable vendor-independent kernel distribution
improve portability of OpenCL programs
hasConstraint restricted set of LLVM intrinsics
well-defined data layout for OpenCL
introducedBy Khronos OpenCL working group NERFINISHED
isNot hardware instruction set architecture
high-level programming language
mapsTo OpenCL C language constructs
OpenCL address spaces
OpenCL built-in functions
predecessorOf SPIR-V NERFINISHED
relatedStandard OpenCL C NERFINISHED
OpenCL runtime API NERFINISHED
relatedTo SPIR-V NERFINISHED
representationLevel LLVM-based intermediate level
specifiedAs subset of LLVM IR with additional constraints
standardizedBy Khronos Group NERFINISHED
status largely superseded by SPIR-V for new designs
successor SPIR-V NERFINISHED
supports OpenCL NERFINISHED
targetEnvironment OpenCL 1.2 NERFINISHED
OpenCL 2.0 NERFINISHED
type language-agnostic IR for compute kernels
usedFor cross-platform compilation of OpenCL kernels
execution of OpenCL kernels
heterogeneous compute workloads
versioning SPIR 1.2
SPIR 2.0 NERFINISHED

Referenced by (1)

Full triples — surface form annotated when it differs from this entity's canonical label.

OpenCL supportsFeature SPIR intermediate representation