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.

All labels observed (2)

How this entity was disambiguated

Statements (46)

Predicate Object
instanceOf intermediate representation ⓘ
portable intermediate language ⓘ
allows kernel compilation without device-specific source code ⓘ
basedOn LLVM IR ⓘ
linked to: LLVM
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 ⓘ
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 ⓘ
linked to: Khronos Group
isNot hardware instruction set architecture ⓘ
high-level programming language ⓘ
mapsTo OpenCL C language constructs ⓘ
OpenCL address spaces ⓘ
OpenCL built-in functions ⓘ
predecessorOf SPIR-V ⓘ
relatedStandard OpenCL C ⓘ
OpenCL runtime API ⓘ
linked to: OpenCL
relatedTo SPIR-V ⓘ
representationLevel LLVM-based intermediate level ⓘ
specifiedAs subset of LLVM IR with additional constraints ⓘ
standardizedBy Khronos Group ⓘ
status largely superseded by SPIR-V for new designs ⓘ
successor SPIR-V ⓘ
supports OpenCL ⓘ
targetEnvironment OpenCL 1.2 ⓘ
OpenCL 2.0 ⓘ
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 ⓘ

How these facts were elicited

Referenced by (2)

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

OpenCL → supportsFeature → SPIR intermediate representation ⓘ
SPIR → fullName → Standard Portable Intermediate Representation ⓘ
linked to: SPIR intermediate representation