[libomptarget] Implement wavefront functions for amdgcn
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
- Build Status
Buildable 45718 Build 47738: arc lint + arc unit
Event Timeline
Fills in some of the unresolved symbols for amdgcn target_impl with intrinsic calls. A bit architecture specific, but that seems OK in the context.
openmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.hip | ||
---|---|---|
21–22 | Hi Matt. I didn't think we had any 32 bit warp / wavefront hardware support in tree. If we do there's some changes needed elsewhere in this library as well | |
54 | It's used to pick out lanes to synchronise on nvptx (if I understand their documentation correctly). The lanes move in lockstep on amdgcn so I don't think there's any corresponding synchronisation to do here |
openmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.hip | ||
---|---|---|
21–22 | Ah. gfx1010 has some code in clang, e.g. https://reviews.llvm.org/D63209 I'd still like to land this patch as it progresses support for most amdgcn. I'll also start the task of supporting wave32. The complicated part is probably detecting what a given arch uses early enough to pick out the right typedef for lanemask_t. |
openmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.hip | ||
---|---|---|
21–22 | Putting off wave32 is fine, but might as well fix the hardcoded 63 here anyway |
Capitalize comment