Hahnfeld (Jonas Hahnfeld)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 2 2015, 4:52 AM (159 w, 4 d)
RWTH Aachen University

Recent Activity

Yesterday

Hahnfeld added a comment to D45890: [OMPT] Add implementation and tests of Archer tool.

Do we really want to call this tool Archer? I understand that it was written for that purpose but IMO this can serve a much more general purpose, even without the Archer "framework" around it.

Sun, Apr 22, 12:53 AM

Fri, Apr 20

Hahnfeld committed rL330430: [docs] Regenerate command line reference.
[docs] Regenerate command line reference
Fri, Apr 20, 6:29 AM
Hahnfeld committed rL330429: [OpenMP] Hide -fopenmp-cuda-mode.
[OpenMP] Hide -fopenmp-cuda-mode
Fri, Apr 20, 6:29 AM
Hahnfeld committed rC330430: [docs] Regenerate command line reference.
[docs] Regenerate command line reference
Fri, Apr 20, 6:29 AM
Hahnfeld committed rC330429: [OpenMP] Hide -fopenmp-cuda-mode.
[OpenMP] Hide -fopenmp-cuda-mode
Fri, Apr 20, 6:29 AM
Hahnfeld committed rL330426: [CUDA] Document recent changes.
[CUDA] Document recent changes
Fri, Apr 20, 6:08 AM
Hahnfeld committed rC330426: [CUDA] Document recent changes.
[CUDA] Document recent changes
Fri, Apr 20, 6:08 AM
Hahnfeld closed D45449: [CUDA] Document recent changes.
Fri, Apr 20, 6:08 AM
Hahnfeld committed rC330425: [CUDA] Register relocatable GPU binaries.
[CUDA] Register relocatable GPU binaries
Fri, Apr 20, 6:08 AM
Hahnfeld committed rL330425: [CUDA] Register relocatable GPU binaries.
[CUDA] Register relocatable GPU binaries
Fri, Apr 20, 6:08 AM
Hahnfeld closed D42922: [CUDA] Register relocatable GPU binaries.
Fri, Apr 20, 6:08 AM

Thu, Apr 19

Hahnfeld updated the diff for D42922: [CUDA] Register relocatable GPU binaries.

Move module ID to corresponding else branch.

Thu, Apr 19, 11:58 AM
Hahnfeld added inline comments to D42922: [CUDA] Register relocatable GPU binaries.
Thu, Apr 19, 11:38 AM
Hahnfeld updated the diff for D42922: [CUDA] Register relocatable GPU binaries.

Move FunctionTypes to methods and change test prefixes.

Thu, Apr 19, 11:38 AM
Hahnfeld updated subscribers of D45691: [mips] Use libatomic instead of GCC intrinsics for 64bit.

Ideally, this problem was already solved by other standards. Can we reuse C11 or even C++ atomics? In the future this would also eliminate memory barriers, but such change will require some amount of thinking and testing.

Thu, Apr 19, 5:44 AM

Wed, Apr 18

Hahnfeld added a comment to D42922: [CUDA] Register relocatable GPU binaries.

Ping

Wed, Apr 18, 11:05 PM

Fri, Apr 13

Hahnfeld added a comment to D45212: [HIP] Let CUDA toolchain support HIP language mode and amdgpu.

I'd still prefer if someone with more driver-design expertise weighed in, but we might not have any specialists there.

Fri, Apr 13, 1:02 AM

Wed, Apr 11

Hahnfeld added inline comments to D45530: [OpenMP] Make bc file compilation sensitive to LIBOMPTARGET_NVPTX_DEBUG flag.
Wed, Apr 11, 12:17 PM · Restricted Project
Hahnfeld added inline comments to D45530: [OpenMP] Make bc file compilation sensitive to LIBOMPTARGET_NVPTX_DEBUG flag.
Wed, Apr 11, 10:53 AM · Restricted Project

Tue, Apr 10

Hahnfeld added a comment to D45212: [HIP] Let CUDA toolchain support HIP language mode and amdgpu.

