Page MenuHomePhabricator

jdoerfert (Johannes Doerfert)
Lawrence Livermore National Laboratory

Projects

User does not belong to any projects.

User Details

User Since
Jan 30 2014, 6:27 AM (488 w, 8 h)

Recent Activity

Yesterday

jdoerfert added a comment to D152081: [Attributor] Add lightweight version for attribute deduction only. (WIP).

I have been on this the last two days, will need till the end of the week for patches and proper eval across CTMark.

Wed, Jun 7, 4:26 PM · Restricted Project, Restricted Project

Tue, Jun 6

jdoerfert accepted D149162: [Clang][OpenMP][IRBuilder] Move registerTargetGlobalVariable & getAddrOfDeclareTargetVar into the OMPIRBuilder.

I browsed it, looks fine.

Tue, Jun 6, 9:14 AM · Restricted Project, Restricted Project, Restricted Project

Mon, Jun 5

jdoerfert committed rGcb17c48fdd8c: [Attributor] Identify and remove no-op fences (authored by jdoerfert).
[Attributor] Identify and remove no-op fences
Mon, Jun 5, 5:14 PM · Restricted Project, Restricted Project, Restricted Project
jdoerfert added a comment to D152081: [Attributor] Add lightweight version for attribute deduction only. (WIP).

Stupid question: could the attributer become an analysis? Then you can query and do caching?

It learns new attributes over time and becomes an even more powerful analysis.

Mon, Jun 5, 5:13 PM · Restricted Project, Restricted Project
jdoerfert added a comment to D152081: [Attributor] Add lightweight version for attribute deduction only. (WIP).

I saw this, will comment tomorrow, hopefully with actual results.

Mon, Jun 5, 5:10 PM · Restricted Project, Restricted Project
jdoerfert committed rG532356e82d9b: [Attributor] Merge ranges by expansion, avoid unknown ranges (authored by jdoerfert).
[Attributor] Merge ranges by expansion, avoid unknown ranges
Mon, Jun 5, 4:54 PM · Restricted Project, Restricted Project
jdoerfert committed rG87d13b877617: [Attributor][NFC] Precommit vector write range tests (authored by jdoerfert).
[Attributor][NFC] Precommit vector write range tests
Mon, Jun 5, 4:54 PM · Restricted Project, Restricted Project
jdoerfert committed rG6629a96a8ce5: [OpenMP] Improve default block count selection fow low block counts (authored by jdoerfert).
[OpenMP] Improve default block count selection fow low block counts
Mon, Jun 5, 4:36 PM · Restricted Project, Restricted Project
jdoerfert closed D152014: [OpenMP] Improve default block count selection fow low block counts.
Mon, Jun 5, 4:36 PM · Restricted Project, Restricted Project
jdoerfert committed rG8f4fadd1b4cb: [OpenMP] Use "kernel" attribute consistently (authored by jdoerfert).
[OpenMP] Use "kernel" attribute consistently
Mon, Jun 5, 4:34 PM · Restricted Project, Restricted Project
jdoerfert committed rG949830af4246: [OpenMP] Mark kernels as mustprogress (authored by jdoerfert).
[OpenMP] Mark kernels as mustprogress
Mon, Jun 5, 4:34 PM · Restricted Project, Restricted Project, Restricted Project
jdoerfert committed rGdbbe9b37765c: [Attributor] Create `AAMustProgress` for the `mustprogress` attribute (authored by jdoerfert).
[Attributor] Create `AAMustProgress` for the `mustprogress` attribute
Mon, Jun 5, 4:34 PM · Restricted Project, Restricted Project
jdoerfert closed D94740: [Attributor] Create `AAMustProgress` for the `mustprogress` attribute.
Mon, Jun 5, 4:34 PM · Restricted Project, Restricted Project
jdoerfert accepted D149890: [OpenMP][libomp] Allow white spcaes in OMP_TARGET_OFFLOAD value.

LG, all I tried to say is that we should be consistent across env vars. Accepting whitespaces around stuff is probably the right choice.

Mon, Jun 5, 1:46 PM · Restricted Project, Restricted Project

Fri, Jun 2

