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 (1)
| Label | Occurrences |
|---|---|
| SPIR intermediate representation canonical | 1 |
How this entity was disambiguated
This entity first appeared as the object of triple T7279422 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
Target entity: SPIR intermediate representation Context triple: [OpenCL, supportsFeature, SPIR intermediate representation]
-
A.
LLVM
LLVM is a modular, reusable compiler and toolchain infrastructure project widely used for building language frontends, optimizers, and backends for diverse hardware architectures.
-
B.
CIRCT
CIRCT is an open-source LLVM subproject that provides a set of reusable compiler infrastructure and tools for hardware design and synthesis using MLIR.
-
C.
MLIR
MLIR (Multi-Level Intermediate Representation) is a flexible compiler infrastructure and intermediate representation framework designed to support reusable, extensible optimizations and code generation across diverse domains and hardware targets.
-
D.
SPICE in-memory engine
SPICE in-memory engine is Amazon QuickSight’s high-performance, columnar, in-memory data store designed to enable fast, scalable, and interactive analytics on large datasets.
-
E.
SPIM
SPIM was the former ICAO airport code for Jorge Chávez International Airport in Lima, Peru, before it was changed to SPJC.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: SPIR intermediate representation Target entity description: 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.
-
A.
LLVM
LLVM is a modular, reusable compiler and toolchain infrastructure project widely used for building language frontends, optimizers, and backends for diverse hardware architectures.
-
B.
CIRCT
CIRCT is an open-source LLVM subproject that provides a set of reusable compiler infrastructure and tools for hardware design and synthesis using MLIR.
-
C.
MLIR
MLIR (Multi-Level Intermediate Representation) is a flexible compiler infrastructure and intermediate representation framework designed to support reusable, extensible optimizations and code generation across diverse domains and hardware targets.
-
D.
SPICE in-memory engine
SPICE in-memory engine is Amazon QuickSight’s high-performance, columnar, in-memory data store designed to enable fast, scalable, and interactive analytics on large datasets.
-
E.
SPIM
SPIM was the former ICAO airport code for Jorge Chávez International Airport in Lima, Peru, before it was changed to SPJC.
- F. None of above. chosen
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 ⓘ |
How these facts were elicited
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Subject: SPIR intermediate representation Description of subject: 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.
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.