[Openmp-dev] offloading to Nvidia GPUs

Eichstaedt, Jan R via Openmp-dev openmp-dev at lists.llvm.org
Mon Dec 18 08:40:30 PST 2017


Thanks for your responses, Jonas and Jeff!

So I guess it will be worth it to monitor IBM and LLNL with their work on the clang-ykt / clang-coral repos.

Considering the upstream branch, what do you mean by "not fully supported"? Are there GPU offloading constructs that are supported? Further, when do you expect the full GPU support according to the OpenMP4.x standard to be working? Is it planned for version 6 maybe?

Cheers,
Jan

________________________________
From: Jeff Hammond <jeff.science at gmail.com>
Sent: 18 December 2017 15:44:22
To: Jonas Hahnfeld
Cc: Eichstaedt, Jan R; openmp-dev at lists.llvm.org
Subject: Re: [Openmp-dev] offloading to Nvidia GPUs

According to LLNL RAJA team (https://github.com/LLNL/RAJA/issues/372#issuecomment-351795449), clang-ykt repo is stale and IBM progressing code in private repo for DOE/LLNL.

I have no idea when IBM will release latest GPU support but am optimistic that it will happen eventually. I can imagine that they’re focused on contract deliverables and don’t want to be distracted by other issues.

Jeff

Sent from my iPhone

On Dec 18, 2017, at 7:33 AM, Jonas Hahnfeld via Openmp-dev <openmp-dev at lists.llvm.org<mailto:openmp-dev at lists.llvm.org>> wrote:

Hi,

the answer is the same as in October: (upstream) Clang 5 doesn't fully support offloading to GPUs. Trunk's support has progressed since then but AFAIK still isn't able to link applications at the moment.

Regards,
Jonas

Am 2017-12-18 16:11, schrieb Eichstaedt, Jan R via Openmp-dev:
Hello,
in addition to my previous mail:
I saw in this year's October archive, that Gabriele Jost has been
running into similar issue. Do you know if and how it has been
resolved for him?
Further, I tried out the clang-ykt git repo, and compiled in the same
fashion as I did with v5, which worked fine for some small test-cases.
This is why I am still quite surprised I ran into the mentioned
compile issue with v5. That said, I assume you merged the clang-ykt
branch into the v5 branch?
The problem with the clang-ykt branch for me however is, that I run
into some mysterious linking errors when compiling our major
framework.
Would you be able to kindly shed some light on this issue?
Thanks and kind regards,
Jan
-------------------------
FROM: Eichstaedt, Jan R
SENT: 14 December 2017 11:39:00
TO: Gheorghe-Teod Bercea
CC: via Openmp-dev
SUBJECT: Re: [Openmp-dev] offloading to Nvidia GPUs
Hello,
both your suggestions of adding the compile flags
   -Xopenmp-target=nvptx64-nvidia-cuda -march=sm_35
   -Xopenmp-target -march=sm_35
still give me exactly the same error message.
Do you have any other suggestions?
Cheers,
Jan
-------------------------
FROM: Gheorghe-Teod Bercea <Gheorghe-Teod.Bercea at ibm.com<mailto:Gheorghe-Teod.Bercea at ibm.com>>
SENT: 13 December 2017 18:30:00
TO: Eichstaedt, Jan R
CC: via Openmp-dev
SUBJECT: Re: [Openmp-dev] offloading to Nvidia GPUs
Hi,
Yes there is:
-Xopenmp-target=nvptx64-nvidia-cuda -march=sm_35
You may also run into the problem that target offloading is not yet
fully supported.
Hope this helps!
Thanks,
--Doru
From:        "Eichstaedt, Jan R via Openmp-dev"
<openmp-dev at lists.llvm.org<mailto:openmp-dev at lists.llvm.org>>
To:        via Openmp-dev <openmp-dev at lists.llvm.org<mailto:openmp-dev at lists.llvm.org>>
Date:        12/13/2017 01:11 PM
Subject:        [Openmp-dev] offloading to Nvidia GPUs
Sent by:        "Openmp-dev" <openmp-dev-bounces at lists.llvm.org<mailto:openmp-dev-bounces at lists.llvm.org>>
-------------------------
Hello,
I am using llvm and clang version 5.0.0 together with the openmp
project of that version on Ubuntu 16.04.
I try to compile a simple program involving a _#pragma omp target
teams distribute parallel for _statement to offload to a Nvidia-GPU
using the following flags:
-fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda
--cuda-path=/usr/local/cuda/ --cuda-gpu-arch=sm_35
However, the compilation fails, with the following being the first
assertion that is triggered:
clang++:
[...]/llvm-5.0.0.src/tools/clang/lib/Driver/ToolChains/Cuda.cpp:346:
virtual void
clang::driver::toolchains::CudaToolChain::addClangTargetOptions(const
llvm::opt::ArgList&, llvm::opt::ArgStringList&,
clang::driver::Action::OffloadKind) const: Assertion `!GpuArch.empty()
&& "Must have an explicit GPU arch."' failed.
Is there a way to pass the GPU architecture differently? Or is target
offloading not fully supported in v5.0.0 yet and I might better use
the clang-ykt project? Or have I overlooked something else completely?
Thanks for any help you can offer.
Cheers,
Jan
_______________________________________________
Openmp-dev mailing list
Openmp-dev at lists.llvm.org<mailto:Openmp-dev at lists.llvm.org>
https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_openmp-2Ddev&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=07Vg8AAyMqlmXvuNhmkojcovioZRarJr9xyWnOr5Klg&m=ZwzC4OwLWlGCMnZozDnqy7VceScVkrvWJ4YIlJh1A6I&s=sxzmJ6FJfccsITZA4_0WsCFXFBLsJaLSKg_arZkOl64&e=
[1]
Links:
------
[1]
https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_openmp-2Ddev&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=07Vg8AAyMqlmXvuNhmkojcovioZRarJr9xyWnOr5Klg&m=ZwzC4OwLWlGCMnZozDnqy7VceScVkrvWJ4YIlJh1A6I&s=sxzmJ6FJfccsITZA4_0WsCFXFBLsJaLSKg_arZkOl64&e=
_______________________________________________
Openmp-dev mailing list
Openmp-dev at lists.llvm.org<mailto:Openmp-dev at lists.llvm.org>
http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
_______________________________________________
Openmp-dev mailing list
Openmp-dev at lists.llvm.org<mailto:Openmp-dev at lists.llvm.org>
http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20171218/1404b14b/attachment-0001.html>


More information about the Openmp-dev mailing list