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

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

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

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

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

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