-
Notifications
You must be signed in to change notification settings - Fork 198
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] Windows compilation #1298
base: branch-23.08
Are you sure you want to change the base?
[WIP] Windows compilation #1298
Conversation
Note that RMM is structurally incompatible with Windows as a header-only library as the functionality of RMM would need to build a DLL that holds the symbols relevant for |
Do we have Windows CI? |
Not yet. We're working on it as CCCL needs it, but it's still many months away. |
Replaces rapidsai#1308 Authors: - Vyas Ramasubramani (https://github.com/vyasr) Approvers: - Mark Harris (https://github.com/harrism) - AJ Schmidt (https://github.com/ajschmidt8)
Branch 23.10 merge 23.08
This PR migrates RMM to use `fetch_rapids.cmake` like most RAPIDS repos. This makes it easier to define a single source if the upstream branch of rapids-cmake needs to change for testing, like in rapidsai#1247. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - Ray Douglass (https://github.com/raydouglass) - Robert Maynard (https://github.com/robertmaynard) URL: rapidsai#1319
This PR contains the minimal set of changes to compile using Cython 3 without warnings. Future PRs can be made to take advantage of new or improved features. The specific changes are: - Ensuring `nogil` always comes after `except`. `except * nogil` is a compile-time error in Cython 3 - Adding `noexcept` or `except *` to any `cdef ` functions missing them. In Cython 0.29 these would default to `noexcept`, which meant that exceptions would not be properly propagated. In Cython 3.0.0, these default to `except *`, which incurs a performance penalty for reacquiring the GIL to check the exception value even for `nogil` functions. Being explicit here is important. There are a large number of outstanding warnings due to NVIDIA/cuda-python#44. cuda-python for CUDA 12 has the necessary fix, but we will need a cuda-python 11.8.* bugfix with a backport to make those warnings go away. Authors: - Vyas Ramasubramani (https://github.com/vyasr) Approvers: - Ashwin Srinath (https://github.com/shwina) - Lawrence Mitchell (https://github.com/wence-) - Ray Douglass (https://github.com/raydouglass) URL: rapidsai#1313
This will allow us to more easily audit the quality of our docs in CI going forward. Authors: - Vyas Ramasubramani (https://github.com/vyasr) Approvers: - Bradley Dice (https://github.com/bdice) - Lawrence Mitchell (https://github.com/wence-) - AJ Schmidt (https://github.com/ajschmidt8) URL: rapidsai#1316
Forward-merge branch-23.08 to branch-23.10
The latest versions `4.1` and `4.0` of `sphinxcontrib-jquery` have an issue with jQuery installed currently in sphinx. This is causing the search functionality to fail so I've pinned the version to `3.0.0`, this resolves the issue. Authors: - Jake Awe (https://github.com/AyodeAwe) Approvers: - https://github.com/jakirkham - AJ Schmidt (https://github.com/ajschmidt8)
Description
The changes in this PR allow windows compilation to succeed for librmm and their tests to pass (some fail TBD).
Windows Setup:
cl.exe Microsoft (R) C/C++ Optimizing Compiler Version 19.36.32535 for x64
Environment Setup:
conda env create --name rmm_dev --file conda/environments/all_cuda-120_arch-x86_64.yaml
vcpkg install pthread:x64-windows
conda install -c conda-forge dlfcn-win32
Compilation:
conda activate rmm_dev
mkdir build; cd build
,mkdir ..\..\install
cmake .. -G "Visual Studio 17 2022" -DCMAKE_INSTALL_PREFIX=..\..\install -DCMAKE_TOOLCHAIN_FILE=C:/Users/karthikeyann/Desktop/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build .
Changes after cmake configure attempt:
rapids-cmake comment out compilation code in
C:\Users\karthikeyann\Desktop\rmm\build\_deps\rapids-cmake-src\rapids-cmake\test\generate_resource_spec.cmake
and update the cuda compute capability minor, major version in same file.
Renamed
C:\Users\karthikeyann\Desktop\rmm\build\_deps\thrust-src\cub
symlink to cub2.msvc does not support symlink within pre-processor.
so, copied folder
C:\Users\karthikeyann\Desktop\rmm\build\_deps\thrust-src\dependencies\cub\cub
to
C:\Users\karthikeyann\Desktop\rmm\build\_deps\thrust-src\cub
List of code changes:
All
*/CUDA_Async
tests are skipped, as this driver version is unsupported (TBD).Checklist