-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Default value of CMAKE_CUDA_ARCHITECTURES
of NATIVE
breaks cmake CMakeDetermineCUDACompiler
#84
Comments
The support for the It appears the magic value was always rg 'ARCHITECTURE.*NATIVE'
cugraph/build.sh
193: CUGRAPH_CMAKE_CUDA_ARCHITECTURES="NATIVE"
215: CUGRAPH_CMAKE_CUDA_ARCHITECTURES="NATIVE"
cuml/cpp/README.md
47:| CMAKE_CUDA_ARCHITECTURES | List of GPU architectures, semicolon-separated | Empty | List the GPU architectures to compile the GPU targets for. Set to "NATIVE" to auto detect GPU architecture of the system, set to "ALL" to compile for all RAPIDS supported archs: ["60" "62" "70" "72" "75" "80" "86"]. |
cuml/build.sh
237: CUML_CMAKE_CUDA_ARCHITECTURES="NATIVE"
compose/etc/bash-utils.sh
1571: export CUDAARCHS="${CUDAARCHS:-${CMAKE_CUDA_ARCHITECTURES:-NATIVE}}"
cuspatial/build.sh
144: CUSPATIAL_CMAKE_CUDA_ARCHITECTURES="-DCMAKE_CUDA_ARCHITECTURES=NATIVE"
raft/build.sh
295: RAFT_CMAKE_CUDA_ARCHITECTURES="NATIVE"
cudf/build.sh
262: CUDF_CMAKE_CUDA_ARCHITECTURES="${CUDF_CMAKE_CUDA_ARCHITECTURES:-NATIVE}"
263: if [[ "$CUDF_CMAKE_CUDA_ARCHITECTURES" == "NATIVE" ]]; then |
After some digging I found that the However, even when This means the bug is only triggered if |
It looks like cuML does call It seems Can we change this back to |
I |
I think the issue was with setting the I pushed a fix yesterday that sets We don't explicitly pass I tested via |
Not sure what's different in my setup, but I still needed to initiate |
Do you have |
One option could be to set |
That doe solve the problem for me, but I think we should try to get this sorted out so that things just work-out-of-the box. I assume there is something we would need to adjust in the cuml python build process? |
I would agree that we should sort this out for all users. I wonder if there is a simpler path of least resistance here. |
So there are differences between how The biggest difference is that
I agree, while rapids-cmake version of these functions has side-effects that projects like cugraph use this is needed as the long term goal is to remove features from
No. To me we have a secondary issue that compose is setting The issue is that rapids-cmake
I believe that was this rapids-cmake bug: rapidsai/rapids-cmake#268 which means that rapids-cmake 22.10+ will consider
As outline above there is a rapids-cmake bug where it doesn't transform But that won't unblock you as python cuml is incorrectly setting up rapids_cuda_init_architectures(cuml-python)
enable_language(CUDA)
include("${CMAKE_PROJECT_cuml-python_INCLUDE}") |
I've already fixed this bug in the wheels PR for cuML. I believe it was introduced as part of the patch that added the extra |
We should modify the python build to manage |
That's specifically necessary here because of the transitive call to find raft that occurs, correct? We normally only need to do this if we're compiling the C++ libraries (not if we find them preinstalled). |
Yes it is due to the fact that some header dependency ( thrust or cuco ) is enabling the CUDA language |
CMake 3.23+ now offers support for `all` and `all-major` as special keywords to `CMAKE_CUDA_ARCHITECTURES`. This means that rapids-cmake overload on `ALL` now creates confusion and breaks expectations ( trxcllnt/rapids-compose#84 https://gitlab.kitware.com/cmake/cmake/-/issues/23739, #104 ) This PR introduces the new magic keyword of `RAPIDS` which behaves the same as `ALL`, and will become the new apporved approach for projects that want to build for RAPIDS supported platforms. Fixes #314 More details on the plans of deprecation for `ALL` can be found at: #318 Authors: - Robert Maynard (https://github.com/robertmaynard) Approvers: - Bradley Dice (https://github.com/bdice) URL: #327
The default value of
NATIVE
forCMAKE_CUDA_ARCHITECTURES
defined hererapids-compose/etc/bash-utils.sh
Line 1571 in d9f617e
breaks CMakeDetermineCUDACompiler with error message
See also: d9f617e#r87361335
The text was updated successfully, but these errors were encountered: