Details
- Reviewers
jdoerfert
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Event Timeline
| openmp/libomptarget/DeviceRTL/src/State.cpp | ||
|---|---|---|
| 69–86 | This is only defined for AMDGCN with a TODO, in a way that seems to overwrite the default malloc. Should I do the same for this implementation ? | |
| openmp/libomptarget/DeviceRTL/src/Utils.cpp | ||
| 87–91 | Found shuffle below in the spirv interface but not pack. Should I start using bitwise operation the way it is done for AMD ? | |
| openmp/libomptarget/DeviceRTL/src/State.cpp | ||
|---|---|---|
| 69–86 | On AMDGPU there is no "default malloc". On NVPTX there is, on Intel we need to check. You can probably go with the AMD route for now. | |
| openmp/libomptarget/DeviceRTL/src/Utils.cpp | ||
| 87–91 | There is a default implementation for Pack and Unpack, you can just not overwrite them. I think that is what we do for AMD. | |
| llvm/lib/Frontend/OpenMP/OMPContext.cpp | ||
|---|---|---|
| 55 | SPIR-V can be for host as well right? OpenCL CPU runtime can also take SPIR-V. | |
| openmp/libomptarget/DeviceRTL/src/LibC.cpp | ||
| 37 | I'm thinking potentially we can have a generic implementation of omp_vprintf that just returns -1 and having the NVPTX version calls vprintf. In this way we don't need to do it for every target. | |
| llvm/lib/Frontend/OpenMP/OMPContext.cpp | ||
|---|---|---|
| 55 | It can ! The objective of this work is to use it with intel gpus. I put it there in order to have it understand the variants in DeviceRTL. Is there a way to signify both host and device ? | |
| openmp/libomptarget/DeviceRTL/src/LibC.cpp | ||
| 37 | How do I go about doing this ? Declare omp_vprintf as weak ? | |
| openmp/libomptarget/DeviceRTL/src/LibC.cpp | ||
|---|---|---|
| 37 | just something like: int32_t omp_vprintf(const char *Format, void *Arguments, uint32_t) {
return -1;
}
#pragma omp begin declare variant match(device = {arch(nvptx64)})
int32_t omp_vprintf(const char *Format, void *Arguments, uint32_t) {
return vprintf(...);
}
#pragma omp end declare variantIn this way, when the arch is NVPTX64, that variant will replace the default one. | |
| openmp/libomptarget/DeviceRTL/src/Mapping.cpp | ||
| 162 | Do we have these builtins in LLVM right now? | |
SPIR-V can be for host as well right? OpenCL CPU runtime can also take SPIR-V.