-
Notifications
You must be signed in to change notification settings - Fork 539
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
[WIP] Build cuml
Cython Using scikit-build
#3367
[WIP] Build cuml
Cython Using scikit-build
#3367
Conversation
@mdemoret-nv I think the development and review process of the PR is going to be significantly smoother if at least these items:
go into their own PRs, since they are independent and don't need to be blocked on items that overall block scikit-build, what do you think? |
Regarding the item:
This is something that should have a unified approach across RAPIDS repos, so tagging @kkraus14 for visibility and input (and he can tag appropriate folks for discussing if needed) |
This PR has been marked stale due to no recent activity in the past 30d. Please close this PR if it is no longer required. Otherwise, please respond with a comment indicating any updates. This PR will be marked rotten if there is no activity in the next 60d. |
Development is currently blocked by the bullet points listed above and linked issues. |
This PR has been labeled |
This follows the RMM PR, rapidsai/rmm#637, to use scikit-build instead of distutils to compile and install the python
cuml
library. Using scikit-build has a few advantages:cmake
to specify the build sources and parameterslibcuml++
andlibcuml
-O1
is a huge pain with distutils)compile_commands.json
(Great for IDEs)There are several things that need to be completed before merging this PR:
#include
dependencies oncpp/src
folder (these will break dependent targets if they are not installed) (See issue [BUG] Clean Up#include
Dependencies #3376)cuml
CMakeLists.txt to modern standards (needed for new python dependent target) (See issue [FEA] Modernize CMake Build Structure #3375)CMAKE_CXX_FLAGS
andCMAKE_CUDA_FLAGS
libcuml++
as sub_directorysetup.py
to use scikit-build and remove extra config code./build.sh
Note: Since both the C++ and Python folders will be using cmake, both output binary (build) folders must reside in the same directory in order to use
add_subdirectory()
. This is necessary to allow building just the C++ binaries or both the C++ and Python binaries together. Currently the build folders are duplicated and the organization is show below:One possibility is to make a CMakeLists.txt at the root directory and move the
cpp/build
folder to the root as well:This is still very much a WIP (which should be obvious from all the commented out code)