Page MenuHomePhabricator

JonChesterfield (Jon Chesterfield)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 11 2015, 1:08 PM (397 w, 4 d)

Recent Activity

Fri, Mar 24

JonChesterfield accepted D145831: [OpenMP][libomptarget] Add support for critical regions in AMD GPU device offloading.

OK, talked to some more people. Fences are fine inside the branch.

Fri, Mar 24, 10:34 AM · Restricted Project, Restricted Project

Thu, Mar 23

JonChesterfield added inline comments to D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions.
Thu, Mar 23, 6:41 PM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions.
  • fixes to frame lowering
Thu, Mar 23, 6:40 PM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions.
  • fixes to frame lowering
Thu, Mar 23, 6:37 PM · Restricted Project, Restricted Project
JonChesterfield retitled D146775: [amdgpu] Fix broken error detection in LDS lowering from Summary:[amdgpu] Fix broken error detection in LDS lowering to [amdgpu] Fix broken error detection in LDS lowering.
Thu, Mar 23, 6:25 PM · Restricted Project, Restricted Project
JonChesterfield retitled D146775: [amdgpu] Fix broken error detection in LDS lowering from Summary: [amdgpu] Fix broken error detection in LDS lowering to Summary:[amdgpu] Fix broken error detection in LDS lowering.
Thu, Mar 23, 5:42 PM · Restricted Project, Restricted Project
JonChesterfield requested review of D146775: [amdgpu] Fix broken error detection in LDS lowering.
Thu, Mar 23, 5:42 PM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions.
  • disable the always inlining pass while testing
Thu, Mar 23, 5:22 PM · Restricted Project, Restricted Project
JonChesterfield added a comment to D145831: [OpenMP][libomptarget] Add support for critical regions in AMD GPU device offloading.

I'm not confident that an acq_rel exchange in combination with the fences is correct. If it is correct, I think it must be suboptimal. Why have you gone with that implementation?

Thu, Mar 23, 5:16 PM · Restricted Project, Restricted Project
JonChesterfield retitled D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions from [WIP][amdgpu] Implement dynamic LDS accesses from non-kernel functions to [amdgpu] Implement dynamic LDS accesses from non-kernel functions.
Thu, Mar 23, 4:49 PM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions.
  • start testing, fix an inversion bug caught
Thu, Mar 23, 3:17 PM · Restricted Project, Restricted Project
JonChesterfield added inline comments to D146681: [libc] Add a loader utility for NVPTX architectures for testing.
Thu, Mar 23, 11:29 AM · Restricted Project, Restricted Project
JonChesterfield added inline comments to D146681: [libc] Add a loader utility for NVPTX architectures for testing.
Thu, Mar 23, 11:28 AM · Restricted Project, Restricted Project
JonChesterfield added a comment to D146681: [libc] Add a loader utility for NVPTX architectures for testing.

Error handling could be better but otherwise looks ok here

Thu, Mar 23, 10:47 AM · Restricted Project, Restricted Project
JonChesterfield accepted D146706: [OpenMP] Add tests on task in_reduction and depend clause.

More tests, great! Do you know how the first one fails on amdgpu?

Thu, Mar 23, 3:57 AM · Restricted Project, Restricted Project

Wed, Mar 22

JonChesterfield added a comment to D146681: [libc] Add a loader utility for NVPTX architectures for testing.

The argv/env setup is the same as on amdgpu, with different names for the allocators. Maybe pull that into a header that takes functions for the alloc/memcpy and call it from both loaders?

Wed, Mar 22, 11:25 PM · Restricted Project, Restricted Project

Tue, Mar 21

JonChesterfield updated the diff for D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions.
  • with frame setup, without tests, rebased on a refactored main
