[all-commits] [llvm/llvm-project] 56ebfc: [CUDA][HIP] Add support for `--offload-arch=native...

Joseph Huber via All-commits all-commits at lists.llvm.org
Wed Jan 11 08:30:54 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 56ebfca4bcc0e7a54989ad7aea5395b27f67e373
      https://github.com/llvm/llvm-project/commit/56ebfca4bcc0e7a54989ad7aea5395b27f67e373
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2023-01-11 (Wed, 11 Jan 2023)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cuda.h
    A clang/test/Driver/Inputs/nvptx-arch/nvptx_arch_fail
    A clang/test/Driver/Inputs/nvptx-arch/nvptx_arch_sm_70
    A clang/test/Driver/amdgpu-hip-system-arch.c
    M clang/test/Driver/amdgpu-openmp-system-arch-fail.c
    A clang/test/Driver/nvptx-cuda-system-arch.c

  Log Message:
  -----------
  [CUDA][HIP] Add support for `--offload-arch=native` to CUDA and refactor

This patch adds basic support for `--offload-arch=native` to CUDA. This
is done using the `nvptx-arch` tool that was introduced previously. Some
of the logic for handling executing these tools was factored into a
common helper as well. This patch does not add support for OpenMP or the
"new" driver. That will be done later.

Reviewed By: yaxunl

Differential Revision: https://reviews.llvm.org/D141051


  Commit: fada90286008b52a59ff13b15675032787501001
      https://github.com/llvm/llvm-project/commit/fada90286008b52a59ff13b15675032787501001
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2023-01-11 (Wed, 11 Jan 2023)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/amdgpu-hip-system-arch.c
    M clang/test/Driver/nvptx-cuda-system-arch.c
    M clang/test/Driver/openmp-offload-infer.c

  Log Message:
  -----------
  [CUDA][HIP] Support '--offload-arch=native' for the new driver

This patch applies the same handling for the `--offload-arch=native'
string to the new driver. The support for OpenMP will require some extra
logic to infer the triples from the derived architecture strings.

Depends on D141051

Reviewed By: tra

Differential Revision: https://reviews.llvm.org/D141078


  Commit: a17ab7aa3be0b2b2adf992e3754a58f17802491f
      https://github.com/llvm/llvm-project/commit/a17ab7aa3be0b2b2adf992e3754a58f17802491f
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2023-01-11 (Wed, 11 Jan 2023)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/lib/Driver/Driver.cpp
    A clang/test/Driver/openmp-system-arch.c

  Log Message:
  -----------
  [OpenMP] Add support for '--offload-arch=native' to OpenMP offloading

This patch adds support for '--offload-arch=native' to OpenMP
offloading. This will automatically generate the toolchains required to
fulfil whatever GPUs the user has installed. Getting this to work
requires a bit of a hack. The problem is that we need the ToolChain to
launch its searching program. But we do not yet have that ToolChain
built. I had to temporarily make the ToolChain and also add some logic
to ignore regular warnings & errors.

Depends on D141078

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D141105


Compare: https://github.com/llvm/llvm-project/compare/fbd207fd6f6b...a17ab7aa3be0


More information about the All-commits mailing list