-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'NVIDIA/develop' into nvdisasm_search
- Loading branch information
Showing
29 changed files
with
2,703 additions
and
126 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
[flake8] | ||
ignore = | ||
# Extra space in brackets | ||
E20, | ||
# Multiple spaces around "," | ||
E231,E241, | ||
# Comments | ||
E26, | ||
# Assigning lambda expression | ||
E731, | ||
# Ambiguous variable names | ||
E741, | ||
# line break before binary operator | ||
W503, | ||
# line break after binary operator | ||
W504, | ||
max-line-length = 80 | ||
|
||
exclude = | ||
__pycache__ | ||
.git | ||
*.pyc | ||
*~ | ||
*.o | ||
*.so | ||
*.cpp | ||
*.c | ||
*.h | ||
|
||
per-file-ignores = | ||
# Slightly long line in the standard version file | ||
numba_cuda/_version.py: E501 | ||
# "Unused" imports / potentially undefined names in init files | ||
numba_cuda/numba/cuda/__init__.py:F401,F403,F405 | ||
numba_cuda/numba/cuda/simulator/__init__.py:F401,F403 | ||
numba_cuda/numba/cuda/simulator/cudadrv/__init__.py:F401 | ||
# Ignore star imports, unused imports, and "may be defined by star imports" | ||
# errors in device_init because its purpose is to bring together a lot of | ||
# the public API to be star-imported in numba.cuda.__init__ | ||
numba_cuda/numba/cuda/device_init.py:F401,F403,F405 | ||
# libdevice.py is an autogenerated file containing stubs for all the device | ||
# functions. Some of the lines in docstrings are a little over-long, as they | ||
# contain the URLs of the reference pages in the online libdevice | ||
# documentation. | ||
numba_cuda/numba/cuda/libdevice.py:E501 | ||
# Ignore too-long lines in the doc examples, prioritising readability | ||
# in the docs over line length in the example source (especially given that | ||
# the test code is already indented by 8 spaces) | ||
numba_cuda/numba/cuda/tests/doc_examples/test_random.py:E501 | ||
numba_cuda/numba/cuda/tests/doc_examples/test_cg.py:E501 | ||
numba_cuda/numba/cuda/tests/doc_examples/test_matmul.py:E501 | ||
numba_cuda/numba/tests/doc_examples/test_interval_example.py:E501 |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
on: | ||
workflow_call: | ||
inputs: | ||
build_type: | ||
required: true | ||
type: string | ||
branch: | ||
type: string | ||
date: | ||
type: string | ||
sha: | ||
type: string | ||
repo: | ||
type: string | ||
node_type: | ||
type: string | ||
default: "cpu8" | ||
script: | ||
type: string | ||
default: "ci/build_python.sh" | ||
matrix_filter: | ||
type: string | ||
default: "." | ||
upload_to_anaconda: | ||
type: boolean | ||
required: false | ||
|
||
defaults: | ||
run: | ||
shell: bash | ||
|
||
permissions: | ||
actions: read | ||
checks: none | ||
contents: read | ||
deployments: none | ||
discussions: none | ||
id-token: write | ||
issues: none | ||
packages: read | ||
pages: none | ||
pull-requests: read | ||
repository-projects: none | ||
security-events: none | ||
statuses: none | ||
|
||
jobs: | ||
compute-matrix: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
MATRIX: ${{ steps.compute-matrix.outputs.MATRIX }} | ||
steps: | ||
- name: Compute Build Matrix | ||
id: compute-matrix | ||
run: | | ||
set -eo pipefail | ||
# please keep the matrices sorted in ascending order by the following: | ||
# | ||
# [ARCH, PY_VER, CUDA_VER, LINUX_VER] | ||
# | ||
export MATRIX=" | ||
# amd64 | ||
- { ARCH: 'amd64', PY_VER: '3.9', CUDA_VER: '11.8.0', LINUX_VER: 'ubuntu22.04' } | ||
- { ARCH: 'amd64', PY_VER: '3.9', CUDA_VER: '12.5.1', LINUX_VER: 'ubuntu22.04' } | ||
- { ARCH: 'amd64', PY_VER: '3.10', CUDA_VER: '11.8.0', LINUX_VER: 'ubuntu22.04' } | ||
- { ARCH: 'amd64', PY_VER: '3.10', CUDA_VER: '12.5.1', LINUX_VER: 'ubuntu22.04' } | ||
- { ARCH: 'amd64', PY_VER: '3.11', CUDA_VER: '11.8.0', LINUX_VER: 'ubuntu22.04' } | ||
- { ARCH: 'amd64', PY_VER: '3.11', CUDA_VER: '12.2.2', LINUX_VER: 'ubuntu22.04' } | ||
- { ARCH: 'amd64', PY_VER: '3.11', CUDA_VER: '12.5.1', LINUX_VER: 'ubuntu22.04' } | ||
# arm64 | ||
- { ARCH: 'arm64', PY_VER: '3.9', CUDA_VER: '11.8.0', LINUX_VER: 'ubuntu22.04' } | ||
- { ARCH: 'arm64', PY_VER: '3.9', CUDA_VER: '12.5.1', LINUX_VER: 'ubuntu22.04' } | ||
- { ARCH: 'arm64', PY_VER: '3.10', CUDA_VER: '11.8.0', LINUX_VER: 'ubuntu22.04' } | ||
- { ARCH: 'arm64', PY_VER: '3.10', CUDA_VER: '12.5.1', LINUX_VER: 'ubuntu22.04' } | ||
- { ARCH: 'arm64', PY_VER: '3.11', CUDA_VER: '11.8.0', LINUX_VER: 'ubuntu22.04' } | ||
- { ARCH: 'arm64', PY_VER: '3.11', CUDA_VER: '12.2.2', LINUX_VER: 'ubuntu22.04' } | ||
- { ARCH: 'arm64', PY_VER: '3.11', CUDA_VER: '12.5.1', LINUX_VER: 'ubuntu22.04' } | ||
" | ||
MATRIX="$( | ||
yq -n -o json 'env(MATRIX)' | \ | ||
jq -c '${{ inputs.matrix_filter }} | if (. | length) > 0 then {include: .} else "Error: Empty matrix\n" | halt_error(1) end' | ||
)" | ||
echo "MATRIX=${MATRIX}" | tee --append "${GITHUB_OUTPUT}" | ||
build: | ||
needs: compute-matrix | ||
strategy: | ||
fail-fast: false | ||
matrix: ${{ fromJSON(needs.compute-matrix.outputs.MATRIX) }} | ||
runs-on: "linux-${{ matrix.ARCH }}-${{ inputs.node_type }}" | ||
env: | ||
RAPIDS_ARTIFACTS_DIR: ${{ github.workspace }}/artifacts | ||
container: | ||
image: rapidsai/ci-conda:cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }} | ||
env: | ||
RAPIDS_BUILD_TYPE: ${{ inputs.build_type }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
repository: ${{ inputs.repo }} | ||
ref: ${{ inputs.sha }} | ||
fetch-depth: 0 | ||
- name: Standardize repository information | ||
run: | | ||
echo "RAPIDS_REPOSITORY=${{ inputs.repo || github.repository }}" >> "${GITHUB_ENV}" | ||
echo "RAPIDS_SHA=$(git rev-parse HEAD)" >> "${GITHUB_ENV}" | ||
echo "RAPIDS_REF_NAME=${{ inputs.branch || github.ref_name }}" >> "${GITHUB_ENV}" | ||
echo "RAPIDS_NIGHTLY_DATE=${{ inputs.date }}" >> "${GITHUB_ENV}" | ||
- name: Python build | ||
run: ${{ inputs.script }} | ||
env: | ||
GH_TOKEN: ${{ github.token }} | ||
- name: Upload conda repo | ||
if: "!cancelled()" | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: conda-repo | ||
path: "/tmp/conda-bld-output" | ||
- name: Publish conda package | ||
if: inputs.upload_to_anaconda | ||
run: "ci/upload_conda.sh" | ||
env: | ||
CONDA_TOKEN: ${{ secrets.NVIDIA_CONDA_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
on: | ||
workflow_call: | ||
inputs: | ||
build_type: | ||
required: true | ||
type: string | ||
branch: | ||
type: string | ||
date: | ||
type: string | ||
sha: | ||
type: string | ||
repo: | ||
type: string | ||
script: | ||
type: string | ||
default: "ci/test_python.sh" | ||
run_codecov: | ||
type: boolean | ||
default: true | ||
matrix_filter: | ||
type: string | ||
default: "." | ||
container-options: | ||
required: false | ||
type: string | ||
default: "-e _NOOP" | ||
|
||
defaults: | ||
run: | ||
shell: bash | ||
|
||
permissions: | ||
actions: read | ||
checks: none | ||
contents: read | ||
deployments: none | ||
discussions: none | ||
id-token: write | ||
issues: none | ||
packages: read | ||
pages: none | ||
pull-requests: read | ||
repository-projects: none | ||
security-events: none | ||
statuses: none | ||
|
||
jobs: | ||
compute-matrix: | ||
runs-on: ubuntu-latest | ||
env: | ||
BUILD_TYPE: ${{ inputs.build_type }} | ||
outputs: | ||
MATRIX: ${{ steps.compute-matrix.outputs.MATRIX }} | ||
steps: | ||
- name: Validate Test Type | ||
run: | | ||
if [[ "$BUILD_TYPE" != "pull-request" ]] && [[ "$BUILD_TYPE" != "nightly" ]]; then | ||
echo "Invalid build type! Must be 'nightly' or 'pull-request'." | ||
exit 1 | ||
fi | ||
- name: Compute Python Test Matrix | ||
id: compute-matrix | ||
run: | | ||
set -eo pipefail | ||
# please keep the matrices sorted in ascending order by the following: | ||
# | ||
# [ARCH, PY_VER, CUDA_VER, LINUX_VER, GPU, DRIVER] | ||
# | ||
export MATRICES=" | ||
pull-request: | ||
# amd64 | ||
- { ARCH: 'amd64', PY_VER: '3.9', CUDA_VER: '11.8.0', LINUX_VER: 'rockylinux8', GPU: 'v100', DRIVER: 'earliest' } | ||
- { ARCH: 'amd64', PY_VER: '3.11', CUDA_VER: '12.5.1', LINUX_VER: 'ubuntu22.04', GPU: 'v100', DRIVER: 'latest' } | ||
# arm64 | ||
- { ARCH: 'arm64', PY_VER: '3.10', CUDA_VER: '12.0.1', LINUX_VER: 'ubuntu20.04', GPU: 'a100', DRIVER: 'latest' } | ||
nightly: | ||
# amd64 | ||
- { ARCH: 'amd64', PY_VER: '3.9', CUDA_VER: '11.4.3', LINUX_VER: 'rockylinux8', GPU: 'v100', DRIVER: 'earliest' } | ||
- { ARCH: 'amd64', PY_VER: '3.9', CUDA_VER: '11.4.3', LINUX_VER: 'ubuntu20.04', GPU: 'v100', DRIVER: 'latest' } | ||
- { ARCH: 'amd64', PY_VER: '3.10', CUDA_VER: '11.8.0', LINUX_VER: 'ubuntu22.04', GPU: 'v100', DRIVER: 'latest' } | ||
- { ARCH: 'amd64', PY_VER: '3.10', CUDA_VER: '12.0.1', LINUX_VER: 'rockylinux8', GPU: 'v100', DRIVER: 'latest' } | ||
- { ARCH: 'amd64', PY_VER: '3.11', CUDA_VER: '12.5.1', LINUX_VER: 'ubuntu22.04', GPU: 'v100', DRIVER: 'latest' } | ||
# arm64 | ||
- { ARCH: 'arm64', PY_VER: '3.9', CUDA_VER: '11.4.3', LINUX_VER: 'ubuntu20.04', GPU: 'a100', DRIVER: 'latest' } | ||
- { ARCH: 'arm64', PY_VER: '3.10', CUDA_VER: '12.0.1', LINUX_VER: 'ubuntu22.04', GPU: 'a100', DRIVER: 'latest' } | ||
- { ARCH: 'arm64', PY_VER: '3.11', CUDA_VER: '11.8.0', LINUX_VER: 'ubuntu22.04', GPU: 'a100', DRIVER: 'latest' } | ||
- { ARCH: 'arm64', PY_VER: '3.11', CUDA_VER: '12.2.2', LINUX_VER: 'rockylinux8', GPU: 'a100', DRIVER: 'latest' } | ||
" | ||
TEST_MATRIX=$(yq -n 'env(MATRICES) | .[strenv(BUILD_TYPE)]') | ||
export TEST_MATRIX | ||
MATRIX="$( | ||
yq -n -o json 'env(TEST_MATRIX)' | \ | ||
jq -c '${{ inputs.matrix_filter }} | if (. | length) > 0 then {include: .} else "Error: Empty matrix\n" | halt_error(1) end' | ||
)" | ||
echo "MATRIX=${MATRIX}" | tee --append "${GITHUB_OUTPUT}" | ||
tests: | ||
needs: compute-matrix | ||
strategy: | ||
fail-fast: false | ||
matrix: ${{ fromJSON(needs.compute-matrix.outputs.MATRIX) }} | ||
runs-on: "linux-${{ matrix.ARCH }}-gpu-${{ matrix.GPU }}-${{ matrix.DRIVER }}-1" | ||
env: | ||
RAPIDS_COVERAGE_DIR: ${{ github.workspace }}/coverage-results | ||
RAPIDS_TESTS_DIR: ${{ github.workspace }}/test-results | ||
RAPIDS_ARTIFACTS_DIR: ${{ github.workspace }}/artifacts | ||
container: | ||
image: rapidsai/ci-conda:cuda${{ matrix.CUDA_VER }}-${{ matrix.LINUX_VER }}-py${{ matrix.PY_VER }} | ||
options: ${{ inputs.container-options }} | ||
env: | ||
RAPIDS_BUILD_TYPE: ${{ inputs.build_type }} | ||
NVIDIA_VISIBLE_DEVICES: ${{ env.NVIDIA_VISIBLE_DEVICES }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
repository: ${{ inputs.repo }} | ||
ref: ${{ inputs.sha }} | ||
fetch-depth: 0 | ||
- uses: actions/download-artifact@v4 | ||
name: conda-repo | ||
- name: Display structure of downloaded files | ||
run: ls -R | ||
- name: Standardize repository information | ||
run: | | ||
echo "RAPIDS_REPOSITORY=${{ inputs.repo || github.repository }}" >> "${GITHUB_ENV}" | ||
echo "RAPIDS_SHA=$(git rev-parse HEAD)" >> "${GITHUB_ENV}" | ||
echo "RAPIDS_REF_NAME=${{ inputs.branch || github.ref_name }}" >> "${GITHUB_ENV}" | ||
echo "RAPIDS_NIGHTLY_DATE=${{ inputs.date }}" >> "${GITHUB_ENV}" | ||
- name: Python tests | ||
run: ${{ inputs.script }} | ||
env: | ||
GH_TOKEN: ${{ github.token }} | ||
- name: Generate test report | ||
uses: test-summary/[email protected] | ||
with: | ||
paths: "${{ env.RAPIDS_TESTS_DIR }}/*.xml" | ||
if: always() | ||
- name: Run codecov | ||
if: inputs.run_codecov | ||
env: | ||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | ||
run: | | ||
codecovcli \ | ||
-v \ | ||
upload-process \ | ||
-C ${{ github.sha }} \ | ||
-s "${RAPIDS_COVERAGE_DIR}" \ | ||
--handle-no-reports-found | ||
- name: Upload additional artifacts | ||
if: "!cancelled()" | ||
run: rapids-upload-artifacts-dir cuda${RAPIDS_CUDA_VERSION%%.*}_$(arch)_py${RAPIDS_PY_VERSION//.} |
Oops, something went wrong.