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

Branch 23.12 merge 23.10 #1868

Merged
merged 10 commits into from
Oct 5, 2023

Conversation

cjnolet
Copy link
Member

@cjnolet cjnolet commented Oct 2, 2023

Opening a fresh PR in hopes to reset gh-actions runners to v3.

trxcllnt and others added 3 commits September 27, 2023 13:25
This PR adds some [devcontainers](https://containers.dev/) to help simplify building the RAFT C++ and Python libraries.

It also adds an optional job to the `pr.yaml` to [build the RAFT libs in each devcontainer](https://github.com/trxcllnt/raft/blob/fea/devcontainers/.github/workflows/pr.yaml#L96-L101), so the build caches are populated for devs by CI.

A devcontainer can be launched by clicking the "Reopen in Container" button that VSCode shows when opening the repo (or by using the "Rebuild and Reopen in Container" command from the command palette):
![image](https://user-images.githubusercontent.com/178183/221771999-97ab29d5-e718-4e5f-b32f-2cdd51bba25c.png)

Clicking this button will cause VSCode to prompt the user to select one of these devcontainer variants:
![image](https://github.com/rapidsai/rmm/assets/178183/68d4b264-4fc2-4008-92b6-cb4bdd19b29f)

On startup, the devcontainer creates or updates the conda/pip environment using `raft/dependencies.yaml`. The envs/package caches are cached on the host via volume mounts, which are described in more detail in [`.devcontainer/README.md`](https://github.com/trxcllnt/raft/blob/fea/devcontainers/.devcontainer/README.md).

The container includes convenience functions to clean, configure, and build the various RAFT components:

```shell
$ clean-raft-cpp # only cleans the C++ build dir
$ clean-pylibraft-python # only cleans the Python build dir
$ clean-raft # cleans both C++ and Python build dirs

$ configure-raft-cpp # only configures raft C++ lib

$ build-raft-cpp # only builds raft C++ lib
$ build-pylibraft-python # only builds raft Python lib
$ build-raft # builds both C++ and Python libs
```

* The C++ build script is a small wrapper around `cmake -S ~/raft/cpp -B ~/raft/cpp/build` and `cmake --build ~/raft/cpp/build`
* The Python build script is a small wrapper around `pip install --editable ~/raft/cpp`

Unlike `build.sh`, these convenience scripts *don't* install the libraries after building them. Instead, they automatically inject the correct arguments to build the C++ libraries from source and use their build dirs as package roots:

```shell
$ cmake -S ~/raft/cpp -B ~/raft/cpp/build
$ CMAKE_ARGS="-Draft_ROOT=~/raft/cpp/build" \ # <-- this argument is automatic
  pip install -e ~/raft/cpp
```

Authors:
  - Paul Taylor (https://github.com/trxcllnt)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)
  - Jake Awe (https://github.com/AyodeAwe)

URL: rapidsai#1791
This PR pins `dask` and `distributed` to `2023.9.2` for `23.10` release.

xref: rapidsai/cudf#14225

Authors:
   - GALI PREM SAGAR (https://github.com/galipremsagar)

Approvers:
   - Ray Douglass (https://github.com/raydouglass)
   - Peter Andreas Entschev (https://github.com/pentschev)
   - Ben Frederickson (https://github.com/benfred)
@cjnolet cjnolet added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Oct 2, 2023
@cjnolet cjnolet self-assigned this Oct 2, 2023
@cjnolet cjnolet requested review from a team as code owners October 2, 2023 16:14
python/raft-dask/pyproject.toml Outdated Show resolved Hide resolved
@cjnolet cjnolet closed this Oct 4, 2023
@cjnolet cjnolet reopened this Oct 4, 2023
@cjnolet
Copy link
Member Author

cjnolet commented Oct 4, 2023

@galipremsagar may I have a re-review here please?

@galipremsagar
Copy link
Contributor

Thanks @cjnolet !

@AyodeAwe
Copy link
Contributor

AyodeAwe commented Oct 5, 2023

/merge

@rapids-bot rapids-bot bot merged commit 2a7a869 into rapidsai:branch-23.12 Oct 5, 2023
64 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci CMake cpp improvement Improvement / enhancement to an existing function non-breaking Non-breaking change python
Projects
Development

Successfully merging this pull request may close these issues.

7 participants