[PATCH] D94961: [OpenMP] Add OpenMP offloading toolchain skeleton for AMDGPU

Jon Chesterfield via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 19 04:12:03 PST 2021


JonChesterfield added a comment.

This patch was written, roughly, by:

- copying the known-working openmp driver from rocm into the trunk source tree
- deleting lots of stuff that didn't look necessary
- deleting some stuff that is broadly necessary, but the specifics are up for debate

The idea is to move language-independent but amdgcn-specific code into ROCMToolChain. Some has already gone in, others (like computeMSVCVersion) will likely move too.

Regarding the rest of the end to end stack:

- host plugin works, same code in trunk / rocm / aomp
- device plugin will work once it's building as openmp, modulo printf and malloc
- compiler backend will work for spmd kernels today, will work for generic kernels after D94648 <https://reviews.llvm.org/D94648> or equivalent lands

Regarding tests (which need the unimplemented bit filled in with the next patch):

- Runtime tests (for spmd kernels) are working locally with a jury rigged devicertl
- Codegen tests are proving awkward to update. Dropping line number would help, but there's still a difference in addrspace cast distribution. I'm hoping the scripts involved in generating the nvptx cases can be adapted.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94961/new/

https://reviews.llvm.org/D94961



More information about the cfe-commits mailing list