根本原因在于Arch滚动的glibc2.41新增了新的三角函数函数头,导致CUDA的调用不符合规范了,按照回答中的解决方案,修改以下部分的函数声明:
diff '--color=auto' -ur builds.orig/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.h builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.h --- a/builds.orig/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.h 2024-08-23 00:25:39.000000000 +0200 +++ b/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.h 2025-02-17 01:19:44.270292640 +0100 @@ -2547,7 +2547,7 @@ * * \note_accuracy_double */ -extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double sinpi(double x); +extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double sinpi(double x) noexcept (true); /** * \ingroup CUDA_MATH_SINGLE * \brief Calculate the sine of the input argument @@ -2570,7 +2570,7 @@ * * \note_accuracy_single */ -extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float sinpif(float x); +extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float sinpif(float x) noexcept (true); /** * \ingroup CUDA_MATH_DOUBLE * \brief Calculate the cosine of the input argument @@ -2592,7 +2592,7 @@ * * \note_accuracy_double */ -extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double cospi(double x); +extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double cospi(double x) noexcept (true); /** * \ingroup CUDA_MATH_SINGLE * \brief Calculate the cosine of the input argument @@ -2614,7 +2614,7 @@ * * \note_accuracy_single */ -extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float cospif(float x); +extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float cospif(float x) noexcept (true); /** * \ingroup CUDA_MATH_DOUBLE * \brief Calculate the sine and cosine of the first input argument
即可解决报错问题
同时温馨提醒,谁会用Arch炼丹啊(