Tue, Mar 21, 7:05 PM · Restricted Project, Restricted Project
JonChesterfield committed rG78e6818049c7: [amdgpu][nfc] clang-format AMDGPULowerModuleLDS for easier merging (authored by JonChesterfield).
[amdgpu][nfc] clang-format AMDGPULowerModuleLDS for easier merging
Tue, Mar 21, 6:50 PM · Restricted Project, Restricted Project
JonChesterfield committed rGd70e7ea0d1e5: [amdgpu][nfc] Extract more functions in LowerModuleLDS, mark more methods static (authored by JonChesterfield).
[amdgpu][nfc] Extract more functions in LowerModuleLDS, mark more methods static
Tue, Mar 21, 6:26 PM · Restricted Project, Restricted Project
JonChesterfield committed rGe8ad2a051c16: [amdgpu][nfc] Comment and extract two functions in LowerModuleLDS (authored by JonChesterfield).
[amdgpu][nfc] Comment and extract two functions in LowerModuleLDS
Tue, Mar 21, 4:41 PM · Restricted Project, Restricted Project
JonChesterfield requested changes to D145831: [OpenMP][libomptarget] Add support for critical regions in AMD GPU device offloading.

OK then as written this is definitely going to blow up on us. We shouldn't implement the general purpose lock API if it deadlocks unless called in a very specific situation.

Tue, Mar 21, 3:20 PM · Restricted Project, Restricted Project
JonChesterfield added reviewers for D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs: t-tye, b-sumner.

I know nothing about memory models

Tue, Mar 21, 3:15 PM · Restricted Project, Restricted Project
JonChesterfield added a comment to D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs.

LGTM but Matt's the expert here

Tue, Mar 21, 11:46 AM · Restricted Project, Restricted Project

Mon, Mar 20

JonChesterfield added a comment to D145831: [OpenMP][libomptarget] Add support for critical regions in AMD GPU device offloading.

I'm really sure that locks at thread scope do not work on amdgpu or pre-volta nvptx. One of the threads wins the cas, all the others do not, and it immediately deadlocks.

Mon, Mar 20, 1:27 PM · Restricted Project, Restricted Project

Fri, Mar 17

JonChesterfield added a comment to D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs.

Or if the global total ordering is not necessary, should we go with acquire/release on the fences instead?

Given that we might need to flush global memory, I went with what the OpenCL folks do.

Fri, Mar 17, 1:40 PM · Restricted Project, Restricted Project
JonChesterfield added a comment to D146256: [libc] Enable integration tests targeting the GPU.

Libc could walk the ctors array before main and the dtors after, as normal function pointers. We might even be able to persuade hip or openmp to lower their ctor/dtors as function pointer in the same arrays, where they happen to launch a special kernel that walks at least one of them.

Fri, Mar 17, 11:22 AM · Restricted Project, Restricted Project
JonChesterfield accepted D146256: [libc] Enable integration tests targeting the GPU.

Global ctor/dtor is tricky. I have a suspicion hip and openmp have done different things there. When to run the dtor is a challenge, and how many threads the ctors run with may have implementation divergence.

Fri, Mar 17, 10:02 AM · Restricted Project, Restricted Project

Wed, Mar 15

JonChesterfield added a comment to D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs.

We are looking at workgroup fences here. We don't even need per GPU fencing. I think this discussion derailed a bit.

Wed, Mar 15, 5:36 PM · Restricted Project, Restricted Project
JonChesterfield added a comment to D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs.

That seems expensive to the extent that it probably isn't implemented. @arsenm how do we usually deal with that?

Why wouldn't it be implemented? The exact treatment varies per subtarget but implies setting some cache bits and using some cache flush instructions

Wed, Mar 15, 3:17 PM · Restricted Project, Restricted Project
JonChesterfield added a comment to D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs.

Do we actually have seq_cst ordering on GPUS? It means every thread sees the same ordering, which I'd guess has to be done by a RMW atomic operations. Maybe a fetch_add. Plus these aren't scoped, so the memory underlying it has to be accessible from all threads, which probably means it goes to host shared memory. Aka fetch_add on CPU memory to get the ordering relation. That seems expensive to the extent that it probably isn't implemented. @arsenm how do we usually deal with that?

Wed, Mar 15, 1:28 PM · Restricted Project, Restricted Project
JonChesterfield added a comment to D145913: [libc] Add initial support for an RPC mechanism for the GPU.

The GPU plumbing looks ok to me. Implementing the minimal can-write-stderr version first is good too, details can be revised in tree as needed.

Wed, Mar 15, 9:14 AM · Restricted Project, Restricted Project

Mon, Mar 13

