[go: up one dir, main page]

Fix CUDA constexpr issues for numeric_limits.

Some CUDA/HIP constants fail on device with constexpr since they internally rely on non-constexpr functions, e.g.

#define CUDART_INF_F            __int_as_float(0x7f800000)

This fails for cuda-clang (though passes with nvcc). These constants are currently used by device::numeric_limits. For portability, we need to remove constexpr from the affected functions.

For C++11 or higher, we should be able to rely on the std::numeric_limits versions anyways, since the methods themselves are now constexpr, so should be supported on device (clang/hipcc natively, nvcc with --expr-relaxed-constexpr).

Merge request reports

Loading