Can this revision be split further? The summary mentions many things that might make up multiple independent changes...

I separated file type changes to https://reviews.llvm.org/D45489 and deferred some other changes for future.

It is kind of difficult to split this patch further since they depend on each other.

Tue, Apr 10, 9:25 AM

Mon, Apr 9

Hahnfeld added a comment to D45449: [CUDA] Document recent changes.
In D45449#1062642, @tra wrote:

We could use specific instructions for what exactly one needs to do in order to use relocatable device code in practice. Could be a separate patch.

Mon, Apr 9, 11:59 PM
Hahnfeld added a dependency for D45449: [CUDA] Document recent changes: D42922: [CUDA] Register relocatable GPU binaries.
Mon, Apr 9, 11:46 AM
Hahnfeld created D45449: [CUDA] Document recent changes.
Mon, Apr 9, 11:46 AM
Hahnfeld added a dependent revision for D42922: [CUDA] Register relocatable GPU binaries: D45449: [CUDA] Document recent changes.
Mon, Apr 9, 11:46 AM
Hahnfeld updated the diff for D42922: [CUDA] Register relocatable GPU binaries.

Correct test check prefix.

Mon, Apr 9, 11:39 AM
Hahnfeld added a comment to D44992: [OpenMP] enable bc file compilation using the latest clang.

! In D44992#1061781, @guansong wrote:
I have revert the change, let's continue to discuss how to enable bc file path better.

