Skip to content

Commit

Permalink
v23.07.00
Browse files Browse the repository at this point in the history
v23.07.00
  • Loading branch information
marcinz authored Jul 21, 2023
2 parents 9ac887b + d9a226a commit d413db2
Show file tree
Hide file tree
Showing 295 changed files with 11,311 additions and 2,469 deletions.
4 changes: 4 additions & 0 deletions .github/ops-bot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# This file controls which features from the `ops-bot` repository below are enabled.
# - https://github.com/rapidsai/ops-bot

copy_prs: true
109 changes: 109 additions & 0 deletions .github/workflows/ci-gh.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: Build cunumeric on GH

concurrency:
group: ci-gpu-on-${{ github.event_name }}-from-${{ github.ref_name }}
cancel-in-progress: true

on:
push:
branches:
- "pull-request/[0-9]+"
- "branch-*"

jobs:
build:
permissions:
id-token: write # This is required for configure-aws-credentials
contents: read # This is required for actions/checkout

# Ref: https://docs.rapids.ai/resources/github-actions/#cpu-labels for `linux-amd64-cpu4`
runs-on: ${{ github.repository == 'nv-legate/cunumeric' && 'linux-amd64-cpu4' || 'ubuntu-latest' }}
container:
options: -u root
image: rapidsai/devcontainers:23.06-cpp-cuda11.8-mambaforge-ubuntu22.04
volumes:
- ${{ github.workspace }}/out:/tmp/out
env:
DEFAULT_CONDA_ENV: legate
PYTHONDONTWRITEBYTECODE: 1
SCCACHE_REGION: us-east-2
SCCACHE_BUCKET: rapids-sccache-east
SCCACHE_S3_KEY_PREFIX: legate-cunumeric-dev
GH_TOKEN: "${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }}"
GITHUB_TOKEN: "${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }}"
VAULT_HOST: "${{ secrets.PERSONAL_ACCESS_TOKEN && 'https://vault.ops.k8s.rapids.ai' || '' }}"
VAULT_S3_TTL: "28800s" # 8 hours

steps:
- name: Checkout legate.core
uses: actions/checkout@v3
with:
repository: nv-legate/legate.core
fetch-depth: 0
path: legate

- name: Checkout cunumeric (= this repo)
uses: actions/checkout@v3
with:
fetch-depth: 0
path: cunumeric

