This patch adds a driver flag -fopenmp-target-new-runtime to optionally enable the new device runtime
bitcode library. This allows users to enable the new experimental runtime
before it becomes the default in the future.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Can we call this something other than new? We don't tend to remove command line arguments and this won't make much sense once it's the only runtime.
I'd be inclined to add an argument called 'use_legacy_runtime' or similar, which defaults to true, instead of this one. I.e. invert the logic
clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp | ||
---|---|---|
229 | Likewise here, how about amdgcn-legacy-. Taking advantage of the monorepo + no guarantees that mix&match clang and devicertl works. Side note, someone should probably rename the amdgcn devicertl to amdgpu, since the gfx10 stuff is the 'rdna' arch instead of the 'gcn' one. |
It's a rewrite of the current device runtime. This option will enable it.
I agree somewhat that it might be easier to just call this the legacy, I'm open to it. But we had other options like -enable-new-pm for awhile before it became the default so it's probably not a big deal.
clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp | ||
---|---|---|
229 | I think changing the BC name is something we can do any time, so just calling it libomptarget-new is fine for now. |
What is the option name? I tried not to read the source code but only the summary. Considering one day, I just want to figure out the answer via the commit log.
I think changing the BC name is something we can do any time, so just calling it libomptarget-new is fine for now.
Yes, let's not disrupt old workflows. The "default" runtime keeps it's name always and we swap it out at some point and remove the option (or make it a no-op for one release).
We removed multiple openmp ones between 12 and 13. We'll remove this one as well as soon as we can.
Commit message spells out the option. LG
Likewise here, how about amdgcn-legacy-. Taking advantage of the monorepo + no guarantees that mix&match clang and devicertl works.
Side note, someone should probably rename the amdgcn devicertl to amdgpu, since the gfx10 stuff is the 'rdna' arch instead of the 'gcn' one.