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 variant In 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.