Skip to content
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

[BUG] Build is broken, possibly with CCCL 2.2 changes upstream #1665

Closed
mythrocks opened this issue Dec 19, 2023 · 4 comments
Closed

[BUG] Build is broken, possibly with CCCL 2.2 changes upstream #1665

mythrocks opened this issue Dec 19, 2023 · 4 comments
Labels
bug Something isn't working

Comments

@mythrocks
Copy link
Collaborator

The spark-rapids-jni build seems to be borked currently. A fresh checkout seems to produce the following error:

[INFO]      [exec] -- Could NOT find libcudacxx (missing: libcudacxx_DIR)
[INFO]      [exec] -- Configuring incomplete, errors occurred!
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24.617s
[INFO] Finished at: Tue Dec 19 23:05:26 UTC 2023
[INFO] Final Memory: 30M/1924M
[INFO] ------------------------------------------------------------------------

It appears that the error is related to upstream changes (in libcudf and rmm) to support CCCL 2.2. From the build log:

[INFO]      [exec] -- CPM: rmm: Adding package [email protected] (v2.2.0)
[INFO]      [exec] CMake Error at build/_deps/cccl-src/thrust/thrust/cmake/thrust-config.cmake:708 (find_package):
[INFO]      [exec]   Could not find a configuration file for package "libcudacxx" that is
[INFO]      [exec]   compatible with requested version "2.2.0.0".
[INFO]      [exec] 
[INFO]      [exec]   The following configuration files were considered but not accepted:
[INFO]      [exec] 
[INFO]      [exec]     /usr/local/cuda/lib64/cmake/libcudacxx/libcudacxx-config.cmake, version: 1.8.1.0
[INFO]      [exec] 
[INFO]      [exec] Call Stack (most recent call first):
[INFO]      [exec]   build/_deps/cccl-src/lib/cmake/cccl/cccl-config.cmake:65 (find_package)
[INFO]      [exec]   build/_deps/cccl-src/cmake/CCCLAddSubdir.cmake:1 (find_package)
[INFO]      [exec]   build/_deps/cccl-src/CMakeLists.txt:21 (include)
[INFO]      [exec] 
[INFO]      [exec] 
[INFO]      [exec] -- Could NOT find libcudacxx (missing: libcudacxx_DIR)
[INFO]      [exec] -- Configuring incomplete, errors occurred!

It appears that rmm is pulling in [email protected]. libcudacxx is then unable to be found.

@mythrocks mythrocks added bug Something isn't working ? - Needs Triage labels Dec 19, 2023
@mythrocks
Copy link
Collaborator Author

Note: There have been changes underway in libcudf to support CCCL 2.2. While rapidsai/cudf#14576 has been merged in libcudf, the cudf submodule in spark-rapids-jni remains at a prior commit (dadc7a0).

But the rmm dependency does appear to include the [email protected] change.

@mythrocks
Copy link
Collaborator Author

Note, also, that the spark-rapids-jni changes to support CCCL 2.2 are being worked on here: #1662.

We have a couple of options:

  1. Change the rmm version that spark-rapids-jni depends on.
  2. Bite the bullet, and complete Use cuda::proclaim_return_type on device lambdas #1662 to switch over to CCCL 2.2.

@bdice
Copy link
Contributor

bdice commented Dec 20, 2023

Thanks @mythrocks. I agree there are two choices - pin both cudf and rmm (and potentially rapids-cmake/cuCollections), or complete the work to adopt CCCL 2.2.0.

Notes on pinning:

  • The last RMM commit before CCCL 2.2.0 is rapidsai/rmm@77b5500
  • You may also need to pin rapids-cmake and/or cuCollections, so that the versions.json points to a build of cuCollections before CCCL 2.2.0.

@ttnghia
Copy link
Collaborator

ttnghia commented Dec 21, 2023

Close this as it is resolved by #1662.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants