This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP][PoC][WIP] An OpenMP-based OpenMP device runtime [NOT FOR COMMIT]
AbandonedPublic

Authored by jdoerfert on Apr 4 2020, 11:49 AM.

Details

Reviewers
bollu
Summary

In order to make the device runtime truly device independent and thereby
reusable, e.g., for testing on the host, we want to eliminate the
remaining non-portable code. This basically boils down to device,
shared, and some other attributes, e.g., forceinline.

NOTE: This does not yet create a valid .bc file as the IR files we get via c++ are not directly usable by llvm-link/opt/.... I did not investigate how to extract the pure IR. The entire nvptx compilation process should be re-investigated as we might not need to link anything from cuda in.

Diff Detail

Event Timeline

jdoerfert created this revision.Apr 4 2020, 11:49 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 4 2020, 11:49 AM
jdoerfert edited the summary of this revision. (Show Details)Apr 4 2020, 5:24 PM
jdoerfert updated this revision to Diff 255091.Apr 4 2020, 5:35 PM

Use pragma syntax for allocators (e.g., to replace shared)

grokos added a subscriber: grokos.Jul 2 2020, 1:13 PM
jdoerfert abandoned this revision.Jan 28 2021, 8:16 AM

We moved to a CUDA-free runtime now.

openmp/libomptarget/deviceRTLs/common/src/cancel.cpp