jdoerfert added a comment to D94740: [Attributor] Create `AAMustProgress` for the `mustprogress` attribute.

I'll fix LLVM.tools/UpdateTestChecks/update_test_checks::check_attrs.test before committing.

Fri, Jun 2, 6:05 PM · Restricted Project, Restricted Project
jdoerfert updated the summary of D94740: [Attributor] Create `AAMustProgress` for the `mustprogress` attribute.
Fri, Jun 2, 3:54 PM · Restricted Project, Restricted Project
jdoerfert updated the diff for D94740: [Attributor] Create `AAMustProgress` for the `mustprogress` attribute.

rebase

Fri, Jun 2, 3:53 PM · Restricted Project, Restricted Project
jdoerfert added a comment to D152028: [libc][Docs] Add some motivation for the GPU libc.

Honestly, I feel this is too pessimistic and short sighted. I understand we likely don't want everything on a GPU, maybe event can't, but I would not be so eager to guess for some of the things mentioned here. File I/O, for one, is on my TODO list. The entire "we do not want dependencies" is nice, but also somewhat irrelevant given that the vendor libs are linked in (to this day) anyway. Sure, we do not link them into libcgpu, but that is not because of some grant design, IMHO, but rather because we didn't need to (yet). Once libmgpu arrives, we will have to (or link libdevice later), so we will do what the motivation now states we don't want to.

Fri, Jun 2, 3:47 PM · Restricted Project, Restricted Project
jdoerfert added a comment to D152035: [OpenMP] Only initialize a single queue/stream/event eagerly.

FWIW, currently talking to @jplehr and @mhalk about the queue <-> stream mapping. Might be a follow up.

Fri, Jun 2, 3:34 PM · Restricted Project
jdoerfert updated the diff for D152014: [OpenMP] Improve default block count selection fow low block counts.

Force a power of two for the "middle" case, ensure thread_limit is honored.

Fri, Jun 2, 3:25 PM · Restricted Project, Restricted Project
jdoerfert commandeered D152014: [OpenMP] Improve default block count selection fow low block counts.
Fri, Jun 2, 3:24 PM · Restricted Project, Restricted Project
jdoerfert updated the diff for D152014: [OpenMP] Improve default block count selection fow low block counts.

Ensure thread_limit is honored.

Fri, Jun 2, 2:58 PM · Restricted Project, Restricted Project
jdoerfert added inline comments to D152014: [OpenMP] Improve default block count selection fow low block counts.
Fri, Jun 2, 2:46 PM · Restricted Project, Restricted Project
jdoerfert added a reviewer for D152035: [OpenMP] Only initialize a single queue/stream/event eagerly: ye-luo.
Fri, Jun 2, 2:43 PM · Restricted Project
jdoerfert requested review of D152035: [OpenMP] Only initialize a single queue/stream/event eagerly.
Fri, Jun 2, 2:43 PM · Restricted Project
jdoerfert added a comment to D151173: [RFC][flang] Experimental device build of Flang runtime..

Do we really need to support "old" CUDA style offloading/linking? If so, we also need HIP, SYCL, ...
I would suggest only to support the "new" offload linker. That's where Clang (driver) is headed anyway, I think.

Fri, Jun 2, 2:31 PM · Restricted Project, Restricted Project
jdoerfert added inline comments to D152014: [OpenMP] Improve default block count selection fow low block counts.
Fri, Jun 2, 10:58 AM · Restricted Project, Restricted Project
jdoerfert requested review of D152014: [OpenMP] Improve default block count selection fow low block counts.
Fri, Jun 2, 10:48 AM · Restricted Project, Restricted Project

Mon, May 29

jdoerfert requested changes to D151638: [TRE] icmp does not escape an alloca.

ICMP, in general, captures. Check the tests for the capture tracker for examples.

Mon, May 29, 11:27 AM · Restricted Project, Restricted Project

Mon, May 22

jdoerfert accepted D151138: [OpenMP] Insert missing variable update inside loop.
Mon, May 22, 11:07 PM · Restricted Project, Restricted Project

Thu, May 18

jdoerfert committed rGd037b237de6a: [Attributor] Teach AAMemoryLocation about constant GPU memory (authored by jdoerfert).
[Attributor] Teach AAMemoryLocation about constant GPU memory
Thu, May 18, 1:28 PM · Restricted Project, Restricted Project
jdoerfert committed rG787d6bb59fea: [Attributor][OpenMP-Opt][NFC] Run the update test checks script (authored by jdoerfert).
[Attributor][OpenMP-Opt][NFC] Run the update test checks script
Thu, May 18, 1:28 PM · Restricted Project, Restricted Project
jdoerfert committed rGbda72457a84a: [OpenMP] Add JIT and IR tests (authored by jdoerfert).
[OpenMP] Add JIT and IR tests
Thu, May 18, 1:28 PM · Restricted Project, Restricted Project
jdoerfert committed rG2e3c6c3f80ee: [OpenMP][NFC] Eliminate warning (authored by jdoerfert).
[OpenMP][NFC] Eliminate warning
Thu, May 18, 1:28 PM · Restricted Project, Restricted Project
jdoerfert closed D150623: [OpenMP] Add JIT and IR tests.
Thu, May 18, 1:28 PM · Restricted Project, Restricted Project

Mon, May 15

jdoerfert updated the diff for D150623: [OpenMP] Add JIT and IR tests.

update according to comments, more tests (consolidated)

Mon, May 15, 5:56 PM · Restricted Project, Restricted Project
jdoerfert added inline comments to D150623: [OpenMP] Add JIT and IR tests.
Mon, May 15, 4:37 PM · Restricted Project, Restricted Project
jdoerfert accepted D150608: [clang] Convert several OpenMP tests to opaque pointers.

LG, assuming these are stable now.

Mon, May 15, 4:36 PM · Restricted Project, Restricted Project
jdoerfert added inline comments to D150623: [OpenMP] Add JIT and IR tests.
Mon, May 15, 4:11 PM · Restricted Project, Restricted Project
Herald added a project to D94743: [Attributor][FIX] Do not delete non`-mustprogress` calls: Restricted Project.

Termination is only a side-effect if mustprogress is set, otherwise it is not.
I will rebase this and hope to land it soon after.

Mon, May 15, 4:04 PM · Restricted Project, Restricted Project
jdoerfert added a comment to D150608: [clang] Convert several OpenMP tests to opaque pointers.

Did you manually update these tests?

Mon, May 15, 3:46 PM · Restricted Project, Restricted Project
jdoerfert requested review of D150623: [OpenMP] Add JIT and IR tests.
Mon, May 15, 3:44 PM · Restricted Project, Restricted Project
jdoerfert added a reviewer for D148778: [flang][openmp] Fortran offloading test: jsjodin.
Mon, May 15, 3:15 PM · Restricted Project, Restricted Project, Restricted Project
jdoerfert added reviewers for D148778: [flang][openmp] Fortran offloading test: jhuber6, tianshilei1992.

Looks reasonable, @jhuber6 , @tianshilei1992, wdyt?

Mon, May 15, 3:15 PM · Restricted Project, Restricted Project, Restricted Project
jdoerfert added a comment to D147441: [CMake] Attempt to merge runtimes and projects compilation databases.

This works now? What are the leftover problems?

Mon, May 15, 9:26 AM · Restricted Project, Restricted Project
jdoerfert added inline comments to D147321: [RFC][Flang][OMPIRBuilder] Add nounwind attribute to the LLVM IR.
Mon, May 15, 8:40 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

May 5 2023

