Skip to content

Commit

Permalink
REL: Use legate/cupynumeric 24.11 packages and advertise as 24.11 (#6)
Browse files Browse the repository at this point in the history
This changes the VERSION file only. The actual release version will
happen by additionally tagging the merge commit once done.

Prepares an actual 24.11 release. All that should be needed is adding
the tag once merged to actually (also) push a 24.11.

Signed-off-by: Sebastian Berg <[email protected]>
  • Loading branch information
seberg authored Nov 26, 2024
1 parent 4f0afc1 commit a42a0e8
Show file tree
Hide file tree
Showing 17 changed files with 35 additions and 33 deletions.
2 changes: 0 additions & 2 deletions .git-blame-ignore-revs

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/conda-python-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ jobs:
build:
strategy:
fail-fast: false
# available legate and cunumeric packages:
# available legate and cupynumeric packages:
#
# * https://anaconda.org/legate/legate
# * https://anaconda.org/legate/cunumeric
# * https://anaconda.org/legate/cupynumeric
#
# Valid set of RAPIDS ci-conda image tags:
#
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
- conda-python-build
strategy:
fail-fast: false
# As of the last time this was updated, legate / cunumeric packages were published for only:
# As of the last time this was updated, legate / cupynumeric packages were published for only:
#
# * architectures: amd64 only
# * CUDA: >=12.2
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,20 @@ of naive bayes, knn, and kmeans.

Legate-raft is available as an anaconda package and can be installed using:
```bash
conda install -c legate/label/experimental -c rapidsai -c conda-forge legate-raft
conda install -c legate -c rapidsai -c conda-forge legate-raft
```
To include development releases add the `legate/label/experimental` channel.

## Building

The `legate-raft` library depends on [`legate-dataframe`](https://github.com/rapidsai/legate-dataframe),
which in turn depends on `legate` and `cunumeric`.
which in turn depends on `legate` and `cupynumeric`.

In most cases, you should not have to compile these from scratch. You can
create a local development environment using conda:
```bash
conda env create -f conda/environments/all_cuda-125_arch-x86_64.yaml -n legate-raft-dev
conda activate legate-raft-dev
```
This will install all build and test requirements.

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
24.09.00
24.11.00
1 change: 1 addition & 0 deletions ci/build_docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ rapids-mamba-retry install \
--override-channels \
--channel "${RAPIDS_LOCAL_CONDA_CHANNEL}" \
--channel legate \
--channel legate/label/rc \
--channel legate/label/experimental \
--channel rapidsai \
--channel conda-forge \
Expand Down
1 change: 1 addition & 0 deletions ci/build_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ CONDA_OVERRIDE_CUDA="${RAPIDS_CUDA_VERSION}" \
LEGATERAFT_PACKAGE_VERSION=$(head -1 ./VERSION) \
rapids-conda-retry mambabuild \
--channel legate \
--channel legate/label/rc \
--channel legate/label/experimental \
--channel rapidsai \
--channel conda-forge \
Expand Down
1 change: 1 addition & 0 deletions ci/test_python_common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ rapids-mamba-retry install \
--name test-env \
--channel "${RAPIDS_LOCAL_CONDA_CHANNEL}" \
--channel legate \
--channel legate/label/rc \
--channel legate/label/experimental \
--channel rapidsai \
--channel conda-forge \
Expand Down
7 changes: 4 additions & 3 deletions conda/environments/all_cuda-125_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
channels:
- rapidsai
- legate
- legate/label/rc
- legate/label/experimental
- conda-forge
- nvidia
Expand All @@ -16,17 +17,17 @@ dependencies:
- cuda-nvtx-dev
- cuda-profiler-api
- cuda-version=12.5
- cunumeric==25.01.*,>=0.0.0.dev0
- cupy>=12.0.0
- cupynumeric==24.11.*
- cxx-compiler
- cython>=3.0.0
- gcc_linux-64=11.*
- gitpython
- hypothesis>=6
- joblib
- jupyter
- legate-dataframe==24.09.*,>=0.0.0.dev0
- legate==25.01.*,>=0.0.0.dev0
- legate-dataframe==24.11.*
- legate==24.11.01
- libraft==24.08.*,>=0.0.0a0
- librmm==24.08.*,>=0.0.0a0
- libucxx
Expand Down
7 changes: 2 additions & 5 deletions conda/recipes/legate-raft/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,10 @@ cuda11_compiler:
- nvcc

legate_version:
# We want 24.09/24.11, but need >24.09.00.dev329 to work
# with dataframe, boost, and raft. This doesn't exist.
# Also force a _ucx version because _gex depends on MPI and fails.
- "=25.01.*,>=0.0.0.dev0 =*_ucx*"
- =24.11.01

legatedataframe_version:
- "=24.09.*,>=0.0.0.dev0"
- =24.11.*

rapids_version:
- =24.08.*
6 changes: 3 additions & 3 deletions conda/recipes/legate-raft/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ build:
- {{ compiler('cuda') }}
- cuda-cudart-dev
- libcublas-dev
- cunumeric # only a build dependency to help resolver
- cupynumeric # only a build dependency to help resolver

requirements:
build:
Expand All @@ -56,9 +56,9 @@ requirements:
- legate {{ legate_version }}
- legate-dataframe {{ legatedataframe_version }}
# Only to ensure a nightly legate version we pick up
# is compatible with an existing cunumeric version.
# is compatible with an existing cupynumeric version.
# (may also stabilize not using debug/sanitizer builds)
- cunumeric
- cupynumeric
- cython>=3.0.0
- libcublas-dev
- python
Expand Down
2 changes: 1 addition & 1 deletion cpp/src/task/pitches.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
*
*/

// Copied from cunumeric/src/cunumeric/pitches.h.
// Copied from cupynumeric/src/cupynumeric/pitches.h.

#pragma once

Expand Down
7 changes: 4 additions & 3 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ files:
channels:
- rapidsai
- legate
- legate/label/rc
- legate/label/experimental
- conda-forge
- nvidia
Expand Down Expand Up @@ -183,7 +184,7 @@ dependencies:
- output_types: [conda, requirements, pyproject]
packages:
- pytest>=7.0
- cunumeric==25.01.*,>=0.0.0.dev0
- cupynumeric==24.11.*
- hypothesis>=6
- scikit-learn
- joblib
Expand All @@ -205,13 +206,13 @@ dependencies:
common:
- output_types: [conda, pyproject, requirements]
packages:
- legate==25.01.*,>=0.0.0.dev0
- legate==24.11.01

depends_on_legate-dataframe:
common:
- output_types: [conda, pyproject, requirements]
packages:
- legate-dataframe==24.09.*,>=0.0.0.dev0
- legate-dataframe==24.11.*

depends_on_libraft:
common:
Expand Down
4 changes: 2 additions & 2 deletions legate_raft/test/test_kmeans.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

import pickle

import cunumeric as cn
import cupynumeric as cn
import numpy as np
import pytest
from legate.core import get_legate_runtime
Expand All @@ -30,7 +30,7 @@ def test_kmeans_training(n_rows, n_cols, k, dtype, verbose=False):
# Increasing the number of rows stabilizes the test.

# TODO: make_blobs doesn't support float64 currently (I think)
# This is the only reason for cunumeric (below use can be as_array).
# This is the only reason for cupynumeric (below use can be as_array).
X, y = make_blobs(n_rows, n_cols, k)
X = cn.asarray(X)
X = X.astype(dtype, copy=False)
Expand Down
4 changes: 2 additions & 2 deletions legate_raft/test/test_knn.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

import cunumeric as cn
import cupynumeric as cn
import numpy as np
import pytest

Expand All @@ -25,7 +25,7 @@ def test_knn(n_index_rows, n_features, k, dtype):
metric = "l2"

X, _ = make_blobs(n_index_rows + n_search_rows, n_features, centers=5)
# cunumeric makes casting easier and allows using `np.asarray`
# cupynumeric makes casting easier and allows using `np.asarray`
X = cn.asarray(X).astype(np.float64)
index = X[:n_index_rows, :]
search = X[n_index_rows:, :]
Expand Down
2 changes: 1 addition & 1 deletion legate_raft/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def _track_provenance(func):
All calls which directly launch tasks should be decorated.
This e.g. adds Python line number to profiling results. Similar to
cunumeric, we use `functools.update_wrapper` which the legate core
cupynumeric, we use `functools.update_wrapper` which the legate core
version did not at the time of writing.
"""
wrapped_func = _track_provenance_legate()(func)
Expand Down
10 changes: 5 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ license = {text = "Apache 2.0"}
requires-python = ">=3.10"
dependencies = [
"cupy-cuda12x>=12.0.0",
"legate-dataframe==24.09.*,>=0.0.0.dev0",
"legate==25.01.*,>=0.0.0.dev0",
"legate-dataframe==24.11.*",
"legate==24.11.01",
"libraft==24.08.*,>=0.0.0a0",
"librmm==24.08.*,>=0.0.0a0",
"numpy >=1.23,<3.0.0a0",
Expand All @@ -36,7 +36,7 @@ License = "https://github.com/rapidsai/legate-raft/blob/main/LICENSE"

[project.optional-dependencies]
test = [
"cunumeric==25.01.*,>=0.0.0.dev0",
"cupynumeric==24.11.*",
"hypothesis>=6",
"joblib",
"pytest>=7.0",
Expand All @@ -47,8 +47,8 @@ test = [
requires = [
"cmake>=3.26.4,!=3.30.0",
"cython>=3.0.0",
"legate-dataframe==24.09.*,>=0.0.0.dev0",
"legate==25.01.*,>=0.0.0.dev0",
"legate-dataframe==24.11.*",
"legate==24.11.01",
"libraft==24.08.*,>=0.0.0a0",
"librmm==24.08.*,>=0.0.0a0",
"ninja",
Expand Down

0 comments on commit a42a0e8

Please sign in to comment.