llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-driver Author: Yaxun (Sam) Liu (yxsamliu) <details> <summary>Changes</summary> [HIP] Parallelize device cc1 jobs for offload arches A common ROCm build can target around ten `--offload-arch=` values. For a large single translation unit, the HIP device cc1 work before clang-linker-wrapper can become a build-time bottleneck. Those per-architecture jobs are independent, but the driver ran them serially, so `--offload-jobs=` only helped the later wrapper work. Borrow the parallel job mechanism used by clang-linker-wrapper for the pre-wrapper HIP device cc1 jobs. HIP job construction marks eligible compile and backend jobs with an offload parallel group. The generic executor only consumes that opt-in metadata for adjacent jobs with distinct bound architectures. The parallel path is disabled for driver-side output modes and callbacks so existing serial output handling is preserved. This is NFC for non-offload compilation. --- Full diff: https://github.com/llvm/llvm-project/pull/208254.diff 4 Files Affected: - (modified) clang/include/clang/Driver/Job.h (+12-2) - (modified) clang/lib/Driver/Compilation.cpp (+163-2) - (modified) clang/lib/Driver/ToolChains/Clang.cpp (+22-2) - (added) clang/test/Driver/hip-parallel-device-cc1.hip (+9) ``````````diff The server is unavailable at this time. Please wait a few minutes before you try again. `````````` </details> https://github.com/llvm/llvm-project/pull/208254 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