You are still not subscribed to openmp-commits, so again no commit email! For reference, the commit is rL329576 (and you shouldn't quote git commit hashes, there is a script in LLVM to revert SVN changes from git-svn.)

I was trying to use my office email to subscribe the mailing list, it may not be approved yet. How can I check on that? Currently I only get openmp-commits message from my gmail.

For reverting, I revert the patch from git, and commit it use git svn dcommit. I guess you are referring the following comment in the log

This reverts commit 6849e31c36d712d97433bca9af39b7a09c8c1207.

generated during the process. What is the proper script to use?

Mon, Apr 9, 11:31 AM · Restricted Project
Hahnfeld updated the diff for D42922: [CUDA] Register relocatable GPU binaries.

Sorry for the long delay. This update rebases the patch against current trunk and adapts the regression test.

Mon, Apr 9, 10:43 AM
Hahnfeld added a comment to D44992: [OpenMP] enable bc file compilation using the latest clang.

! In D44992#1061781, @guansong wrote:
I have revert the change, let's continue to discuss how to enable bc file path better.

Mon, Apr 9, 9:19 AM · Restricted Project

Sun, Apr 8

Hahnfeld added a comment to D44992: [OpenMP] enable bc file compilation using the latest clang.

We shouldn't hardcode the versions. I'd propose the following:

  1. Can LIBOMPTARGET_NVPTX_SELECTED_CUDA_COMPILER compile extern __shared__ without additional flag? (pre Clang 4.0)
  2. If we add -fcuda-rdc will it work then? (Clang trunk and later on released version 7.0)

    In both cases, we should default LIBOMPTARGET_NVPTX_ENABLE_BCLIB to On. (All these checks should probably reside in some config-ix.cmake...)

Checking that way is good, though personally I am in favor of using find llvm package to check LLVM version. Regardless I think we want the same thing here, i.e. to enable the bc lib path by default.

Sun, Apr 8, 11:20 AM · Restricted Project

Sat, Apr 7

Hahnfeld added a comment to D44992: [OpenMP] enable bc file compilation using the latest clang.

Currently we only enable the bc file path when we specified on the cmake command line with these flags -DLIBOMPTARGET_NVPTX_CUDA_COMPILER and -DLIBOMPTARGET_NVPTX_SELECTED_BC_LINKER.

Sat, Apr 7, 3:50 AM · Restricted Project
Hahnfeld added a comment to D45220: [OpenMP] Search llvm package to find bc file compiler and linker if not specified by a user.

The patch will allow one to do this

env CC=/bc-capibile-compiler CXX=/bc-capibile-compiler cmake .... -DLIBOMPTARGET_NVPTX_ENABLE_BCLIB=1 the_openmp_dir

Sat, Apr 7, 3:39 AM · Restricted Project
Hahnfeld added a comment to D45212: [HIP] Let CUDA toolchain support HIP language mode and amdgpu.

Can this revision be split further? The summary mentions many things that might make up multiple independent changes...

Sat, Apr 7, 3:27 AM

Thu, Apr 5

Hahnfeld added a comment to D44992: [OpenMP] enable bc file compilation using the latest clang.

I don't think this is a regression through, as it is broken right now unless one uses an older (less 4.0) clang.

... which is enough to satisfy the definition of a regression. Yes, Clang also regressed but that's no excuse to regress the runtime library. Please revert this change or let me know if you can't and I'll do it.

I can add this flag conditionally as you suggested, how about something like this? where we check llvm version?

# Set flags for Clang cuda compilation.  Only Clang is supported because there is
# no other compiler capable of generating bitcode from cuda sources.
if (LLVM_VERSION_MAJOR GREATER 6)
  set(CUDA_FLAGS
    -emit-llvm
    -fcuda-rdc
    -O1
    -Xclang -target-feature
    -Xclang +${CUDA_PTX_VERSION}
    --cuda-device-only
    -DOMPTARGET_NVPTX_TEST=0 -DOMPTARGET_NVPTX_DEBUG=0
    )
else()
  set(CUDA_FLAGS
    -emit-llvm
    -O1
    -Xclang -target-feature
    -Xclang +${CUDA_PTX_VERSION}
    --cuda-device-only
    -DOMPTARGET_NVPTX_TEST=0 -DOMPTARGET_NVPTX_DEBUG=0
    )
endif()
Thu, Apr 5, 12:07 PM · Restricted Project
Hahnfeld added a comment to D45326: [OpenMP] [CUDA plugin] Add support for teams reduction via scratchpad.

Some comments inline, mostly minor things.

Thu, Apr 5, 8:47 AM · Restricted Project
Hahnfeld added a comment to D44992: [OpenMP] enable bc file compilation using the latest clang.

I don't think this is a regression through, as it is broken right now unless one uses an older (less 4.0) clang.

Thu, Apr 5, 7:41 AM · Restricted Project

Wed, Apr 4

Hahnfeld added inline comments to D45212: [HIP] Let CUDA toolchain support HIP language mode and amdgpu.
Wed, Apr 4, 10:06 AM
Hahnfeld added a comment to D44992: [OpenMP] enable bc file compilation using the latest clang.

So , will the deviceRTLs/nvptx change? Instead of extern __shared__, what will it use for those data structures?

Wed, Apr 4, 10:01 AM · Restricted Project

Tue, Apr 3

Hahnfeld added a comment to D45220: [OpenMP] Search llvm package to find bc file compiler and linker if not specified by a user.

I'm not sure what cases this helps as the code already uses CMAKE_CXX_COMPILER that the user specified. We had a very long discussion during the initial check-in of libomptarget, please do read that.

Tue, Apr 3, 12:35 PM · Restricted Project
Hahnfeld added a comment to D44992: [OpenMP] enable bc file compilation using the latest clang.

I see. We compared the change in (4.0?) and after, realized the extern shared is turned off. We reenabled (basically allow it to pass parsing) and everything is expected.

Tue, Apr 3, 12:30 PM · Restricted Project
Hahnfeld added a comment to D44992: [OpenMP] enable bc file compilation using the latest clang.

I agree. I tried using this flag prior to this being committed and I was unable to successfully compile the BC lib.

Tue, Apr 3, 10:50 AM · Restricted Project
Hahnfeld added a comment to D44992: [OpenMP] enable bc file compilation using the latest clang.

Post-commit because your commit didn't trigger an email (please subscribe to openmp-commits!).

Tue, Apr 3, 10:32 AM · Restricted Project

Mar 21 2018

Hahnfeld added a comment to D44733: Split the `throw_invoke_test.cc` test.

Hmm, that's basically duplicating the test case. Maybe you can #include "../throw_invoke_test.cc"?

Mar 21 2018, 6:47 AM

Mar 15 2018

Hahnfeld added a comment to D44522: [Libomptarget] Full implementation of the target-offload-icv.

Will this be defined in the next revisions of the standard? I remember OpenMP 4.5 being unclear about these cases.

Mar 15 2018, 9:22 AM · Restricted Project

Mar 10 2018

Hahnfeld added inline comments to D43197: [OpenMP] Add flag for linking runtime bitcode library.
Mar 10 2018, 2:52 AM

Mar 9 2018

Hahnfeld added inline comments to D43197: [OpenMP] Add flag for linking runtime bitcode library.
Mar 9 2018, 8:40 AM
Hahnfeld added inline comments to D43197: [OpenMP] Add flag for linking runtime bitcode library.
Mar 9 2018, 7:49 AM
Hahnfeld added inline comments to D44186: [OpenMP] New clang/libomptarget map interface: remove translation code.
Mar 9 2018, 1:28 AM · Restricted Project
Hahnfeld added inline comments to D43197: [OpenMP] Add flag for linking runtime bitcode library.
Mar 9 2018, 1:21 AM

Mar 7 2018

Hahnfeld added a comment to D43626: [OpenMP] Remove implicit data sharing using device shared memory from libomptarget.

@Hahnfeld any further questions on this?

Again: You should put that in the summary of all patches!

Can't be that hard! I won't accept this patch anyway because I'm not interested anymore in this data sharing functionality.

Sorry for mistakenly including you in the list of reviewers.

Mar 7 2018, 9:10 AM
Hahnfeld added inline comments to D44186: [OpenMP] New clang/libomptarget map interface: remove translation code.
Mar 7 2018, 9:03 AM · Restricted Project
Hahnfeld added a comment to D43626: [OpenMP] Remove implicit data sharing using device shared memory from libomptarget.

@Hahnfeld any further questions on this?

Mar 7 2018, 8:59 AM
Hahnfeld requested changes to D44186: [OpenMP] New clang/libomptarget map interface: remove translation code.

These are two changes and need to be two patches.

Mar 7 2018, 1:47 AM · Restricted Project

Mar 5 2018

Hahnfeld added a comment to D43626: [OpenMP] Remove implicit data sharing using device shared memory from libomptarget.

@Hahnfeld: Did our private discussion answer your questions about this plan?

Partly, I'm still not happy about this turns out to be required after all of this was upstreamed. However if it's really needed you should at least make sure that basic applications continue to compile, something which we only reached recently.

Data sharing cannot be used today due to the missing LLVM NVPTX backend patch so it should not affect applications that compile right now. This patch and it's Clang counterpart need to be committed at the same time to ensure continuity.

Mar 5 2018, 8:28 AM
Hahnfeld added a comment to D43197: [OpenMP] Add flag for linking runtime bitcode library.

Looking more closely at the patch, this doesn't seem to look into the lib / lib64 next to the compiler. I'm not sure if LIBRARY_PATH is set for every installation, so I think we should add this one to catch the obvious case. This probably needs some attention for the tests because they'll find the just-built libraries...

The contract with the user us that the .bc lib needs to be in LIBRARY_PATH, this is what we require today. Inlining of the runtime is not essential for correctness.

Mar 5 2018, 8:23 AM

Mar 2 2018

Hahnfeld added a comment to D43626: [OpenMP] Remove implicit data sharing using device shared memory from libomptarget.

@Hahnfeld: Did our private discussion answer your questions about this plan?

Mar 2 2018, 9:34 AM

Mar 1 2018

Hahnfeld accepted D42523: [OMPT] Add api_calls_misc.c testcase and rename api_calls.c testcase.

LGTM

Mar 1 2018, 6:12 AM
Hahnfeld committed rL326435: [OMPT] Fix interoperability test with GCC.
[OMPT] Fix interoperability test with GCC
Mar 1 2018, 6:05 AM
Hahnfeld committed rOMP326435: [OMPT] Fix interoperability test with GCC.
[OMPT] Fix interoperability test with GCC
Mar 1 2018, 6:05 AM
Hahnfeld closed D43882: [OMPT] Fix interoperability test with GCC.
Mar 1 2018, 6:05 AM

Feb 28 2018

Hahnfeld created D43882: [OMPT] Fix interoperability test with GCC.
Feb 28 2018, 10:24 AM
Hahnfeld committed rL326342: [CUDA] Include single GPU binary, NFCI..
[CUDA] Include single GPU binary, NFCI.
Feb 28 2018, 9:56 AM
Hahnfeld committed rC326342: [CUDA] Include single GPU binary, NFCI..
[CUDA] Include single GPU binary, NFCI.
Feb 28 2018, 9:56 AM
Hahnfeld closed D43461: [CUDA] Include single GPU binary, NFCI..
Feb 28 2018, 9:56 AM
Hahnfeld added inline comments to D42523: [OMPT] Add api_calls_misc.c testcase and rename api_calls.c testcase.
Feb 28 2018, 9:35 AM
Hahnfeld accepted D42472: [OMPT] Fix ompt_get_task_info() and add tests for it.

LGTM

Feb 28 2018, 9:17 AM
Hahnfeld added inline comments to D43852: [OpenMP] Extend NVPTX SPMD implementation of combined constructs.
Feb 28 2018, 6:54 AM

Feb 24 2018

Hahnfeld added a comment to D42472: [OMPT] Fix ompt_get_task_info() and add tests for it.

You should probably explain why each task is in its own single region and why that works as discussed internally.

Feb 24 2018, 12:25 AM

Feb 23 2018

Hahnfeld added a comment to D41942: [OMPT] Add interoperability testcase.

This test doesn't work if threads are not scheduled as expected: http://lab.llvm.org:8011/builders/openmp-gcc-x86_64-linux-debian/builds/58
I think in that case a worker thread started before the second master which makes sense as there is no synchronization between the two initial threads. We should be able to fix this by either starting a serialized region or calling an API function and putting an OMPT_WAIT before the real parallel region. Thoughts?

Feb 23 2018, 11:48 AM
Hahnfeld committed rOMP325922: [OMPT] Fix parallel_data in implicit barrier-end.
[OMPT] Fix parallel_data in implicit barrier-end
Feb 23 2018, 8:55 AM
Hahnfeld committed rOMP325921: [OMPT] Fix test tasks/serialized.c with optimization.
[OMPT] Fix test tasks/serialized.c with optimization
Feb 23 2018, 8:55 AM
Hahnfeld committed rL325922: [OMPT] Fix parallel_data in implicit barrier-end.
[OMPT] Fix parallel_data in implicit barrier-end
Feb 23 2018, 8:48 AM
Hahnfeld committed rL325921: [OMPT] Fix test tasks/serialized.c with optimization.
[OMPT] Fix test tasks/serialized.c with optimization
Feb 23 2018, 8:48 AM
Hahnfeld closed D43308: [OMPT] Fix parallel_data in implicit barrier-end.
Feb 23 2018, 8:48 AM
Hahnfeld closed D43191: [OMPT] Fix test tasks/serialized.c with optimization.
Feb 23 2018, 8:48 AM
Hahnfeld updated the diff for D43461: [CUDA] Include single GPU binary, NFCI..

Update comment.

Feb 23 2018, 8:40 AM
Hahnfeld updated the diff for D43308: [OMPT] Fix parallel_data in implicit barrier-end.

Move state change to omp_state_overhead as requested, collapse one if and add check for ompt_enabled.enabled to the other, drop argument checking from CHECK prefix.

Feb 23 2018, 8:09 AM
Hahnfeld added a comment to D43191: [OMPT] Fix test tasks/serialized.c with optimization.

Ping, anything else left?

Feb 23 2018, 7:56 AM

Feb 22 2018

Hahnfeld committed rL325807: [docs] Regenerate command line reference.
[docs] Regenerate command line reference
Feb 22 2018, 9:12 AM
Hahnfeld committed rC325807: [docs] Regenerate command line reference.
[docs] Regenerate command line reference
Feb 22 2018, 9:12 AM
Hahnfeld committed rC325806: [docs] Improve help for OpenMP options, NFC..
[docs] Improve help for OpenMP options, NFC.
Feb 22 2018, 9:11 AM
Hahnfeld committed rC325805: [docs] Fix duplicate arguments for JoinedAndSeparate.
[docs] Fix duplicate arguments for JoinedAndSeparate
Feb 22 2018, 9:11 AM
Hahnfeld committed rL325806: [docs] Improve help for OpenMP options, NFC..
[docs] Improve help for OpenMP options, NFC.
Feb 22 2018, 9:11 AM
Hahnfeld committed rL325805: [docs] Fix duplicate arguments for JoinedAndSeparate.
[docs] Fix duplicate arguments for JoinedAndSeparate
Feb 22 2018, 9:11 AM
Hahnfeld closed D42841: [docs] Improve help for OpenMP options.
Feb 22 2018, 9:11 AM
Hahnfeld closed D42840: [docs] Fix duplicate arguments for JoinedAndSeparate.
Feb 22 2018, 9:11 AM
Hahnfeld added a comment to D43621: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on Windows..

This must be new-ish code, since I've routinely used -fuse-ld=lld (without .exe) on Windows.

Feb 22 2018, 8:21 AM · Restricted Project
Hahnfeld added inline comments to D43621: [Driver] Allow using a canonical form of '-fuse-ld=' when cross-compiling on Windows..
Feb 22 2018, 7:51 AM · Restricted Project

Feb 20 2018

Hahnfeld added inline comments to D43461: [CUDA] Include single GPU binary, NFCI..
Feb 20 2018, 10:53 AM
Hahnfeld added inline comments to D43461: [CUDA] Include single GPU binary, NFCI..
Feb 20 2018, 10:25 AM

Feb 19 2018

Hahnfeld created D43461: [CUDA] Include single GPU binary, NFCI..
Feb 19 2018, 6:20 AM

Feb 17 2018

Hahnfeld added inline comments to D43308: [OMPT] Fix parallel_data in implicit barrier-end.
Feb 17 2018, 7:13 AM
Hahnfeld resigned from D30739: [OpenMP] "declare simd" for AArch64 Advanced SIMD..
Feb 17 2018, 2:02 AM
Hahnfeld resigned from D18286: [OPENMP] private and firstprivate clauses of teams code generation for nvptx.
Feb 17 2018, 2:02 AM
Hahnfeld resigned from D43115: [OMPT] Fix inconsistent testcases.

Not needed anymore.

Feb 17 2018, 1:59 AM
Hahnfeld added a comment to D42800: Let CUDA toolchain support amdgpu target.

Let's start with the obvious points:

  1. The latest patch clearly wasn't run through clang-format.
  2. It only has some 90 lines of context which makes it look like you deleted quite some code when browsing through the history.
  3. This patch is still large, did you at least consider splitting it as I proposed some weeks ago?
Feb 17 2018, 1:12 AM
Hahnfeld added a comment to D43197: [OpenMP] Add flag for linking runtime bitcode library.

Looking more closely at the patch, this doesn't seem to look into the lib / lib64 next to the compiler. I'm not sure if LIBRARY_PATH is set for every installation, so I think we should add this one to catch the obvious case. This probably needs some attention for the tests because they'll find the just-built libraries...

Feb 17 2018, 12:44 AM
Hahnfeld added inline comments to D42169: [OMPT] Formatting.
Feb 17 2018, 12:25 AM

Feb 16 2018

Hahnfeld added inline comments to D42922: [CUDA] Register relocatable GPU binaries.
Feb 16 2018, 10:36 AM
Hahnfeld added inline comments to D42922: [CUDA] Register relocatable GPU binaries.
Feb 16 2018, 10:18 AM

Feb 15 2018

Hahnfeld added a comment to D41942: [OMPT] Add interoperability testcase.

Add some comments to checks and reformat as suggested

Feb 15 2018, 3:53 AM