jdoerfert committed rWb1023e53fddd: [LLPP'23] Extend the PC (authored by jdoerfert).
[LLPP'23] Extend the PC
May 5 2023, 2:34 PM · Restricted Project
jdoerfert committed rWccacbc77d7d8: [LLPP'23] Extend the PC (authored by jdoerfert).
[LLPP'23] Extend the PC
May 5 2023, 2:32 PM · Restricted Project
jdoerfert committed rW37bb39468761: [LLPP'23] Add initial LLPP'23 content (authored by jdoerfert).
[LLPP'23] Add initial LLPP'23 content
May 5 2023, 12:48 PM · Restricted Project

May 4 2023

jdoerfert updated subscribers of D148778: [flang][openmp] Fortran offloading test.
May 4 2023, 8:34 PM · Restricted Project, Restricted Project, Restricted Project
jdoerfert added a comment to D149890: [OpenMP][libomp] Allow white spcaes in OMP_TARGET_OFFLOAD value.

Do we trim any other option? I am confused by this.

May 4 2023, 8:33 PM · Restricted Project, Restricted Project
jdoerfert updated subscribers of D148778: [flang][openmp] Fortran offloading test.

@tianshilei1992 @jhuber6, works for me, anything jumps out on your end?

May 4 2023, 8:32 PM · Restricted Project, Restricted Project, Restricted Project

May 3 2023

jdoerfert accepted D149666: [OpenMP][OMPIRBuilder] Migrate MapCombinedInfoTy from Clang to OpenMPIRBuilder.

LG

May 3 2023, 5:00 PM · Restricted Project, Restricted Project, Restricted Project

May 2 2023

jdoerfert added inline comments to D149666: [OpenMP][OMPIRBuilder] Migrate MapCombinedInfoTy from Clang to OpenMPIRBuilder.
May 2 2023, 5:25 PM · Restricted Project, Restricted Project, Restricted Project
jdoerfert added inline comments to D148370: [Clang][Flang][OpenMP] Add loadOffloadInfoMetadata and createOffloadEntriesAndInfoMetadata into OMPIRBuilder's finalize and initialize.
May 2 2023, 5:23 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
jdoerfert added a comment to D147641: [Flang][OpenMP][MLIR] Filter emitted code depending on declare target and device.

generating functions and then deleting them is costly and will likely not work. We need to not emit them in the first place.

May 2 2023, 11:59 AM · Restricted Project, Restricted Project
jdoerfert added inline comments to D149666: [OpenMP][OMPIRBuilder] Migrate MapCombinedInfoTy from Clang to OpenMPIRBuilder.
May 2 2023, 10:50 AM · Restricted Project, Restricted Project, Restricted Project
jdoerfert added inline comments to D148370: [Clang][Flang][OpenMP] Add loadOffloadInfoMetadata and createOffloadEntriesAndInfoMetadata into OMPIRBuilder's finalize and initialize.
May 2 2023, 10:24 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
jdoerfert accepted D149623: [OpenMP] Fix libomptarget test mapping/ompx_hold/struct.c.
May 2 2023, 10:20 AM · Restricted Project, Restricted Project

May 1 2023

jdoerfert accepted D149617: [OpenMP] Make `libomptarget` link against `libomp`.

LG

May 1 2023, 3:15 PM · Restricted Project, Restricted Project
jdoerfert accepted D149557: [OpenMP] Handle function calls from `libomp` to `libomptarget` correctly.

LG, with assertion

May 1 2023, 2:54 PM · Restricted Project, Restricted Project
jdoerfert accepted D149537: ValueTracking: Handle phi in computeKnownFPClass.

LG, though I'd prefer if we could change the signed bit stuff such that we don't need "is first", hence use 4 states and define |= properly.

May 1 2023, 2:51 PM · Restricted Project, Restricted Project
jdoerfert added inline comments to D149557: [OpenMP] Handle function calls from `libomp` to `libomptarget` correctly.
May 1 2023, 1:36 PM · Restricted Project, Restricted Project
jdoerfert added inline comments to D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs.
May 1 2023, 1:32 PM · Restricted Project, Restricted Project
jdoerfert accepted D149490: [OpenMP] In libomptarget, assume alignment at powers of two.

Add this to the commit message as it is the important part:
The fix was to only look for alignments that are powers of 2.

May 1 2023, 1:31 PM · Restricted Project, Restricted Project
jdoerfert added a comment to D149527: [libc] Support global constructors and destructors on NVPTX.

Glad you could at least hack this. If NVIDIA ever fixed their tools we can get rid of this stuff.

May 1 2023, 1:20 PM · Restricted Project, Restricted Project

Apr 27 2023

jdoerfert added a comment to D149340: [AMDGPU] Place global constructors in .init_array and .fini_array.

So we have different schemes for AMD and NVIDIA? That does not sound good.

Apr 27 2023, 3:04 PM · Restricted Project, Restricted Project
jdoerfert added inline comments to D124652: [OpenMP] [OMPT] [amdgpu] [5/8] Implemented device init/fini/load callbacks.
Apr 27 2023, 3:00 PM · Restricted Project, Restricted Project
jdoerfert reopened D145527: Use nvptxcompile library..

is this still supposed to land?

Apr 27 2023, 1:37 PM · Restricted Project, Restricted Project
jdoerfert added a comment to D149340: [AMDGPU] Place global constructors in .init_array and .fini_array.

Does this work for non-AMD hardware?

Apr 27 2023, 10:56 AM · Restricted Project, Restricted Project

Apr 25 2023

jdoerfert added a comment to D149212: [MCParser] Add warning for zero-size .fill.

test case missing.

Apr 25 2023, 4:09 PM · Restricted Project, Restricted Project
jdoerfert accepted D149194: [libc][Docs] Begin improving documentation for the GPU libc.

LG

Apr 25 2023, 3:18 PM · Restricted Project, Restricted Project
jdoerfert added inline comments to D149041: [IVDescriptors] Add assert to isInductionPhi to check for invalid Phis.
Apr 25 2023, 11:54 AM · Restricted Project, Restricted Project
jdoerfert added a comment to D149130: [PartialInlining] Fix incorrect costing when IR has unreachable BBs.

Generally, I don't believe we should run elimination in all passes.
Instead, use the dominance tree to walk the blocks of a function, or walk it by manually following the control edges.

Apr 25 2023, 11:52 AM · Restricted Project, Restricted Project
jdoerfert accepted D147172: [OpenMP][Flang][MLIR] Add lowering of TargetOp for host codegen.
Apr 25 2023, 10:44 AM · Restricted Project, Restricted Project, Restricted Project

Apr 21 2023

jdoerfert added a comment to D148943: [libc] Enable multiple threads to use RPC on the GPU.

Drive

Apr 21 2023, 11:05 AM · Restricted Project, Restricted Project

Apr 20 2023

jdoerfert added a comment to D148849: [OpenMP-OPT] Remove limit for heap to stack conversions of __kmpc_alloc_shared allocations.

Make a test for the attributor/openmp-opt, also don't use O2 in tests, the IR only test is sufficient.

Apr 20 2023, 3:23 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
jdoerfert added a comment to D147511: [OpenMP] Fix nextgen plugin behavior when passing negative thread_limit clause.

Just remove this part to make it consistent while it will still avoid the overflow:

if (static_cast<int32_t>(ThreadLimitClause[0]) <= 0)
   ThreadLimitClause[0] = PreferredNumThreads;
 else
Apr 20 2023, 2:59 PM · Restricted Project, Restricted Project
jdoerfert added a comment to D148805: [Clang][OpenMP] Avoid emitting a __kmpc_alloc_shared for implicit casts which do not have their address taken.

I don't understand the concerns. A array to ptr decay, by itself, does not capture the pointer such that multiple threads can access it. You need to check the uses of the decay and decide based on them. Thus, I think this is fine.

Apr 20 2023, 10:01 AM · Restricted Project, Restricted Project, Restricted Project

Apr 19 2023

jdoerfert requested changes to D147511: [OpenMP] Fix nextgen plugin behavior when passing negative thread_limit clause.
Apr 19 2023, 4:48 PM · Restricted Project, Restricted Project
jdoerfert accepted D148288: [libc] Update RPC interface for system utilities on the GPU.

We can reduce the bits from 4 to 2 later if that results in less complexity or better performance. I don't think that is in itself a blocker. When we see the patch to change it we can probably easily tell if it is simpler, and we hopefully have more stress testing then to trust whatever changes we make.

Apr 19 2023, 10:09 AM · Restricted Project, Restricted Project
jdoerfert accepted D148048: ValueTracking: Fix backwards handling of fpclass assumes.

LG

Apr 19 2023, 9:27 AM · Restricted Project, Restricted Project
jdoerfert added a comment to D147511: [OpenMP] Fix nextgen plugin behavior when passing negative thread_limit clause.

Apologies for the delay.

Apr 19 2023, 9:20 AM · Restricted Project, Restricted Project

Apr 18 2023

jdoerfert added a comment to D148288: [libc] Update RPC interface for system utilities on the GPU.

I'm fine with this. Any objections?

Apr 18 2023, 12:59 PM · Restricted Project, Restricted Project
jdoerfert accepted D147344: [OpenMP][MLIR] Add lowering of omp::FlagsAttr to LLVM-IR.

LG

Apr 18 2023, 12:55 PM · Restricted Project, Restricted Project, Restricted Project
jdoerfert added a comment to D148635: [libc] Add a support library for GPU utilities.

I'm not too happy with the name but the concept seems like something we need (to duplicate or move) here.
Works for me if we cannot find a better name(ing scheme).

Apr 18 2023, 12:51 PM · Restricted Project, Restricted Project

Apr 17 2023

jdoerfert committed rG119a94b5aecb: [Attributor][FIX] Ensure to cache all intra procedural AA queries (authored by jdoerfert).
[Attributor][FIX] Ensure to cache all intra procedural AA queries
Apr 17 2023, 6:01 PM · Restricted Project, Restricted Project
jdoerfert abandoned D146927: [OpenMP] Enable more tests.

Subsumed by D148576

Apr 17 2023, 3:58 PM · Restricted Project
jdoerfert committed rG110cf873add8: [OpenMP][NFC] Silence warning (authored by jdoerfert).
[OpenMP][NFC] Silence warning
Apr 17 2023, 3:57 PM · Restricted Project, Restricted Project
jdoerfert requested review of D148576: [OpenMP] Enable more runtime tests and also run them with O3.
Apr 17 2023, 3:55 PM · Restricted Project
jdoerfert added a comment to D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs.

recommit via https://reviews.llvm.org/rG67fed132f39c81e8006c4463ab1f173fea5e4e4b

Apr 17 2023, 3:29 PM · Restricted Project, Restricted Project
jdoerfert committed rG67fed132f39c: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs (authored by jdoerfert).
[OpenMP] Ensure memory fences are created with barriers for AMDGPUs
Apr 17 2023, 3:28 PM · Restricted Project, Restricted Project
jdoerfert added a comment to D148288: [libc] Update RPC interface for system utilities on the GPU.

Last real issue I have is the try open loop, see below.

Apr 17 2023, 1:29 PM · Restricted Project, Restricted Project
jdoerfert accepted D148525: [OpenMP][AMDGPU] Refactor setting uniform work group size attribute.
Apr 17 2023, 11:36 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
jdoerfert added a comment to D148288: [libc] Update RPC interface for system utilities on the GPU.

some comments, waiting on the next version now.

Apr 17 2023, 10:56 AM · Restricted Project, Restricted Project
jdoerfert accepted D148485: [libc] Add the '--threads' and '--blocks' option to the GPU loaders.

LG, one nit.

Apr 17 2023, 10:53 AM · Restricted Project, Restricted Project

Apr 13 2023

jdoerfert accepted D147943: [OpenMP][Docs] Add documentation for using configuration files.
Apr 13 2023, 9:19 AM · Restricted Project, Restricted Project

Apr 11 2023

jdoerfert added a comment to D147172: [OpenMP][Flang][MLIR] Add lowering of TargetOp for host codegen.

TL;DR, we should try to converge to one impl. in OpenMPIRBuilder but that might take a while and we should not force it where it doesn't make sense (yet).

Apr 11 2023, 10:59 AM · Restricted Project, Restricted Project, Restricted Project
jdoerfert accepted D148027: [OpenMP][libomptarget] Remove error data member from AsyncInfoWrapperTy.

LG

Apr 11 2023, 10:47 AM · Restricted Project, Restricted Project
jdoerfert accepted D147599: [MLIR][OpenMP] Update OpenMPIRBuilderTest to use opaque pointers.

Just browsed the change, seems solid. LG

Apr 11 2023, 9:38 AM · Restricted Project, Restricted Project