- name: Setup
shell: bash -eo pipefail {0}
run: |
export LEGATE_SHA=$(cat cunumeric/cmake/versions.json | jq -r '.packages.legate_core.git_tag')
echo "Checking out LEGATE_SHA: ${LEGATE_SHA}"
git -C legate checkout $LEGATE_SHA
cp -ar legate/continuous_integration/home/coder/.gitconfig /home/coder/;
cp -ar legate/continuous_integration/home/coder/.local /home/coder/;
mv legate /home/coder/legate
cp -ar cunumeric/continuous_integration/home/coder/.local/bin/* /home/coder/.local/bin/;
mv cunumeric /home/coder/cunumeric;
chmod a+x /home/coder/.local/bin/*;
chown -R coder:coder /home/coder/;
chown -R coder:coder /tmp/out;
- if: github.repository == 'nv-legate/cunumeric'
name: Get AWS credentials for sccache bucket
uses: aws-actions/configure-aws-credentials@v2
with:
aws-region: us-east-2
role-duration-seconds: 28800 # 8 hours
role-to-assume: arn:aws:iam::279114543810:role/gha-oidc-nv-legate

- name: Create conda env
shell: su coder {0}
run: cd ~/; exec entrypoint make-conda-env;

- name: Build legate.core C++ library
shell: su coder {0}
run: cd ~/; exec entrypoint build-legate-cpp;

- name: Build legate.core Python Wheel
shell: su coder {0}
run: cd ~/; exec entrypoint build-legate-wheel;

- name: Build legate.core Conda Package
shell: su coder {0}
run: cd ~/; exec entrypoint build-legate-conda;

- name: Build cunumeric C++ library
shell: su coder {0}
run: cd ~/; exec entrypoint build-cunumeric-cpp;

- name: Build cunumeric Python Wheel
shell: su coder {0}
run: cd ~/; exec entrypoint build-cunumeric-wheel;

- name: Build cunumeric Conda Package
shell: su coder {0}
run: cd ~/; exec entrypoint build-cunumeric-conda;

- name: Upload build output
uses: actions/upload-artifact@v3
with:
name: "cunumeric-${{ github.sha }}"
path: ./out/*
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
/data/github-runner/legate-bin/setup.sh
cd legate-ci/github-ci/cunumeric
rm -rf ngc-artifacts || true
./build-conda.sh > ${COMMIT}-build.log 2>&1
./build-separate.sh > ${COMMIT}-build.log 2>&1
- name: Process Output
run: |
cd legate-ci/github-ci/cunumeric
Expand Down Expand Up @@ -120,6 +120,7 @@ jobs:
- name: Test
run: |
cd legate-ci/github-ci/cunumeric
[[ "${{ matrix.name }}" == "Eager"* ]] && export PYTHONFAULTHANDLER=1
./test.sh ${{ matrix.options }} > ${COMMIT}-test-${{ matrix.log }}.log 2>&1
- name: Process output
if: always()
Expand Down
9 changes: 5 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/pre-commit/mirrors-mypy
rev: 'v1.0.1'
rev: 'v1.4.1'
hooks:
- id: mypy
language: system
Expand All @@ -11,15 +11,15 @@ repos:
hooks:
- id: isort
- repo: https://github.com/psf/black
rev: 23.1.0
rev: 23.3.0
hooks:
- id: black
- repo: https://github.com/PyCQA/flake8
rev: 6.0.0
hooks:
- id: flake8
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: 'v15.0.7' # Use the sha / tag you want to point at
rev: 'v16.0.6' # Use the sha / tag you want to point at
hooks:
- id: clang-format
files: \.(cu|cuh|h|cc|inl)$
Expand All @@ -34,7 +34,8 @@ repos:
pass_filenames: false

ci:
skip: [mypy]
skip: [mypy]
autoupdate_schedule: quarterly

default_language_version:
python: python3
80 changes: 0 additions & 80 deletions BUILD.md

This file was deleted.

12 changes: 10 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,19 @@ if(POLICY CMP0135)
set(CMAKE_POLICY_DEFAULT_CMP0135 NEW)
endif()

if(POLICY CMP0132)
# Avoid an inconsistency, where cmake would only set the CC/CXX env vars on
# the first run, but not subsequent ones. This would come up when building
# TBLIS.
cmake_policy(SET CMP0132 NEW)
set(CMAKE_POLICY_DEFAULT_CMP0132 NEW)
endif()

##############################################################################
# - Download and initialize RAPIDS CMake helpers -----------------------------

if(NOT EXISTS ${CMAKE_BINARY_DIR}/RAPIDS.cmake)
file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.02/RAPIDS.cmake
file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-23.08/RAPIDS.cmake
${CMAKE_BINARY_DIR}/RAPIDS.cmake)
endif()
include(${CMAKE_BINARY_DIR}/RAPIDS.cmake)
Expand All @@ -47,7 +55,7 @@ include(rapids-cuda)
include(rapids-export)
include(rapids-find)

set(cunumeric_version 23.03.00)
set(cunumeric_version 23.07.00)

# For now we want the optimization flags to match on both normal make and cmake
# builds so we override the cmake defaults here for release, this changes
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ CuNumeric is an open-source project released under the [Apache license, version

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.

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.
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.

## The Legalese: Developer Certificate of Origin

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)):
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/):

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

## Review Process

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.
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.

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).

Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,13 @@ conda install -c nvidia -c conda-forge -c legate cunumeric

Only linux-64 packages are available at the moment.

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

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

## Usage and Execution

Expand Down
33 changes: 18 additions & 15 deletions cmake/thirdparty/get_tblis.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -77,38 +77,41 @@ function(find_or_configure_tblis)
set(tblis_thread_model "--enable-thread-model=openmp")
endif()

# CMake sets `ENV{CC}` to /usr/bin/cc if it's not set. This causes tblis'
# `./configure` to fail. For now, detect this case and reset ENV{CC/CXX}.
# Remove this workaround when we can use `cmake_policy(SET CMP0132 NEW)`:
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/7108

# Use ENV{CC/CXX} to tell TBLIS to use the same compilers as the
# rest of the build.
# TODO: Consider doing the same for CMAKE_C/CXX_FLAGS
set(CC_ORIG "$ENV{CC}")
set(CXX_ORIG "$ENV{CXX}")
set(_CC "${CMAKE_C_COMPILER}")
set(_CXX "${CMAKE_CXX_COMPILER}")

if(CC_ORIG MATCHES "^.*\/cc$")
file(REAL_PATH "${_CC}" _CC EXPAND_TILDE)
file(REAL_PATH "${_CXX}" _CXX EXPAND_TILDE)
set(ENV{CC} "${_CC}")
set(ENV{CXX} "${_CXX}")
endif()

# Use the caching compiler (if provided) to speed up tblis builds
if(CMAKE_C_COMPILER_LAUNCHER)
set(ENV{CC} "${CMAKE_C_COMPILER_LAUNCHER} ${_CC}")
set(_CC "${CMAKE_C_COMPILER_LAUNCHER} ${_CC}")
endif()
if(CMAKE_CXX_COMPILER_LAUNCHER)
set(ENV{CXX} "${CMAKE_CXX_COMPILER_LAUNCHER} ${_CXX}")
set(_CXX "${CMAKE_CXX_COMPILER_LAUNCHER} ${_CXX}")
endif()

set(ENV{CC} "${_CC}")
set(ENV{CXX} "${_CXX}")
message(VERBOSE "cunumeric: ENV{CC}=\"$ENV{CC}\"")
message(VERBOSE "cunumeric: ENV{CXX}=\"$ENV{CXX}\"")

set(tblis_verbosity "--enable-silent-rules")
if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.25")
cmake_language(GET_MESSAGE_LOG_LEVEL log_level)
if(${log_level} STREQUAL "VERBOSE" OR
${log_level} STREQUAL "DEBUG" OR
${log_level} STREQUAL "TRACE")
set(tblis_verbosity "--disable-silent-rules")
endif()
endif()

execute_process(
COMMAND ./configure
${tblis_thread_model}
--enable-silent-rules
${tblis_verbosity}
--disable-option-checking
--with-label-type=int32_t
--with-length-type=int64_t
Expand Down
5 changes: 4 additions & 1 deletion cmake/versions.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
{
"packages" : {
"legate_core" : {
"version": "23.07.00",
"git_url" : "https://github.com/nv-legate/legate.core.git",
"git_tag" : "37596159b1f8f06439fdc95d6090bbc4315c302c"
"git_shallow": false,
"always_download": false,
"git_tag" : "ac75ac05a9056f49729797415ee489b45686a528"
}
}
}
Loading

0 comments on commit d413db2

Please sign in to comment.