Skip to content

Commit d413db2

Browse files
authored
v23.07.00
v23.07.00
2 parents 9ac887b + d9a226a commit d413db2

File tree

295 files changed

+11311
-2469
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

295 files changed

+11311
-2469
lines changed

.github/ops-bot.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# This file controls which features from the `ops-bot` repository below are enabled.
2+
# - https://github.com/rapidsai/ops-bot
3+
4+
copy_prs: true

.github/workflows/ci-gh.yml

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
name: Build cunumeric on GH
2+
3+
concurrency:
4+
group: ci-gpu-on-${{ github.event_name }}-from-${{ github.ref_name }}
5+
cancel-in-progress: true
6+
7+
on:
8+
push:
9+
branches:
10+
- "pull-request/[0-9]+"
11+
- "branch-*"
12+
13+
jobs:
14+
build:
15+
permissions:
16+
id-token: write # This is required for configure-aws-credentials
17+
contents: read # This is required for actions/checkout
18+
19+
# Ref: https://docs.rapids.ai/resources/github-actions/#cpu-labels for `linux-amd64-cpu4`
20+
runs-on: ${{ github.repository == 'nv-legate/cunumeric' && 'linux-amd64-cpu4' || 'ubuntu-latest' }}
21+
container:
22+
options: -u root
23+
image: rapidsai/devcontainers:23.06-cpp-cuda11.8-mambaforge-ubuntu22.04
24+
volumes:
25+
- ${{ github.workspace }}/out:/tmp/out
26+
env:
27+
DEFAULT_CONDA_ENV: legate
28+
PYTHONDONTWRITEBYTECODE: 1
29+
SCCACHE_REGION: us-east-2
30+
SCCACHE_BUCKET: rapids-sccache-east
31+
SCCACHE_S3_KEY_PREFIX: legate-cunumeric-dev
32+
GH_TOKEN: "${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }}"
33+
GITHUB_TOKEN: "${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }}"
34+
VAULT_HOST: "${{ secrets.PERSONAL_ACCESS_TOKEN && 'https://vault.ops.k8s.rapids.ai' || '' }}"
35+
VAULT_S3_TTL: "28800s" # 8 hours
36+
37+
steps:
38+
- name: Checkout legate.core
39+
uses: actions/checkout@v3
40+
with:
41+
repository: nv-legate/legate.core
42+
fetch-depth: 0
43+
path: legate
44+
45+
- name: Checkout cunumeric (= this repo)
46+
uses: actions/checkout@v3
47+
with:
48+
fetch-depth: 0
49+
path: cunumeric
50+
51+
- name: Setup
52+
shell: bash -eo pipefail {0}
53+
run: |
54+
export LEGATE_SHA=$(cat cunumeric/cmake/versions.json | jq -r '.packages.legate_core.git_tag')
55+
echo "Checking out LEGATE_SHA: ${LEGATE_SHA}"
56+
git -C legate checkout $LEGATE_SHA
57+
58+
cp -ar legate/continuous_integration/home/coder/.gitconfig /home/coder/;
59+
cp -ar legate/continuous_integration/home/coder/.local /home/coder/;
60+
mv legate /home/coder/legate
61+
62+
cp -ar cunumeric/continuous_integration/home/coder/.local/bin/* /home/coder/.local/bin/;
63+
mv cunumeric /home/coder/cunumeric;
64+
65+
chmod a+x /home/coder/.local/bin/*;
66+
chown -R coder:coder /home/coder/;
67+
chown -R coder:coder /tmp/out;
68+
69+
- if: github.repository == 'nv-legate/cunumeric'
70+
name: Get AWS credentials for sccache bucket
71+
uses: aws-actions/configure-aws-credentials@v2
72+
with:
73+
aws-region: us-east-2
74+
role-duration-seconds: 28800 # 8 hours
75+
role-to-assume: arn:aws:iam::279114543810:role/gha-oidc-nv-legate
76+
77+
- name: Create conda env
78+
shell: su coder {0}
79+
run: cd ~/; exec entrypoint make-conda-env;
80+
81+
- name: Build legate.core C++ library
82+
shell: su coder {0}
83+
run: cd ~/; exec entrypoint build-legate-cpp;
84+
85+
- name: Build legate.core Python Wheel
86+
shell: su coder {0}
87+
run: cd ~/; exec entrypoint build-legate-wheel;
88+
89+
- name: Build legate.core Conda Package
90+
shell: su coder {0}
91+
run: cd ~/; exec entrypoint build-legate-conda;
92+
93+
- name: Build cunumeric C++ library
94+
shell: su coder {0}
95+
run: cd ~/; exec entrypoint build-cunumeric-cpp;
96+
97+
- name: Build cunumeric Python Wheel
98+
shell: su coder {0}
99+
run: cd ~/; exec entrypoint build-cunumeric-wheel;
100+
101+
- name: Build cunumeric Conda Package
102+
shell: su coder {0}
103+
run: cd ~/; exec entrypoint build-cunumeric-conda;
104+
105+
- name: Upload build output
106+
uses: actions/upload-artifact@v3
107+
with:
108+
name: "cunumeric-${{ github.sha }}"
109+
path: ./out/*

.github/workflows/ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
/data/github-runner/legate-bin/setup.sh
5353
cd legate-ci/github-ci/cunumeric
5454
rm -rf ngc-artifacts || true
55-
./build-conda.sh > ${COMMIT}-build.log 2>&1
55+
./build-separate.sh > ${COMMIT}-build.log 2>&1
5656
- name: Process Output
5757
run: |
5858
cd legate-ci/github-ci/cunumeric
@@ -120,6 +120,7 @@ jobs:
120120
- name: Test
121121
run: |
122122
cd legate-ci/github-ci/cunumeric
123+
[[ "${{ matrix.name }}" == "Eager"* ]] && export PYTHONFAULTHANDLER=1
123124
./test.sh ${{ matrix.options }} > ${COMMIT}-test-${{ matrix.log }}.log 2>&1
124125
- name: Process output
125126
if: always()

.pre-commit-config.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/pre-commit/mirrors-mypy
3-
rev: 'v1.0.1'
3+
rev: 'v1.4.1'
44
hooks:
55
- id: mypy
66
language: system
@@ -11,15 +11,15 @@ repos:
1111
hooks:
1212
- id: isort
1313
- repo: https://github.com/psf/black
14-
rev: 23.1.0
14+
rev: 23.3.0
1515
hooks:
1616
- id: black
1717
- repo: https://github.com/PyCQA/flake8
1818
rev: 6.0.0
1919
hooks:
2020
- id: flake8
2121
- repo: https://github.com/pre-commit/mirrors-clang-format
22-
rev: 'v15.0.7' # Use the sha / tag you want to point at
22+
rev: 'v16.0.6' # Use the sha / tag you want to point at
2323
hooks:
2424
- id: clang-format
2525
files: \.(cu|cuh|h|cc|inl)$
@@ -34,7 +34,8 @@ repos:
3434
pass_filenames: false
3535

3636
ci:
37-
skip: [mypy]
37+
skip: [mypy]
38+
autoupdate_schedule: quarterly
3839

3940
default_language_version:
4041
python: python3

BUILD.md

Lines changed: 0 additions & 80 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,19 @@ if(POLICY CMP0135)
3333
set(CMAKE_POLICY_DEFAULT_CMP0135 NEW)
3434
endif()
3535

36+
if(POLICY CMP0132)
37+
# Avoid an inconsistency, where cmake would only set the CC/CXX env vars on
38+
# the first run, but not subsequent ones. This would come up when building
39+
# TBLIS.
40+
cmake_policy(SET CMP0132 NEW)
41+
set(CMAKE_POLICY_DEFAULT_CMP0132 NEW)
42+
endif()
43+
3644
##############################################################################
3745
# - Download and initialize RAPIDS CMake helpers -----------------------------
3846

3947
if(NOT EXISTS ${CMAKE_BINARY_DIR}/RAPIDS.cmake)
40-
file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.02/RAPIDS.cmake
48+
file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.08/RAPIDS.cmake
4149
${CMAKE_BINARY_DIR}/RAPIDS.cmake)
4250
endif()
4351
include(${CMAKE_BINARY_DIR}/RAPIDS.cmake)
@@ -47,7 +55,7 @@ include(rapids-cuda)
4755
include(rapids-export)
4856
include(rapids-find)
4957

50-
set(cunumeric_version 23.03.00)
58+
set(cunumeric_version 23.07.00)
5159

5260
# For now we want the optimization flags to match on both normal make and cmake
5361
# builds so we override the cmake defaults here for release, this changes

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ CuNumeric is an open-source project released under the [Apache license, version
66

77
Most of the time, the best thing is to begin by [opening an issue](https://github.com/nv-legate/cunumeric/issues). This gives us a chance to discuss the contribution and to define the problem or feature that it addresses. Often, opening of the issue first may help prevent you from doing unnecessary work or to enhance and further develop your idea.
88

9-
Once you are ready to start development, we ask you to work on a [fork](https://help.github.com/en/articles/fork-a-repo) of our repository. The next step is to create a (pull request)[https://help.github.com/en/articles/about-pull-requests]. Feel free to open the pull request as soon as you begin your development (just mark it [as a draft](https://github.blog/2019-02-14-introducing-draft-pull-requests/)) or when you are ready to have your contribution merged.
9+
Once you are ready to start development, we ask you to work on a [fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) of our repository. The next step is to create a (pull request)[https://help.github.com/en/articles/about-pull-requests]. Feel free to open the pull request as soon as you begin your development (just mark it [as a draft](https://github.blog/2019-02-14-introducing-draft-pull-requests/)) or when you are ready to have your contribution merged.
1010

1111
## The Legalese: Developer Certificate of Origin
1212

13-
CuNumeric is released under the open-source [Apache license, version 2.0](https://www.apache.org/licenses/LICENSE-2.0), and is free to use, modify, and redistribute. To ensure that the license can be exercised without encumbrance, we ask you that you only contribute your own work or work to which you have the intellectual rights. To that end, we employ the Developer's Certificate of Origin (DCO), which is the lightweight mechanism for you to certify that you are legally able to make your contribution. Here is the full text of the certificate (also available at [DeveloperCertificate.org](https://DeveloperCertificate.org)):
13+
CuNumeric is released under the open-source [Apache license, version 2.0](https://www.apache.org/licenses/LICENSE-2.0), and is free to use, modify, and redistribute. To ensure that the license can be exercised without encumbrance, we ask you that you only contribute your own work or work to which you have the intellectual rights. To that end, we employ the Developer's Certificate of Origin (DCO), which is the lightweight mechanism for you to certify that you are legally able to make your contribution. Here is the full text of the certificate (also available at [DeveloperCertificate.org](https://developercertificate.org/):
1414

1515
````
1616
Developer Certificate of Origin
@@ -61,7 +61,7 @@ Please use your real name and a valid email address at which you can be reached.
6161

6262
## Review Process
6363

64-
We are really grateful that you are thinking of contributing to cuNumeric. We will make every effort to review your contributions as soon as possible.
64+
We are really grateful that you are thinking of contributing to cuNumeric. We will make every effort to review your contributions as soon as possible.
6565

6666
As we suggested at the beginning of this document, it will be really helpful to start with an issue unless your proposed change is really trivial. An issue will help to save work in the review process (e.g., maybe somebody is already working on exactly the same thing you want to work on). After you open your pull request (PR), there usually will be a community feedback that often will require further changes to your contribution (the usual open-source process). Usually, this will conclude in the PR being merged by a maintainer, but on rare occasions a PR may be rejected. This may happen, for example, if the PR appears abandoned (no response to the community feedback) or if the PR does not seem to be approaching community acceptance in a reasonable time frame. In any case, an explanation will always be given why a PR is closed. Even if a PR is closed for some reason, it may always be reopened if the situation evolves (feel free to comment on closed PRs to discuss reopening them).
6767

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,13 @@ conda install -c nvidia -c conda-forge -c legate cunumeric
4545

4646
Only linux-64 packages are available at the moment.
4747

48-
The default package contains GPU support, and is compatible with CUDA >= 11.4
49-
(CUDA driver version >= r470), and Volta or later GPU architectures. There are
48+
The default package contains GPU support, and is compatible with CUDA >= 11.8
49+
(CUDA driver version >= r520), and Volta or later GPU architectures. There are
5050
also CPU-only packages available, and will be automatically selected by `conda`
5151
when installing on a machine without GPUs.
5252

53-
See [BUILD.md](BUILD.md) for instructions on building cuNumeric from source.
53+
See the build instructions at https://nv-legate.github.io/cunumeric for details
54+
about building cuNumeric from source.
5455

5556
## Usage and Execution
5657

cmake/thirdparty/get_tblis.cmake

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -77,38 +77,41 @@ function(find_or_configure_tblis)
7777
set(tblis_thread_model "--enable-thread-model=openmp")
7878
endif()
7979

80-
# CMake sets `ENV{CC}` to /usr/bin/cc if it's not set. This causes tblis'
81-
# `./configure` to fail. For now, detect this case and reset ENV{CC/CXX}.
82-
# Remove this workaround when we can use `cmake_policy(SET CMP0132 NEW)`:
83-
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/7108
84-
80+
# Use ENV{CC/CXX} to tell TBLIS to use the same compilers as the
81+
# rest of the build.
82+
# TODO: Consider doing the same for CMAKE_C/CXX_FLAGS
8583
set(CC_ORIG "$ENV{CC}")
8684
set(CXX_ORIG "$ENV{CXX}")
8785
set(_CC "${CMAKE_C_COMPILER}")
8886
set(_CXX "${CMAKE_CXX_COMPILER}")
8987

90-
if(CC_ORIG MATCHES "^.*\/cc$")
91-
file(REAL_PATH "${_CC}" _CC EXPAND_TILDE)
92-
file(REAL_PATH "${_CXX}" _CXX EXPAND_TILDE)
93-
set(ENV{CC} "${_CC}")
94-
set(ENV{CXX} "${_CXX}")
95-
endif()
96-
9788
# Use the caching compiler (if provided) to speed up tblis builds
9889
if(CMAKE_C_COMPILER_LAUNCHER)
99-
set(ENV{CC} "${CMAKE_C_COMPILER_LAUNCHER} ${_CC}")
90+
set(_CC "${CMAKE_C_COMPILER_LAUNCHER} ${_CC}")
10091
endif()
10192
if(CMAKE_CXX_COMPILER_LAUNCHER)
102-
set(ENV{CXX} "${CMAKE_CXX_COMPILER_LAUNCHER} ${_CXX}")
93+
set(_CXX "${CMAKE_CXX_COMPILER_LAUNCHER} ${_CXX}")
10394
endif()
10495

96+
set(ENV{CC} "${_CC}")
97+
set(ENV{CXX} "${_CXX}")
10598
message(VERBOSE "cunumeric: ENV{CC}=\"$ENV{CC}\"")
10699
message(VERBOSE "cunumeric: ENV{CXX}=\"$ENV{CXX}\"")
107100

101+
set(tblis_verbosity "--enable-silent-rules")
102+
if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.25")
103+
cmake_language(GET_MESSAGE_LOG_LEVEL log_level)
104+
if(${log_level} STREQUAL "VERBOSE" OR
105+
${log_level} STREQUAL "DEBUG" OR
106+
${log_level} STREQUAL "TRACE")
107+
set(tblis_verbosity "--disable-silent-rules")
108+
endif()
109+
endif()
110+
108111
execute_process(
109112
COMMAND ./configure
110113
${tblis_thread_model}
111-
--enable-silent-rules
114+
${tblis_verbosity}
112115
--disable-option-checking
113116
--with-label-type=int32_t
114117
--with-length-type=int64_t

cmake/versions.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
{
22
"packages" : {
33
"legate_core" : {
4+
"version": "23.07.00",
45
"git_url" : "https://github.com/nv-legate/legate.core.git",
5-
"git_tag" : "37596159b1f8f06439fdc95d6090bbc4315c302c"
6+
"git_shallow": false,
7+
"always_download": false,
8+
"git_tag" : "ac75ac05a9056f49729797415ee489b45686a528"
69
}
710
}
811
}

0 commit comments

Comments
 (0)