Skip to content

Commit 21ea7b3

Browse files
authored
v23.09.00
v23.09.00
2 parents 2b91db4 + a73fb31 commit 21ea7b3

File tree

85 files changed

+1458
-856
lines changed

Some content is hidden

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

85 files changed

+1458
-856
lines changed

.github/copy-pr-bot.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Configuration file for `copy-pr-bot` GitHub App
2+
# https://docs.gha-runners.nvidia.com/apps/copy-pr-bot/
3+
4+
enabled: true

.github/ops-bot.yaml

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

.github/workflows/ci-gh-docs.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
push:
55
branches-ignore:
66
- gh-pages # deployment target branch (this workflow should not exist on that branch anyway)
7+
- "pull-request/[0-9]+"
78
pull_request:
89
branches-ignore:
910
- gh-pages # deployment target branch (this workflow should not exist on that branch anyway)
@@ -44,14 +45,14 @@ jobs:
4445
env:
4546
MATRIX_CONTEXT: ${{ toJSON(matrix) }}
4647
run: echo "$MATRIX_CONTEXT"
47-
48+
4849
####################################
4950
# Actual build process starts here #
5051
####################################
51-
52+
5253
- name: Checkout
5354
uses: actions/checkout@v3
54-
55+
5556
- name: Generate YAML file listing dependencies
5657
run: scripts/generate-conda-envs.py --python 3.10 --ctk 11.8 --os linux --compilers --openmpi
5758

@@ -61,7 +62,7 @@ jobs:
6162
- name: Build doxygen documentation through install.py
6263
run: |
6364
conda run -n legate /bin/bash -c "./install.py --docs"
64-
65+
6566
- name: Build documentation using Makefile
6667
working-directory: ./docs/legate/core
6768
run: |

.github/workflows/ci-gh-gpu-build-and-test.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,15 @@ jobs:
2727
fail-fast: false
2828
matrix:
2929
include:
30-
- { name: Pytest Unit Tests, test-scope: unit }
31-
- { name: mypy, test-scope: mypy }
30+
- { name: Pytest Unit Tests, test-scope: unit, runner: linux-amd64-gpu-v100-latest-1 }
31+
- { name: Pytest Unit Tests, test-scope: unit, runner: linux-amd64-2gpu }
32+
- { name: mypy, test-scope: mypy, runner: 'linux-amd64-gpu-v100-latest-1' }
3233
name: ${{ matrix.name }}
3334
uses:
3435
./.github/workflows/gh-test.yml
3536
with:
3637
build-target: gpu
37-
runs-on: linux-amd64-gpu-v100-latest-1
38+
runs-on: ${{ matrix.runner }}
3839
sha: ${{ github.sha }}
3940
test-scope: ${{ matrix.test-scope }}
4041

.github/workflows/ci.yml

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

.github/workflows/gh-build.yml

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ on:
1515

1616
env:
1717
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
18+
BASE_IMAGE: rapidsai/devcontainers:23.06-cpp-mambaforge-ubuntu22.04
1819
IMAGE_NAME: legate.core-${{ inputs.build-target }}
1920
USE_CUDA: ${{ (inputs.build-target == 'cpu' && 'OFF') || 'ON' }}
2021

@@ -43,44 +44,55 @@ jobs:
4344
role-duration-seconds: 28800 # 8 hours
4445
role-to-assume: arn:aws:iam::279114543810:role/gha-oidc-nv-legate
4546

47+
- name: Docker system prune
48+
run: |
49+
docker version
50+
docker system prune --all --force
51+
4652
- name: Build docker image
4753
run: |
4854
echo BUILD_TARGET: ${{ inputs.build-target }}
4955
echo USE_CUDA: ${{ env.USE_CUDA }}
5056
51-
docker build \
52-
--build-arg AWS_SESSION_TOKEN=${{ env.AWS_SESSION_TOKEN }} \
53-
--build-arg AWS_ACCESS_KEY_ID=${{ env.AWS_ACCESS_KEY_ID }} \
54-
--build-arg AWS_SECRET_ACCESS_KEY=${{ env.AWS_SECRET_ACCESS_KEY }} \
55-
--build-arg GITHUB_TOKEN=${{ env.GITHUB_TOKEN }} \
56-
--build-arg USE_CUDA=${{ env.USE_CUDA }} \
57-
--progress=plain \
58-
--tag=$IMAGE_NAME:${{ inputs.sha }} \
59-
--label "git-commit=${{ inputs.sha }}" \
60-
-f continuous_integration/Dockerfile .
57+
IMAGE_TAG=${{ env.IMAGE_NAME }}:${{ inputs.sha }}
58+
59+
continuous_integration/build-docker-image \
60+
--base-image "$BASE_IMAGE" \
61+
--image-tag "$IMAGE_TAG" \
62+
--source-dir .
63+
64+
- name: Dump docker history of image before upload
65+
run: |
66+
IMAGE_TAG=${{ env.IMAGE_NAME }}:${{ inputs.sha }}
67+
docker history $IMAGE_TAG
68+
69+
- name: Dump docker history of image before upload
70+
run: |
71+
IMAGE_TAG=${{ env.IMAGE_NAME_CUNUMERIC }}:${{ inputs.sha }}
6172
6273
- name: Log in to container image registry
6374
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
6475

6576
- name: Push image
6677
run: |
67-
IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME
78+
IMAGE_TAG=${{ env.IMAGE_NAME }}:${{ inputs.sha }}
79+
80+
IMAGE_ID=ghcr.io/${{ github.repository_owner }}
6881
6982
# Change all uppercase to lowercase
7083
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
7184
72-
VERSION=${{ inputs.sha }}
85+
IMAGE_ID=$IMAGE_ID/$IMAGE_TAG
7386
74-
docker tag $IMAGE_NAME:$VERSION $IMAGE_ID:$VERSION
75-
docker push $IMAGE_ID:$VERSION
87+
docker tag $IMAGE_TAG $IMAGE_ID
88+
docker push $IMAGE_ID
7689
7790
- name: Copy artifacts back to the host
7891
run: |
92+
IMAGE_TAG=${{ env.IMAGE_NAME }}:${{ inputs.sha }}
7993
mkdir -p artifacts
80-
docker run -v "$(pwd)/artifacts:/home/coder/.artifacts" --rm -t $IMAGE_NAME:${{ inputs.sha }} copy-artifacts
81-
echo --------- DOCKER HISTORY START -----------
82-
docker history $IMAGE_NAME:${{ inputs.sha }}
83-
echo --------- DOCKER HISTORY END -----------
94+
docker run -v "$(pwd)/artifacts:/home/coder/.artifacts" --rm -t $IMAGE_TAG copy-artifacts
95+
8496
8597
- name: Display structure of workdir
8698
run: ls -R

BUILD.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ environment file listing all the packages that are required to build, run and
3333
test Legate Core and all downstream libraries. For example:
3434

3535
```shell
36-
$ ./scripts/generate-conda-envs.py --python 3.10 --ctk 11.7 --os linux --compilers --openmpi
37-
--- generating: environment-test-linux-py310-cuda-11.7-compilers-openmpi.yaml
36+
$ ./scripts/generate-conda-envs.py --python 3.10 --ctk 11.8 --os linux --compilers --openmpi
37+
--- generating: environment-test-linux-py310-cuda-11.8-compilers-openmpi.yaml
3838
```
3939

4040
Run this script with `-h` to see all available configuration options for the

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ include(rapids-cuda)
7272
include(rapids-export)
7373
include(rapids-find)
7474

75-
set(legate_core_version 23.07.00)
75+
set(legate_core_version 23.09.00)
7676

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