JonChesterfield added a reviewer for D145941: [Clang] Always use --no-undefined when linking AMDGPU images: Restricted Project.

Adding the amdgpu reviewer group. This change might be contentious - we currently treat various broken code as calls to trap on the grounds that those functions might not be executed. By analogy, functions that call undefined functions but are not themselves called might be considered not a problem.

Mon, Mar 13, 7:52 AM · Restricted Project, Restricted Project

Sun, Mar 12

JonChesterfield committed rGd3dda422bfd1: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD (authored by JonChesterfield).
[amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD
Sun, Mar 12, 6:48 AM · Restricted Project, Restricted Project
JonChesterfield closed D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
Sun, Mar 12, 6:48 AM · Restricted Project, Restricted Project

Fri, Mar 10

JonChesterfield added inline comments to D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
Fri, Mar 10, 10:14 AM · Restricted Project, Restricted Project

Thu, Mar 9

JonChesterfield updated the summary of D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
Thu, Mar 9, 6:41 PM · Restricted Project, Restricted Project
JonChesterfield added a comment to D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.

I think that's all comments fixed except for teaching the verifier about range metadata which should be done separately to this.

Thu, Mar 9, 6:37 PM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
  • review comments, update tests
Thu, Mar 9, 6:35 PM · Restricted Project, Restricted Project
JonChesterfield added a comment to D118493: Set rpath on openmp executables.

That is great news, phabricator's list of branches has mislead me. Thanks!

Thu, Mar 9, 1:51 PM · Restricted Project, Restricted Project, Restricted Project
JonChesterfield added a comment to D118493: Set rpath on openmp executables.

Duplicating a comment from the commit thread so it's easier for me to find later.

Thu, Mar 9, 12:48 PM · Restricted Project, Restricted Project, Restricted Project

Wed, Mar 8

JonChesterfield added a comment to rG9b9d08111b61: Set rpath on openmp executables.

You've applied this to the release branches going back as far as 14. It's a user facing breaking change. As in people who have a working openmp toolchain and update to the point release which looks like a semantic versioning thing indicating minor bugfixes will experience immediate cessation of function. I consider that very poor user experience and do not agree with the scope of breakage.

Wed, Mar 8, 11:48 AM
JonChesterfield added a comment to D118493: Set rpath on openmp executables.

Reporting after another round of discussion. I don't have much support from the llvm openmp working group that we should maintain the current divergence from libc++ and the like so I'm backing down. Let's revert this and regress for all users who don't install globally.

Wed, Mar 8, 8:04 AM · Restricted Project, Restricted Project, Restricted Project

Mon, Mar 6

JonChesterfield added a comment to D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions.

Looking at AMDGPUPromoteAlloca.cpp, the spilling to LDS is disabled for any function which accesses any global that represents dynamic LDS.

Mon, Mar 6, 8:45 AM · Restricted Project, Restricted Project
JonChesterfield accepted D142174: [OpenMP] Don't set rpath for system paths.

I'm happy with this but agree that "what might be a system path?" is a tricky heuristic. What we want is to exclude the places that the application will search anyway, but that's OS dependent. I'm mostly worried about toolchains installed under /opt or under $HOME so this is good for me. It's also easy to pull later if we reconsider.

Mon, Mar 6, 8:09 AM · Restricted Project, Restricted Project

Sat, Feb 25

JonChesterfield added inline comments to D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
Sat, Feb 25, 2:38 AM · Restricted Project, Restricted Project
JonChesterfield updated subscribers of D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
Sat, Feb 25, 2:36 AM · Restricted Project, Restricted Project
JonChesterfield added a comment to D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.

This is still a NFC in terms of machine code but introducing the metadata during LDS lowering introduces a lot of churn into the tests, leaving updating those for a later patch.

Sat, Feb 25, 2:35 AM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
  • drop one function, move a second out of the header
Sat, Feb 25, 2:28 AM · Restricted Project, Restricted Project
JonChesterfield planned changes to D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions.

Needs to be rebased on D144221

Sat, Feb 25, 2:23 AM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
  • factor out the md parse
Sat, Feb 25, 2:22 AM · Restricted Project, Restricted Project
JonChesterfield updated the summary of D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
Sat, Feb 25, 2:03 AM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
  • Set the metadata in lowermodulelds - test noise update still todo
Sat, Feb 25, 2:02 AM · Restricted Project, Restricted Project

Fri, Feb 24

JonChesterfield updated the diff for D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
  • rebase
Fri, Feb 24, 7:29 AM · Restricted Project, Restricted Project
JonChesterfield committed rGbf579a7049a6: [amdgpu] Change LDS lowering default to hybrid (authored by JonChesterfield).
[amdgpu] Change LDS lowering default to hybrid
Fri, Feb 24, 7:28 AM · Restricted Project, Restricted Project
JonChesterfield closed D141852: [amdgpu] Change LDS lowering default to hybrid.
Fri, Feb 24, 7:27 AM · Restricted Project, Restricted Project
JonChesterfield added a comment to D141852: [amdgpu] Change LDS lowering default to hybrid.

Checked in the new test case (codegen for hybrid path, previously only checking IR) before this patch in order to highlight the s_trap -> working change. Will commit this as is to catch up with rocm and then change to absolute_symbols (as in D144221), patching trunk first so that rocm picks up the change without manual intervention.

Fri, Feb 24, 7:27 AM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D141852: [amdgpu] Change LDS lowering default to hybrid.
  • update test, no longer emitting traps
Fri, Feb 24, 7:19 AM · Restricted Project, Restricted Project
JonChesterfield committed rG8e2f8387cc3e: [amdgpu] Add test case showing bug prior to D141852 (authored by JonChesterfield).
[amdgpu] Add test case showing bug prior to D141852
Fri, Feb 24, 7:15 AM · Restricted Project, Restricted Project

Feb 23 2023

JonChesterfield planned changes to D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
Feb 23 2023, 6:25 AM · Restricted Project, Restricted Project

Feb 22 2023

JonChesterfield added a comment to D143306: [Driver] Default to -fno-openmp-implicit-rpath.

If fedora has a specific set of paths it rejects in DT_RUNPATH

  • and libomptarget is on one of those by default
  • and user executables find it there
  • and we can detect we're building on fedora

then we can disable the rpath assignment for fedora installs to system root, while keeping openmp binaries working when the toolchain is installed elsewhere.

Feb 22 2023, 3:43 PM · Restricted Project, Restricted Project
JonChesterfield requested review of D141852: [amdgpu] Change LDS lowering default to hybrid.
Feb 22 2023, 9:04 AM · Restricted Project, Restricted Project
JonChesterfield added inline comments to D141852: [amdgpu] Change LDS lowering default to hybrid.
Feb 22 2023, 9:04 AM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D141852: [amdgpu] Change LDS lowering default to hybrid.
  • Change to hybrid. Reintroduces code block deleted by git misfire
Feb 22 2023, 9:01 AM · Restricted Project, Restricted Project
JonChesterfield accepted D144505: [Clang] Add options in LTO mode when cross compiling for AMDGPU.

NVM the above, all the other call sites to addLTOOptions have that test in them so it must be fine

Feb 22 2023, 8:06 AM · Restricted Project, Restricted Project
JonChesterfield added inline comments to D144505: [Clang] Add options in LTO mode when cross compiling for AMDGPU.
Feb 22 2023, 8:05 AM · Restricted Project, Restricted Project
JonChesterfield requested changes to D143306: [Driver] Default to -fno-openmp-implicit-rpath.

Marking this as "no" because as far as I can tell it'll stop anyone running openmp built from source which constitutes a severe regression and I am struggling to find information on what Fedora are doing here. This link https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild suggests changing clang to not set rpath when it would be aiming at a "system directory", which is unfortunately platform specific magic strings, would be fine. That is, maybe Fedora is OK with setting RPATH as long as it isn't set to /usr/lib64 or possibly other unspecified strings.

Feb 22 2023, 7:12 AM · Restricted Project, Restricted Project
JonChesterfield added inline comments to D143306: [Driver] Default to -fno-openmp-implicit-rpath.
Feb 22 2023, 6:43 AM · Restricted Project, Restricted Project
JonChesterfield added a comment to D143306: [Driver] Default to -fno-openmp-implicit-rpath.

So what is this configuration file? Joseph found a Gentoo blog post https://blogs.gentoo.org/mgorny/2022/10/07/clang-in-gentoo-now-sets-default-runtimes-via-config-file/ and I don't have a clang.cfg file in my install dir

Feb 22 2023, 6:39 AM · Restricted Project, Restricted Project
JonChesterfield added a comment to D143306: [Driver] Default to -fno-openmp-implicit-rpath.

I don't know how this configuration file works. Running clang from the build directory is useful when developing but to avoid user facing regression we'd need it to run successfully from the install directory. The use case is someone builds trunk or a release on a HPC machine and expects it to run without hacking with the environment variables, which is especially important as module systems managing the machine are likely to be hacking with the environment variables.

Feb 22 2023, 1:44 AM · Restricted Project, Restricted Project

Feb 21 2023

JonChesterfield added a comment to D143306: [Driver] Default to -fno-openmp-implicit-rpath.

I don't mind hugely what mechanism is used but would really like clang++ -fopenmp foo.cpp to build a program that runs. How can we preserve that 'works' feature without setting rpath on the binary?

Feb 21 2023, 9:14 AM · Restricted Project, Restricted Project

Feb 16 2023

JonChesterfield added inline comments to D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
Feb 16 2023, 5:42 PM · Restricted Project, Restricted Project
JonChesterfield added inline comments to D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
Feb 16 2023, 5:00 PM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions.
  • delete a print statement
Feb 16 2023, 4:08 PM · Restricted Project, Restricted Project
JonChesterfield updated the summary of D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions.
Feb 16 2023, 4:07 PM · Restricted Project, Restricted Project
JonChesterfield updated the summary of D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions.
Feb 16 2023, 4:06 PM · Restricted Project, Restricted Project
JonChesterfield added a comment to D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.

Created D144233 (which was supposed to be a diff relative to this patch but actually has all the line noise in it anyway).
That is not ready to go but shows how function scope external LDS can be layered on the same metadata scheme proposed here. Main difference is that we really don't know that address until codegen time, at least as presently implemented.

Feb 16 2023, 4:02 PM · Restricted Project, Restricted Project
JonChesterfield requested review of D144233: [amdgpu] Implement dynamic LDS accesses from non-kernel functions.
Feb 16 2023, 3:59 PM · Restricted Project, Restricted Project
JonChesterfield added inline comments to D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
Feb 16 2023, 3:58 PM · Restricted Project, Restricted Project
JonChesterfield requested review of D144221: [amdgpu][nfc] Replace ad hoc LDS frame recalculation with absolute_symbol MD.
Feb 16 2023, 2:46 PM · Restricted Project, Restricted Project

Feb 15 2023

Herald added projects to D25878: IR, X86: Understand !range metadata on global variables.: Restricted Project, Restricted Project.
Feb 15 2023, 5:41 AM · Restricted Project, Restricted Project

Feb 13 2023

JonChesterfield accepted D139839: [libc] Add a loader utility for AMDHSA architectures for testing.

I don't rate the copy&paste but I suppose we can fix that later if we choose to. The implementation is probably alright as it was copied from things that are probably alright, and if it turns out to be buggy, we'll fix it when that arises.

Feb 13 2023, 6:39 AM · Restricted Project, Restricted Project
JonChesterfield added a comment to D143775: [Libomptarget] Implement the host memory allocator with fine grained memory.

I interpreted it to mean that it's pinned memory that the device can access. I'm pretty sure coarse memory fits the bill there

Feb 13 2023, 5:29 AM · Restricted Project, Restricted Project
JonChesterfield added a comment to D143775: [Libomptarget] Implement the host memory allocator with fine grained memory.

I believe coarse/fine grain and accessibility are orthogonal concepts. If the coarse grain pool happens to have the accessibility properties of "target_host", then it'll work. That may be target specific and even order of pool iteration specific.

Feb 13 2023, 3:10 AM · Restricted Project, Restricted Project

Feb 4 2023

JonChesterfield added reviewers for D143306: [Driver] Default to -fno-openmp-implicit-rpath: tianshilei1992, ye-luo, RaviNarayanaswamy.

Added some people I can remember from the original discussion.

Feb 4 2023, 5:24 AM · Restricted Project, Restricted Project

Jan 30 2023

JonChesterfield updated the summary of D141852: [amdgpu] Change LDS lowering default to hybrid.
Jan 30 2023, 6:00 AM · Restricted Project, Restricted Project
JonChesterfield added a comment to D142820: [OpenMP] Delete old plugins.

Shall we wait to see if people using the nextgen report breakages before deleting the current/previous? I don't think the latest branch has actually shipped to anyone yet

Jan 30 2023, 5:44 AM · Restricted Project, Restricted Project

Jan 25 2023

JonChesterfield committed rGbfe4514add5b: [amdgpuarch] Delete stray hsa #include line (authored by JonChesterfield).
[amdgpuarch] Delete stray hsa #include line
Jan 25 2023, 1:41 PM · Restricted Project, Restricted Project

Jan 24 2023

JonChesterfield added a comment to D118493: Set rpath on openmp executables.

That works if you have one toolchain installed globally or you are happy to cobble together a working system using environment variables. If you have multiple toolchains, they can't all sit in the global directory. If you don't have root, you can't install them there.

Jan 24 2023, 12:26 AM · Restricted Project, Restricted Project, Restricted Project

Jan 23 2023

JonChesterfield accepted D142399: [Libomptarget] Use the nextgen plugins by default..

I think we should land this (sounds like we need to default a test to the old plugin as part of the commit, if our CI is running?) asap. We don't really have the test coverage or resources to reliably manage both new and old plugins over the long haul.

Jan 23 2023, 1:16 PM · Restricted Project, Restricted Project

Jan 21 2023

JonChesterfield added a comment to D141227: [OpenMP][libomptarget] Implement memory lock/unlock API in NextGen plugins.

If you don't mind keeping an eye on CI and reverting it on breakage feel free to land it, I'm away from my desk

Jan 21 2023, 8:57 AM · Restricted Project, Restricted Project
JonChesterfield added a comment to D141227: [OpenMP][libomptarget] Implement memory lock/unlock API in NextGen plugins.

I think it's good to go. If this is something you've tried in qmcpack so we have a real world example of it improving things then even better.

Jan 21 2023, 8:39 AM · Restricted Project, Restricted Project
JonChesterfield committed rG2257e3d2e55a: [openmp] Workaround for HSA in issue 60119 (authored by JonChesterfield).
[openmp] Workaround for HSA in issue 60119
Jan 21 2023, 4:01 AM · Restricted Project, Restricted Project
JonChesterfield closed D142249: [openmp] Workaround for HSA in issue 60119.
Jan 21 2023, 4:01 AM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D142249: [openmp] Workaround for HSA in issue 60119.
  • drop atomic
Jan 21 2023, 4:00 AM · Restricted Project, Restricted Project
JonChesterfield added a comment to D142249: [openmp] Workaround for HSA in issue 60119.

Do we care about de-registration happening during init? It does not happen in the reproducer case when the dynamic loader loads the user libraries, but I think it could happen if one of the libraries HSA loads does a dlopen and dlclose in its constructor on a third library that's using OpenMP. Typed out like that it sounds somewhat ridiculous and hypothetical, so I'm fine without.

Jan 21 2023, 2:58 AM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D142249: [openmp] Workaround for HSA in issue 60119.
  • address review feedback
Jan 21 2023, 2:46 AM · Restricted Project, Restricted Project

Jan 20 2023

JonChesterfield updated the diff for D142249: [openmp] Workaround for HSA in issue 60119.
  • simplify
Jan 20 2023, 3:38 PM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D142249: [openmp] Workaround for HSA in issue 60119.
  • clean up
Jan 20 2023, 3:30 PM · Restricted Project, Restricted Project
JonChesterfield updated the diff for D142249: [openmp] Workaround for HSA in issue 60119.
  • clean up
Jan 20 2023, 3:27 PM · Restricted Project, Restricted Project
JonChesterfield added a comment to D142249: [openmp] Workaround for HSA in issue 60119.

This is trending in the direction of D142008. It's essentially the same workaround but restructured aiming to minimise blast radius.

Jan 20 2023, 2:46 PM · Restricted Project, Restricted Project