[all-commits] [llvm/llvm-project] 104f3c: Reland "[flang][runtime] Use cuda::std::complex in...

Slava Zakharin via All-commits all-commits at lists.llvm.org
Wed Sep 18 17:41:54 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 104f3c180644c8872eaad0b3fcf6a6b948d92a71
      https://github.com/llvm/llvm-project/commit/104f3c180644c8872eaad0b3fcf6a6b948d92a71
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    A flang/include/flang/Common/float80.h
    A flang/include/flang/Runtime/complex.h
    M flang/include/flang/Runtime/cpp-type.h
    M flang/include/flang/Runtime/matmul-instances.inc
    M flang/include/flang/Runtime/numeric.h
    M flang/include/flang/Runtime/reduce.h
    M flang/include/flang/Runtime/reduction.h
    M flang/include/flang/Runtime/transformational.h
    M flang/runtime/complex-powi.cpp
    M flang/runtime/complex-reduction.c
    M flang/runtime/dot-product.cpp
    M flang/runtime/extrema.cpp
    M flang/runtime/matmul-transpose.cpp
    M flang/runtime/matmul.cpp
    M flang/runtime/numeric.cpp
    M flang/runtime/product.cpp
    M flang/runtime/random.cpp
    M flang/runtime/reduce.cpp
    M flang/runtime/reduction-templates.h
    M flang/runtime/sum.cpp
    M flang/runtime/transformational.cpp
    M flang/unittests/Runtime/Numeric.cpp
    M flang/unittests/Runtime/Transformational.cpp

  Log Message:
  -----------
  Reland "[flang][runtime] Use cuda::std::complex in F18 runtime CUDA build. (#109078)" (#109207)

`std::complex` operators do not work for the CUDA device compilation
of F18 runtime. This change makes use of `cuda::std::complex` from
`libcudacxx`.
`cuda::std::complex` does not have specializations for `long double`,
so the change is accompanied with a clean-up for `long double` usage.

Additional change on top of #109078 is to use `cuda::std::complex`
only for the device compilation, otherwise the host compilation
fails because `libcudacxx` may not support `long double` specialization
at all (depending on the compiler).



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list