superlu_dist
superlu_dist copied to clipboard
v7.1 is incompatible with CUDA 11.5.0
When I added new CUDA versions to the Spack package manager (https://github.com/spack/spack/pull/26892), the CI tried to build [email protected] against [email protected] and failed: https://gitlab.spack.io/spack/spack/-/jobs/1161338:
#error CUB requires a definition of CUB_NS_QUALIFIER when CUB_NS_PREFIX/POSTFIX are defined.
^~~~~
SRC/CMakeFiles/superlu_dist-static.dir/build.make:1184: recipe for target 'SRC/CMakeFiles/superlu_dist-static.dir/dsuperlu_gpu.cu.o' failed
(full log: spack-build-out-24.txt)
This may be because of the breaking change noted in https://github.com/NVIDIA/cub/releases/tag/1.14.0.
If it can help, with this small patch I've been able to make it compile with CUDA 11.5
--- orig/SRC/cub/util_namespace.cuh 2021-11-09 15:24:45.617733222 +0100
+++ new/SRC/cub/util_namespace.cuh 2021-11-09 15:25:07.310768977 +0100
@@ -44,3 +44,7 @@
#ifndef CUB_NS_POSTFIX
#define CUB_NS_POSTFIX
#endif
+
+#ifndef CUB_NS_QUALIFIER
+#define CUB_NS_QUALIFIER ::cub
+#endif
@piyush314 Please review this.
We only needed a scan function from CUB. Recently we implemented our own scan, so we removed the dependency on CUB. This new code is in 'master' branch. We will soon package a v7.2.0 release.