This is an archive of the discontinued LLVM Phabricator instance.

[Zorg][OpenMP] Add CUDA offloading worker.
ClosedPublic

Authored by Meinersbur on Apr 25 2021, 4:47 PM.

Details

Summary

This worker tests OpenMP offloading for the x86_64 and NVIDIA GPU. In addition to check-openmp it runs the SOLLVE Validation & Verification Suite via the LLVM test-suite External builder. The builder is configured to only warn if the SOLLVE suite fails, as it also tests features that have not been implemented in Clang yet.

CUDA is intentionally not installed in a default location (/opt/cuda-11.3) to resemble setups often found in computing clusters with multiple versions of CUDA to choose from.

The worker is currently connected to a private buildbot master where this patch has been applied. The builder are currently red because of the problems mentioned on the OpenMP mailing list post. At least D101265 and D101266 are required to build it correctly.

Diff Detail

Event Timeline

Meinersbur created this revision.Apr 25 2021, 4:47 PM
Meinersbur requested review of this revision.Apr 25 2021, 4:47 PM

Thanks for the patch, Michael!

After the recent change in LLVMBuildFactory (https://reviews.llvm.org/rZORG2ed0c6ae25a4) and the corresponding change in UnifiedTreeBuilder (https://reviews.llvm.org/rZORG90c0b74c2ee5) this patch could be more straight forward.
You can just use f.enable_projects and f.enable_runtimes respectively, no need to explicitly specify t

Could you update the patch, please?

Meinersbur edited the summary of this revision. (Show Details)
  • Rebase to use f.enable_projects / f.enable_runtimes
  • Make TEST_SUITE_SOLLVEVV_OFFLOADING flags worker-dependent
  • Use /opt/cuda instead of /opt/cuda-11.3 to allow future updated of CUDA without needing to update the worker.
  • Add missing import
This revision is now accepted and ready to land.May 10 2021, 10:58 PM
This revision was automatically updated to reflect the committed changes.
gkistanova added inline comments.May 19 2021, 12:56 PM
zorg/buildbot/builders/OpenMPBuilder.py
46

Somehow missed this during the review. Sorry.
runtime_projects is not defined. Most likely it has been left behind when you renamed the enable_runtimes argument. Anyway, you do not really need this, as LLVMBuildFactory does that for you.
The fix is committed as https://reviews.llvm.org/rZORG69e37a9fe8b7.