cmake/Modules/cuda_arch_helpers.cmake

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,34 +17,34 @@
1717
function(set_cuda_arch_from_names)
1818
set(cuda_archs "")
1919
# translate legacy arch names into numbers
20-
if(CMAKE_CUDA_ARCHITECTURES MATCHES "fermi")
20+
if(Legion_CUDA_ARCH MATCHES "fermi")
2121
list(APPEND cuda_archs 20)
2222
endif()
23-
if(CMAKE_CUDA_ARCHITECTURES MATCHES "kepler")
23+
if(Legion_CUDA_ARCH MATCHES "kepler")
2424
list(APPEND cuda_archs 30)
2525
endif()
26-
if(CMAKE_CUDA_ARCHITECTURES MATCHES "k20")
26+
if(Legion_CUDA_ARCH MATCHES "k20")
2727
list(APPEND cuda_archs 35)
2828
endif()
29-
if(CMAKE_CUDA_ARCHITECTURES MATCHES "k80")
29+
if(Legion_CUDA_ARCH MATCHES "k80")
3030
list(APPEND cuda_archs 37)
3131
endif()
32-
if(CMAKE_CUDA_ARCHITECTURES MATCHES "maxwell")
32+
if(Legion_CUDA_ARCH MATCHES "maxwell")
3333
list(APPEND cuda_archs 52)
3434
endif()
35-
if(CMAKE_CUDA_ARCHITECTURES MATCHES "pascal")
35+
if(Legion_CUDA_ARCH MATCHES "pascal")
3636
list(APPEND cuda_archs 60)
3737
endif()
38-
if(CMAKE_CUDA_ARCHITECTURES MATCHES "volta")
38+
if(Legion_CUDA_ARCH MATCHES "volta")
3939
list(APPEND cuda_archs 70)
4040
endif()
41-
if(CMAKE_CUDA_ARCHITECTURES MATCHES "turing")
41+
if(Legion_CUDA_ARCH MATCHES "turing")
4242
list(APPEND cuda_archs 75)
4343
endif()
44-
if(CMAKE_CUDA_ARCHITECTURES MATCHES "ampere")
44+
if(Legion_CUDA_ARCH MATCHES "ampere")
4545
list(APPEND cuda_archs 80)
4646
endif()
47-
if(CMAKE_CUDA_ARCHITECTURES MATCHES "hopper")
47+
if(Legion_CUDA_ARCH MATCHES "hopper")
4848
list(APPEND cuda_archs 90)
4949
endif()
5050

@@ -60,19 +60,24 @@ function(set_cuda_arch_from_names)
6060
else()
6161
list(TRANSFORM cuda_archs APPEND "-real")
6262
endif()
63-
set(CMAKE_CUDA_ARCHITECTURES ${cuda_archs} PARENT_SCOPE)
63+
set(Legion_CUDA_ARCH ${cuda_archs} PARENT_SCOPE)
6464
endif()
6565
endfunction()
6666

67-
function(add_cuda_architecture_defines defs)
68-
message(VERBOSE "legate.core: CMAKE_CUDA_ARCHITECTURES=${CMAKE_CUDA_ARCHITECTURES}")
67+
function(add_cuda_architecture_defines)
68+
set(options )
69+
set(oneValueArgs DEFS)
70+
set(multiValueArgs ARCHS)
71+
cmake_parse_arguments(cuda "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
6972

70-
set(_defs ${${defs}})
73+
message(VERBOSE "legate.core: CUDA_ARCHITECTURES=${cuda_ARCHS}")
74+
75+
set(_defs ${${cuda_DEFS}})
7176

7277
macro(add_def_if_arch_enabled arch def)
73-
if("${arch}" IN_LIST CMAKE_CUDA_ARCHITECTURES OR
74-
("${arch}-real" IN_LIST CMAKE_CUDA_ARCHITECTURES) OR
75-
("${arch}-virtual" IN_LIST CMAKE_CUDA_ARCHITECTURES))
78+
if("${arch}" IN_LIST cuda_ARCHS OR
79+
("${arch}-real" IN_LIST cuda_ARCHS) OR
80+
("${arch}-virtual" IN_LIST cuda_ARCHS))
7681
list(APPEND _defs ${def})
7782
endif()
7883
endmacro()
@@ -88,5 +93,5 @@ function(add_cuda_architecture_defines defs)
8893
add_def_if_arch_enabled("80" "AMPERE_ARCH")
8994
add_def_if_arch_enabled("90" "HOPPER_ARCH")
9095

91-
set(${defs} ${_defs} PARENT_SCOPE)
96+
set(${cuda_DEFS} ${_defs} PARENT_SCOPE)
9297
endfunction()

cmake/Modules/legate_core_options.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ option(legate_core_BUILD_DOCS "Build doxygen docs" OFF)
8787
set_or_default(NCCL_DIR NCCL_PATH)
8888
set_or_default(Thrust_DIR THRUST_PATH)
8989
set_or_default(CUDA_TOOLKIT_ROOT_DIR CUDA)
90-
set_or_default(CMAKE_CUDA_ARCHITECTURES GPU_ARCH NATIVE)
90+
set_or_default(Legion_CUDA_ARCH GPU_ARCH all-major)
9191
set_or_default(Legion_HIJACK_CUDART USE_CUDART_HIJACK OFF)
9292

9393
include(CMakeDependentOption)

0 commit comments

Comments
 (0)