diff --git a/.github/BACKPORT_BRANCH b/.github/BACKPORT_BRANCH
index 9266e6784..1ba33f6ae 100644
--- a/.github/BACKPORT_BRANCH
+++ b/.github/BACKPORT_BRANCH
@@ -1 +1 @@
-11.8.x
+12.9.x
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 09752a729..4574e04bf 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -113,4 +113,3 @@ body:
+-------------------------------+----------------------+----------------------+
validations:
required: false
-
diff --git a/.github/ISSUE_TEMPLATE/doc_request.yml b/.github/ISSUE_TEMPLATE/doc_request.yml
index 26a7faeac..7804a6c85 100644
--- a/.github/ISSUE_TEMPLATE/doc_request.yml
+++ b/.github/ISSUE_TEMPLATE/doc_request.yml
@@ -41,4 +41,3 @@ body:
label: If this is a correction, please provide a link to the incorrect documentation. If this is a new documentation request, please link to where you have looked.
placeholder: |
https://nvidia.github.io/cuda-python/latest/
-
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index afc43be22..aa51259a9 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -11,4 +11,3 @@ closes
- [ ] New or existing tests cover these changes.
- [ ] The documentation is up to date with these changes.
-
diff --git a/.github/actions/doc_preview/action.yml b/.github/actions/doc_preview/action.yml
index 61531428a..ae4f81115 100644
--- a/.github/actions/doc_preview/action.yml
+++ b/.github/actions/doc_preview/action.yml
@@ -18,7 +18,7 @@ runs:
using: composite
steps:
# The steps below are executed only when testing in a PR.
- # Note: the PR previews will be removed once merged to main (see below)
+ # Note: the PR previews will be removed once merged to main (see below)
- name: Deploy doc preview
if: ${{ github.ref_name != 'main' }}
uses: JamesIves/github-pages-deploy-action@6c2d9db40f9296374acc17b90404b6e8864128c8 # v4.7.3
@@ -28,7 +28,7 @@ runs:
folder: ${{ inputs.source-folder }}
target-folder: docs/pr-preview/pr-${{ inputs.pr-number }}/
commit-message: "Deploy doc preview for PR ${{ inputs.pr-number }} (${{ github.sha }})"
-
+
- name: Leave a comment after deployment
if: ${{ github.ref_name != 'main' }}
uses: marocchino/sticky-pull-request-comment@67d0dec7b07ed060a405f9b2a64b8ab319fdd7db # v2.9.2
@@ -41,10 +41,11 @@ runs:
:---:
|
:rocket: View preview at https://nvidia.github.io/cuda-python/pr-preview/pr-${{ inputs.pr-number }}/
| https://nvidia.github.io/cuda-python/pr-preview/pr-${{ inputs.pr-number }}/cuda-core/
- | https://nvidia.github.io/cuda-python/pr-preview/pr-${{ inputs.pr-number }}/cuda-bindings/
+ | https://nvidia.github.io/cuda-python/pr-preview/pr-${{ inputs.pr-number }}/cuda-bindings/
+ | https://nvidia.github.io/cuda-python/pr-preview/pr-${{ inputs.pr-number }}/cuda-pathfinder/
| Preview will be ready when the GitHub Pages deployment is complete.
-
- # The steps below are executed only when building on main.
+
+ # The steps below are executed only when building on main.
- name: Remove doc preview
if: ${{ github.ref_name == 'main' }}
uses: JamesIves/github-pages-deploy-action@6c2d9db40f9296374acc17b90404b6e8864128c8 # v4.7.3
@@ -54,7 +55,7 @@ runs:
folder: ${{ inputs.source-folder }}
target-folder: docs/pr-preview/pr-${{ inputs.pr-number }}/
commit-message: "Clean up doc preview for PR ${{ inputs.pr-number }} (${{ github.sha }})"
-
+
- name: Leave a comment after removal
if: ${{ github.ref_name == 'main' }}
uses: marocchino/sticky-pull-request-comment@67d0dec7b07ed060a405f9b2a64b8ab319fdd7db # v2.9.2
diff --git a/.github/actions/fetch_ctk/action.yml b/.github/actions/fetch_ctk/action.yml
index 43a018880..83b447f0c 100644
--- a/.github/actions/fetch_ctk/action.yml
+++ b/.github/actions/fetch_ctk/action.yml
@@ -17,7 +17,7 @@ inputs:
description: "A list of the CTK components to install as a comma-separated list. e.g. 'cuda_nvcc,cuda_nvrtc,cuda_cudart'"
required: false
type: string
- default: "cuda_nvcc,cuda_cudart,cuda_nvrtc,cuda_profiler_api,cuda_cccl,libnvjitlink,libcufile"
+ default: "cuda_nvcc,cuda_cudart,cuda_crt,libnvvm,cuda_nvrtc,cuda_profiler_api,cuda_cccl,libnvjitlink,libcufile"
runs:
using: composite
@@ -32,15 +32,16 @@ runs:
if [[ "$CUDA_MAJOR_VER" -lt 12 ]]; then
CTK_CACHE_COMPONENTS="${CTK_CACHE_COMPONENTS//libnvjitlink/}"
fi
+ # Conditionally strip out cuda_crt and libnvvm for CUDA versions < 13
+ CUDA_MAJOR_VER="$(cut -d '.' -f 1 <<< ${{ inputs.cuda-version }})"
+ if [[ "$CUDA_MAJOR_VER" -lt 13 ]]; then
+ CTK_CACHE_COMPONENTS="${CTK_CACHE_COMPONENTS//cuda_crt/}"
+ CTK_CACHE_COMPONENTS="${CTK_CACHE_COMPONENTS//libnvvm/}"
+ fi
# Conditionally strip out libcufile since it does not support Windows
if [[ "${{ inputs.host-platform }}" == win-* ]]; then
CTK_CACHE_COMPONENTS="${CTK_CACHE_COMPONENTS//libcufile/}"
fi
- # Conditionally strip out libcufile for CUDA versions < 12.2.0 + aarch64 (redist not available)
- CUDA_MINOR_VER="$(cut -d '.' -f 2 <<< ${{ inputs.cuda-version }})"
- if [[ ("$CUDA_MAJOR_VER" -lt 12 || "$CUDA_MINOR_VER" -lt 2) && "${{ inputs.host-platform }}" == "linux-aarch64" ]]; then
- CTK_CACHE_COMPONENTS="${CTK_CACHE_COMPONENTS//libcufile/}"
- fi
# Cleanup stray commas after removing components
CTK_CACHE_COMPONENTS="${CTK_CACHE_COMPONENTS//,,/,}"
diff --git a/.github/actions/install_unix_deps/action.yml b/.github/actions/install_unix_deps/action.yml
index 645b761cf..6289541c9 100644
--- a/.github/actions/install_unix_deps/action.yml
+++ b/.github/actions/install_unix_deps/action.yml
@@ -10,7 +10,7 @@ inputs:
dependencies:
required: true
type: string
- dependent_exes:
+ dependent_exes:
required: true
type: string
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 5c1aafb1f..2c0c08300 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -7,4 +7,15 @@ updates:
- package-ecosystem: github-actions
directory: /
schedule:
- interval: weekly
+ interval: "monthly"
+ time: "09:00"
+ timezone: "America/Los_Angeles"
+
+ # Keep churn down: only one open PR from this ecosystem at a time
+ open-pull-requests-limit: 1
+
+ groups:
+ actions-monthly:
+ applies-to: version-updates
+ patterns: ["*"]
+ update-types: ["minor", "patch"]
diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
index 97549c66f..6a0fed91c 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yml
@@ -23,7 +23,7 @@ jobs:
}}
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Load branch name
id: get-branch
@@ -32,7 +32,7 @@ jobs:
echo "OLD_BRANCH=${OLD_BRANCH}" >> $GITHUB_ENV
- name: Create backport pull requests
- uses: korthout/backport-action@0193454f0c5947491d348f33a275c119f30eb736 # v3.2.1
+ uses: korthout/backport-action@ca4972adce8039ff995e618f5fc02d1b7961f27a # v3.3.0
with:
copy_assignees: true
copy_labels_pattern: true
diff --git a/.github/workflows/bandit.yml b/.github/workflows/bandit.yml
index a83f776a2..c57ffd351 100644
--- a/.github/workflows/bandit.yml
+++ b/.github/workflows/bandit.yml
@@ -20,4 +20,9 @@ jobs:
security-events: write
steps:
- name: Perform Bandit Analysis
+ # KEEP IN SYNC WITH bandit rev in .pre-commit-config.yaml
+ # Current runner uses Python 3.8, so the action installs bandit==1.7.10
+ # via `pip install bandit[sarif]`. If runner Python moves to >=3.9,
+ # the action will resolve to 1.8.x and you'll need to bump pre-commit.
+ # (Bandit >=1.8.0 dropped Python 3.8 via Requires-Python metadata.)
uses: PyCQA/bandit-action@8a1b30610f61f3f792fe7556e888c9d7dffa52de # v1.0.0
diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml
index 23102741a..37fa21159 100644
--- a/.github/workflows/build-docs.yml
+++ b/.github/workflows/build-docs.yml
@@ -19,6 +19,7 @@ on:
# - cuda-core
# - cuda-bindings
# - cuda-python
+ # - cuda-pathfinder
# - all
git-tag:
description: "Target git tag to build docs for"
@@ -47,13 +48,12 @@ jobs:
shell: bash -el {0}
steps:
- name: Checkout ${{ github.event.repository.name }}
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
ref: ${{ inputs.git-tag }}
- # TODO: cache conda env to speed up the workflow once conda-incubator/setup-miniconda#267
- # is resolved
+ # TODO: This workflow runs on GH-hosted runner and cannot use the proxy cache
- name: Set up miniforge
uses: conda-incubator/setup-miniconda@835234971496cad1653abb28a638a281cf32541f # v3.2.0
@@ -103,7 +103,7 @@ jobs:
echo "CUDA_BINDINGS_ARTIFACTS_DIR=$(realpath "$REPO_DIR/cuda_bindings/dist")" >> $GITHUB_ENV
- name: Download cuda-python build artifacts
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: cuda-python-wheel
path: .
@@ -116,10 +116,12 @@ jobs:
ls -lahR .
- name: Download cuda-pathfinder build artifacts
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: cuda-pathfinder-wheel
path: ./cuda_pathfinder
+ run-id: ${{ inputs.run-id }}
+ github-token: ${{ github.token }}
- name: Display structure of downloaded cuda-pathfinder artifacts
run: |
@@ -128,14 +130,14 @@ jobs:
- name: Download cuda.bindings build artifacts
if: ${{ !inputs.is-release }}
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}
path: ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
- name: Download cuda.bindings build artifacts
if: ${{ inputs.is-release }}
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
pattern: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}
merge-multiple: true
@@ -150,14 +152,14 @@ jobs:
- name: Download cuda.core build artifacts
if: ${{ !inputs.is-release }}
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: ${{ env.CUDA_CORE_ARTIFACT_NAME }}
path: ${{ env.CUDA_CORE_ARTIFACTS_DIR }}
- name: Download cuda.core build artifacts
if: ${{ inputs.is-release }}
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
pattern: ${{ env.CUDA_CORE_ARTIFACT_NAME }}
merge-multiple: true
@@ -236,7 +238,7 @@ jobs:
# TODO: Consider removing this step?
- name: Upload doc artifacts
- uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1
+ uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4.0.0
with:
path: artifacts/
retention-days: 3
diff --git a/.github/workflows/build-wheel.yml b/.github/workflows/build-wheel.yml
index 47352b53c..b2be4af40 100644
--- a/.github/workflows/build-wheel.yml
+++ b/.github/workflows/build-wheel.yml
@@ -30,13 +30,14 @@ jobs:
- "3.11"
- "3.12"
- "3.13"
+ - "3.13t"
name: py${{ matrix.python-version }}
runs-on: ${{ (inputs.host-platform == 'linux-64' && 'linux-amd64-cpu8') ||
(inputs.host-platform == 'linux-aarch64' && 'linux-arm64-cpu8') ||
(inputs.host-platform == 'win-64' && 'windows-2022') }}
steps:
- name: Checkout ${{ github.event.repository.name }}
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
@@ -96,7 +97,7 @@ jobs:
- name: Check cuda.pathfinder wheel
if: ${{ strategy.job-index == 0 && inputs.host-platform == 'linux-64' }}
run: |
- twine check cuda_pathfinder/*.whl
+ twine check --strict cuda_pathfinder/*.whl
- name: Upload cuda.pathfinder build artifacts
if: ${{ strategy.job-index == 0 && inputs.host-platform == 'linux-64' }}
@@ -107,7 +108,7 @@ jobs:
if-no-files-found: error
- name: Build cuda.core wheel
- uses: pypa/cibuildwheel@95d2f3a92fbf80abe066b09418bbf128a8923df2 # v3.0.1
+ uses: pypa/cibuildwheel@c923d83ad9c1bc00211c5041d0c3f73294ff88f6 # v3.1.4
env:
CIBW_BUILD: ${{ env.CIBW_BUILD }}
CIBW_ARCHS_LINUX: "native"
@@ -116,6 +117,7 @@ jobs:
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair --namespace-pkg cuda -w {dest_dir} {wheel}"
CIBW_ENVIRONMENT: >
CUDA_PYTHON_PARALLEL_LEVEL=${{ env.CUDA_PYTHON_PARALLEL_LEVEL }}
+ CIBW_ENABLE: "cpython-freethreading"
with:
package-dir: ./cuda_core/
output-dir: ${{ env.CUDA_CORE_ARTIFACTS_DIR }}
@@ -132,7 +134,7 @@ jobs:
- name: Check cuda.core wheel
run: |
- twine check ${{ env.CUDA_CORE_ARTIFACTS_DIR }}/*.whl
+ twine check --strict ${{ env.CUDA_CORE_ARTIFACTS_DIR }}/*.whl
- name: Upload cuda.core build artifacts
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
@@ -149,7 +151,7 @@ jobs:
cuda-version: ${{ inputs.cuda-version }}
- name: Build cuda.bindings wheel
- uses: pypa/cibuildwheel@95d2f3a92fbf80abe066b09418bbf128a8923df2 # v3.0.1
+ uses: pypa/cibuildwheel@c923d83ad9c1bc00211c5041d0c3f73294ff88f6 # v3.1.4
env:
CIBW_BUILD: ${{ env.CIBW_BUILD }}
CIBW_ARCHS_LINUX: "native"
@@ -157,14 +159,13 @@ jobs:
# CIBW mounts the host filesystem under /host
CIBW_ENVIRONMENT_LINUX: >
CUDA_PATH=/host/${{ env.CUDA_PATH }}
- LIBRARY_PATH=/host/${{ env.CUDA_PATH }}/lib
CUDA_PYTHON_PARALLEL_LEVEL=${{ env.CUDA_PYTHON_PARALLEL_LEVEL }}
CIBW_ENVIRONMENT_WINDOWS: >
CUDA_HOME="$(cygpath -w ${{ env.CUDA_PATH }})"
- LIB="${CUDA_HOME}\\lib\\x64;${LIB}"
CUDA_PYTHON_PARALLEL_LEVEL=${{ env.CUDA_PYTHON_PARALLEL_LEVEL }}
CIBW_BEFORE_BUILD_WINDOWS: "pip install delvewheel"
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair --namespace-pkg cuda -w {dest_dir} {wheel}"
+ CIBW_ENABLE: "cpython-freethreading"
with:
package-dir: ./cuda_bindings/
output-dir: ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
@@ -181,7 +182,7 @@ jobs:
- name: Check cuda.bindings wheel
run: |
- twine check ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl
+ twine check --strict ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl
- name: Upload cuda.bindings build artifacts
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
@@ -196,7 +197,7 @@ jobs:
run: |
pushd cuda_python
pip wheel -v --no-deps .
- twine check *.whl
+ twine check --strict *.whl
popd
- name: List the cuda-python artifacts directory
@@ -225,6 +226,10 @@ jobs:
# workaround for actions/runner-images#12377 (the cached 3.13.4 is buggy on Windows)
python-version: ${{ matrix.python-version == '3.13' && '3.13.5' || matrix.python-version }}
+ - name: verify free-threaded build
+ if: endsWith(matrix.python-verison, 't')
+ run: python -c 'import sys; assert not sys._is_gil_enabled()'
+
- name: Set up Python include paths
run: |
if [[ "${{ inputs.host-platform }}" == linux* ]]; then
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ccabde7a2..823be159f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -23,7 +23,7 @@ jobs:
CUDA_BUILD_VER: ${{ steps.get-vars.outputs.cuda_build_ver }}
steps:
- name: Checkout repository
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
- name: Get CUDA build version
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index dd0187bba..3926e2688 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -28,16 +28,16 @@ jobs:
build-mode: none
steps:
- name: Checkout repository
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Initialize CodeQL
- uses: github/codeql-action/init@d6bbdef45e766d081b84a2def353b0055f728d3e # v3.29.3
+ uses: github/codeql-action/init@2d92b76c45b91eb80fc44c74ce3fce0ee94e8f9d # v3.30.0
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
queries: security-extended
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@d6bbdef45e766d081b84a2def353b0055f728d3e # v3.29.3
+ uses: github/codeql-action/analyze@2d92b76c45b91eb80fc44c74ce3fce0ee94e8f9d # v3.30.0
with:
category: "/language:${{matrix.language}}"
diff --git a/.github/workflows/guess_latest.sh b/.github/workflows/guess_latest.sh
index d2e8427eb..8a0a13034 100644
--- a/.github/workflows/guess_latest.sh
+++ b/.github/workflows/guess_latest.sh
@@ -6,18 +6,27 @@
# URL to search
URL="https://developer.download.nvidia.com/compute/cuda/redist/"
+# Ensure exactly one argument is provided
+if [ "$#" -ne 1 ]; then
+ echo "Usage: $0 "
+ exit 1
+fi
+
+# Accept major version as the first argument
+MAJOR_VERSION="$1"
+
# Fetch the directory listing and extract the latest version number
get_latest_version() {
# Get the HTML content of the page
local html_content=$(wget -q -O - "$URL")
# Extract links matching the pattern redistrib_?.?.?.json
- local files=$(echo "$html_content" | grep -oP 'redistrib_[0-9]+\.[0-9]+\.[0-9]+\.json' | cut -d'"' -f2)
+ local files=$(echo "$html_content" | grep -oP "redistrib_${MAJOR_VERSION}\.[0-9]+\.[0-9]+\.json" | cut -d'"' -f2)
# If files were found, extract the version numbers and find the latest
if [ -n "$files" ]; then
# Extract just the version numbers using regex
- local versions=$(echo "$files" | grep -oP 'redistrib_\K[0-9]+\.[0-9]+\.[0-9]+(?=\.json)')
+ local versions=$(echo "$files" | grep -oP "redistrib_\K${MAJOR_VERSION}\.[0-9]+\.[0-9]+(?=\.json)")
# Sort the versions and get the latest
local latest_version=$(echo "$versions" | sort -V | tail -n 1)
diff --git a/.github/workflows/install_gpu_driver.ps1 b/.github/workflows/install_gpu_driver.ps1
index 8b9490198..256c5cf3a 100644
--- a/.github/workflows/install_gpu_driver.ps1
+++ b/.github/workflows/install_gpu_driver.ps1
@@ -6,9 +6,9 @@
function Install-Driver {
# Set the correct URL, filename, and arguments to the installer
- # This driver is picked to support Windows 11 & CUDA 12.8
- $url = 'https://us.download.nvidia.com/tesla/572.13/572.13-data-center-tesla-desktop-win10-win11-64bit-dch-international.exe';
- $file_dir = 'C:\NVIDIA-Driver\572.13-data-center-tesla-desktop-win10-win11-64bit-dch-international.exe';
+ # This driver is picked to support Windows 11 & CUDA 13.0
+ $url = 'https://us.download.nvidia.com/tesla/580.88/580.88-data-center-tesla-desktop-win10-win11-64bit-dch-international.exe';
+ $file_dir = 'C:\NVIDIA-Driver\580.88-data-center-tesla-desktop-win10-win11-64bit-dch-international.exe';
$install_args = '/s /noeula /noreboot';
# Create the folder for the driver download
diff --git a/.github/workflows/release-upload.yml b/.github/workflows/release-upload.yml
index 1923cbe01..8ae08c502 100644
--- a/.github/workflows/release-upload.yml
+++ b/.github/workflows/release-upload.yml
@@ -10,6 +10,14 @@ on:
git-tag:
type: string
required: true
+ run-id:
+ description: "The GHA run ID that generated validated artifacts"
+ type: string
+ required: true
+ component:
+ description: "Component to download wheels for"
+ type: string
+ required: true
concurrency:
# Concurrency group that uses the workflow name and PR number if available
@@ -33,7 +41,7 @@ jobs:
ARCHIVE_NAME: ${{ github.event.repository.name }}-${{ inputs.git-tag }}
steps:
- name: Checkout Source
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
ref: ${{ inputs.git-tag }}
@@ -63,3 +71,16 @@ jobs:
--clobber "${{ inputs.git-tag }}"
--repo "${{ github.repository }}"
release/*
+
+ - name: Download and Upload Wheels
+ env:
+ GH_TOKEN: ${{ github.token }}
+ run: |
+ # Use the shared script to download wheels
+ ./ci/tools/download-wheels "${{ inputs.run-id }}" "${{ inputs.component }}" "${{ github.repository }}" "release/wheels"
+
+ # Upload wheels to the release
+ if [[ -d "release/wheels" && $(ls -A release/wheels 2>/dev/null | wc -l) -gt 0 ]]; then
+ echo "Uploading wheels to release ${{ inputs.git-tag }}"
+ gh release upload --clobber "${{ inputs.git-tag }}" --repo "${{ github.repository }}" release/wheels/*
+ fi
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c483d1be8..c10f6f049 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -4,7 +4,7 @@
name: "CI: Release"
-description: Manually-triggered release workflow. Must have a release note in the draft state and the release commit tagged.
+description: Manually-triggered release workflow. Creates a release draft if one doesn't exist for the given tag, or uses existing draft.
on:
workflow_dispatch:
@@ -24,9 +24,10 @@ on:
required: true
type: string
run-id:
- description: "The GHA run ID that generated validated artifacts"
- required: true
+ description: "The GHA run ID that generated validated artifacts (optional - will be auto-detected from git tag if not provided)"
+ required: false
type: string
+ default: ""
build-ctk-ver:
type: string
required: true
@@ -43,10 +44,41 @@ defaults:
shell: bash --noprofile --norc -xeuo pipefail {0}
jobs:
+ determine-run-id:
+ runs-on: ubuntu-latest
+ outputs:
+ run-id: ${{ steps.lookup-run-id.outputs.run-id }}
+ steps:
+ - name: Checkout Source
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
+ with:
+ # fetch-depth: 0 is required so the lookup-run-id script can access all git tags
+ fetch-depth: 0
+
+ - name: Determine Run ID
+ id: lookup-run-id
+ env:
+ GH_TOKEN: ${{ github.token }}
+ run: |
+ if [[ -n "${{ inputs.run-id }}" ]]; then
+ echo "Using provided run ID: ${{ inputs.run-id }}"
+ echo "run-id=${{ inputs.run-id }}" >> $GITHUB_OUTPUT
+ else
+ echo "Auto-detecting run ID for tag: ${{ inputs.git-tag }}"
+ RUN_ID=$(./ci/tools/lookup-run-id "${{ inputs.git-tag }}" "${{ github.repository }}")
+ echo "Auto-detected run ID: $RUN_ID"
+ echo "run-id=$RUN_ID" >> $GITHUB_OUTPUT
+ fi
+
check-tag:
runs-on: ubuntu-latest
steps:
- - name: Check if draft exists for the tag
+ - name: Checkout Source
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
+ with:
+ fetch-depth: 0
+
+ - name: Check or create draft release for the tag
env:
GH_TOKEN: ${{ github.token }}
run: |
@@ -62,7 +94,7 @@ jobs:
found=0
for idx in ${!tags[@]}; do
if [[ "${tags[$idx]}" == "${{ inputs.git-tag }}" ]]; then
- echo "found ${{ inputs.git-tag }}"
+ echo "found existing release for ${{ inputs.git-tag }}"
found=1
if [[ "${is_draft[$idx]}" != "true" ]]; then
echo "the release note is not in draft state"
@@ -72,8 +104,8 @@ jobs:
fi
done
if [[ "$found" == 0 ]]; then
- echo "the release is not yet tagged"
- exit 1
+ echo "no release found for ${{ inputs.git-tag }}, creating draft release"
+ gh release create "${{ inputs.git-tag }}" --draft --repo "${{ github.repository }}" --title "Release ${{ inputs.git-tag }}" --notes "Release ${{ inputs.git-tag }}"
fi
doc:
@@ -86,13 +118,14 @@ jobs:
pull-requests: write
needs:
- check-tag
+ - determine-run-id
secrets: inherit
uses: ./.github/workflows/build-docs.yml
with:
build-ctk-ver: ${{ inputs.build-ctk-ver }}
component: ${{ inputs.component }}
git-tag: ${{ inputs.git-tag }}
- run-id: ${{ inputs.run-id }}
+ run-id: ${{ needs.determine-run-id.outputs.run-id }}
is-release: true
upload-archive:
@@ -101,37 +134,34 @@ jobs:
contents: write
needs:
- check-tag
+ - determine-run-id
secrets: inherit
uses: ./.github/workflows/release-upload.yml
with:
git-tag: ${{ inputs.git-tag }}
+ run-id: ${{ needs.determine-run-id.outputs.run-id }}
+ component: ${{ inputs.component }}
publish-wheels:
name: Publish wheels
runs-on: ubuntu-latest
needs:
- check-tag
+ - determine-run-id
environment:
name: ${{ inputs.wheel-dst }}
url: https://${{ (inputs.wheel-dst == 'testpypi' && 'test.') || '' }}pypi.org/p/${{ inputs.component }}/
permissions:
id-token: write
steps:
+ - name: Checkout Source
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
+
- name: Download component wheels
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
- gh run download ${{ inputs.run-id }} -p "${{ inputs.component }}*" -R ${{ github.repository }}
- mkdir dist
- for p in ${{ inputs.component }}*
- do
- # exclude cython test artifacts
- if [[ "${p}" == *-tests ]]; then
- continue
- fi
- mv ${p}/*.whl dist/
- done
- rm -rf ${{ inputs.component }}*
+ ./ci/tools/download-wheels "${{ needs.determine-run-id.outputs.run-id }}" "${{ inputs.component }}" "${{ github.repository }}" "dist"
- name: Publish package distributions to PyPI
if: ${{ inputs.wheel-dst == 'pypi' }}
diff --git a/.github/workflows/test-wheel-linux.yml b/.github/workflows/test-wheel-linux.yml
index 546e6aa95..a6d9fc51c 100644
--- a/.github/workflows/test-wheel-linux.yml
+++ b/.github/workflows/test-wheel-linux.yml
@@ -34,88 +34,43 @@ jobs:
outputs:
MATRIX: ${{ steps.compute-matrix.outputs.MATRIX }}
steps:
+ - name: Checkout ${{ github.event.repository.name }}
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
+ with:
+ fetch-depth: 1
+
- name: Validate Test Type
run: |
if [[ "$BUILD_TYPE" != "pull-request" ]] && [[ "$BUILD_TYPE" != "nightly" ]] && [[ "$BUILD_TYPE" != "branch" ]]; then
echo "Invalid build type! Must be one of 'nightly', 'pull-request', or 'branch'."
exit 1
fi
+
- name: Compute Python Test Matrix
id: compute-matrix
run: |
- # Set a default GPU based upon architecture.
- gpu="l4"
- if [[ "${ARCH}" == "arm64" ]]; then
- gpu="a100"
- fi
- # Add a special entry for the H100 runner on amd64.
- special_runner=""
- if [[ "${ARCH}" == "amd64" ]]; then
- special_runner="- { ARCH: ${ARCH}, PY_VER: '3.13', CUDA_VER: '12.9.0', LOCAL_CTK: '1', GPU: 'H100', DRIVER: 'latest' }"
- fi
-
- # Please keep the matrices sorted in ascending order by the following:
- #
- # [PY_VER, CUDA_VER, LOCAL_CTK, GPU, DRIVER]
- #
- # Note that DRIVER: `earliest` does not work with CUDA 12.9.0 and LOCAL_CTK: 0 does not work with CUDA 12.0.1.
- #
- export MATRICES="
- pull-request:
- - { ARCH: ${ARCH}, PY_VER: '3.9', CUDA_VER: '11.8.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'earliest' }
- - { ARCH: ${ARCH}, PY_VER: '3.9', CUDA_VER: '12.0.1', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.9', CUDA_VER: '12.9.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.10', CUDA_VER: '11.8.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'earliest' }
- - { ARCH: ${ARCH}, PY_VER: '3.10', CUDA_VER: '12.9.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.11', CUDA_VER: '11.8.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.11', CUDA_VER: '12.9.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '12.0.1', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'earliest' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '12.9.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.13', CUDA_VER: '11.8.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.13', CUDA_VER: '12.0.1', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.13', CUDA_VER: '12.9.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'latest' }
- ${special_runner}
- nightly:
- - { ARCH: ${ARCH}, PY_VER: '3.9', CUDA_VER: '11.8.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'earliest' }
- - { ARCH: ${ARCH}, PY_VER: '3.9', CUDA_VER: '11.8.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.9', CUDA_VER: '12.0.1', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.9', CUDA_VER: '12.9.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.9', CUDA_VER: '12.9.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.10', CUDA_VER: '11.8.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'earliest' }
- - { ARCH: ${ARCH}, PY_VER: '3.10', CUDA_VER: '11.8.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.10', CUDA_VER: '12.0.1', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.10', CUDA_VER: '12.9.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.10', CUDA_VER: '12.9.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.11', CUDA_VER: '11.8.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'earliest' }
- - { ARCH: ${ARCH}, PY_VER: '3.11', CUDA_VER: '11.8.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.11', CUDA_VER: '12.0.1', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.11', CUDA_VER: '12.9.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.11', CUDA_VER: '12.9.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '11.8.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'earliest' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '11.8.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '12.0.1', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '12.9.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '12.9.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.13', CUDA_VER: '11.8.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'earliest' }
- - { ARCH: ${ARCH}, PY_VER: '3.13', CUDA_VER: '11.8.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.13', CUDA_VER: '12.0.1', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.13', CUDA_VER: '12.9.0', LOCAL_CTK: '0', GPU: ${gpu}, DRIVER: 'latest' }
- - { ARCH: ${ARCH}, PY_VER: '3.13', CUDA_VER: '12.9.0', LOCAL_CTK: '1', GPU: ${gpu}, DRIVER: 'latest' }
- ${special_runner}
- "
-
# Use the nightly matrix for branch tests
MATRIX_TYPE="${BUILD_TYPE}"
if [[ "${MATRIX_TYPE}" == "branch" ]]; then
MATRIX_TYPE="nightly"
fi
- export MATRIX_TYPE
- TEST_MATRIX=$(yq -n 'env(MATRICES) | .[strenv(MATRIX_TYPE)]')
- export TEST_MATRIX
+
+ # Read base matrix from JSON file for the specific architecture
+ TEST_MATRIX=$(jq --arg arch "$ARCH" --arg matrix_type "$MATRIX_TYPE" '
+ .linux[$matrix_type] |
+ map(select(.ARCH == $arch))
+ ' ci/test-matrix.json)
+
+ # Add special runner for amd64 if applicable
+ if [[ "${ARCH}" == "amd64" ]]; then
+ SPECIAL_RUNNERS=$(jq '
+ .linux.special_runners.amd64
+ ' ci/test-matrix.json)
+ TEST_MATRIX=$(jq --argjson special "$SPECIAL_RUNNERS" '. + $special' <<< "$TEST_MATRIX")
+ fi
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'
+ jq -c '${{ inputs.matrix_filter }} | if (. | length) > 0 then {include: .} else "Error: Empty matrix\n" | halt_error(1) end' <<< "$TEST_MATRIX"
)"
echo "MATRIX=${MATRIX}" | tee --append "${GITHUB_OUTPUT}"
@@ -141,10 +96,14 @@ jobs:
run: nvidia-smi
- name: Checkout ${{ github.event.repository.name }}
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
+ - name: Setup proxy cache
+ uses: nv-gha-runners/setup-proxy-cache@main
+ continue-on-error: true
+
- name: Install dependencies
uses: ./.github/actions/install_unix_deps
continue-on-error: false
@@ -164,21 +123,21 @@ jobs:
run: ./ci/tools/env-vars test
- name: Download cuda-pathfinder build artifacts
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: cuda-pathfinder-wheel
path: ./cuda_pathfinder
- name: Download cuda-python build artifacts
if: ${{ env.SKIP_CUDA_BINDINGS_TEST == '0'}}
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: cuda-python-wheel
path: .
- name: Download cuda.bindings build artifacts
if: ${{ env.SKIP_CUDA_BINDINGS_TEST == '0'}}
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}
path: ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
@@ -200,13 +159,14 @@ jobs:
OLD_BRANCH=$(cat .github/BACKPORT_BRANCH)
OLD_BASENAME="cuda-bindings-python${PYTHON_VERSION_FORMATTED}-cuda*-${{ inputs.host-platform }}*"
- LATEST_PRIOR_RUN_ID=$(gh run list -b ${OLD_BRANCH} -L 1 -w "build-and-test.yml" -s completed -R NVIDIA/cuda-python --json databaseId | jq '.[]| .databaseId')
+ LATEST_PRIOR_RUN_ID=$(gh run list -b ${OLD_BRANCH} -L 1 -w "ci.yml" -s completed -R NVIDIA/cuda-python --json databaseId | jq '.[]| .databaseId')
if [[ "$LATEST_PRIOR_RUN_ID" == "" ]]; then
echo "LATEST_PRIOR_RUN_ID not found!"
exit 1
fi
gh run download $LATEST_PRIOR_RUN_ID -p ${OLD_BASENAME} -R NVIDIA/cuda-python
+ rm -rf ${OLD_BASENAME}-tests # exclude cython test artifacts
ls -al $OLD_BASENAME
mkdir -p "${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}"
mv $OLD_BASENAME/*.whl "${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}"/
@@ -229,7 +189,7 @@ jobs:
- name: Download cuda.bindings Cython tests
if: ${{ env.SKIP_CYTHON_TEST == '0' }}
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}-tests
path: ${{ env.CUDA_BINDINGS_CYTHON_TESTS_DIR }}
@@ -241,7 +201,7 @@ jobs:
ls -lahR $CUDA_BINDINGS_CYTHON_TESTS_DIR
- name: Download cuda.core build artifacts
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: ${{ env.CUDA_CORE_ARTIFACT_NAME }}
path: ${{ env.CUDA_CORE_ARTIFACTS_DIR }}
@@ -253,7 +213,7 @@ jobs:
- name: Download cuda.core Cython tests
if: ${{ env.SKIP_CYTHON_TEST == '0' }}
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: ${{ env.CUDA_CORE_ARTIFACT_NAME }}-tests
path: ${{ env.CUDA_CORE_CYTHON_TESTS_DIR }}
@@ -295,6 +255,7 @@ jobs:
- name: Run cuda.pathfinder tests with see_what_works
env:
CUDA_PATHFINDER_TEST_LOAD_NVIDIA_DYNAMIC_LIB_STRICTNESS: see_what_works
+ CUDA_PATHFINDER_TEST_FIND_NVIDIA_HEADERS_STRICTNESS: see_what_works
run: run-tests pathfinder
- name: Run cuda.bindings tests
@@ -318,16 +279,16 @@ jobs:
pip install $(ls cuda_python*.whl)[all]
fi
- - name: Install cuda.pathfinder nvidia_wheels_cu12
- if: startsWith(matrix.CUDA_VER, '12.')
+ - name: Install cuda.pathfinder extra wheels for testing
run: |
+ set -euo pipefail
pushd cuda_pathfinder
- pip install -v .[nvidia_wheels_cu12]
- pip freeze
+ pip install --only-binary=:all: -v ".[test_nvidia_wheels_cu${TEST_CUDA_MAJOR},test_nvidia_wheels_host]"
+ pip list
popd
- name: Run cuda.pathfinder tests with all_must_work
- if: startsWith(matrix.CUDA_VER, '12.')
env:
CUDA_PATHFINDER_TEST_LOAD_NVIDIA_DYNAMIC_LIB_STRICTNESS: all_must_work
+ CUDA_PATHFINDER_TEST_FIND_NVIDIA_HEADERS_STRICTNESS: all_must_work
run: run-tests pathfinder
diff --git a/.github/workflows/test-wheel-windows.yml b/.github/workflows/test-wheel-windows.yml
index 0f175af78..573ec6d9a 100644
--- a/.github/workflows/test-wheel-windows.yml
+++ b/.github/workflows/test-wheel-windows.yml
@@ -32,6 +32,11 @@ jobs:
outputs:
MATRIX: ${{ steps.compute-matrix.outputs.MATRIX }}
steps:
+ - name: Checkout ${{ github.event.repository.name }}
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
+ with:
+ fetch-depth: 1
+
- name: Validate Test Type
run: |
if [[ "$BUILD_TYPE" != "pull-request" ]] && [[ "$BUILD_TYPE" != "nightly" ]] && [[ "$BUILD_TYPE" != "branch" ]]; then
@@ -41,54 +46,43 @@ jobs:
- name: Compute Python Test Matrix
id: compute-matrix
run: |
- # Please keep the matrices sorted in ascending order by the following:
- #
- # [PY_VER, CUDA_VER, LOCAL_CTK]
- #
- export MATRICES="
- pull-request:
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '11.8.0', LOCAL_CTK: '0' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '11.8.0', LOCAL_CTK: '1' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '12.9.0', LOCAL_CTK: '0' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '12.9.0', LOCAL_CTK: '1' }
- nightly:
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '11.8.0', LOCAL_CTK: '0' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '11.8.0', LOCAL_CTK: '1' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '12.9.0', LOCAL_CTK: '0' }
- - { ARCH: ${ARCH}, PY_VER: '3.12', CUDA_VER: '12.9.0', LOCAL_CTK: '1' }
- "
-
# Use the nightly matrix for branch tests
MATRIX_TYPE="${BUILD_TYPE}"
if [[ "${MATRIX_TYPE}" == "branch" ]]; then
MATRIX_TYPE="nightly"
fi
- export MATRIX_TYPE
- TEST_MATRIX=$(yq -n 'env(MATRICES) | .[strenv(MATRIX_TYPE)]')
- export TEST_MATRIX
+
+ # Read base matrix from JSON file for the specific architecture
+ TEST_MATRIX=$(jq --arg arch "$ARCH" --arg matrix_type "$MATRIX_TYPE" '
+ .windows[$matrix_type] |
+ map(select(.ARCH == $arch))
+ ' ci/test-matrix.json)
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'
+ jq -c '${{ inputs.matrix_filter }} | if (. | length) > 0 then {include: .} else "Error: Empty matrix\n" | halt_error(1) end' <<< "$TEST_MATRIX"
)"
echo "MATRIX=${MATRIX}" | tee --append "${GITHUB_OUTPUT}"
test:
- name: py${{ matrix.PY_VER }}, ${{ matrix.CUDA_VER }}, ${{ (matrix.LOCAL_CTK == '1' && 'local') || 'wheels' }}
+ name: py${{ matrix.PY_VER }}, ${{ matrix.CUDA_VER }}, ${{ (matrix.LOCAL_CTK == '1' && 'local') || 'wheels' }}, GPU ${{ matrix.GPU }}
# The build stage could fail but we want the CI to keep moving.
needs: compute-matrix
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.compute-matrix.outputs.MATRIX) }}
if: ${{ github.repository_owner == 'nvidia' && !cancelled() }}
- runs-on: 'cuda-python-windows-gpu-github'
+ runs-on: "windows-${{ matrix.ARCH }}-gpu-${{ matrix.GPU }}-${{ matrix.DRIVER }}-1"
steps:
- name: Checkout ${{ github.event.repository.name }}
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
+ - name: Setup proxy cache
+ uses: nv-gha-runners/setup-proxy-cache@main
+ continue-on-error: true
+
- name: Update driver
run: |
.github/workflows/install_gpu_driver.ps1
@@ -96,20 +90,6 @@ jobs:
- name: Ensure GPU is working
run: nvidia-smi
- - name: Install Git for Windows
- # the GPU runner image does not have Git Bash pre-installed...
- env:
- # doesn't seem there's an easy way to avoid hard-coding it?
- GFW_EXE_URL: https://github.com/git-for-windows/git/releases/download/v2.49.0.windows.1/PortableGit-2.49.0-64-bit.7z.exe
- run: |
- Invoke-WebRequest -Uri "$env:GFW_EXE_URL" -OutFile "PortableGit.7z.exe"
- # Self-extracting, see https://gitforwindows.org/zip-archives-extracting-the-released-archives.html
- Start-Process .\PortableGit.7z.exe -Wait -Verbose -ArgumentList '-y -gm2'
- ls -l PortableGit
- echo "$((Get-Location).Path)\\PortableGit\\bin" >> $env:GITHUB_PATH
- $env:Path += ";$((Get-Location).Path)\\PortableGit\\bin"
- bash --version
-
- name: Set environment variables
env:
BUILD_CUDA_VER: ${{ inputs.build-ctk-ver }}
@@ -122,40 +102,25 @@ jobs:
run: ./ci/tools/env-vars test
- name: Download cuda-pathfinder build artifacts
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: cuda-pathfinder-wheel
path: ./cuda_pathfinder
- name: Download cuda-python build artifacts
if: ${{ env.SKIP_CUDA_BINDINGS_TEST == '0'}}
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: cuda-python-wheel
path: .
- name: Download cuda.bindings build artifacts
if: ${{ env.SKIP_CUDA_BINDINGS_TEST == '0'}}
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}
path: ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}
- - name: Install gh cli
- # the GPU runner image does not have gh pre-installed...
- env:
- # doesn't seem there's an easy way to avoid hard-coding it?
- GH_MSI_URL: https://github.com/cli/cli/releases/download/v2.67.0/gh_2.67.0_windows_amd64.msi
- run: |
- Invoke-WebRequest -Uri "$env:GH_MSI_URL" -OutFile "gh_installer.msi"
- Start-Process msiexec.exe -Wait -Verbose -ArgumentList '/i "gh_installer.msi" /qn'
- $GH_POSSIBLE_PATHS = "C:\\Program Files\\GitHub CLI", "C:\\Program Files (x86)\\GitHub CLI"
- foreach ($p in $GH_POSSIBLE_PATHS) {
- echo "$p" >> $env:GITHUB_PATH
- $env:Path += ";$p"
- }
- gh --version
-
- name: Install zstd
# the GPU runner image does not have zstd pre-installed... and it's needed by actions/cache
if: ${{ matrix.LOCAL_CTK == '1' }}
@@ -178,7 +143,7 @@ jobs:
run: |
$OLD_BRANCH = Get-Content .github/BACKPORT_BRANCH
$OLD_BASENAME = "cuda-bindings-python${env:PYTHON_VERSION_FORMATTED}-cuda*-${{ inputs.host-platform }}*"
- $runData = gh run list -b $OLD_BRANCH -L 1 -w "build-and-test.yml" -s completed -R NVIDIA/cuda-python --json databaseId | ConvertFrom-Json
+ $runData = gh run list -b $OLD_BRANCH -L 1 -w "ci.yml" -s completed -R NVIDIA/cuda-python --json databaseId | ConvertFrom-Json
if (-not $runData -or $runData.Length -eq 0 -or -not $runData[0].databaseId -or [string]::IsNullOrEmpty($runData[0].databaseId)) {
Write-Host "LATEST_PRIOR_RUN_ID not found!"
exit 1
@@ -186,6 +151,7 @@ jobs:
$LATEST_PRIOR_RUN_ID = $runData[0].databaseId
gh run download $LATEST_PRIOR_RUN_ID -p $OLD_BASENAME -R NVIDIA/cuda-python
+ Remove-Item -Recurse -Force "${OLD_BASENAME}-tests" # exclude cython test artifacts
Get-ChildItem -Path $OLD_BASENAME
New-Item -Path "${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}" -ItemType Directory -Force
Move-Item -Path "$OLD_BASENAME/*.whl" -Destination "${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}"
@@ -208,7 +174,7 @@ jobs:
- name: Download cuda.bindings Cython tests
if: ${{ env.SKIP_CYTHON_TEST == '0' }}
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}-tests
path: ${{ env.CUDA_BINDINGS_CYTHON_TESTS_DIR }}
@@ -220,7 +186,7 @@ jobs:
Get-ChildItem -Recurse -Force $env:CUDA_BINDINGS_CYTHON_TESTS_DIR | Select-Object Mode, LastWriteTime, Length, FullName
- name: Download cuda.core build artifacts
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: ${{ env.CUDA_CORE_ARTIFACT_NAME }}
path: ${{ env.CUDA_CORE_ARTIFACTS_DIR }}
@@ -232,7 +198,7 @@ jobs:
- name: Download cuda.core Cython tests
if: ${{ env.SKIP_CYTHON_TEST == '0' }}
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+ uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: ${{ env.CUDA_CORE_ARTIFACT_NAME }}-tests
path: ${{ env.CUDA_CORE_CYTHON_TESTS_DIR }}
@@ -259,6 +225,7 @@ jobs:
- name: Run cuda.pathfinder tests with see_what_works
env:
CUDA_PATHFINDER_TEST_LOAD_NVIDIA_DYNAMIC_LIB_STRICTNESS: see_what_works
+ CUDA_PATHFINDER_TEST_FIND_NVIDIA_HEADERS_STRICTNESS: see_what_works
shell: bash --noprofile --norc -xeuo pipefail {0}
run: run-tests pathfinder
@@ -285,18 +252,17 @@ jobs:
pip install "$((Get-ChildItem -Filter cuda_python*.whl).FullName)[all]"
}
- - name: Install cuda.pathfinder nvidia_wheels_cu12
- if: startsWith(matrix.CUDA_VER, '12.')
+ - name: Install cuda.pathfinder extra wheels for testing
shell: bash --noprofile --norc -xeuo pipefail {0}
run: |
pushd cuda_pathfinder
- pip install -v .[nvidia_wheels_cu12]
- pip freeze
+ pip install --only-binary=:all: -v ".[test_nvidia_wheels_cu${TEST_CUDA_MAJOR},test_nvidia_wheels_host]"
+ pip list
popd
- name: Run cuda.pathfinder tests with all_must_work
- if: startsWith(matrix.CUDA_VER, '12.')
env:
CUDA_PATHFINDER_TEST_LOAD_NVIDIA_DYNAMIC_LIB_STRICTNESS: all_must_work
+ CUDA_PATHFINDER_TEST_FIND_NVIDIA_HEADERS_STRICTNESS: all_must_work
shell: bash --noprofile --norc -xeuo pipefail {0}
run: run-tests pathfinder
diff --git a/.gitignore b/.gitignore
index 656dd8916..d2bb3b35c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,7 @@ __pycache__/
cache_driver
cache_runtime
cache_nvrtc
+cuda_bindings/cuda/bindings/_lib/utils.pxi
# CUDA Python specific (auto-generated)
cuda_bindings/cuda/bindings/_bindings/cydriver.pxd
@@ -26,12 +27,9 @@ cuda_bindings/cuda/bindings/_bindings/cyruntime_ptds.pxd
cuda_bindings/cuda/bindings/_bindings/cyruntime_ptds.pyx
cuda_bindings/cuda/bindings/_bindings/cynvrtc.pxd
cuda_bindings/cuda/bindings/_bindings/cynvrtc.pyx
+cuda_bindings/cuda/bindings/_internal/cufile.pyx
cuda_bindings/cuda/bindings/_internal/nvjitlink.pyx
cuda_bindings/cuda/bindings/_internal/nvvm.pyx
-cuda_bindings/cuda/bindings/_lib/cyruntime/cyruntime.pxd
-cuda_bindings/cuda/bindings/_lib/cyruntime/cyruntime.pyx
-cuda_bindings/cuda/bindings/_lib/cyruntime/utils.pxd
-cuda_bindings/cuda/bindings/_lib/cyruntime/utils.pyx
cuda_bindings/cuda/bindings/_lib/utils.pxd
cuda_bindings/cuda/bindings/_lib/utils.pyx
cuda_bindings/cuda/bindings/cydriver.pxd
@@ -114,6 +112,7 @@ instance/
# Sphinx documentation
docs_src/_build/
+*/docs/source/generated/
# PyBuilder
.pybuilder/
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 239f70dce..d65ffce91 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -9,7 +9,6 @@ ci:
autoupdate_branch: ''
autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate'
autoupdate_schedule: quarterly
- skip: [bandit]
submodules: false
# Please update the rev: SHAs below with this command:
@@ -31,8 +30,42 @@ repos:
additional_dependencies:
- https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl
+ - id: no-markdown-in-docs-source
+ name: Prevent markdown files in docs/source directories
+ entry: bash -c
+ args: ['if find . -path "*/docs/source/*.md" -not -path "./docs/README.md" | grep -q .; then echo "ERROR: Markdown files found in docs/source/ directories. Use reST (.rst) instead."; exit 1; fi']
+ language: system
+ pass_filenames: false
+ always_run: true
+
+ # Standard hooks
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: "v5.0.0"
+ hooks:
+ - id: check-added-large-files
+ - id: check-case-conflict
+ - id: check-docstring-first
+ - id: check-merge-conflict
+ - id: check-symlinks
+ - id: check-toml
+ - id: check-yaml
+ - id: debug-statements
+ - id: end-of-file-fixer
+ exclude: &gen_exclude '^(?:cuda_bindings/cuda/bindings/.*\.in?|cuda_bindings/docs/source/module/.*\.rst?)$'
+ - id: mixed-line-ending
+ - id: trailing-whitespace
+ exclude: *gen_exclude
+
+ # Checking for common mistakes
+ - repo: https://github.com/pre-commit/pygrep-hooks
+ rev: "v1.10.0"
+ hooks:
+ - id: rst-backticks
+ - id: rst-directive-colons
+ - id: rst-inline-touching-normal
+
- repo: https://github.com/PyCQA/bandit
- rev: 2d0b675b04c80ae42277e10500db06a0a37bae17 # frozen: 1.8.6
+ rev: "36fd65054fc8864b4037d0918904f9331512feb5" # frozen: 1.7.10 KEEP IN SYNC WITH .github/workflows/bandit.yml
hooks:
- id: bandit
args:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index aac130218..183d21586 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -11,7 +11,15 @@ Thank you for your interest in contributing to CUDA Python! Based on the type of
2. You want to implement a feature, improvement, or bug fix:
- Please refer to each component's guideline:
- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/contribute.html)
- - [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/contribute.html)
+ - [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/contribute.html)[1](#footnote1)
+ - [`cuda.pathfinder`](https://nvidia.github.io/cuda-python/cuda-pathfinder/latest/contribute.html)
+
+## Table of Contents
+
+- [Pre-commit](#pre-commit)
+- [Code signing](#code-signing)
+- [Developer Certificate of Origin (DCO)](#developer-certificate-of-origin-dco)
+- [CI infrastructure overview](#ci-infrastructure-overview)
## Pre-commit
@@ -78,3 +86,127 @@ By making a contribution to this project, I certify that:
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
```
+
+## CI infrastructure overview
+
+The CUDA Python project uses a comprehensive CI pipeline that builds, tests, and releases multiple components across different platforms. This section provides a visual overview of our CI infrastructure to help contributors understand the build and release process.
+
+### CI Pipeline Flow
+
+
+
+Alternative Mermaid diagram representation:
+
+```mermaid
+flowchart TD
+ %% Trigger Events
+ subgraph TRIGGER["π TRIGGER EVENTS"]
+ T1["β’ Push to main branch"]
+ T2["β’ Pull request β’ Manual workflow dispatch"]
+ T1 --- T2
+ end
+
+ %% Build Stage
+ subgraph BUILD["π¨ BUILD STAGE"]
+ subgraph BUILD_PLATFORMS["Parallel Platform Builds"]
+ B1["linux-64 (Self-hosted)"]
+ B2["linux-aarch64 (Self-hosted)"]
+ B3["win-64 (GitHub-hosted)"]
+ end
+ BUILD_DETAILS["β’ Python versions: 3.9, 3.10, 3.11, 3.12, 3.13 β’ CUDA version: 13.0.0 (build-time) β’ Components: cuda-core, cuda-bindings, cuda-pathfinder, cuda-python"]
+ end
+
+ %% Artifact Storage
+ subgraph ARTIFACTS["π¦ ARTIFACT STORAGE"]
+ subgraph GITHUB_ARTIFACTS["GitHub Artifacts"]
+ GA1["β’ Wheel files (.whl) β’ Test artifacts β’ Documentation (30-day retention)"]
+ end
+ subgraph GITHUB_CACHE["GitHub Cache"]
+ GC1["β’ Mini CTK cache"]
+ end
+ end
+
+ %% Test Stage
+ subgraph TEST["π§ͺ TEST STAGE"]
+ subgraph TEST_PLATFORMS["Parallel Platform Tests"]
+ TS1["linux-64 (Self-hosted)"]
+ TS2["linux-aarch64 (Self-hosted)"]
+ TS3["win-64 (GitHub-hosted)"]
+ end
+ TEST_DETAILS["β’ Download wheels from artifacts β’ Test against multiple CUDA runtime versions β’ Run Python unit tests, Cython tests, examples"]
+ ARTIFACT_FLOWS["Artifact Flows: β’ cuda-pathfinder: main β backport β’ cuda-bindings: backport β main"]
+ end
+
+ %% Release Pipeline
+ subgraph RELEASE["π RELEASE PIPELINE"]
+ subgraph RELEASE_STAGES["Sequential Release Steps"]
+ R1["Validation β’ Artifact integrity β’ Git tag verification"]
+ R2["Publishing β’ PyPI/TestPyPI β’ Component or all releases"]
+ R3["Documentation β’ GitHub Pages β’ Release notes"]
+ R1 --> R2 --> R3
+ end
+ RELEASE_DETAILS["β’ Manual workflow dispatch with run ID β’ Supports individual component or full releases"]
+ end
+
+ %% Main Flow
+ TRIGGER --> BUILD
+ BUILD -.->|"wheel upload"| ARTIFACTS
+ ARTIFACTS -.-> TEST
+ TEST --> RELEASE
+
+ %% Artifact Flow Arrows (Cache Reuse)
+ GITHUB_CACHE -.->|"mini CTK reuse"| BUILD
+ GITHUB_CACHE -.->|"mini CTK reuse"| TEST
+
+ %% Artifact Flow Arrows (Wheel Fetch)
+ GITHUB_ARTIFACTS -.->|"wheel fetch"| TEST
+ GITHUB_ARTIFACTS -.->|"wheel fetch"| RELEASE
+
+ %% Styling
+ classDef triggerStyle fill:#e8f4fd,stroke:#2196F3,stroke-width:2px,color:#1976D2
+ classDef buildStyle fill:#f3e5f5,stroke:#9C27B0,stroke-width:2px,color:#7B1FA2
+ classDef artifactStyle fill:#fff3e0,stroke:#FF9800,stroke-width:2px,color:#F57C00
+ classDef testStyle fill:#e8f5e8,stroke:#4CAF50,stroke-width:2px,color:#388E3C
+ classDef releaseStyle fill:#ffebee,stroke:#f44336,stroke-width:2px,color:#D32F2F
+
+ class TRIGGER,T1,T2 triggerStyle
+ class BUILD,BUILD_PLATFORMS,B1,B2,B3,BUILD_DETAILS buildStyle
+ class ARTIFACTS,GITHUB_ARTIFACTS,GITHUB_CACHE,GA1,GC1 artifactStyle
+ class TEST,TEST_PLATFORMS,TS1,TS2,TS3,TEST_DETAILS,ARTIFACT_FLOWS testStyle
+ class RELEASE,RELEASE_STAGES,R1,R2,R3,RELEASE_DETAILS releaseStyle
+```
+
+### Pipeline Execution Details
+
+**Parallel Execution**: The CI pipeline leverages parallel execution to optimize build and test times:
+- **Build Stage**: Different architectures/operating systems (linux-64, linux-aarch64, win-64) are built in parallel across their respective runners
+- **Test Stage**: Different architectures/operating systems/CUDA versions are tested in parallel; documentation preview is also built in parallel with testing
+
+### Branch-specific Artifact Flow
+
+#### Main Branch
+- **Build** β **Test** β **Documentation** β **Potential Release**
+- Artifacts stored as `{component}-python{version}-{platform}-{sha}`
+- Full test coverage across all platforms and CUDA versions
+- **Artifact flow out**: `cuda-pathfinder` artifacts β backport branches
+
+#### Backport Branches
+- **Build** β **Test** β **Backport PR Creation**
+- Artifacts used for validation before creating backport pull requests
+- Maintains compatibility with older CUDA versions
+- **Artifact flow in**: `cuda-pathfinder` artifacts β main branch
+- **Artifact flow out**: older `cuda-bindings` artifacts β main branch
+
+### Key Infrastructure Details
+
+- **Self-hosted runners**: Used for Linux builds and GPU testing (more resources, faster builds)
+- **GitHub-hosted runners**: Used for Windows builds and general tasks
+- **Artifact retention**: 30 days for GitHub Artifacts (wheels, docs, tests)
+- **Cache retention**: GitHub Cache for build dependencies and environments
+- **Security**: All commits must be signed, untrusted code blocked
+- **Parallel execution**: Matrix builds across Python versions and platforms
+- **Component isolation**: Each component (core, bindings, pathfinder, python) can be built/released independently
+
+---
+
+1 : The `cuda-python` meta package shares the same license and the contributing guidelines as those of `cuda-bindings`.
diff --git a/README.md b/README.md
index 97d9800cc..cffa52f2e 100644
--- a/README.md
+++ b/README.md
@@ -4,8 +4,9 @@ CUDA Python is the home for accessing NVIDIAβs CUDA platform from Python. It c
* [cuda.core](https://nvidia.github.io/cuda-python/cuda-core/latest): Pythonic access to CUDA Runtime and other core functionalities
* [cuda.bindings](https://nvidia.github.io/cuda-python/cuda-bindings/latest): Low-level Python bindings to CUDA C APIs
-* [cuda.cccl.cooperative](https://nvidia.github.io/cccl/cuda_cooperative/): A Python module providing CCCL's reusable block-wide and warp-wide *device* primitives for use within Numba CUDA kernels
-* [cuda.cccl.parallel](https://nvidia.github.io/cccl/cuda_parallel/): A Python module for easy access to CCCL's highly efficient and customizable parallel algorithms, like `sort`, `scan`, `reduce`, `transform`, etc. that are callable on the *host*
+* [cuda.pathfinder](https://nvidia.github.io/cuda-python/cuda-pathfinder/latest): Utilities for locating CUDA components installed in the user's Python environment
+* [cuda.cccl.cooperative](https://nvidia.github.io/cccl/python/cooperative): A Python module providing CCCL's reusable block-wide and warp-wide *device* primitives for use within Numba CUDA kernels
+* [cuda.cccl.parallel](https://nvidia.github.io/cccl/python/parallel): A Python module for easy access to CCCL's highly efficient and customizable parallel algorithms, like `sort`, `scan`, `reduce`, `transform`, etc. that are callable on the *host*
* [numba.cuda](https://nvidia.github.io/numba-cuda/): Numba's target for CUDA GPU programming by directly compiling a restricted subset of Python code into CUDA kernels and device functions following the CUDA execution model.
* [nvmath-python](https://docs.nvidia.com/cuda/nvmath-python/latest): Pythonic access to NVIDIA CPU & GPU Math Libraries, with both [*host*](https://docs.nvidia.com/cuda/nvmath-python/latest/overview.html#host-apis) and [*device* (nvmath.device)](https://docs.nvidia.com/cuda/nvmath-python/latest/overview.html#device-apis) APIs. It also provides low-level Python bindings to host C APIs ([nvmath.bindings](https://docs.nvidia.com/cuda/nvmath-python/latest/bindings/index.html)).
@@ -38,3 +39,4 @@ The list of available interfaces is:
* NVRTC
* nvJitLink
* NVVM
+* cuFile
diff --git a/SECURITY.md b/SECURITY.md
index b72f0d67a..428354155 100755
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -33,4 +33,3 @@ information.
For all security-related concerns, please visit NVIDIA's Product Security portal at
.
-
diff --git a/ci/.ci-pipeline-regen.md b/ci/.ci-pipeline-regen.md
new file mode 100644
index 000000000..7ddf9b970
--- /dev/null
+++ b/ci/.ci-pipeline-regen.md
@@ -0,0 +1,106 @@
+# CUDA Python CI Pipeline SVG Regeneration Instructions
+
+This file contains the prompt and requirements for regenerating `ci-pipeline.svg` with the same styling and content.
+
+## Styling Requirements
+
+- Hand-drawn Excalidraw-style design with rough, sketchy borders
+- Comic Sans MS font family for all text
+- Imperfect lines and curves that mimic hand-drawn aesthetics
+- Canvas size: 900x800 pixels
+- Color scheme:
+ - Trigger Events: #e8f4fd background, #2196F3 border, #1976D2 text
+ - Build Stage: #f3e5f5 background, #9C27B0 border, #7B1FA2 text
+ - Artifact Storage: #fff3e0 background, #FF9800 border, #F57C00 text
+ - Test Stage: #e8f5e8 background, #4CAF50 border, #388E3C text
+ - Release Pipeline: #ffebee background, #f44336 border, #D32F2F text
+
+## Content Structure
+
+1. **Title**: "CUDA Python CI Pipeline Flow"
+
+2. **Trigger Events** (top blue box):
+ - Push to main branch
+ - Pull request
+ - Manual workflow dispatch
+
+3. **Build Stage** (purple box):
+ - Three platform boxes: linux-64 (Self-hosted), linux-aarch64 (Self-hosted), win-64 (GitHub-hosted)
+ - Details: Python versions 3.9-3.13, CUDA 13.0.0 (build-time)
+ - Components: cuda-core, cuda-bindings, cuda-pathfinder, cuda-python
+
+4. **Artifact Storage** (orange box):
+ - GitHub Artifacts box: Wheel files (.whl), Test artifacts, Documentation (30-day retention)
+ - GitHub Cache box: Mini CTK cache
+
+5. **Test Stage** (green box):
+ - Three platform boxes: linux-64 (Self-hosted), linux-aarch64 (Self-hosted), win-64 (GitHub-hosted)
+ - Details: Download wheels from artifacts, Test against multiple CUDA runtime versions, Run Python unit tests, Cython tests, examples
+ - Artifact Flows (in red text):
+ β’ cuda-pathfinder: main β backport
+ β’ cuda-bindings: backport β main
+
+6. **Release Pipeline** (red box):
+ - Three sequential boxes: Validation β Publishing β Documentation
+ - Validation: Artifact integrity, Git tag verification
+ - Publishing: PyPI/TestPyPI, Component or all releases
+ - Documentation: GitHub Pages, Release notes
+ - Details: Manual workflow dispatch with run ID, Supports individual component or full releases
+
+## Arrow Requirements
+
+- Main flow arrows: Trigger β Build β Artifact β Test β Release
+- Additional artifact flow arrows (dashed, orange #FF9800):
+ - From GitHub Cache (mini CTK) back to Build Stage with "mini CTK reuse" label
+ - From GitHub Artifacts (wheels) to Release Pipeline with "wheel fetch" label
+ - **NEW**: From GitHub Cache (mini CTK) to Test Stage with "mini CTK reuse" label
+ - **NEW**: From GitHub Artifacts (wheels) to Test Stage with "wheel fetch" label
+- Arrow marker definition with hand-drawn style (orange arrow heads, not black)
+- Use stroke-dasharray="5,3" for artifact flow arrows
+
+## Critical Arrow Positioning Requirements (UPDATED)
+
+**IMPORTANT**: Arrows must NOT overlap with stage boxes. Ensure proper clearance:
+
+1. **Mini CTK reuse arrow** (GitHub Cache β Build Stage):
+ - Arrow endpoint Y coordinate must be BELOW the Build Stage box edge (y=292)
+ - Use y=295 or greater for the endpoint to ensure no overlap
+ - Position "mini CTK reuse" text to the RIGHT of the arrow (not left) for less visual clutter
+ - Text color should be orange (#FF9800) to match arrow
+
+2. **Wheel fetch arrow** (GitHub Artifacts β Release Pipeline):
+ - Arrow endpoint Y coordinate must be ABOVE the Release Pipeline box edge (y=652)
+ - Use y=645 or smaller for the endpoint to provide proper margin
+ - Position "wheel fetch" text between Test Stage and Release Pipeline boxes
+ - Text should be to the LEFT of the arrow for better spacing
+
+## Font Size Requirements (UPDATED)
+
+- ALL text labels must use consistent 12pt font size for readability
+- No 9pt text - this is too small and hard to read
+- Title: 16pt, Stage headers: 14pt, All other text: 12pt
+
+## Key Features
+
+- All boxes use rough, hand-drawn paths (not perfect rectangles)
+- Text should be properly sized and positioned within boxes
+- Platform boxes within each stage should be clearly separated
+- Maintain consistent spacing and alignment
+- Orange arrow heads must match the orange arrow color
+
+## Text Positioning
+
+- Use text-anchor="middle" for centered headers
+- Use text-anchor="start" for left-aligned bullet points
+- Ensure all text fits within their enclosing boxes
+- Use transforms for angled text labels on artifact flow arrows
+- Artifact flow arrow text positioning is critical - follow positioning requirements above
+
+## Recent Manual Adjustments Applied
+
+- Fixed arrow endpoint positioning to prevent overlap with stage boxes
+- Moved mini CTK reuse arrow endpoint from y=285 to y=295
+- Moved wheel fetch arrow endpoint from y=650 to y=645
+- Repositioned text labels for better visual separation
+- Standardized all text to 12pt font size for consistency
+- Changed arrow heads from black to orange to match arrow color
diff --git a/ci/ci-pipeline.svg b/ci/ci-pipeline.svg
new file mode 100644
index 000000000..eeff4c69f
--- /dev/null
+++ b/ci/ci-pipeline.svg
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CUDA Python CI Pipeline Flow
+
+
+
+ TRIGGER EVENTS
+ β’ Push to main branch
+ β’ Pull request
+ β’ Manual workflow dispatch
+
+
+
+
+
+ BUILD STAGE
+
+
+
+ linux-64
+ Self-hosted
+
+
+ linux-aarch64
+ Self-hosted
+
+
+ win-64
+ GitHub-hosted
+
+
+ β’ Python versions: 3.9, 3.10, 3.11, 3.12, 3.13
+ β’ CUDA version: 13.0.0 (build-time)
+ β’ Components: cuda-core, cuda-bindings,
+ cuda-pathfinder, cuda-python
+
+
+
+ wheel upload
+
+
+
+ ARTIFACT STORAGE
+
+
+
+ GitHub Artifacts
+ β’ Wheel files (.whl)
+ β’ Test artifacts
+ β’ Documentation
+ (30-day retention)
+
+
+ GitHub Cache
+ β’ Mini CTK cache
+
+
+
+
+
+
+
+ mini CTK reuse
+
+
+
+ wheel fetch
+
+
+
+
+ mini CTK reuse
+
+
+
+ wheel fetch
+
+
+
+ TEST STAGE
+
+
+
+ linux-64
+ Self-hosted
+
+
+ linux-aarch64
+ Self-hosted
+
+
+ win-64
+ GitHub-hosted
+
+
+ β’ Download wheels from artifacts
+ β’ Test against multiple CUDA runtime versions
+ β’ Run Python unit tests, Cython tests, examples
+ Artifact Flows:
+ β’ cuda-pathfinder: main β backport
+ β’ cuda-bindings: backport β main
+
+
+
+
+
+
+ RELEASE PIPELINE
+
+
+
+ Validation
+ β’ Artifact integrity
+ β’ Git tag verification
+
+
+
+
+
+ Publishing
+ β’ PyPI/TestPyPI
+ β’ Component or all releases
+
+
+
+
+
+ Documentation
+ β’ GitHub Pages
+ β’ Release notes
+
+
+ β’ Manual workflow dispatch with run ID
+ β’ Supports individual component or full releases
+
diff --git a/ci/test-matrix.json b/ci/test-matrix.json
new file mode 100644
index 000000000..0d6fdb7e7
--- /dev/null
+++ b/ci/test-matrix.json
@@ -0,0 +1,111 @@
+{
+ "_description": "Test matrix configurations for CUDA Python CI workflows. This file consolidates the test matrices that were previously hardcoded in the workflow files. All GPU and ARCH values are hard-coded for each architecture: l4 GPU for amd64, a100 GPU for arm64.",
+ "_sorted_by": "Please keep matrices sorted in ascending order by [ARCH, PY_VER, CUDA_VER, LOCAL_CTK, GPU, DRIVER]",
+ "_notes": "DRIVER: 'earliest' does not work with CUDA 12.9.1 and LOCAL_CTK: 0 does not work with CUDA 12.0.1",
+ "linux": {
+ "pull-request": [
+ { "ARCH": "amd64", "PY_VER": "3.9", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.9", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.10", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.10", "CUDA_VER": "13.0.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.11", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.11", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "13.0.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13t", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.9", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.9", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.10", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.10", "CUDA_VER": "13.0.1", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.11", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.11", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.12", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.12", "CUDA_VER": "13.0.1", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.13", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.13", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.13t", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" }
+ ],
+ "nightly": [
+ { "ARCH": "amd64", "PY_VER": "3.9", "CUDA_VER": "11.8.0", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "earliest" },
+ { "ARCH": "amd64", "PY_VER": "3.9", "CUDA_VER": "11.8.0", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.9", "CUDA_VER": "12.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.9", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.9", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.10", "CUDA_VER": "11.8.0", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "earliest" },
+ { "ARCH": "amd64", "PY_VER": "3.10", "CUDA_VER": "11.8.0", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.10", "CUDA_VER": "12.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.10", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.10", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.11", "CUDA_VER": "11.8.0", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "earliest" },
+ { "ARCH": "amd64", "PY_VER": "3.11", "CUDA_VER": "11.8.0", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.11", "CUDA_VER": "12.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.11", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.11", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "11.8.0", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "earliest" },
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "11.8.0", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "12.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13", "CUDA_VER": "11.8.0", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "earliest" },
+ { "ARCH": "amd64", "PY_VER": "3.13", "CUDA_VER": "11.8.0", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13", "CUDA_VER": "12.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13t", "CUDA_VER": "11.8.0", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "earliest" },
+ { "ARCH": "amd64", "PY_VER": "3.13t", "CUDA_VER": "11.8.0", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13t", "CUDA_VER": "12.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13t", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13t", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.9", "CUDA_VER": "11.8.0", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "earliest" },
+ { "ARCH": "arm64", "PY_VER": "3.9", "CUDA_VER": "11.8.0", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.9", "CUDA_VER": "12.0.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.9", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.9", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.10", "CUDA_VER": "11.8.0", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "earliest" },
+ { "ARCH": "arm64", "PY_VER": "3.10", "CUDA_VER": "11.8.0", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.10", "CUDA_VER": "12.0.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.10", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.10", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.11", "CUDA_VER": "11.8.0", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "earliest" },
+ { "ARCH": "arm64", "PY_VER": "3.11", "CUDA_VER": "11.8.0", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.11", "CUDA_VER": "12.0.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.11", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.11", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.12", "CUDA_VER": "11.8.0", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "earliest" },
+ { "ARCH": "arm64", "PY_VER": "3.12", "CUDA_VER": "11.8.0", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.12", "CUDA_VER": "12.0.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.12", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.12", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.13", "CUDA_VER": "11.8.0", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "earliest" },
+ { "ARCH": "arm64", "PY_VER": "3.13", "CUDA_VER": "11.8.0", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.13", "CUDA_VER": "12.0.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.13", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "a100", "DRIVER": "latest" },
+ { "ARCH": "arm64", "PY_VER": "3.13", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "a100", "DRIVER": "latest" }
+ ],
+ "special_runners": {
+ "amd64": [
+ { "ARCH": "amd64", "PY_VER": "3.13", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "H100", "DRIVER": "latest" }
+ ]
+ }
+ },
+ "windows": {
+ "pull-request": [
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "t4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13", "CUDA_VER": "13.0.1", "LOCAL_CTK": "0", "GPU": "t4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13t", "CUDA_VER": "13.0.1", "LOCAL_CTK": "0", "GPU": "t4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13t", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" }
+ ],
+ "nightly": [
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "11.8.0", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "11.8.0", "LOCAL_CTK": "1", "GPU": "t4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "t4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "12.9.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13t", "CUDA_VER": "13.0.1", "LOCAL_CTK": "0", "GPU": "t4", "DRIVER": "latest" },
+ { "ARCH": "amd64", "PY_VER": "3.13t", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" }
+ ]
+ }
+}
diff --git a/ci/tools/download-wheels b/ci/tools/download-wheels
new file mode 100755
index 000000000..a3141afb3
--- /dev/null
+++ b/ci/tools/download-wheels
@@ -0,0 +1,75 @@
+#!/usr/bin/env bash
+
+# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+# A utility script to download component wheels from GitHub Actions artifacts.
+# This script reuses the same logic that was in release.yml to maintain consistency.
+
+set -euo pipefail
+
+# Check required arguments
+if [[ $# -lt 3 ]]; then
+ echo "Usage: $0 [output-dir]" >&2
+ echo " run-id: The GitHub Actions run ID containing the artifacts" >&2
+ echo " component: The component name pattern to download (e.g., cuda-core, cuda-bindings)" >&2
+ echo " repository: The GitHub repository (e.g., NVIDIA/cuda-python)" >&2
+ echo " output-dir: Optional output directory (default: ./dist)" >&2
+ exit 1
+fi
+
+RUN_ID="$1"
+COMPONENT="$2"
+REPOSITORY="$3"
+OUTPUT_DIR="${4:-./dist}"
+
+# Ensure we have a GitHub token
+if [[ -z "${GH_TOKEN:-}" ]]; then
+ echo "Error: GH_TOKEN environment variable is required"
+ exit 1
+fi
+
+echo "Downloading wheels for component: $COMPONENT from run: $RUN_ID"
+
+# Download component wheels using the same logic as release.yml
+if [[ "$COMPONENT" == "all" ]]; then
+ # Download all component patterns
+ gh run download "$RUN_ID" -p "cuda-*" -R "$REPOSITORY"
+else
+ gh run download "$RUN_ID" -p "${COMPONENT}*" -R "$REPOSITORY"
+fi
+
+# Create output directory
+mkdir -p "$OUTPUT_DIR"
+
+# Process downloaded artifacts
+for p in cuda-*
+do
+ if [[ ! -d "$p" ]]; then
+ continue
+ fi
+
+ # exclude cython test artifacts
+ if [[ "${p}" == *-tests ]]; then
+ echo "Skipping test artifact: $p"
+ continue
+ fi
+
+ # If we're not downloading "all", only process matching component
+ if [[ "$COMPONENT" != "all" && "$p" != ${COMPONENT}* ]]; then
+ continue
+ fi
+
+ echo "Processing artifact: $p"
+ # Move wheel files to output directory
+ if [[ -d "$p" ]]; then
+ find "$p" -name "*.whl" -exec mv {} "$OUTPUT_DIR/" \;
+ fi
+done
+
+# Clean up artifact directories
+rm -rf cuda-*
+
+echo "Downloaded wheels to: $OUTPUT_DIR"
+ls -la "$OUTPUT_DIR"
diff --git a/ci/tools/env-vars b/ci/tools/env-vars
index 8b68540fc..19126cd13 100755
--- a/ci/tools/env-vars
+++ b/ci/tools/env-vars
@@ -60,7 +60,7 @@ elif [[ "${1}" == "test" ]]; then
# We only test compute-sanitizer on python 3.12 arbitrarily; we don't need to use sanitizer on the entire matrix
# Only local ctk installs have compute-sanitizer; there is no wheel for it
if [[ "${PY_VER}" == "3.12" && "${CUDA_VER}" != "11.8.0" && "${LOCAL_CTK}" == 1 && "${HOST_PLATFORM}" == linux* ]]; then
- echo "LATEST_CUDA_VERSION=$(bash .github/workflows/guess_latest.sh)" >> $GITHUB_ENV
+ echo "LATEST_CUDA_VERSION=$(bash .github/workflows/guess_latest.sh $TEST_CUDA_MAJOR)" >> $GITHUB_ENV
SETUP_SANITIZER=1
else
SETUP_SANITIZER=0
@@ -69,6 +69,7 @@ elif [[ "${1}" == "test" ]]; then
echo "SETUP_SANITIZER=${SETUP_SANITIZER}" >> $GITHUB_ENV
echo "SKIP_CUDA_BINDINGS_TEST=${SKIP_CUDA_BINDINGS_TEST}" >> $GITHUB_ENV
echo "SKIP_CYTHON_TEST=${SKIP_CYTHON_TEST}" >> $GITHUB_ENV
+ echo "TEST_CUDA_MAJOR=${TEST_CUDA_MAJOR}" >> $GITHUB_ENV
fi
echo "CUDA_BINDINGS_ARTIFACT_BASENAME=${CUDA_BINDINGS_ARTIFACT_BASENAME}" >> $GITHUB_ENV
diff --git a/ci/tools/lookup-run-id b/ci/tools/lookup-run-id
new file mode 100755
index 000000000..db2f84b79
--- /dev/null
+++ b/ci/tools/lookup-run-id
@@ -0,0 +1,99 @@
+#!/usr/bin/env bash
+
+# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+# A utility script to find the GitHub Actions workflow run ID for a given git tag.
+# This script looks for the CI workflow run that corresponds to the commit of the given tag.
+
+set -euo pipefail
+
+# Check required arguments
+if [[ $# -lt 2 ]]; then
+ echo "Usage: $0 [workflow-name]" >&2
+ echo " git-tag: The git tag to find the corresponding workflow run for" >&2
+ echo " repository: The GitHub repository (e.g., NVIDIA/cuda-python)" >&2
+ echo " workflow-name: Optional workflow name to filter by (default: CI)" >&2
+ echo "" >&2
+ echo "Examples:" >&2
+ echo " $0 v13.0.1 NVIDIA/cuda-python" >&2
+ echo " $0 v13.0.1 NVIDIA/cuda-python \"CI\"" >&2
+ exit 1
+fi
+
+GIT_TAG="${1}"
+REPOSITORY="${2}"
+WORKFLOW_NAME="${3:-CI}"
+
+# Ensure we have required tools
+if [[ -z "${GH_TOKEN:-}" ]]; then
+ echo "Error: GH_TOKEN environment variable is required" >&2
+ exit 1
+fi
+
+if ! command -v jq >/dev/null 2>&1; then
+ echo "Error: jq is required but not installed" >&2
+ exit 1
+fi
+
+if ! command -v gh >/dev/null 2>&1; then
+ echo "Error: GitHub CLI (gh) is required but not installed" >&2
+ exit 1
+fi
+
+echo "Looking up run ID for tag: ${GIT_TAG} in repository: ${REPOSITORY}" >&2
+
+# Resolve git tag to commit SHA
+if ! COMMIT_SHA=$(git rev-parse "${GIT_TAG}"); then
+ echo "Error: Could not resolve git tag '${GIT_TAG}' to a commit SHA" >&2
+ echo "Make sure the tag exists and you have fetched it" >&2
+ exit 1
+fi
+
+echo "Resolved tag '${GIT_TAG}' to commit: ${COMMIT_SHA}" >&2
+
+# Find workflow runs for this commit
+echo "Searching for '${WORKFLOW_NAME}' workflow runs for commit: ${COMMIT_SHA}" >&2
+
+# Get workflow runs for the commit, filter by workflow name and successful status
+RUN_DATA=$(gh run list \
+ --repo "${REPOSITORY}" \
+ --commit "${COMMIT_SHA}" \
+ --workflow "${WORKFLOW_NAME}" \
+ --status completed \
+ --json databaseId,workflowName,status,conclusion,headSha \
+ --limit 10)
+
+if [[ -z "${RUN_DATA}" || "${RUN_DATA}" == "[]" ]]; then
+ echo "Error: No completed '${WORKFLOW_NAME}' workflow runs found for commit ${COMMIT_SHA}" >&2
+ echo "Available workflow runs for this commit:" >&2
+ gh run list --repo "${REPOSITORY}" --commit "${COMMIT_SHA}" --limit 10 || true
+ exit 1
+fi
+
+# Filter for successful runs (conclusion = success) and extract the run ID from the first one
+RUN_ID=$(echo "${RUN_DATA}" | jq -r '.[] | select(.conclusion == "success") | .databaseId' | head -1)
+
+if [[ -z "${RUN_ID}" || "${RUN_ID}" == "null" ]]; then
+ echo "Error: No successful '${WORKFLOW_NAME}' workflow runs found for commit ${COMMIT_SHA}" >&2
+ echo "Available workflow runs for this commit:" >&2
+ gh run list --repo "$REPOSITORY" --commit "${COMMIT_SHA}" --limit 10 || true
+ echo "" >&2
+ echo "Completed runs with their conclusions:" >&2
+ echo "${RUN_DATA}" | jq -r '.[] | "\(.databaseId): \(.conclusion)"' >&2
+ exit 1
+fi
+
+echo "Found workflow run ID: ${RUN_ID} for tag '${GIT_TAG}'" >&2
+
+# Verify the run has the expected artifacts by checking if there are any artifacts
+echo "Verifying artifacts exist for run ${RUN_ID}..." >&2
+ARTIFACT_LIST=$(gh run view "${RUN_ID}" --repo "${REPOSITORY}" --json url || echo "")
+
+if [[ -z "${ARTIFACT_LIST}" ]]; then
+ echo "Warning: Could not verify artifacts for workflow run ${RUN_ID}" >&2
+fi
+
+# Output the run ID (this is what gets used by calling scripts)
+echo "${RUN_ID}"
diff --git a/ci/tools/run-tests b/ci/tools/run-tests
index ad1dbd6a9..8992dfced 100755
--- a/ci/tools/run-tests
+++ b/ci/tools/run-tests
@@ -31,9 +31,14 @@ popd
if [[ "${test_module}" == "pathfinder" ]]; then
pushd ./cuda_pathfinder
- echo "Running pathfinder tests with ${CUDA_PATHFINDER_TEST_LOAD_NVIDIA_DYNAMIC_LIB_STRICTNESS}"
+ echo "Running pathfinder tests with " \
+ "LD:${CUDA_PATHFINDER_TEST_LOAD_NVIDIA_DYNAMIC_LIB_STRICTNESS} " \
+ "FH:${CUDA_PATHFINDER_TEST_FIND_NVIDIA_HEADERS_STRICTNESS}"
pwd
- pytest -ra -s -v tests/
+ pytest -ra -s -v tests/ |& tee /tmp/pathfinder_test_log.txt
+ # Fail if no "INFO test_" lines are found; capture line count otherwise
+ line_count=$(grep '^INFO test_' /tmp/pathfinder_test_log.txt | wc -l)
+ echo "Number of \"INFO test_\" lines: $line_count"
popd
elif [[ "${test_module}" == "bindings" ]]; then
pushd "${CUDA_BINDINGS_ARTIFACTS_DIR}"
@@ -75,12 +80,18 @@ elif [[ "${test_module}" == "core" ]]; then
echo "Installing core wheel"
pwd
ls
+
+ FREE_THREADING=""
+ if python -c 'import sys; assert not sys._is_gil_enabled()' 2> /dev/null; then
+ FREE_THREADING+="-ft"
+ fi
+
if [[ "${LOCAL_CTK}" == 1 ]]; then
# We already installed cuda-bindings, and all CTK components exist locally,
# so just install the test dependencies.
- pip install $(ls *.whl)["test-cu${TEST_CUDA_MAJOR}"]
+ pip install $(ls *.whl)["test-cu${TEST_CUDA_MAJOR}${FREE_THREADING}"]
else
- pip install $(ls *.whl)["cu${TEST_CUDA_MAJOR}","test-cu${TEST_CUDA_MAJOR}"]
+ pip install $(ls *.whl)["cu${TEST_CUDA_MAJOR}","test-cu${TEST_CUDA_MAJOR}${FREE_THREADING}"]
fi
popd
pushd ./cuda_core
diff --git a/ci/versions.json b/ci/versions.json
index 5608eeb1d..271c69ac3 100644
--- a/ci/versions.json
+++ b/ci/versions.json
@@ -1,7 +1,7 @@
{
"cuda": {
"build": {
- "version": "12.9.0"
+ "version": "13.0.1"
}
}
}
diff --git a/conftest.py b/conftest.py
new file mode 100644
index 000000000..1c4f9d279
--- /dev/null
+++ b/conftest.py
@@ -0,0 +1,45 @@
+# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0
+
+import os
+import pytest
+
+
+def pytest_collection_modifyitems(config, items):
+ cuda_home = os.environ.get("CUDA_HOME")
+ for item in items:
+ nodeid = item.nodeid.replace("\\", "/")
+
+ # Package markers by path
+ if (
+ nodeid.startswith("cuda_pathfinder/tests/")
+ or "/cuda_pathfinder/tests/" in nodeid
+ ):
+ item.add_marker(pytest.mark.pathfinder)
+ if (
+ nodeid.startswith("cuda_bindings/tests/")
+ or "/cuda_bindings/tests/" in nodeid
+ ):
+ item.add_marker(pytest.mark.bindings)
+ if nodeid.startswith("cuda_core/tests/") or "/cuda_core/tests/" in nodeid:
+ item.add_marker(pytest.mark.core)
+
+ # Smoke tests
+ if nodeid.startswith("tests/integration/") or "/tests/integration/" in nodeid:
+ item.add_marker(pytest.mark.smoke)
+
+ # Cython tests (any tests/cython subtree)
+ if (
+ "/tests/cython/" in nodeid
+ or nodeid.endswith("/tests/cython")
+ or ("/cython/" in nodeid and "/tests/" in nodeid)
+ ):
+ item.add_marker(pytest.mark.cython)
+
+ # Gate core cython tests on CUDA_HOME
+ if "core" in item.keywords and not cuda_home:
+ item.add_marker(
+ pytest.mark.skip(
+ reason="CUDA_HOME not set; skipping core cython tests"
+ )
+ )
diff --git a/cuda_bindings/LICENSE b/cuda_bindings/LICENSE
index b7d042fce..a5a65097c 100644
--- a/cuda_bindings/LICENSE
+++ b/cuda_bindings/LICENSE
@@ -2,46 +2,46 @@ NVIDIA SOFTWARE LICENSE
This license is a legal agreement between you and NVIDIA Corporation ("NVIDIA") and governs your use of the NVIDIA CUDA Python software and materials provided hereunder ("SOFTWARE").
-This license can be accepted only by an adult of legal age of majority in the country in which the SOFTWARE is used. If you are under the legal age of majority, you must ask your parent or legal guardian to consent to this license. By taking delivery of the SOFTWARE, you affirm that you have reached the legal age of majority, you accept the terms of this license, and you take legal and financial responsibility for the actions of your permitted users.
+This license can be accepted only by an adult of legal age of majority in the country in which the SOFTWARE is used. If you are under the legal age of majority, you must ask your parent or legal guardian to consent to this license. By taking delivery of the SOFTWARE, you affirm that you have reached the legal age of majority, you accept the terms of this license, and you take legal and financial responsibility for the actions of your permitted users.
You agree to use the SOFTWARE only for purposes that are permitted by (a) this license, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions.
1. LICENSE. Subject to the terms of this license, NVIDIA grants you a non-exclusive limited license to: (a) install and use the SOFTWARE, and (b) distribute the SOFTWARE subject to the distribution requirements described in this license. NVIDIA reserves all rights, title and interest in and to the SOFTWARE not expressly granted to you under this license.
-2. DISTRIBUTION REQUIREMENTS. These are the distribution requirements for you to exercise the distribution grant:
-a. The terms under which you distribute the SOFTWARE must be consistent with the terms of this license, including (without limitation) terms relating to the license grant and license restrictions and protection of NVIDIA's intellectual property rights.
-b. You agree to notify NVIDIA in writing of any known or suspected distribution or use of the SOFTWARE not in compliance with the requirements of this license, and to enforce the terms of your agreements with respect to distributed SOFTWARE.
+2. DISTRIBUTION REQUIREMENTS. These are the distribution requirements for you to exercise the distribution grant:
+a. The terms under which you distribute the SOFTWARE must be consistent with the terms of this license, including (without limitation) terms relating to the license grant and license restrictions and protection of NVIDIA's intellectual property rights.
+b. You agree to notify NVIDIA in writing of any known or suspected distribution or use of the SOFTWARE not in compliance with the requirements of this license, and to enforce the terms of your agreements with respect to distributed SOFTWARE.
3. LIMITATIONS. Your license to use the SOFTWARE is restricted as follows:
a. The SOFTWARE is licensed for you to develop applications only for use in systems with NVIDIA GPUs.
-b. You may not reverse engineer, decompile or disassemble, or remove copyright or other proprietary notices from any portion of the SOFTWARE or copies of the SOFTWARE.
-c. You may not modify or create derivative works of any portion of the SOFTWARE.
+b. You may not reverse engineer, decompile or disassemble, or remove copyright or other proprietary notices from any portion of the SOFTWARE or copies of the SOFTWARE.
+c. You may not modify or create derivative works of any portion of the SOFTWARE.
d. You may not bypass, disable, or circumvent any technical measure, encryption, security, digital rights management or authentication mechanism in the SOFTWARE.
e. You may not use the SOFTWARE in any manner that would cause it to become subject to an open source software license. As examples, licenses that require as a condition of use, modification, and/or distribution that the SOFTWARE be (i) disclosed or distributed in source code form; (ii) licensed for the purpose of making derivative works; or (iii) redistributable at no charge.
-f. Unless you have an agreement with NVIDIA for this purpose, you may not use the SOFTWARE with any system or application where the use or failure of the system or application can reasonably be expected to threaten or result in personal injury, death, or catastrophic loss. Examples include use in avionics, navigation, military, medical, life support or other life critical applications. NVIDIA does not design, test or manufacture the SOFTWARE for these critical uses and NVIDIA shall not be liable to you or any third party, in whole or in part, for any claims or damages arising from such uses.
-g. You agree to defend, indemnify and hold harmless NVIDIA and its affiliates, and their respective employees, contractors, agents, officers and directors, from and against any and all claims, damages, obligations, losses, liabilities, costs or debt, fines, restitutions and expenses (including but not limited to attorney's fees and costs incident to establishing the right of indemnification) arising out of or related to use of the SOFTWARE outside of the scope of this Agreement, or not in compliance with its terms.
+f. Unless you have an agreement with NVIDIA for this purpose, you may not use the SOFTWARE with any system or application where the use or failure of the system or application can reasonably be expected to threaten or result in personal injury, death, or catastrophic loss. Examples include use in avionics, navigation, military, medical, life support or other life critical applications. NVIDIA does not design, test or manufacture the SOFTWARE for these critical uses and NVIDIA shall not be liable to you or any third party, in whole or in part, for any claims or damages arising from such uses.
+g. You agree to defend, indemnify and hold harmless NVIDIA and its affiliates, and their respective employees, contractors, agents, officers and directors, from and against any and all claims, damages, obligations, losses, liabilities, costs or debt, fines, restitutions and expenses (including but not limited to attorney's fees and costs incident to establishing the right of indemnification) arising out of or related to use of the SOFTWARE outside of the scope of this Agreement, or not in compliance with its terms.
-4. PRE-RELEASE. SOFTWARE versions identified as alpha, beta, preview, early access or otherwise as pre-release may not be fully functional, may contain errors or design flaws, and may have reduced or different security, privacy, availability, and reliability standards relative to commercial versions of NVIDIA software and materials. You may use a pre-release SOFTWARE version at your own risk, understanding that these versions are not intended for use in production or business-critical systems.
+4. PRE-RELEASE. SOFTWARE versions identified as alpha, beta, preview, early access or otherwise as pre-release may not be fully functional, may contain errors or design flaws, and may have reduced or different security, privacy, availability, and reliability standards relative to commercial versions of NVIDIA software and materials. You may use a pre-release SOFTWARE version at your own risk, understanding that these versions are not intended for use in production or business-critical systems.
5. OWNERSHIP. The SOFTWARE and the related intellectual property rights therein are and will remain the sole and exclusive property of NVIDIA or its licensors. The SOFTWARE is copyrighted and protected by the laws of the United States and other countries, and international treaty provisions. NVIDIA may make changes to the SOFTWARE, at any time without notice, but is not obligated to support or update the SOFTWARE.
-
-6. COMPONENTS UNDER OTHER LICENSES. The SOFTWARE may include NVIDIA or third-party components with separate legal notices or terms as may be described in proprietary notices accompanying the SOFTWARE. If and to the extent there is a conflict between the terms in this license and the license terms associated with a component, the license terms associated with the components control only to the extent necessary to resolve the conflict.
+
+6. COMPONENTS UNDER OTHER LICENSES. The SOFTWARE may include NVIDIA or third-party components with separate legal notices or terms as may be described in proprietary notices accompanying the SOFTWARE. If and to the extent there is a conflict between the terms in this license and the license terms associated with a component, the license terms associated with the components control only to the extent necessary to resolve the conflict.
7. FEEDBACK. You may, but don't have to, provide to NVIDIA any Feedback. "Feedback" means any suggestions, bug fixes, enhancements, modifications, feature requests or other feedback regarding the SOFTWARE. For any Feedback that you voluntarily provide, you hereby grant NVIDIA and its affiliates a perpetual, non-exclusive, worldwide, irrevocable license to use, reproduce, modify, license, sublicense (through multiple tiers of sublicensees), and distribute (through multiple tiers of distributors) the Feedback without the payment of any royalties or fees to you. NVIDIA will use Feedback at its choice.
-8. NO WARRANTIES. THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. NVIDIA DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION THEREOF WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ALL ERRORS WILL BE CORRECTED.
+8. NO WARRANTIES. THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. NVIDIA DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION THEREOF WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ALL ERRORS WILL BE CORRECTED.
+
+9. LIMITATIONS OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND ITS AFFILIATES SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR ANY LOST PROFITS, PROJECT DELAYS, LOSS OF USE, LOSS OF DATA OR LOSS OF GOODWILL, OR THE COSTS OF PROCURING SUBSTITUTE PRODUCTS, ARISING OUT OF OR IN CONNECTION WITH THIS LICENSE OR THE USE OR PERFORMANCE OF THE SOFTWARE, WHETHER SUCH LIABILITY ARISES FROM ANY CLAIM BASED UPON BREACH OF CONTRACT, BREACH OF WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR ANY OTHER CAUSE OF ACTION OR THEORY OF LIABILITY, EVEN IF NVIDIA HAS PREVIOUSLY BEEN ADVISED OF, OR COULD REASONABLY HAVE FORESEEN, THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL NVIDIA'S AND ITS AFFILIATES TOTAL CUMULATIVE LIABILITY UNDER OR ARISING OUT OF THIS LICENSE EXCEED US$10.00. THE NATURE OF THE LIABILITY OR THE NUMBER OF CLAIMS OR SUITS SHALL NOT ENLARGE OR EXTEND THIS LIMIT.
-9. LIMITATIONS OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND ITS AFFILIATES SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR ANY LOST PROFITS, PROJECT DELAYS, LOSS OF USE, LOSS OF DATA OR LOSS OF GOODWILL, OR THE COSTS OF PROCURING SUBSTITUTE PRODUCTS, ARISING OUT OF OR IN CONNECTION WITH THIS LICENSE OR THE USE OR PERFORMANCE OF THE SOFTWARE, WHETHER SUCH LIABILITY ARISES FROM ANY CLAIM BASED UPON BREACH OF CONTRACT, BREACH OF WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR ANY OTHER CAUSE OF ACTION OR THEORY OF LIABILITY, EVEN IF NVIDIA HAS PREVIOUSLY BEEN ADVISED OF, OR COULD REASONABLY HAVE FORESEEN, THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL NVIDIA'S AND ITS AFFILIATES TOTAL CUMULATIVE LIABILITY UNDER OR ARISING OUT OF THIS LICENSE EXCEED US$10.00. THE NATURE OF THE LIABILITY OR THE NUMBER OF CLAIMS OR SUITS SHALL NOT ENLARGE OR EXTEND THIS LIMIT.
+10. TERMINATION. Your rights under this license will terminate automatically without notice from NVIDIA if you fail to comply with any term and condition of this license or if you commence or participate in any legal proceeding against NVIDIA with respect to the SOFTWARE. NVIDIA may terminate this license with advance written notice to you if NVIDIA decides to no longer provide the SOFTWARE in a country or, in NVIDIA's sole discretion, the continued use of it is no longer commercially viable. Upon any termination of this license, you agree to promptly discontinue use of the SOFTWARE and destroy all copies in your possession or control. Your prior distributions in accordance with this license are not affected by the termination of this license. All provisions of this license will survive termination, except for the license granted to you.
-10. TERMINATION. Your rights under this license will terminate automatically without notice from NVIDIA if you fail to comply with any term and condition of this license or if you commence or participate in any legal proceeding against NVIDIA with respect to the SOFTWARE. NVIDIA may terminate this license with advance written notice to you if NVIDIA decides to no longer provide the SOFTWARE in a country or, in NVIDIA's sole discretion, the continued use of it is no longer commercially viable. Upon any termination of this license, you agree to promptly discontinue use of the SOFTWARE and destroy all copies in your possession or control. Your prior distributions in accordance with this license are not affected by the termination of this license. All provisions of this license will survive termination, except for the license granted to you.
+11. APPLICABLE LAW. This license will be governed in all respects by the laws of the United States and of the State of Delaware as those laws are applied to contracts entered into and performed entirely within Delaware by Delaware residents, without regard to the conflicts of laws principles. The United Nations Convention on Contracts for the International Sale of Goods is specifically disclaimed. You agree to all terms of this Agreement in the English language. The state or federal courts residing in Santa Clara County, California shall have exclusive jurisdiction over any dispute or claim arising out of this license. Notwithstanding this, you agree that NVIDIA shall still be allowed to apply for injunctive remedies or an equivalent type of urgent legal relief in any jurisdiction.
-11. APPLICABLE LAW. This license will be governed in all respects by the laws of the United States and of the State of Delaware as those laws are applied to contracts entered into and performed entirely within Delaware by Delaware residents, without regard to the conflicts of laws principles. The United Nations Convention on Contracts for the International Sale of Goods is specifically disclaimed. You agree to all terms of this Agreement in the English language. The state or federal courts residing in Santa Clara County, California shall have exclusive jurisdiction over any dispute or claim arising out of this license. Notwithstanding this, you agree that NVIDIA shall still be allowed to apply for injunctive remedies or an equivalent type of urgent legal relief in any jurisdiction.
+12. NO ASSIGNMENT. This license and your rights and obligations thereunder may not be assigned by you by any means or operation of law without NVIDIA's permission. Any attempted assignment not approved by NVIDIA in writing shall be void and of no effect.
-12. NO ASSIGNMENT. This license and your rights and obligations thereunder may not be assigned by you by any means or operation of law without NVIDIA's permission. Any attempted assignment not approved by NVIDIA in writing shall be void and of no effect.
-
13. EXPORT. The SOFTWARE is subject to United States export laws and regulations. You agree that you will not ship, transfer or export the SOFTWARE into any country, or use the SOFTWARE in any manner, prohibited by the United States Bureau of Industry and Security or economic sanctions regulations administered by the U.S. Department of Treasury's Office of Foreign Assets Control (OFAC), or any applicable export laws, restrictions or regulations. These laws include restrictions on destinations, end users and end use. By accepting this license, you confirm that you are not a resident or citizen of any country currently embargoed by the U.S. and that you are not otherwise prohibited from receiving the SOFTWARE.
-14. GOVERNMENT USE. The SOFTWARE has been developed entirely at private expense and is "commercial items" consisting of "commercial computer software" and "commercial computer software documentation" provided with RESTRICTED RIGHTS. Use, duplication or disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the restrictions in this license pursuant to DFARS 227.7202-3(a) or as set forth in subparagraphs (b)(1) and (2) of the Commercial Computer Software - Restricted Rights clause at FAR 52.227-19, as applicable. Contractor/manufacturer is NVIDIA, 2788 San Tomas Expressway, Santa Clara, CA 95051.
+14. GOVERNMENT USE. The SOFTWARE has been developed entirely at private expense and is "commercial items" consisting of "commercial computer software" and "commercial computer software documentation" provided with RESTRICTED RIGHTS. Use, duplication or disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the restrictions in this license pursuant to DFARS 227.7202-3(a) or as set forth in subparagraphs (b)(1) and (2) of the Commercial Computer Software - Restricted Rights clause at FAR 52.227-19, as applicable. Contractor/manufacturer is NVIDIA, 2788 San Tomas Expressway, Santa Clara, CA 95051.
15. ENTIRE AGREEMENT. This license is the final, complete and exclusive agreement between the parties relating to the subject matter of this license and supersedes all prior or contemporaneous understandings and agreements relating to this subject matter, whether oral or written. If any court of competent jurisdiction determines that any provision of this license is illegal, invalid or unenforceable, the remaining provisions will remain in full force and effect. This license may only be modified in a writing signed by an authorized representative of each party.
diff --git a/cuda_bindings/benchmarks/conftest.py b/cuda_bindings/benchmarks/conftest.py
index 4c075122c..2787f41d1 100644
--- a/cuda_bindings/benchmarks/conftest.py
+++ b/cuda_bindings/benchmarks/conftest.py
@@ -4,7 +4,9 @@
import numpy as np
import pytest
-from cuda import cuda, cudart, nvrtc
+from cuda.bindings import driver as cuda
+from cuda.bindings import nvrtc
+from cuda.bindings import runtime as cudart
def ASSERT_DRV(err):
@@ -28,7 +30,7 @@ def init_cuda():
ASSERT_DRV(err)
err, device = cuda.cuDeviceGet(0)
ASSERT_DRV(err)
- err, ctx = cuda.cuCtxCreate(0, device)
+ err, ctx = cuda.cuCtxCreate(None, 0, device)
ASSERT_DRV(err)
# create stream
diff --git a/cuda_bindings/benchmarks/test_launch_latency.py b/cuda_bindings/benchmarks/test_launch_latency.py
index aea251108..8fb2ef683 100755
--- a/cuda_bindings/benchmarks/test_launch_latency.py
+++ b/cuda_bindings/benchmarks/test_launch_latency.py
@@ -7,7 +7,7 @@
from conftest import ASSERT_DRV
from kernels import kernel_string
-from cuda import cuda
+from cuda.bindings import driver as cuda
def launch(kernel, stream, args=(), arg_types=()):
diff --git a/cuda_bindings/benchmarks/test_pointer_attributes.py b/cuda_bindings/benchmarks/test_pointer_attributes.py
index c34ee4f70..620afae7b 100644
--- a/cuda_bindings/benchmarks/test_pointer_attributes.py
+++ b/cuda_bindings/benchmarks/test_pointer_attributes.py
@@ -6,7 +6,7 @@
import pytest
from conftest import ASSERT_DRV
-from cuda import cuda
+from cuda.bindings import driver as cuda
random.seed(0)
diff --git a/cuda_bindings/cuda/bindings/_bindings/cydriver.pxd.in b/cuda_bindings/cuda/bindings/_bindings/cydriver.pxd.in
index 6ac1e31d2..8038f8d95 100644
--- a/cuda_bindings/cuda/bindings/_bindings/cydriver.pxd.in
+++ b/cuda_bindings/cuda/bindings/_bindings/cydriver.pxd.in
@@ -1,7 +1,7 @@
# SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE
-# This code was automatically generated with version 12.9.0. Do not modify it directly.
+# This code was automatically generated with version 13.0.0. Do not modify it directly.
from cuda.bindings.cydriver cimport *
{{if 'cuGetErrorString' in found_functions}}
@@ -39,11 +39,6 @@ cdef CUresult _cuDeviceGetCount(int* count) except ?CUDA_ERROR_NOT_FOUND nogil
cdef CUresult _cuDeviceGetName(char* name, int length, CUdevice dev) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuDeviceGetUuid' in found_functions}}
-
-cdef CUresult _cuDeviceGetUuid(CUuuid* uuid, CUdevice dev) except ?CUDA_ERROR_NOT_FOUND nogil
-{{endif}}
-
{{if 'cuDeviceGetUuid_v2' in found_functions}}
cdef CUresult _cuDeviceGetUuid_v2(CUuuid* uuid, CUdevice dev) except ?CUDA_ERROR_NOT_FOUND nogil
@@ -69,6 +64,11 @@ cdef CUresult _cuDeviceGetTexture1DLinearMaxWidth(size_t* maxWidthInElements, CU
cdef CUresult _cuDeviceGetAttribute(int* pi, CUdevice_attribute attrib, CUdevice dev) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
+{{if 'cuDeviceGetHostAtomicCapabilities' in found_functions}}
+
+cdef CUresult _cuDeviceGetHostAtomicCapabilities(unsigned int* capabilities, const CUatomicOperation* operations, unsigned int count, CUdevice dev) except ?CUDA_ERROR_NOT_FOUND nogil
+{{endif}}
+
{{if 'cuDeviceGetNvSciSyncAttributes' in found_functions}}
cdef CUresult _cuDeviceGetNvSciSyncAttributes(void* nvSciSyncAttrList, CUdevice dev, int flags) except ?CUDA_ERROR_NOT_FOUND nogil
@@ -134,16 +134,6 @@ cdef CUresult _cuDevicePrimaryCtxGetState(CUdevice dev, unsigned int* flags, int
cdef CUresult _cuDevicePrimaryCtxReset_v2(CUdevice dev) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuCtxCreate_v2' in found_functions}}
-
-cdef CUresult _cuCtxCreate_v2(CUcontext* pctx, unsigned int flags, CUdevice dev) except ?CUDA_ERROR_NOT_FOUND nogil
-{{endif}}
-
-{{if 'cuCtxCreate_v3' in found_functions}}
-
-cdef CUresult _cuCtxCreate_v3(CUcontext* pctx, CUexecAffinityParam* paramsArray, int numParams, unsigned int flags, CUdevice dev) except ?CUDA_ERROR_NOT_FOUND nogil
-{{endif}}
-
{{if 'cuCtxCreate_v4' in found_functions}}
cdef CUresult _cuCtxCreate_v4(CUcontext* pctx, CUctxCreateParams* ctxCreateParams, unsigned int flags, CUdevice dev) except ?CUDA_ERROR_NOT_FOUND nogil
@@ -179,6 +169,11 @@ cdef CUresult _cuCtxGetCurrent(CUcontext* pctx) except ?CUDA_ERROR_NOT_FOUND nog
cdef CUresult _cuCtxGetDevice(CUdevice* device) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
+{{if 'cuCtxGetDevice_v2' in found_functions}}
+
+cdef CUresult _cuCtxGetDevice_v2(CUdevice* device, CUcontext ctx) except ?CUDA_ERROR_NOT_FOUND nogil
+{{endif}}
+
{{if 'cuCtxGetFlags' in found_functions}}
cdef CUresult _cuCtxGetFlags(unsigned int* flags) except ?CUDA_ERROR_NOT_FOUND nogil
@@ -199,6 +194,11 @@ cdef CUresult _cuCtxGetId(CUcontext ctx, unsigned long long* ctxId) except ?CUDA
cdef CUresult _cuCtxSynchronize() except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
+{{if 'cuCtxSynchronize_v2' in found_functions}}
+
+cdef CUresult _cuCtxSynchronize_v2(CUcontext ctx) except ?CUDA_ERROR_NOT_FOUND nogil
+{{endif}}
+
{{if 'cuCtxSetLimit' in found_functions}}
cdef CUresult _cuCtxSetLimit(CUlimit limit, size_t value) except ?CUDA_ERROR_NOT_FOUND nogil
@@ -669,14 +669,14 @@ cdef CUresult _cuMemcpy3DAsync_v2(const CUDA_MEMCPY3D* pCopy, CUstream hStream)
cdef CUresult _cuMemcpy3DPeerAsync(const CUDA_MEMCPY3D_PEER* pCopy, CUstream hStream) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuMemcpyBatchAsync' in found_functions}}
+{{if 'cuMemcpyBatchAsync_v2' in found_functions}}
-cdef CUresult _cuMemcpyBatchAsync(CUdeviceptr* dsts, CUdeviceptr* srcs, size_t* sizes, size_t count, CUmemcpyAttributes* attrs, size_t* attrsIdxs, size_t numAttrs, size_t* failIdx, CUstream hStream) except ?CUDA_ERROR_NOT_FOUND nogil
+cdef CUresult _cuMemcpyBatchAsync_v2(CUdeviceptr* dsts, CUdeviceptr* srcs, size_t* sizes, size_t count, CUmemcpyAttributes* attrs, size_t* attrsIdxs, size_t numAttrs, CUstream hStream) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuMemcpy3DBatchAsync' in found_functions}}
+{{if 'cuMemcpy3DBatchAsync_v2' in found_functions}}
-cdef CUresult _cuMemcpy3DBatchAsync(size_t numOps, CUDA_MEMCPY3D_BATCH_OP* opList, size_t* failIdx, unsigned long long flags, CUstream hStream) except ?CUDA_ERROR_NOT_FOUND nogil
+cdef CUresult _cuMemcpy3DBatchAsync_v2(size_t numOps, CUDA_MEMCPY3D_BATCH_OP* opList, unsigned long long flags, CUstream hStream) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
{{if 'cuMemsetD8_v2' in found_functions}}
@@ -929,6 +929,21 @@ cdef CUresult _cuMemPoolCreate(CUmemoryPool* pool, const CUmemPoolProps* poolPro
cdef CUresult _cuMemPoolDestroy(CUmemoryPool pool) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
+{{if 'cuMemGetDefaultMemPool' in found_functions}}
+
+cdef CUresult _cuMemGetDefaultMemPool(CUmemoryPool* pool_out, CUmemLocation* location, CUmemAllocationType typename) except ?CUDA_ERROR_NOT_FOUND nogil
+{{endif}}
+
+{{if 'cuMemGetMemPool' in found_functions}}
+
+cdef CUresult _cuMemGetMemPool(CUmemoryPool* pool, CUmemLocation* location, CUmemAllocationType typename) except ?CUDA_ERROR_NOT_FOUND nogil
+{{endif}}
+
+{{if 'cuMemSetMemPool' in found_functions}}
+
+cdef CUresult _cuMemSetMemPool(CUmemLocation* location, CUmemAllocationType typename, CUmemoryPool pool) except ?CUDA_ERROR_NOT_FOUND nogil
+{{endif}}
+
{{if 'cuMemAllocFromPoolAsync' in found_functions}}
cdef CUresult _cuMemAllocFromPoolAsync(CUdeviceptr* dptr, size_t bytesize, CUmemoryPool pool, CUstream hStream) except ?CUDA_ERROR_NOT_FOUND nogil
@@ -989,24 +1004,29 @@ cdef CUresult _cuMulticastGetGranularity(size_t* granularity, const CUmulticastO
cdef CUresult _cuPointerGetAttribute(void* data, CUpointer_attribute attribute, CUdeviceptr ptr) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuMemPrefetchAsync' in found_functions}}
+{{if 'cuMemPrefetchAsync_v2' in found_functions}}
-cdef CUresult _cuMemPrefetchAsync(CUdeviceptr devPtr, size_t count, CUdevice dstDevice, CUstream hStream) except ?CUDA_ERROR_NOT_FOUND nogil
+cdef CUresult _cuMemPrefetchAsync_v2(CUdeviceptr devPtr, size_t count, CUmemLocation location, unsigned int flags, CUstream hStream) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuMemPrefetchAsync_v2' in found_functions}}
+{{if 'cuMemAdvise_v2' in found_functions}}
-cdef CUresult _cuMemPrefetchAsync_v2(CUdeviceptr devPtr, size_t count, CUmemLocation location, unsigned int flags, CUstream hStream) except ?CUDA_ERROR_NOT_FOUND nogil
+cdef CUresult _cuMemAdvise_v2(CUdeviceptr devPtr, size_t count, CUmem_advise advice, CUmemLocation location) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuMemAdvise' in found_functions}}
+{{if 'cuMemPrefetchBatchAsync' in found_functions}}
-cdef CUresult _cuMemAdvise(CUdeviceptr devPtr, size_t count, CUmem_advise advice, CUdevice device) except ?CUDA_ERROR_NOT_FOUND nogil
+cdef CUresult _cuMemPrefetchBatchAsync(CUdeviceptr* dptrs, size_t* sizes, size_t count, CUmemLocation* prefetchLocs, size_t* prefetchLocIdxs, size_t numPrefetchLocs, unsigned long long flags, CUstream hStream) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuMemAdvise_v2' in found_functions}}
+{{if 'cuMemDiscardBatchAsync' in found_functions}}
-cdef CUresult _cuMemAdvise_v2(CUdeviceptr devPtr, size_t count, CUmem_advise advice, CUmemLocation location) except ?CUDA_ERROR_NOT_FOUND nogil
+cdef CUresult _cuMemDiscardBatchAsync(CUdeviceptr* dptrs, size_t* sizes, size_t count, unsigned long long flags, CUstream hStream) except ?CUDA_ERROR_NOT_FOUND nogil
+{{endif}}
+
+{{if 'cuMemDiscardAndPrefetchBatchAsync' in found_functions}}
+
+cdef CUresult _cuMemDiscardAndPrefetchBatchAsync(CUdeviceptr* dptrs, size_t* sizes, size_t count, CUmemLocation* prefetchLocs, size_t* prefetchLocIdxs, size_t numPrefetchLocs, unsigned long long flags, CUstream hStream) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
{{if 'cuMemRangeGetAttribute' in found_functions}}
@@ -1104,21 +1124,11 @@ cdef CUresult _cuStreamEndCapture(CUstream hStream, CUgraph* phGraph) except ?CU
cdef CUresult _cuStreamIsCapturing(CUstream hStream, CUstreamCaptureStatus* captureStatus) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuStreamGetCaptureInfo_v2' in found_functions}}
-
-cdef CUresult _cuStreamGetCaptureInfo_v2(CUstream hStream, CUstreamCaptureStatus* captureStatus_out, cuuint64_t* id_out, CUgraph* graph_out, const CUgraphNode** dependencies_out, size_t* numDependencies_out) except ?CUDA_ERROR_NOT_FOUND nogil
-{{endif}}
-
{{if 'cuStreamGetCaptureInfo_v3' in found_functions}}
cdef CUresult _cuStreamGetCaptureInfo_v3(CUstream hStream, CUstreamCaptureStatus* captureStatus_out, cuuint64_t* id_out, CUgraph* graph_out, const CUgraphNode** dependencies_out, const CUgraphEdgeData** edgeData_out, size_t* numDependencies_out) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuStreamUpdateCaptureDependencies' in found_functions}}
-
-cdef CUresult _cuStreamUpdateCaptureDependencies(CUstream hStream, CUgraphNode* dependencies, size_t numDependencies, unsigned int flags) except ?CUDA_ERROR_NOT_FOUND nogil
-{{endif}}
-
{{if 'cuStreamUpdateCaptureDependencies_v2' in found_functions}}
cdef CUresult _cuStreamUpdateCaptureDependencies_v2(CUstream hStream, CUgraphNode* dependencies, const CUgraphEdgeData* dependencyData, size_t numDependencies, unsigned int flags) except ?CUDA_ERROR_NOT_FOUND nogil
@@ -1189,11 +1199,6 @@ cdef CUresult _cuEventSynchronize(CUevent hEvent) except ?CUDA_ERROR_NOT_FOUND n
cdef CUresult _cuEventDestroy_v2(CUevent hEvent) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuEventElapsedTime' in found_functions}}
-
-cdef CUresult _cuEventElapsedTime(float* pMilliseconds, CUevent hStart, CUevent hEnd) except ?CUDA_ERROR_NOT_FOUND nogil
-{{endif}}
-
{{if 'cuEventElapsedTime_v2' in found_functions}}
cdef CUresult _cuEventElapsedTime_v2(float* pMilliseconds, CUevent hStart, CUevent hEnd) except ?CUDA_ERROR_NOT_FOUND nogil
@@ -1604,51 +1609,26 @@ cdef CUresult _cuGraphGetNodes(CUgraph hGraph, CUgraphNode* nodes, size_t* numNo
cdef CUresult _cuGraphGetRootNodes(CUgraph hGraph, CUgraphNode* rootNodes, size_t* numRootNodes) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuGraphGetEdges' in found_functions}}
-
-cdef CUresult _cuGraphGetEdges(CUgraph hGraph, CUgraphNode* from_, CUgraphNode* to, size_t* numEdges) except ?CUDA_ERROR_NOT_FOUND nogil
-{{endif}}
-
{{if 'cuGraphGetEdges_v2' in found_functions}}
cdef CUresult _cuGraphGetEdges_v2(CUgraph hGraph, CUgraphNode* from_, CUgraphNode* to, CUgraphEdgeData* edgeData, size_t* numEdges) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuGraphNodeGetDependencies' in found_functions}}
-
-cdef CUresult _cuGraphNodeGetDependencies(CUgraphNode hNode, CUgraphNode* dependencies, size_t* numDependencies) except ?CUDA_ERROR_NOT_FOUND nogil
-{{endif}}
-
{{if 'cuGraphNodeGetDependencies_v2' in found_functions}}
cdef CUresult _cuGraphNodeGetDependencies_v2(CUgraphNode hNode, CUgraphNode* dependencies, CUgraphEdgeData* edgeData, size_t* numDependencies) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuGraphNodeGetDependentNodes' in found_functions}}
-
-cdef CUresult _cuGraphNodeGetDependentNodes(CUgraphNode hNode, CUgraphNode* dependentNodes, size_t* numDependentNodes) except ?CUDA_ERROR_NOT_FOUND nogil
-{{endif}}
-
{{if 'cuGraphNodeGetDependentNodes_v2' in found_functions}}
cdef CUresult _cuGraphNodeGetDependentNodes_v2(CUgraphNode hNode, CUgraphNode* dependentNodes, CUgraphEdgeData* edgeData, size_t* numDependentNodes) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuGraphAddDependencies' in found_functions}}
-
-cdef CUresult _cuGraphAddDependencies(CUgraph hGraph, const CUgraphNode* from_, const CUgraphNode* to, size_t numDependencies) except ?CUDA_ERROR_NOT_FOUND nogil
-{{endif}}
-
{{if 'cuGraphAddDependencies_v2' in found_functions}}
cdef CUresult _cuGraphAddDependencies_v2(CUgraph hGraph, const CUgraphNode* from_, const CUgraphNode* to, const CUgraphEdgeData* edgeData, size_t numDependencies) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuGraphRemoveDependencies' in found_functions}}
-
-cdef CUresult _cuGraphRemoveDependencies(CUgraph hGraph, const CUgraphNode* from_, const CUgraphNode* to, size_t numDependencies) except ?CUDA_ERROR_NOT_FOUND nogil
-{{endif}}
-
{{if 'cuGraphRemoveDependencies_v2' in found_functions}}
cdef CUresult _cuGraphRemoveDependencies_v2(CUgraph hGraph, const CUgraphNode* from_, const CUgraphNode* to, const CUgraphEdgeData* edgeData, size_t numDependencies) except ?CUDA_ERROR_NOT_FOUND nogil
@@ -1799,11 +1779,6 @@ cdef CUresult _cuGraphRetainUserObject(CUgraph graph, CUuserObject object, unsig
cdef CUresult _cuGraphReleaseUserObject(CUgraph graph, CUuserObject object, unsigned int count) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
-{{if 'cuGraphAddNode' in found_functions}}
-
-cdef CUresult _cuGraphAddNode(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, size_t numDependencies, CUgraphNodeParams* nodeParams) except ?CUDA_ERROR_NOT_FOUND nogil
-{{endif}}
-
{{if 'cuGraphAddNode_v2' in found_functions}}
cdef CUresult _cuGraphAddNode_v2(CUgraphNode* phGraphNode, CUgraph hGraph, const CUgraphNode* dependencies, const CUgraphEdgeData* dependencyData, size_t numDependencies, CUgraphNodeParams* nodeParams) except ?CUDA_ERROR_NOT_FOUND nogil
@@ -2084,6 +2059,11 @@ cdef CUresult _cuCtxDisablePeerAccess(CUcontext peerContext) except ?CUDA_ERROR_
cdef CUresult _cuDeviceGetP2PAttribute(int* value, CUdevice_P2PAttribute attrib, CUdevice srcDevice, CUdevice dstDevice) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
+{{if 'cuDeviceGetP2PAtomicCapabilities' in found_functions}}
+
+cdef CUresult _cuDeviceGetP2PAtomicCapabilities(unsigned int* capabilities, const CUatomicOperation* operations, unsigned int count, CUdevice srcDevice, CUdevice dstDevice) except ?CUDA_ERROR_NOT_FOUND nogil
+{{endif}}
+
{{if 'cuGraphicsUnregisterResource' in found_functions}}
cdef CUresult _cuGraphicsUnregisterResource(CUgraphicsResource resource) except ?CUDA_ERROR_NOT_FOUND nogil
@@ -2209,6 +2189,11 @@ cdef CUresult _cuStreamGetGreenCtx(CUstream hStream, CUgreenCtx* phCtx) except ?
cdef CUresult _cuGreenCtxStreamCreate(CUstream* phStream, CUgreenCtx greenCtx, unsigned int flags, int priority) except ?CUDA_ERROR_NOT_FOUND nogil
{{endif}}
+{{if 'cuGreenCtxGetId' in found_functions}}
+
+cdef CUresult _cuGreenCtxGetId(CUgreenCtx greenCtx, unsigned long long* greenCtxId) except ?CUDA_ERROR_NOT_FOUND nogil
+{{endif}}
+
{{if 'cuLogsRegisterCallback' in found_functions}}
cdef CUresult _cuLogsRegisterCallback(CUlogsCallback callbackFunc, void* userData, CUlogsCallbackHandle* callback_out) except ?CUDA_ERROR_NOT_FOUND nogil
diff --git a/cuda_bindings/cuda/bindings/_bindings/cydriver.pyx.in b/cuda_bindings/cuda/bindings/_bindings/cydriver.pyx.in
index 9bdf78dd5..664d322b8 100644
--- a/cuda_bindings/cuda/bindings/_bindings/cydriver.pyx.in
+++ b/cuda_bindings/cuda/bindings/_bindings/cydriver.pyx.in
@@ -1,18 +1,20 @@
# SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE
-# This code was automatically generated with version 12.9.0. Do not modify it directly.
+# This code was automatically generated with version 13.0.0. Do not modify it directly.
{{if 'Windows' == platform.system()}}
import os
-import win32api
-from pywintypes import error
+cimport cuda.bindings._lib.windll as windll
{{else}}
cimport cuda.bindings._lib.dlfcn as dlfcn
{{endif}}
-from libc.stdint cimport intptr_t
+from libc.stdint cimport intptr_t, uintptr_t
import os
import sys
cimport cuda.bindings._bindings.loader as loader
+import threading
+
+cdef object __symbol_lock = threading.Lock()
cdef bint __cuPythonInit = False
{{if 'cuGetErrorString' in found_functions}}cdef void *__cuGetErrorString = NULL{{endif}}
{{if 'cuGetErrorName' in found_functions}}cdef void *__cuGetErrorName = NULL{{endif}}
@@ -21,12 +23,12 @@ cdef bint __cuPythonInit = False
{{if 'cuDeviceGet' in found_functions}}cdef void *__cuDeviceGet = NULL{{endif}}
{{if 'cuDeviceGetCount' in found_functions}}cdef void *__cuDeviceGetCount = NULL{{endif}}
{{if 'cuDeviceGetName' in found_functions}}cdef void *__cuDeviceGetName = NULL{{endif}}
-{{if 'cuDeviceGetUuid' in found_functions}}cdef void *__cuDeviceGetUuid = NULL{{endif}}
{{if 'cuDeviceGetUuid_v2' in found_functions}}cdef void *__cuDeviceGetUuid_v2 = NULL{{endif}}
{{if 'cuDeviceGetLuid' in found_functions}}cdef void *__cuDeviceGetLuid = NULL{{endif}}
{{if 'cuDeviceTotalMem_v2' in found_functions}}cdef void *__cuDeviceTotalMem_v2 = NULL{{endif}}
{{if 'cuDeviceGetTexture1DLinearMaxWidth' in found_functions}}cdef void *__cuDeviceGetTexture1DLinearMaxWidth = NULL{{endif}}
{{if 'cuDeviceGetAttribute' in found_functions}}cdef void *__cuDeviceGetAttribute = NULL{{endif}}
+{{if 'cuDeviceGetHostAtomicCapabilities' in found_functions}}cdef void *__cuDeviceGetHostAtomicCapabilities = NULL{{endif}}
{{if 'cuDeviceGetNvSciSyncAttributes' in found_functions}}cdef void *__cuDeviceGetNvSciSyncAttributes = NULL{{endif}}
{{if 'cuDeviceSetMemPool' in found_functions}}cdef void *__cuDeviceSetMemPool = NULL{{endif}}
{{if 'cuDeviceGetMemPool' in found_functions}}cdef void *__cuDeviceGetMemPool = NULL{{endif}}
@@ -40,8 +42,6 @@ cdef bint __cuPythonInit = False
{{if 'cuDevicePrimaryCtxSetFlags_v2' in found_functions}}cdef void *__cuDevicePrimaryCtxSetFlags_v2 = NULL{{endif}}
{{if 'cuDevicePrimaryCtxGetState' in found_functions}}cdef void *__cuDevicePrimaryCtxGetState = NULL{{endif}}
{{if 'cuDevicePrimaryCtxReset_v2' in found_functions}}cdef void *__cuDevicePrimaryCtxReset_v2 = NULL{{endif}}
-{{if 'cuCtxCreate_v2' in found_functions}}cdef void *__cuCtxCreate_v2 = NULL{{endif}}
-{{if 'cuCtxCreate_v3' in found_functions}}cdef void *__cuCtxCreate_v3 = NULL{{endif}}
{{if 'cuCtxCreate_v4' in found_functions}}cdef void *__cuCtxCreate_v4 = NULL{{endif}}
{{if 'cuCtxDestroy_v2' in found_functions}}cdef void *__cuCtxDestroy_v2 = NULL{{endif}}
{{if 'cuCtxPushCurrent_v2' in found_functions}}cdef void *__cuCtxPushCurrent_v2 = NULL{{endif}}
@@ -49,10 +49,12 @@ cdef bint __cuPythonInit = False
{{if 'cuCtxSetCurrent' in found_functions}}cdef void *__cuCtxSetCurrent = NULL{{endif}}
{{if 'cuCtxGetCurrent' in found_functions}}cdef void *__cuCtxGetCurrent = NULL{{endif}}
{{if 'cuCtxGetDevice' in found_functions}}cdef void *__cuCtxGetDevice = NULL{{endif}}
+{{if 'cuCtxGetDevice_v2' in found_functions}}cdef void *__cuCtxGetDevice_v2 = NULL{{endif}}
{{if 'cuCtxGetFlags' in found_functions}}cdef void *__cuCtxGetFlags = NULL{{endif}}
{{if 'cuCtxSetFlags' in found_functions}}cdef void *__cuCtxSetFlags = NULL{{endif}}
{{if 'cuCtxGetId' in found_functions}}cdef void *__cuCtxGetId = NULL{{endif}}
{{if 'cuCtxSynchronize' in found_functions}}cdef void *__cuCtxSynchronize = NULL{{endif}}
+{{if 'cuCtxSynchronize_v2' in found_functions}}cdef void *__cuCtxSynchronize_v2 = NULL{{endif}}
{{if 'cuCtxSetLimit' in found_functions}}cdef void *__cuCtxSetLimit = NULL{{endif}}
{{if 'cuCtxGetLimit' in found_functions}}cdef void *__cuCtxGetLimit = NULL{{endif}}
{{if 'cuCtxGetCacheConfig' in found_functions}}cdef void *__cuCtxGetCacheConfig = NULL{{endif}}
@@ -147,8 +149,8 @@ cdef bint __cuPythonInit = False
{{if 'cuMemcpy2DAsync_v2' in found_functions}}cdef void *__cuMemcpy2DAsync_v2 = NULL{{endif}}
{{if 'cuMemcpy3DAsync_v2' in found_functions}}cdef void *__cuMemcpy3DAsync_v2 = NULL{{endif}}
{{if 'cuMemcpy3DPeerAsync' in found_functions}}cdef void *__cuMemcpy3DPeerAsync = NULL{{endif}}
-{{if 'cuMemcpyBatchAsync' in found_functions}}cdef void *__cuMemcpyBatchAsync = NULL{{endif}}
-{{if 'cuMemcpy3DBatchAsync' in found_functions}}cdef void *__cuMemcpy3DBatchAsync = NULL{{endif}}
+{{if 'cuMemcpyBatchAsync_v2' in found_functions}}cdef void *__cuMemcpyBatchAsync_v2 = NULL{{endif}}
+{{if 'cuMemcpy3DBatchAsync_v2' in found_functions}}cdef void *__cuMemcpy3DBatchAsync_v2 = NULL{{endif}}
{{if 'cuMemsetD8_v2' in found_functions}}cdef void *__cuMemsetD8_v2 = NULL{{endif}}
{{if 'cuMemsetD16_v2' in found_functions}}cdef void *__cuMemsetD16_v2 = NULL{{endif}}
{{if 'cuMemsetD32_v2' in found_functions}}cdef void *__cuMemsetD32_v2 = NULL{{endif}}
@@ -199,6 +201,9 @@ cdef bint __cuPythonInit = False
{{if 'cuMemPoolGetAccess' in found_functions}}cdef void *__cuMemPoolGetAccess = NULL{{endif}}
{{if 'cuMemPoolCreate' in found_functions}}cdef void *__cuMemPoolCreate = NULL{{endif}}
{{if 'cuMemPoolDestroy' in found_functions}}cdef void *__cuMemPoolDestroy = NULL{{endif}}
+{{if 'cuMemGetDefaultMemPool' in found_functions}}cdef void *__cuMemGetDefaultMemPool = NULL{{endif}}
+{{if 'cuMemGetMemPool' in found_functions}}cdef void *__cuMemGetMemPool = NULL{{endif}}
+{{if 'cuMemSetMemPool' in found_functions}}cdef void *__cuMemSetMemPool = NULL{{endif}}
{{if 'cuMemAllocFromPoolAsync' in found_functions}}cdef void *__cuMemAllocFromPoolAsync = NULL{{endif}}
{{if 'cuMemPoolExportToShareableHandle' in found_functions}}cdef void *__cuMemPoolExportToShareableHandle = NULL{{endif}}
{{if 'cuMemPoolImportFromShareableHandle' in found_functions}}cdef void *__cuMemPoolImportFromShareableHandle = NULL{{endif}}
@@ -211,10 +216,11 @@ cdef bint __cuPythonInit = False
{{if 'cuMulticastUnbind' in found_functions}}cdef void *__cuMulticastUnbind = NULL{{endif}}
{{if 'cuMulticastGetGranularity' in found_functions}}cdef void *__cuMulticastGetGranularity = NULL{{endif}}
{{if 'cuPointerGetAttribute' in found_functions}}cdef void *__cuPointerGetAttribute = NULL{{endif}}
-{{if 'cuMemPrefetchAsync' in found_functions}}cdef void *__cuMemPrefetchAsync = NULL{{endif}}
{{if 'cuMemPrefetchAsync_v2' in found_functions}}cdef void *__cuMemPrefetchAsync_v2 = NULL{{endif}}
-{{if 'cuMemAdvise' in found_functions}}cdef void *__cuMemAdvise = NULL{{endif}}
{{if 'cuMemAdvise_v2' in found_functions}}cdef void *__cuMemAdvise_v2 = NULL{{endif}}
+{{if 'cuMemPrefetchBatchAsync' in found_functions}}cdef void *__cuMemPrefetchBatchAsync = NULL{{endif}}
+{{if 'cuMemDiscardBatchAsync' in found_functions}}cdef void *__cuMemDiscardBatchAsync = NULL{{endif}}
+{{if 'cuMemDiscardAndPrefetchBatchAsync' in found_functions}}cdef void *__cuMemDiscardAndPrefetchBatchAsync = NULL{{endif}}
{{if 'cuMemRangeGetAttribute' in found_functions}}cdef void *__cuMemRangeGetAttribute = NULL{{endif}}
{{if 'cuMemRangeGetAttributes' in found_functions}}cdef void *__cuMemRangeGetAttributes = NULL{{endif}}
{{if 'cuPointerSetAttribute' in found_functions}}cdef void *__cuPointerSetAttribute = NULL{{endif}}
@@ -234,9 +240,7 @@ cdef bint __cuPythonInit = False
{{if 'cuThreadExchangeStreamCaptureMode' in found_functions}}cdef void *__cuThreadExchangeStreamCaptureMode = NULL{{endif}}
{{if 'cuStreamEndCapture' in found_functions}}cdef void *__cuStreamEndCapture = NULL{{endif}}
{{if 'cuStreamIsCapturing' in found_functions}}cdef void *__cuStreamIsCapturing = NULL{{endif}}
-{{if 'cuStreamGetCaptureInfo_v2' in found_functions}}cdef void *__cuStreamGetCaptureInfo_v2 = NULL{{endif}}
{{if 'cuStreamGetCaptureInfo_v3' in found_functions}}cdef void *__cuStreamGetCaptureInfo_v3 = NULL{{endif}}
-{{if 'cuStreamUpdateCaptureDependencies' in found_functions}}cdef void *__cuStreamUpdateCaptureDependencies = NULL{{endif}}
{{if 'cuStreamUpdateCaptureDependencies_v2' in found_functions}}cdef void *__cuStreamUpdateCaptureDependencies_v2 = NULL{{endif}}
{{if 'cuStreamAttachMemAsync' in found_functions}}cdef void *__cuStreamAttachMemAsync = NULL{{endif}}
{{if 'cuStreamQuery' in found_functions}}cdef void *__cuStreamQuery = NULL{{endif}}
@@ -251,7 +255,6 @@ cdef bint __cuPythonInit = False
{{if 'cuEventQuery' in found_functions}}cdef void *__cuEventQuery = NULL{{endif}}
{{if 'cuEventSynchronize' in found_functions}}cdef void *__cuEventSynchronize = NULL{{endif}}
{{if 'cuEventDestroy_v2' in found_functions}}cdef void *__cuEventDestroy_v2 = NULL{{endif}}
-{{if 'cuEventElapsedTime' in found_functions}}cdef void *__cuEventElapsedTime = NULL{{endif}}
{{if 'cuEventElapsedTime_v2' in found_functions}}cdef void *__cuEventElapsedTime_v2 = NULL{{endif}}
{{if 'cuImportExternalMemory' in found_functions}}cdef void *__cuImportExternalMemory = NULL{{endif}}
{{if 'cuExternalMemoryGetMappedBuffer' in found_functions}}cdef void *__cuExternalMemoryGetMappedBuffer = NULL{{endif}}
@@ -334,15 +337,10 @@ cdef bint __cuPythonInit = False
{{if 'cuGraphNodeGetType' in found_functions}}cdef void *__cuGraphNodeGetType = NULL{{endif}}
{{if 'cuGraphGetNodes' in found_functions}}cdef void *__cuGraphGetNodes = NULL{{endif}}
{{if 'cuGraphGetRootNodes' in found_functions}}cdef void *__cuGraphGetRootNodes = NULL{{endif}}
-{{if 'cuGraphGetEdges' in found_functions}}cdef void *__cuGraphGetEdges = NULL{{endif}}
{{if 'cuGraphGetEdges_v2' in found_functions}}cdef void *__cuGraphGetEdges_v2 = NULL{{endif}}
-{{if 'cuGraphNodeGetDependencies' in found_functions}}cdef void *__cuGraphNodeGetDependencies = NULL{{endif}}
{{if 'cuGraphNodeGetDependencies_v2' in found_functions}}cdef void *__cuGraphNodeGetDependencies_v2 = NULL{{endif}}
-{{if 'cuGraphNodeGetDependentNodes' in found_functions}}cdef void *__cuGraphNodeGetDependentNodes = NULL{{endif}}
{{if 'cuGraphNodeGetDependentNodes_v2' in found_functions}}cdef void *__cuGraphNodeGetDependentNodes_v2 = NULL{{endif}}
-{{if 'cuGraphAddDependencies' in found_functions}}cdef void *__cuGraphAddDependencies = NULL{{endif}}
{{if 'cuGraphAddDependencies_v2' in found_functions}}cdef void *__cuGraphAddDependencies_v2 = NULL{{endif}}
-{{if 'cuGraphRemoveDependencies' in found_functions}}cdef void *__cuGraphRemoveDependencies = NULL{{endif}}
{{if 'cuGraphRemoveDependencies_v2' in found_functions}}cdef void *__cuGraphRemoveDependencies_v2 = NULL{{endif}}
{{if 'cuGraphDestroyNode' in found_functions}}cdef void *__cuGraphDestroyNode = NULL{{endif}}
{{if 'cuGraphInstantiateWithFlags' in found_functions}}cdef void *__cuGraphInstantiateWithFlags = NULL{{endif}}
@@ -373,7 +371,6 @@ cdef bint __cuPythonInit = False
{{if 'cuUserObjectRelease' in found_functions}}cdef void *__cuUserObjectRelease = NULL{{endif}}
{{if 'cuGraphRetainUserObject' in found_functions}}cdef void *__cuGraphRetainUserObject = NULL{{endif}}
{{if 'cuGraphReleaseUserObject' in found_functions}}cdef void *__cuGraphReleaseUserObject = NULL{{endif}}
-{{if 'cuGraphAddNode' in found_functions}}cdef void *__cuGraphAddNode = NULL{{endif}}
{{if 'cuGraphAddNode_v2' in found_functions}}cdef void *__cuGraphAddNode_v2 = NULL{{endif}}
{{if 'cuGraphNodeSetParams' in found_functions}}cdef void *__cuGraphNodeSetParams = NULL{{endif}}
{{if 'cuGraphExecNodeSetParams' in found_functions}}cdef void *__cuGraphExecNodeSetParams = NULL{{endif}}
@@ -430,6 +427,7 @@ cdef bint __cuPythonInit = False
{{if 'cuCtxEnablePeerAccess' in found_functions}}cdef void *__cuCtxEnablePeerAccess = NULL{{endif}}
{{if 'cuCtxDisablePeerAccess' in found_functions}}cdef void *__cuCtxDisablePeerAccess = NULL{{endif}}
{{if 'cuDeviceGetP2PAttribute' in found_functions}}cdef void *__cuDeviceGetP2PAttribute = NULL{{endif}}
+{{if 'cuDeviceGetP2PAtomicCapabilities' in found_functions}}cdef void *__cuDeviceGetP2PAtomicCapabilities = NULL{{endif}}
{{if 'cuGraphicsUnregisterResource' in found_functions}}cdef void *__cuGraphicsUnregisterResource = NULL{{endif}}
{{if 'cuGraphicsSubResourceGetMappedArray' in found_functions}}cdef void *__cuGraphicsSubResourceGetMappedArray = NULL{{endif}}
{{if 'cuGraphicsResourceGetMappedMipmappedArray' in found_functions}}cdef void *__cuGraphicsResourceGetMappedMipmappedArray = NULL{{endif}}
@@ -455,6 +453,7 @@ cdef bint __cuPythonInit = False
{{if 'cuGreenCtxWaitEvent' in found_functions}}cdef void *__cuGreenCtxWaitEvent = NULL{{endif}}
{{if 'cuStreamGetGreenCtx' in found_functions}}cdef void *__cuStreamGetGreenCtx = NULL{{endif}}
{{if 'cuGreenCtxStreamCreate' in found_functions}}cdef void *__cuGreenCtxStreamCreate = NULL{{endif}}
+{{if 'cuGreenCtxGetId' in found_functions}}cdef void *__cuGreenCtxGetId = NULL{{endif}}
{{if 'cuLogsRegisterCallback' in found_functions}}cdef void *__cuLogsRegisterCallback = NULL{{endif}}
{{if 'cuLogsUnregisterCallback' in found_functions}}cdef void *__cuLogsUnregisterCallback = NULL{{endif}}
{{if 'cuLogsCurrent' in found_functions}}cdef void *__cuLogsCurrent = NULL{{endif}}
@@ -488,19 +487,21 @@ cdef bint __cuPythonInit = False
{{if True}}cdef void *__cuGraphicsVDPAURegisterVideoSurface = NULL{{endif}}
{{if True}}cdef void *__cuGraphicsVDPAURegisterOutputSurface = NULL{{endif}}
-cdef int cuPythonInit() except -1 nogil:
+# To make cuPythonInit reentrant
+ctypedef CUresult (*__cuGetProcAddress_v2_T)(const char*, void**, int, cuuint64_t, CUdriverProcAddressQueryResult*) except?CUDA_ERROR_NOT_FOUND nogil
+cdef __cuGetProcAddress_v2_T _F_cuGetProcAddress_v2 = NULL
+
+cdef int _cuPythonInit() except -1 nogil:
global __cuPythonInit
+
cdef bint usePTDS
- if __cuPythonInit:
- return 0
- __cuPythonInit = True
- with gil:
+ cdef char libPath[260]
+
+ with gil, __symbol_lock:
usePTDS = os.getenv('CUDA_PYTHON_CUDA_PER_THREAD_DEFAULT_STREAM', default=0)
- # Load library
- cdef char libPath[260]
- libPath[0] = 0
- with gil:
+ # Load library
+ libPath[0] = 0
status = loader.getCUDALibraryPath(libPath, sys.maxsize > 2**32)
if status == 0 and len(libPath) != 0:
path = libPath.decode('utf-8')
@@ -512,8431 +513,6724 @@ cdef int cuPythonInit() except -1 nogil:
{{endif}}
{{if 'Windows' == platform.system()}}
- LOAD_LIBRARY_SEARCH_SYSTEM32 = 0x00000800
- try:
- handle = win32api.LoadLibraryEx(path, 0, LOAD_LIBRARY_SEARCH_SYSTEM32)
- except error as e:
+ handle = windll.LoadLibraryExW(path, NULL, windll.LOAD_LIBRARY_SEARCH_SYSTEM32)
+ if handle == 0:
raise RuntimeError('Failed to LoadLibraryEx ' + path)
{{else}}
handle = dlfcn.dlopen(bytes(path, encoding='utf-8'), dlfcn.RTLD_NOW)
- if (handle == NULL):
+ if handle == NULL:
raise RuntimeError('Failed to dlopen ' + path)
{{endif}}
- # Get latest __cuGetProcAddress_v2
- {{if 'Windows' == platform.system()}}
- with gil:
- try:
- global __cuGetProcAddress_v2
- __cuGetProcAddress_v2 = win32api.GetProcAddress(handle, 'cuGetProcAddress_v2')
- except:
- pass
- {{else}}
- global __cuGetProcAddress_v2
- __cuGetProcAddress_v2 = dlfcn.dlsym(handle, 'cuGetProcAddress_v2')
- {{endif}}
+ # Get latest __cuGetProcAddress_v2
+ global __cuGetProcAddress_v2
+ {{if 'Windows' == platform.system()}}
+ __cuGetProcAddress_v2 = windll.GetProcAddress(handle, 'cuGetProcAddress_v2')
+ {{else}}
+ __cuGetProcAddress_v2 = dlfcn.dlsym(handle, 'cuGetProcAddress_v2')
+ {{endif}}
- # Load using cuGetProcAddress if available
- if __cuGetProcAddress_v2 != NULL:
- if usePTDS:
- # Get all PTDS version of functions
- pass
- {{if 'cuMemcpy' in found_functions}}
- global __cuMemcpy
- cuGetProcAddress('cuMemcpy', &__cuMemcpy, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ # Load using cuGetProcAddress if available
+ if __cuGetProcAddress_v2 != NULL:
+ _F_cuGetProcAddress_v2 = <__cuGetProcAddress_v2_T>__cuGetProcAddress_v2
+ if usePTDS:
+ # Get all PTDS version of functions
+ pass
+ {{if 'cuMemcpy' in found_functions}}
+ global __cuMemcpy
+ _F_cuGetProcAddress_v2('cuMemcpy', &__cuMemcpy, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyPeer' in found_functions}}
+ global __cuMemcpyPeer
+ _F_cuGetProcAddress_v2('cuMemcpyPeer', &__cuMemcpyPeer, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyHtoD_v2' in found_functions}}
+ global __cuMemcpyHtoD_v2
+ _F_cuGetProcAddress_v2('cuMemcpyHtoD', &__cuMemcpyHtoD_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyDtoH_v2' in found_functions}}
+ global __cuMemcpyDtoH_v2
+ _F_cuGetProcAddress_v2('cuMemcpyDtoH', &__cuMemcpyDtoH_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyDtoD_v2' in found_functions}}
+ global __cuMemcpyDtoD_v2
+ _F_cuGetProcAddress_v2('cuMemcpyDtoD', &__cuMemcpyDtoD_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyDtoA_v2' in found_functions}}
+ global __cuMemcpyDtoA_v2
+ _F_cuGetProcAddress_v2('cuMemcpyDtoA', &__cuMemcpyDtoA_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyAtoD_v2' in found_functions}}
+ global __cuMemcpyAtoD_v2
+ _F_cuGetProcAddress_v2('cuMemcpyAtoD', &__cuMemcpyAtoD_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyHtoA_v2' in found_functions}}
+ global __cuMemcpyHtoA_v2
+ _F_cuGetProcAddress_v2('cuMemcpyHtoA', &__cuMemcpyHtoA_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyAtoH_v2' in found_functions}}
+ global __cuMemcpyAtoH_v2
+ _F_cuGetProcAddress_v2('cuMemcpyAtoH', &__cuMemcpyAtoH_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyAtoA_v2' in found_functions}}
+ global __cuMemcpyAtoA_v2
+ _F_cuGetProcAddress_v2('cuMemcpyAtoA', &__cuMemcpyAtoA_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpy2D_v2' in found_functions}}
+ global __cuMemcpy2D_v2
+ _F_cuGetProcAddress_v2('cuMemcpy2D', &__cuMemcpy2D_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpy2DUnaligned_v2' in found_functions}}
+ global __cuMemcpy2DUnaligned_v2
+ _F_cuGetProcAddress_v2('cuMemcpy2DUnaligned', &__cuMemcpy2DUnaligned_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpy3D_v2' in found_functions}}
+ global __cuMemcpy3D_v2
+ _F_cuGetProcAddress_v2('cuMemcpy3D', &__cuMemcpy3D_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpy3DPeer' in found_functions}}
+ global __cuMemcpy3DPeer
+ _F_cuGetProcAddress_v2('cuMemcpy3DPeer', &__cuMemcpy3DPeer, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyAsync' in found_functions}}
+ global __cuMemcpyAsync
+ _F_cuGetProcAddress_v2('cuMemcpyAsync', &__cuMemcpyAsync, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyPeerAsync' in found_functions}}
+ global __cuMemcpyPeerAsync
+ _F_cuGetProcAddress_v2('cuMemcpyPeerAsync', &__cuMemcpyPeerAsync, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyHtoDAsync_v2' in found_functions}}
+ global __cuMemcpyHtoDAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpyHtoDAsync', &__cuMemcpyHtoDAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyDtoHAsync_v2' in found_functions}}
+ global __cuMemcpyDtoHAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpyDtoHAsync', &__cuMemcpyDtoHAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyDtoDAsync_v2' in found_functions}}
+ global __cuMemcpyDtoDAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpyDtoDAsync', &__cuMemcpyDtoDAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyHtoAAsync_v2' in found_functions}}
+ global __cuMemcpyHtoAAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpyHtoAAsync', &__cuMemcpyHtoAAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyAtoHAsync_v2' in found_functions}}
+ global __cuMemcpyAtoHAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpyAtoHAsync', &__cuMemcpyAtoHAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpy2DAsync_v2' in found_functions}}
+ global __cuMemcpy2DAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpy2DAsync', &__cuMemcpy2DAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpy3DAsync_v2' in found_functions}}
+ global __cuMemcpy3DAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpy3DAsync', &__cuMemcpy3DAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpy3DPeerAsync' in found_functions}}
+ global __cuMemcpy3DPeerAsync
+ _F_cuGetProcAddress_v2('cuMemcpy3DPeerAsync', &__cuMemcpy3DPeerAsync, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpyBatchAsync_v2' in found_functions}}
+ global __cuMemcpyBatchAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpyBatchAsync', &__cuMemcpyBatchAsync_v2, 13000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemcpy3DBatchAsync_v2' in found_functions}}
+ global __cuMemcpy3DBatchAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpy3DBatchAsync', &__cuMemcpy3DBatchAsync_v2, 13000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemsetD8_v2' in found_functions}}
+ global __cuMemsetD8_v2
+ _F_cuGetProcAddress_v2('cuMemsetD8', &__cuMemsetD8_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemsetD16_v2' in found_functions}}
+ global __cuMemsetD16_v2
+ _F_cuGetProcAddress_v2('cuMemsetD16', &__cuMemsetD16_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemsetD32_v2' in found_functions}}
+ global __cuMemsetD32_v2
+ _F_cuGetProcAddress_v2('cuMemsetD32', &__cuMemsetD32_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemsetD2D8_v2' in found_functions}}
+ global __cuMemsetD2D8_v2
+ _F_cuGetProcAddress_v2('cuMemsetD2D8', &__cuMemsetD2D8_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemsetD2D16_v2' in found_functions}}
+ global __cuMemsetD2D16_v2
+ _F_cuGetProcAddress_v2('cuMemsetD2D16', &__cuMemsetD2D16_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemsetD2D32_v2' in found_functions}}
+ global __cuMemsetD2D32_v2
+ _F_cuGetProcAddress_v2('cuMemsetD2D32', &__cuMemsetD2D32_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemsetD8Async' in found_functions}}
+ global __cuMemsetD8Async
+ _F_cuGetProcAddress_v2('cuMemsetD8Async', &__cuMemsetD8Async, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemsetD16Async' in found_functions}}
+ global __cuMemsetD16Async
+ _F_cuGetProcAddress_v2('cuMemsetD16Async', &__cuMemsetD16Async, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemsetD32Async' in found_functions}}
+ global __cuMemsetD32Async
+ _F_cuGetProcAddress_v2('cuMemsetD32Async', &__cuMemsetD32Async, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemsetD2D8Async' in found_functions}}
+ global __cuMemsetD2D8Async
+ _F_cuGetProcAddress_v2('cuMemsetD2D8Async', &__cuMemsetD2D8Async, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemsetD2D16Async' in found_functions}}
+ global __cuMemsetD2D16Async
+ _F_cuGetProcAddress_v2('cuMemsetD2D16Async', &__cuMemsetD2D16Async, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemsetD2D32Async' in found_functions}}
+ global __cuMemsetD2D32Async
+ _F_cuGetProcAddress_v2('cuMemsetD2D32Async', &__cuMemsetD2D32Async, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemBatchDecompressAsync' in found_functions}}
+ global __cuMemBatchDecompressAsync
+ _F_cuGetProcAddress_v2('cuMemBatchDecompressAsync', &__cuMemBatchDecompressAsync, 12060, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemMapArrayAsync' in found_functions}}
+ global __cuMemMapArrayAsync
+ _F_cuGetProcAddress_v2('cuMemMapArrayAsync', &__cuMemMapArrayAsync, 11010, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemFreeAsync' in found_functions}}
+ global __cuMemFreeAsync
+ _F_cuGetProcAddress_v2('cuMemFreeAsync', &__cuMemFreeAsync, 11020, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemAllocAsync' in found_functions}}
+ global __cuMemAllocAsync
+ _F_cuGetProcAddress_v2('cuMemAllocAsync', &__cuMemAllocAsync, 11020, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemAllocFromPoolAsync' in found_functions}}
+ global __cuMemAllocFromPoolAsync
+ _F_cuGetProcAddress_v2('cuMemAllocFromPoolAsync', &__cuMemAllocFromPoolAsync, 11020, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemPrefetchAsync_v2' in found_functions}}
+ global __cuMemPrefetchAsync_v2
+ _F_cuGetProcAddress_v2('cuMemPrefetchAsync', &__cuMemPrefetchAsync_v2, 12020, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemPrefetchBatchAsync' in found_functions}}
+ global __cuMemPrefetchBatchAsync
+ _F_cuGetProcAddress_v2('cuMemPrefetchBatchAsync', &__cuMemPrefetchBatchAsync, 13000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemDiscardBatchAsync' in found_functions}}
+ global __cuMemDiscardBatchAsync
+ _F_cuGetProcAddress_v2('cuMemDiscardBatchAsync', &__cuMemDiscardBatchAsync, 13000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuMemDiscardAndPrefetchBatchAsync' in found_functions}}
+ global __cuMemDiscardAndPrefetchBatchAsync
+ _F_cuGetProcAddress_v2('cuMemDiscardAndPrefetchBatchAsync', &__cuMemDiscardAndPrefetchBatchAsync, 13000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamGetPriority' in found_functions}}
+ global __cuStreamGetPriority
+ _F_cuGetProcAddress_v2('cuStreamGetPriority', &__cuStreamGetPriority, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamGetDevice' in found_functions}}
+ global __cuStreamGetDevice
+ _F_cuGetProcAddress_v2('cuStreamGetDevice', &__cuStreamGetDevice, 12080, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamGetFlags' in found_functions}}
+ global __cuStreamGetFlags
+ _F_cuGetProcAddress_v2('cuStreamGetFlags', &__cuStreamGetFlags, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamGetId' in found_functions}}
+ global __cuStreamGetId
+ _F_cuGetProcAddress_v2('cuStreamGetId', &__cuStreamGetId, 12000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamGetCtx' in found_functions}}
+ global __cuStreamGetCtx
+ _F_cuGetProcAddress_v2('cuStreamGetCtx', &__cuStreamGetCtx, 9020, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamGetCtx_v2' in found_functions}}
+ global __cuStreamGetCtx_v2
+ _F_cuGetProcAddress_v2('cuStreamGetCtx', &__cuStreamGetCtx_v2, 12050, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamWaitEvent' in found_functions}}
+ global __cuStreamWaitEvent
+ _F_cuGetProcAddress_v2('cuStreamWaitEvent', &__cuStreamWaitEvent, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamAddCallback' in found_functions}}
+ global __cuStreamAddCallback
+ _F_cuGetProcAddress_v2('cuStreamAddCallback', &__cuStreamAddCallback, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamBeginCapture_v2' in found_functions}}
+ global __cuStreamBeginCapture_v2
+ _F_cuGetProcAddress_v2('cuStreamBeginCapture', &__cuStreamBeginCapture_v2, 10010, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamBeginCaptureToGraph' in found_functions}}
+ global __cuStreamBeginCaptureToGraph
+ _F_cuGetProcAddress_v2('cuStreamBeginCaptureToGraph', &__cuStreamBeginCaptureToGraph, 12030, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamEndCapture' in found_functions}}
+ global __cuStreamEndCapture
+ _F_cuGetProcAddress_v2('cuStreamEndCapture', &__cuStreamEndCapture, 10000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamIsCapturing' in found_functions}}
+ global __cuStreamIsCapturing
+ _F_cuGetProcAddress_v2('cuStreamIsCapturing', &__cuStreamIsCapturing, 10000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamGetCaptureInfo_v3' in found_functions}}
+ global __cuStreamGetCaptureInfo_v3
+ _F_cuGetProcAddress_v2('cuStreamGetCaptureInfo', &__cuStreamGetCaptureInfo_v3, 12030, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamUpdateCaptureDependencies_v2' in found_functions}}
+ global __cuStreamUpdateCaptureDependencies_v2
+ _F_cuGetProcAddress_v2('cuStreamUpdateCaptureDependencies', &__cuStreamUpdateCaptureDependencies_v2, 12030, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamAttachMemAsync' in found_functions}}
+ global __cuStreamAttachMemAsync
+ _F_cuGetProcAddress_v2('cuStreamAttachMemAsync', &__cuStreamAttachMemAsync, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamQuery' in found_functions}}
+ global __cuStreamQuery
+ _F_cuGetProcAddress_v2('cuStreamQuery', &__cuStreamQuery, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamSynchronize' in found_functions}}
+ global __cuStreamSynchronize
+ _F_cuGetProcAddress_v2('cuStreamSynchronize', &__cuStreamSynchronize, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamCopyAttributes' in found_functions}}
+ global __cuStreamCopyAttributes
+ _F_cuGetProcAddress_v2('cuStreamCopyAttributes', &__cuStreamCopyAttributes, 11000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamGetAttribute' in found_functions}}
+ global __cuStreamGetAttribute
+ _F_cuGetProcAddress_v2('cuStreamGetAttribute', &__cuStreamGetAttribute, 11000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamSetAttribute' in found_functions}}
+ global __cuStreamSetAttribute
+ _F_cuGetProcAddress_v2('cuStreamSetAttribute', &__cuStreamSetAttribute, 11000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuEventRecord' in found_functions}}
+ global __cuEventRecord
+ _F_cuGetProcAddress_v2('cuEventRecord', &__cuEventRecord, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuEventRecordWithFlags' in found_functions}}
+ global __cuEventRecordWithFlags
+ _F_cuGetProcAddress_v2('cuEventRecordWithFlags', &__cuEventRecordWithFlags, 11010, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuSignalExternalSemaphoresAsync' in found_functions}}
+ global __cuSignalExternalSemaphoresAsync
+ _F_cuGetProcAddress_v2('cuSignalExternalSemaphoresAsync', &__cuSignalExternalSemaphoresAsync, 10000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuWaitExternalSemaphoresAsync' in found_functions}}
+ global __cuWaitExternalSemaphoresAsync
+ _F_cuGetProcAddress_v2('cuWaitExternalSemaphoresAsync', &__cuWaitExternalSemaphoresAsync, 10000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamWaitValue32_v2' in found_functions}}
+ global __cuStreamWaitValue32_v2
+ _F_cuGetProcAddress_v2('cuStreamWaitValue32', &__cuStreamWaitValue32_v2, 11070, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamWaitValue64_v2' in found_functions}}
+ global __cuStreamWaitValue64_v2
+ _F_cuGetProcAddress_v2('cuStreamWaitValue64', &__cuStreamWaitValue64_v2, 11070, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamWriteValue32_v2' in found_functions}}
+ global __cuStreamWriteValue32_v2
+ _F_cuGetProcAddress_v2('cuStreamWriteValue32', &__cuStreamWriteValue32_v2, 11070, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamWriteValue64_v2' in found_functions}}
+ global __cuStreamWriteValue64_v2
+ _F_cuGetProcAddress_v2('cuStreamWriteValue64', &__cuStreamWriteValue64_v2, 11070, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuStreamBatchMemOp_v2' in found_functions}}
+ global __cuStreamBatchMemOp_v2
+ _F_cuGetProcAddress_v2('cuStreamBatchMemOp', &__cuStreamBatchMemOp_v2, 11070, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuLaunchKernel' in found_functions}}
+ global __cuLaunchKernel
+ _F_cuGetProcAddress_v2('cuLaunchKernel', &__cuLaunchKernel, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuLaunchKernelEx' in found_functions}}
+ global __cuLaunchKernelEx
+ _F_cuGetProcAddress_v2('cuLaunchKernelEx', &__cuLaunchKernelEx, 11060, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuLaunchCooperativeKernel' in found_functions}}
+ global __cuLaunchCooperativeKernel
+ _F_cuGetProcAddress_v2('cuLaunchCooperativeKernel', &__cuLaunchCooperativeKernel, 9000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuLaunchHostFunc' in found_functions}}
+ global __cuLaunchHostFunc
+ _F_cuGetProcAddress_v2('cuLaunchHostFunc', &__cuLaunchHostFunc, 10000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuGraphInstantiateWithParams' in found_functions}}
+ global __cuGraphInstantiateWithParams
+ _F_cuGetProcAddress_v2('cuGraphInstantiateWithParams', &__cuGraphInstantiateWithParams, 12000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuGraphUpload' in found_functions}}
+ global __cuGraphUpload
+ _F_cuGetProcAddress_v2('cuGraphUpload', &__cuGraphUpload, 11010, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuGraphLaunch' in found_functions}}
+ global __cuGraphLaunch
+ _F_cuGetProcAddress_v2('cuGraphLaunch', &__cuGraphLaunch, 10000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuGraphicsMapResources' in found_functions}}
+ global __cuGraphicsMapResources
+ _F_cuGetProcAddress_v2('cuGraphicsMapResources', &__cuGraphicsMapResources, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ {{if 'cuGraphicsUnmapResources' in found_functions}}
+ global __cuGraphicsUnmapResources
+ _F_cuGetProcAddress_v2('cuGraphicsUnmapResources', &__cuGraphicsUnmapResources, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{endif}}
+ else:
+ # Else get the regular version
+ pass
+ {{if 'cuMemcpy' in found_functions}}
+ global __cuMemcpy
+ _F_cuGetProcAddress_v2('cuMemcpy', &__cuMemcpy, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyPeer' in found_functions}}
+ global __cuMemcpyPeer
+ _F_cuGetProcAddress_v2('cuMemcpyPeer', &__cuMemcpyPeer, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyHtoD_v2' in found_functions}}
+ global __cuMemcpyHtoD_v2
+ _F_cuGetProcAddress_v2('cuMemcpyHtoD', &__cuMemcpyHtoD_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyDtoH_v2' in found_functions}}
+ global __cuMemcpyDtoH_v2
+ _F_cuGetProcAddress_v2('cuMemcpyDtoH', &__cuMemcpyDtoH_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyDtoD_v2' in found_functions}}
+ global __cuMemcpyDtoD_v2
+ _F_cuGetProcAddress_v2('cuMemcpyDtoD', &__cuMemcpyDtoD_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyDtoA_v2' in found_functions}}
+ global __cuMemcpyDtoA_v2
+ _F_cuGetProcAddress_v2('cuMemcpyDtoA', &__cuMemcpyDtoA_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyAtoD_v2' in found_functions}}
+ global __cuMemcpyAtoD_v2
+ _F_cuGetProcAddress_v2('cuMemcpyAtoD', &__cuMemcpyAtoD_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyHtoA_v2' in found_functions}}
+ global __cuMemcpyHtoA_v2
+ _F_cuGetProcAddress_v2('cuMemcpyHtoA', &__cuMemcpyHtoA_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyAtoH_v2' in found_functions}}
+ global __cuMemcpyAtoH_v2
+ _F_cuGetProcAddress_v2('cuMemcpyAtoH', &__cuMemcpyAtoH_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyAtoA_v2' in found_functions}}
+ global __cuMemcpyAtoA_v2
+ _F_cuGetProcAddress_v2('cuMemcpyAtoA', &__cuMemcpyAtoA_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpy2D_v2' in found_functions}}
+ global __cuMemcpy2D_v2
+ _F_cuGetProcAddress_v2('cuMemcpy2D', &__cuMemcpy2D_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpy2DUnaligned_v2' in found_functions}}
+ global __cuMemcpy2DUnaligned_v2
+ _F_cuGetProcAddress_v2('cuMemcpy2DUnaligned', &__cuMemcpy2DUnaligned_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpy3D_v2' in found_functions}}
+ global __cuMemcpy3D_v2
+ _F_cuGetProcAddress_v2('cuMemcpy3D', &__cuMemcpy3D_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpy3DPeer' in found_functions}}
+ global __cuMemcpy3DPeer
+ _F_cuGetProcAddress_v2('cuMemcpy3DPeer', &__cuMemcpy3DPeer, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyAsync' in found_functions}}
+ global __cuMemcpyAsync
+ _F_cuGetProcAddress_v2('cuMemcpyAsync', &__cuMemcpyAsync, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyPeerAsync' in found_functions}}
+ global __cuMemcpyPeerAsync
+ _F_cuGetProcAddress_v2('cuMemcpyPeerAsync', &__cuMemcpyPeerAsync, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyHtoDAsync_v2' in found_functions}}
+ global __cuMemcpyHtoDAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpyHtoDAsync', &__cuMemcpyHtoDAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyDtoHAsync_v2' in found_functions}}
+ global __cuMemcpyDtoHAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpyDtoHAsync', &__cuMemcpyDtoHAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyDtoDAsync_v2' in found_functions}}
+ global __cuMemcpyDtoDAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpyDtoDAsync', &__cuMemcpyDtoDAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyHtoAAsync_v2' in found_functions}}
+ global __cuMemcpyHtoAAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpyHtoAAsync', &__cuMemcpyHtoAAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyAtoHAsync_v2' in found_functions}}
+ global __cuMemcpyAtoHAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpyAtoHAsync', &__cuMemcpyAtoHAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpy2DAsync_v2' in found_functions}}
+ global __cuMemcpy2DAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpy2DAsync', &__cuMemcpy2DAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpy3DAsync_v2' in found_functions}}
+ global __cuMemcpy3DAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpy3DAsync', &__cuMemcpy3DAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpy3DPeerAsync' in found_functions}}
+ global __cuMemcpy3DPeerAsync
+ _F_cuGetProcAddress_v2('cuMemcpy3DPeerAsync', &__cuMemcpy3DPeerAsync, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpyBatchAsync_v2' in found_functions}}
+ global __cuMemcpyBatchAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpyBatchAsync', &__cuMemcpyBatchAsync_v2, 13000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemcpy3DBatchAsync_v2' in found_functions}}
+ global __cuMemcpy3DBatchAsync_v2
+ _F_cuGetProcAddress_v2('cuMemcpy3DBatchAsync', &__cuMemcpy3DBatchAsync_v2, 13000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemsetD8_v2' in found_functions}}
+ global __cuMemsetD8_v2
+ _F_cuGetProcAddress_v2('cuMemsetD8', &__cuMemsetD8_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemsetD16_v2' in found_functions}}
+ global __cuMemsetD16_v2
+ _F_cuGetProcAddress_v2('cuMemsetD16', &__cuMemsetD16_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemsetD32_v2' in found_functions}}
+ global __cuMemsetD32_v2
+ _F_cuGetProcAddress_v2('cuMemsetD32', &__cuMemsetD32_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemsetD2D8_v2' in found_functions}}
+ global __cuMemsetD2D8_v2
+ _F_cuGetProcAddress_v2('cuMemsetD2D8', &__cuMemsetD2D8_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemsetD2D16_v2' in found_functions}}
+ global __cuMemsetD2D16_v2
+ _F_cuGetProcAddress_v2('cuMemsetD2D16', &__cuMemsetD2D16_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemsetD2D32_v2' in found_functions}}
+ global __cuMemsetD2D32_v2
+ _F_cuGetProcAddress_v2('cuMemsetD2D32', &__cuMemsetD2D32_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemsetD8Async' in found_functions}}
+ global __cuMemsetD8Async
+ _F_cuGetProcAddress_v2('cuMemsetD8Async', &__cuMemsetD8Async, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemsetD16Async' in found_functions}}
+ global __cuMemsetD16Async
+ _F_cuGetProcAddress_v2('cuMemsetD16Async', &__cuMemsetD16Async, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemsetD32Async' in found_functions}}
+ global __cuMemsetD32Async
+ _F_cuGetProcAddress_v2('cuMemsetD32Async', &__cuMemsetD32Async, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemsetD2D8Async' in found_functions}}
+ global __cuMemsetD2D8Async
+ _F_cuGetProcAddress_v2('cuMemsetD2D8Async', &__cuMemsetD2D8Async, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemsetD2D16Async' in found_functions}}
+ global __cuMemsetD2D16Async
+ _F_cuGetProcAddress_v2('cuMemsetD2D16Async', &__cuMemsetD2D16Async, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemsetD2D32Async' in found_functions}}
+ global __cuMemsetD2D32Async
+ _F_cuGetProcAddress_v2('cuMemsetD2D32Async', &__cuMemsetD2D32Async, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemBatchDecompressAsync' in found_functions}}
+ global __cuMemBatchDecompressAsync
+ _F_cuGetProcAddress_v2('cuMemBatchDecompressAsync', &__cuMemBatchDecompressAsync, 12060, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemMapArrayAsync' in found_functions}}
+ global __cuMemMapArrayAsync
+ _F_cuGetProcAddress_v2('cuMemMapArrayAsync', &__cuMemMapArrayAsync, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemFreeAsync' in found_functions}}
+ global __cuMemFreeAsync
+ _F_cuGetProcAddress_v2('cuMemFreeAsync', &__cuMemFreeAsync, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemAllocAsync' in found_functions}}
+ global __cuMemAllocAsync
+ _F_cuGetProcAddress_v2('cuMemAllocAsync', &__cuMemAllocAsync, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemAllocFromPoolAsync' in found_functions}}
+ global __cuMemAllocFromPoolAsync
+ _F_cuGetProcAddress_v2('cuMemAllocFromPoolAsync', &__cuMemAllocFromPoolAsync, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemPrefetchAsync_v2' in found_functions}}
+ global __cuMemPrefetchAsync_v2
+ _F_cuGetProcAddress_v2('cuMemPrefetchAsync', &__cuMemPrefetchAsync_v2, 12020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemPrefetchBatchAsync' in found_functions}}
+ global __cuMemPrefetchBatchAsync
+ _F_cuGetProcAddress_v2('cuMemPrefetchBatchAsync', &__cuMemPrefetchBatchAsync, 13000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemDiscardBatchAsync' in found_functions}}
+ global __cuMemDiscardBatchAsync
+ _F_cuGetProcAddress_v2('cuMemDiscardBatchAsync', &__cuMemDiscardBatchAsync, 13000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuMemDiscardAndPrefetchBatchAsync' in found_functions}}
+ global __cuMemDiscardAndPrefetchBatchAsync
+ _F_cuGetProcAddress_v2('cuMemDiscardAndPrefetchBatchAsync', &__cuMemDiscardAndPrefetchBatchAsync, 13000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamGetPriority' in found_functions}}
+ global __cuStreamGetPriority
+ _F_cuGetProcAddress_v2('cuStreamGetPriority', &__cuStreamGetPriority, 5050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamGetDevice' in found_functions}}
+ global __cuStreamGetDevice
+ _F_cuGetProcAddress_v2('cuStreamGetDevice', &__cuStreamGetDevice, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamGetFlags' in found_functions}}
+ global __cuStreamGetFlags
+ _F_cuGetProcAddress_v2('cuStreamGetFlags', &__cuStreamGetFlags, 5050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamGetId' in found_functions}}
+ global __cuStreamGetId
+ _F_cuGetProcAddress_v2('cuStreamGetId', &__cuStreamGetId, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamGetCtx' in found_functions}}
+ global __cuStreamGetCtx
+ _F_cuGetProcAddress_v2('cuStreamGetCtx', &__cuStreamGetCtx, 9020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamGetCtx_v2' in found_functions}}
+ global __cuStreamGetCtx_v2
+ _F_cuGetProcAddress_v2('cuStreamGetCtx', &__cuStreamGetCtx_v2, 12050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamWaitEvent' in found_functions}}
+ global __cuStreamWaitEvent
+ _F_cuGetProcAddress_v2('cuStreamWaitEvent', &__cuStreamWaitEvent, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamAddCallback' in found_functions}}
+ global __cuStreamAddCallback
+ _F_cuGetProcAddress_v2('cuStreamAddCallback', &__cuStreamAddCallback, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamBeginCapture_v2' in found_functions}}
+ global __cuStreamBeginCapture_v2
+ _F_cuGetProcAddress_v2('cuStreamBeginCapture', &__cuStreamBeginCapture_v2, 10010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamBeginCaptureToGraph' in found_functions}}
+ global __cuStreamBeginCaptureToGraph
+ _F_cuGetProcAddress_v2('cuStreamBeginCaptureToGraph', &__cuStreamBeginCaptureToGraph, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamEndCapture' in found_functions}}
+ global __cuStreamEndCapture
+ _F_cuGetProcAddress_v2('cuStreamEndCapture', &__cuStreamEndCapture, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamIsCapturing' in found_functions}}
+ global __cuStreamIsCapturing
+ _F_cuGetProcAddress_v2('cuStreamIsCapturing', &__cuStreamIsCapturing, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamGetCaptureInfo_v3' in found_functions}}
+ global __cuStreamGetCaptureInfo_v3
+ _F_cuGetProcAddress_v2('cuStreamGetCaptureInfo', &__cuStreamGetCaptureInfo_v3, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamUpdateCaptureDependencies_v2' in found_functions}}
+ global __cuStreamUpdateCaptureDependencies_v2
+ _F_cuGetProcAddress_v2('cuStreamUpdateCaptureDependencies', &__cuStreamUpdateCaptureDependencies_v2, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamAttachMemAsync' in found_functions}}
+ global __cuStreamAttachMemAsync
+ _F_cuGetProcAddress_v2('cuStreamAttachMemAsync', &__cuStreamAttachMemAsync, 6000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamQuery' in found_functions}}
+ global __cuStreamQuery
+ _F_cuGetProcAddress_v2('cuStreamQuery', &__cuStreamQuery, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamSynchronize' in found_functions}}
+ global __cuStreamSynchronize
+ _F_cuGetProcAddress_v2('cuStreamSynchronize', &__cuStreamSynchronize, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamCopyAttributes' in found_functions}}
+ global __cuStreamCopyAttributes
+ _F_cuGetProcAddress_v2('cuStreamCopyAttributes', &__cuStreamCopyAttributes, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamGetAttribute' in found_functions}}
+ global __cuStreamGetAttribute
+ _F_cuGetProcAddress_v2('cuStreamGetAttribute', &__cuStreamGetAttribute, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamSetAttribute' in found_functions}}
+ global __cuStreamSetAttribute
+ _F_cuGetProcAddress_v2('cuStreamSetAttribute', &__cuStreamSetAttribute, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuEventRecord' in found_functions}}
+ global __cuEventRecord
+ _F_cuGetProcAddress_v2('cuEventRecord', &__cuEventRecord, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuEventRecordWithFlags' in found_functions}}
+ global __cuEventRecordWithFlags
+ _F_cuGetProcAddress_v2('cuEventRecordWithFlags', &__cuEventRecordWithFlags, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuSignalExternalSemaphoresAsync' in found_functions}}
+ global __cuSignalExternalSemaphoresAsync
+ _F_cuGetProcAddress_v2('cuSignalExternalSemaphoresAsync', &__cuSignalExternalSemaphoresAsync, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuWaitExternalSemaphoresAsync' in found_functions}}
+ global __cuWaitExternalSemaphoresAsync
+ _F_cuGetProcAddress_v2('cuWaitExternalSemaphoresAsync', &__cuWaitExternalSemaphoresAsync, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamWaitValue32_v2' in found_functions}}
+ global __cuStreamWaitValue32_v2
+ _F_cuGetProcAddress_v2('cuStreamWaitValue32', &__cuStreamWaitValue32_v2, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamWaitValue64_v2' in found_functions}}
+ global __cuStreamWaitValue64_v2
+ _F_cuGetProcAddress_v2('cuStreamWaitValue64', &__cuStreamWaitValue64_v2, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamWriteValue32_v2' in found_functions}}
+ global __cuStreamWriteValue32_v2
+ _F_cuGetProcAddress_v2('cuStreamWriteValue32', &__cuStreamWriteValue32_v2, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamWriteValue64_v2' in found_functions}}
+ global __cuStreamWriteValue64_v2
+ _F_cuGetProcAddress_v2('cuStreamWriteValue64', &__cuStreamWriteValue64_v2, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuStreamBatchMemOp_v2' in found_functions}}
+ global __cuStreamBatchMemOp_v2
+ _F_cuGetProcAddress_v2('cuStreamBatchMemOp', &__cuStreamBatchMemOp_v2, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuLaunchKernel' in found_functions}}
+ global __cuLaunchKernel
+ _F_cuGetProcAddress_v2('cuLaunchKernel', &__cuLaunchKernel, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuLaunchKernelEx' in found_functions}}
+ global __cuLaunchKernelEx
+ _F_cuGetProcAddress_v2('cuLaunchKernelEx', &__cuLaunchKernelEx, 11060, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuLaunchCooperativeKernel' in found_functions}}
+ global __cuLaunchCooperativeKernel
+ _F_cuGetProcAddress_v2('cuLaunchCooperativeKernel', &__cuLaunchCooperativeKernel, 9000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuLaunchHostFunc' in found_functions}}
+ global __cuLaunchHostFunc
+ _F_cuGetProcAddress_v2('cuLaunchHostFunc', &__cuLaunchHostFunc, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuGraphInstantiateWithParams' in found_functions}}
+ global __cuGraphInstantiateWithParams
+ _F_cuGetProcAddress_v2('cuGraphInstantiateWithParams', &__cuGraphInstantiateWithParams, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuGraphUpload' in found_functions}}
+ global __cuGraphUpload
+ _F_cuGetProcAddress_v2('cuGraphUpload', &__cuGraphUpload, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuGraphLaunch' in found_functions}}
+ global __cuGraphLaunch
+ _F_cuGetProcAddress_v2('cuGraphLaunch', &__cuGraphLaunch, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuGraphicsMapResources' in found_functions}}
+ global __cuGraphicsMapResources
+ _F_cuGetProcAddress_v2('cuGraphicsMapResources', &__cuGraphicsMapResources, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ {{if 'cuGraphicsUnmapResources' in found_functions}}
+ global __cuGraphicsUnmapResources
+ _F_cuGetProcAddress_v2('cuGraphicsUnmapResources', &__cuGraphicsUnmapResources, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{endif}}
+ # Get remaining functions
+ {{if 'cuGetErrorString' in found_functions}}
+ global __cuGetErrorString
+ _F_cuGetProcAddress_v2('cuGetErrorString', &__cuGetErrorString, 6000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyPeer' in found_functions}}
- global __cuMemcpyPeer
- cuGetProcAddress('cuMemcpyPeer', &__cuMemcpyPeer, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuGetErrorName' in found_functions}}
+ global __cuGetErrorName
+ _F_cuGetProcAddress_v2('cuGetErrorName', &__cuGetErrorName, 6000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyHtoD_v2' in found_functions}}
- global __cuMemcpyHtoD_v2
- cuGetProcAddress('cuMemcpyHtoD', &__cuMemcpyHtoD_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuInit' in found_functions}}
+ global __cuInit
+ _F_cuGetProcAddress_v2('cuInit', &__cuInit, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyDtoH_v2' in found_functions}}
- global __cuMemcpyDtoH_v2
- cuGetProcAddress('cuMemcpyDtoH', &__cuMemcpyDtoH_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDriverGetVersion' in found_functions}}
+ global __cuDriverGetVersion
+ _F_cuGetProcAddress_v2('cuDriverGetVersion', &__cuDriverGetVersion, 2020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyDtoD_v2' in found_functions}}
- global __cuMemcpyDtoD_v2
- cuGetProcAddress('cuMemcpyDtoD', &__cuMemcpyDtoD_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGet' in found_functions}}
+ global __cuDeviceGet
+ _F_cuGetProcAddress_v2('cuDeviceGet', &__cuDeviceGet, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyDtoA_v2' in found_functions}}
- global __cuMemcpyDtoA_v2
- cuGetProcAddress('cuMemcpyDtoA', &__cuMemcpyDtoA_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGetCount' in found_functions}}
+ global __cuDeviceGetCount
+ _F_cuGetProcAddress_v2('cuDeviceGetCount', &__cuDeviceGetCount, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyAtoD_v2' in found_functions}}
- global __cuMemcpyAtoD_v2
- cuGetProcAddress('cuMemcpyAtoD', &__cuMemcpyAtoD_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGetName' in found_functions}}
+ global __cuDeviceGetName
+ _F_cuGetProcAddress_v2('cuDeviceGetName', &__cuDeviceGetName, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyHtoA_v2' in found_functions}}
- global __cuMemcpyHtoA_v2
- cuGetProcAddress('cuMemcpyHtoA', &__cuMemcpyHtoA_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGetUuid_v2' in found_functions}}
+ global __cuDeviceGetUuid_v2
+ _F_cuGetProcAddress_v2('cuDeviceGetUuid', &__cuDeviceGetUuid_v2, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyAtoH_v2' in found_functions}}
- global __cuMemcpyAtoH_v2
- cuGetProcAddress('cuMemcpyAtoH', &__cuMemcpyAtoH_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGetLuid' in found_functions}}
+ global __cuDeviceGetLuid
+ _F_cuGetProcAddress_v2('cuDeviceGetLuid', &__cuDeviceGetLuid, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyAtoA_v2' in found_functions}}
- global __cuMemcpyAtoA_v2
- cuGetProcAddress('cuMemcpyAtoA', &__cuMemcpyAtoA_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceTotalMem_v2' in found_functions}}
+ global __cuDeviceTotalMem_v2
+ _F_cuGetProcAddress_v2('cuDeviceTotalMem', &__cuDeviceTotalMem_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy2D_v2' in found_functions}}
- global __cuMemcpy2D_v2
- cuGetProcAddress('cuMemcpy2D', &__cuMemcpy2D_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGetTexture1DLinearMaxWidth' in found_functions}}
+ global __cuDeviceGetTexture1DLinearMaxWidth
+ _F_cuGetProcAddress_v2('cuDeviceGetTexture1DLinearMaxWidth', &__cuDeviceGetTexture1DLinearMaxWidth, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy2DUnaligned_v2' in found_functions}}
- global __cuMemcpy2DUnaligned_v2
- cuGetProcAddress('cuMemcpy2DUnaligned', &__cuMemcpy2DUnaligned_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGetAttribute' in found_functions}}
+ global __cuDeviceGetAttribute
+ _F_cuGetProcAddress_v2('cuDeviceGetAttribute', &__cuDeviceGetAttribute, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy3D_v2' in found_functions}}
- global __cuMemcpy3D_v2
- cuGetProcAddress('cuMemcpy3D', &__cuMemcpy3D_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGetHostAtomicCapabilities' in found_functions}}
+ global __cuDeviceGetHostAtomicCapabilities
+ _F_cuGetProcAddress_v2('cuDeviceGetHostAtomicCapabilities', &__cuDeviceGetHostAtomicCapabilities, 13000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy3DPeer' in found_functions}}
- global __cuMemcpy3DPeer
- cuGetProcAddress('cuMemcpy3DPeer', &__cuMemcpy3DPeer, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGetNvSciSyncAttributes' in found_functions}}
+ global __cuDeviceGetNvSciSyncAttributes
+ _F_cuGetProcAddress_v2('cuDeviceGetNvSciSyncAttributes', &__cuDeviceGetNvSciSyncAttributes, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyAsync' in found_functions}}
- global __cuMemcpyAsync
- cuGetProcAddress('cuMemcpyAsync', &__cuMemcpyAsync, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceSetMemPool' in found_functions}}
+ global __cuDeviceSetMemPool
+ _F_cuGetProcAddress_v2('cuDeviceSetMemPool', &__cuDeviceSetMemPool, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyPeerAsync' in found_functions}}
- global __cuMemcpyPeerAsync
- cuGetProcAddress('cuMemcpyPeerAsync', &__cuMemcpyPeerAsync, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGetMemPool' in found_functions}}
+ global __cuDeviceGetMemPool
+ _F_cuGetProcAddress_v2('cuDeviceGetMemPool', &__cuDeviceGetMemPool, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyHtoDAsync_v2' in found_functions}}
- global __cuMemcpyHtoDAsync_v2
- cuGetProcAddress('cuMemcpyHtoDAsync', &__cuMemcpyHtoDAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGetDefaultMemPool' in found_functions}}
+ global __cuDeviceGetDefaultMemPool
+ _F_cuGetProcAddress_v2('cuDeviceGetDefaultMemPool', &__cuDeviceGetDefaultMemPool, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyDtoHAsync_v2' in found_functions}}
- global __cuMemcpyDtoHAsync_v2
- cuGetProcAddress('cuMemcpyDtoHAsync', &__cuMemcpyDtoHAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGetExecAffinitySupport' in found_functions}}
+ global __cuDeviceGetExecAffinitySupport
+ _F_cuGetProcAddress_v2('cuDeviceGetExecAffinitySupport', &__cuDeviceGetExecAffinitySupport, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyDtoDAsync_v2' in found_functions}}
- global __cuMemcpyDtoDAsync_v2
- cuGetProcAddress('cuMemcpyDtoDAsync', &__cuMemcpyDtoDAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuFlushGPUDirectRDMAWrites' in found_functions}}
+ global __cuFlushGPUDirectRDMAWrites
+ _F_cuGetProcAddress_v2('cuFlushGPUDirectRDMAWrites', &__cuFlushGPUDirectRDMAWrites, 11030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyHtoAAsync_v2' in found_functions}}
- global __cuMemcpyHtoAAsync_v2
- cuGetProcAddress('cuMemcpyHtoAAsync', &__cuMemcpyHtoAAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceGetProperties' in found_functions}}
+ global __cuDeviceGetProperties
+ _F_cuGetProcAddress_v2('cuDeviceGetProperties', &__cuDeviceGetProperties, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyAtoHAsync_v2' in found_functions}}
- global __cuMemcpyAtoHAsync_v2
- cuGetProcAddress('cuMemcpyAtoHAsync', &__cuMemcpyAtoHAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDeviceComputeCapability' in found_functions}}
+ global __cuDeviceComputeCapability
+ _F_cuGetProcAddress_v2('cuDeviceComputeCapability', &__cuDeviceComputeCapability, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy2DAsync_v2' in found_functions}}
- global __cuMemcpy2DAsync_v2
- cuGetProcAddress('cuMemcpy2DAsync', &__cuMemcpy2DAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDevicePrimaryCtxRetain' in found_functions}}
+ global __cuDevicePrimaryCtxRetain
+ _F_cuGetProcAddress_v2('cuDevicePrimaryCtxRetain', &__cuDevicePrimaryCtxRetain, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy3DAsync_v2' in found_functions}}
- global __cuMemcpy3DAsync_v2
- cuGetProcAddress('cuMemcpy3DAsync', &__cuMemcpy3DAsync_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDevicePrimaryCtxRelease_v2' in found_functions}}
+ global __cuDevicePrimaryCtxRelease_v2
+ _F_cuGetProcAddress_v2('cuDevicePrimaryCtxRelease', &__cuDevicePrimaryCtxRelease_v2, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy3DPeerAsync' in found_functions}}
- global __cuMemcpy3DPeerAsync
- cuGetProcAddress('cuMemcpy3DPeerAsync', &__cuMemcpy3DPeerAsync, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDevicePrimaryCtxSetFlags_v2' in found_functions}}
+ global __cuDevicePrimaryCtxSetFlags_v2
+ _F_cuGetProcAddress_v2('cuDevicePrimaryCtxSetFlags', &__cuDevicePrimaryCtxSetFlags_v2, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyBatchAsync' in found_functions}}
- global __cuMemcpyBatchAsync
- cuGetProcAddress('cuMemcpyBatchAsync', &__cuMemcpyBatchAsync, 12080, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDevicePrimaryCtxGetState' in found_functions}}
+ global __cuDevicePrimaryCtxGetState
+ _F_cuGetProcAddress_v2('cuDevicePrimaryCtxGetState', &__cuDevicePrimaryCtxGetState, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy3DBatchAsync' in found_functions}}
- global __cuMemcpy3DBatchAsync
- cuGetProcAddress('cuMemcpy3DBatchAsync', &__cuMemcpy3DBatchAsync, 12080, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuDevicePrimaryCtxReset_v2' in found_functions}}
+ global __cuDevicePrimaryCtxReset_v2
+ _F_cuGetProcAddress_v2('cuDevicePrimaryCtxReset', &__cuDevicePrimaryCtxReset_v2, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD8_v2' in found_functions}}
- global __cuMemsetD8_v2
- cuGetProcAddress('cuMemsetD8', &__cuMemsetD8_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxCreate_v4' in found_functions}}
+ global __cuCtxCreate_v4
+ _F_cuGetProcAddress_v2('cuCtxCreate', &__cuCtxCreate_v4, 12050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD16_v2' in found_functions}}
- global __cuMemsetD16_v2
- cuGetProcAddress('cuMemsetD16', &__cuMemsetD16_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxDestroy_v2' in found_functions}}
+ global __cuCtxDestroy_v2
+ _F_cuGetProcAddress_v2('cuCtxDestroy', &__cuCtxDestroy_v2, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD32_v2' in found_functions}}
- global __cuMemsetD32_v2
- cuGetProcAddress('cuMemsetD32', &__cuMemsetD32_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxPushCurrent_v2' in found_functions}}
+ global __cuCtxPushCurrent_v2
+ _F_cuGetProcAddress_v2('cuCtxPushCurrent', &__cuCtxPushCurrent_v2, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD2D8_v2' in found_functions}}
- global __cuMemsetD2D8_v2
- cuGetProcAddress('cuMemsetD2D8', &__cuMemsetD2D8_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxPopCurrent_v2' in found_functions}}
+ global __cuCtxPopCurrent_v2
+ _F_cuGetProcAddress_v2('cuCtxPopCurrent', &__cuCtxPopCurrent_v2, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD2D16_v2' in found_functions}}
- global __cuMemsetD2D16_v2
- cuGetProcAddress('cuMemsetD2D16', &__cuMemsetD2D16_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxSetCurrent' in found_functions}}
+ global __cuCtxSetCurrent
+ _F_cuGetProcAddress_v2('cuCtxSetCurrent', &__cuCtxSetCurrent, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD2D32_v2' in found_functions}}
- global __cuMemsetD2D32_v2
- cuGetProcAddress('cuMemsetD2D32', &__cuMemsetD2D32_v2, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxGetCurrent' in found_functions}}
+ global __cuCtxGetCurrent
+ _F_cuGetProcAddress_v2('cuCtxGetCurrent', &__cuCtxGetCurrent, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD8Async' in found_functions}}
- global __cuMemsetD8Async
- cuGetProcAddress('cuMemsetD8Async', &__cuMemsetD8Async, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxGetDevice' in found_functions}}
+ global __cuCtxGetDevice
+ _F_cuGetProcAddress_v2('cuCtxGetDevice', &__cuCtxGetDevice, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD16Async' in found_functions}}
- global __cuMemsetD16Async
- cuGetProcAddress('cuMemsetD16Async', &__cuMemsetD16Async, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxGetDevice_v2' in found_functions}}
+ global __cuCtxGetDevice_v2
+ _F_cuGetProcAddress_v2('cuCtxGetDevice', &__cuCtxGetDevice_v2, 13000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD32Async' in found_functions}}
- global __cuMemsetD32Async
- cuGetProcAddress('cuMemsetD32Async', &__cuMemsetD32Async, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxGetFlags' in found_functions}}
+ global __cuCtxGetFlags
+ _F_cuGetProcAddress_v2('cuCtxGetFlags', &__cuCtxGetFlags, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD2D8Async' in found_functions}}
- global __cuMemsetD2D8Async
- cuGetProcAddress('cuMemsetD2D8Async', &__cuMemsetD2D8Async, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxSetFlags' in found_functions}}
+ global __cuCtxSetFlags
+ _F_cuGetProcAddress_v2('cuCtxSetFlags', &__cuCtxSetFlags, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD2D16Async' in found_functions}}
- global __cuMemsetD2D16Async
- cuGetProcAddress('cuMemsetD2D16Async', &__cuMemsetD2D16Async, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxGetId' in found_functions}}
+ global __cuCtxGetId
+ _F_cuGetProcAddress_v2('cuCtxGetId', &__cuCtxGetId, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD2D32Async' in found_functions}}
- global __cuMemsetD2D32Async
- cuGetProcAddress('cuMemsetD2D32Async', &__cuMemsetD2D32Async, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxSynchronize' in found_functions}}
+ global __cuCtxSynchronize
+ _F_cuGetProcAddress_v2('cuCtxSynchronize', &__cuCtxSynchronize, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemBatchDecompressAsync' in found_functions}}
- global __cuMemBatchDecompressAsync
- cuGetProcAddress('cuMemBatchDecompressAsync', &__cuMemBatchDecompressAsync, 12060, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxSynchronize_v2' in found_functions}}
+ global __cuCtxSynchronize_v2
+ _F_cuGetProcAddress_v2('cuCtxSynchronize', &__cuCtxSynchronize_v2, 13000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemMapArrayAsync' in found_functions}}
- global __cuMemMapArrayAsync
- cuGetProcAddress('cuMemMapArrayAsync', &__cuMemMapArrayAsync, 11010, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxSetLimit' in found_functions}}
+ global __cuCtxSetLimit
+ _F_cuGetProcAddress_v2('cuCtxSetLimit', &__cuCtxSetLimit, 3010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemFreeAsync' in found_functions}}
- global __cuMemFreeAsync
- cuGetProcAddress('cuMemFreeAsync', &__cuMemFreeAsync, 11020, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxGetLimit' in found_functions}}
+ global __cuCtxGetLimit
+ _F_cuGetProcAddress_v2('cuCtxGetLimit', &__cuCtxGetLimit, 3010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemAllocAsync' in found_functions}}
- global __cuMemAllocAsync
- cuGetProcAddress('cuMemAllocAsync', &__cuMemAllocAsync, 11020, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxGetCacheConfig' in found_functions}}
+ global __cuCtxGetCacheConfig
+ _F_cuGetProcAddress_v2('cuCtxGetCacheConfig', &__cuCtxGetCacheConfig, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemAllocFromPoolAsync' in found_functions}}
- global __cuMemAllocFromPoolAsync
- cuGetProcAddress('cuMemAllocFromPoolAsync', &__cuMemAllocFromPoolAsync, 11020, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxSetCacheConfig' in found_functions}}
+ global __cuCtxSetCacheConfig
+ _F_cuGetProcAddress_v2('cuCtxSetCacheConfig', &__cuCtxSetCacheConfig, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemPrefetchAsync' in found_functions}}
- global __cuMemPrefetchAsync
- cuGetProcAddress('cuMemPrefetchAsync', &__cuMemPrefetchAsync, 8000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxGetApiVersion' in found_functions}}
+ global __cuCtxGetApiVersion
+ _F_cuGetProcAddress_v2('cuCtxGetApiVersion', &__cuCtxGetApiVersion, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemPrefetchAsync_v2' in found_functions}}
- global __cuMemPrefetchAsync_v2
- cuGetProcAddress('cuMemPrefetchAsync', &__cuMemPrefetchAsync_v2, 12020, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxGetStreamPriorityRange' in found_functions}}
+ global __cuCtxGetStreamPriorityRange
+ _F_cuGetProcAddress_v2('cuCtxGetStreamPriorityRange', &__cuCtxGetStreamPriorityRange, 5050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetPriority' in found_functions}}
- global __cuStreamGetPriority
- cuGetProcAddress('cuStreamGetPriority', &__cuStreamGetPriority, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxResetPersistingL2Cache' in found_functions}}
+ global __cuCtxResetPersistingL2Cache
+ _F_cuGetProcAddress_v2('cuCtxResetPersistingL2Cache', &__cuCtxResetPersistingL2Cache, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetDevice' in found_functions}}
- global __cuStreamGetDevice
- cuGetProcAddress('cuStreamGetDevice', &__cuStreamGetDevice, 12080, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxGetExecAffinity' in found_functions}}
+ global __cuCtxGetExecAffinity
+ _F_cuGetProcAddress_v2('cuCtxGetExecAffinity', &__cuCtxGetExecAffinity, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetFlags' in found_functions}}
- global __cuStreamGetFlags
- cuGetProcAddress('cuStreamGetFlags', &__cuStreamGetFlags, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxRecordEvent' in found_functions}}
+ global __cuCtxRecordEvent
+ _F_cuGetProcAddress_v2('cuCtxRecordEvent', &__cuCtxRecordEvent, 12050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetId' in found_functions}}
- global __cuStreamGetId
- cuGetProcAddress('cuStreamGetId', &__cuStreamGetId, 12000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxWaitEvent' in found_functions}}
+ global __cuCtxWaitEvent
+ _F_cuGetProcAddress_v2('cuCtxWaitEvent', &__cuCtxWaitEvent, 12050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetCtx' in found_functions}}
- global __cuStreamGetCtx
- cuGetProcAddress('cuStreamGetCtx', &__cuStreamGetCtx, 9020, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxAttach' in found_functions}}
+ global __cuCtxAttach
+ _F_cuGetProcAddress_v2('cuCtxAttach', &__cuCtxAttach, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetCtx_v2' in found_functions}}
- global __cuStreamGetCtx_v2
- cuGetProcAddress('cuStreamGetCtx', &__cuStreamGetCtx_v2, 12050, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxDetach' in found_functions}}
+ global __cuCtxDetach
+ _F_cuGetProcAddress_v2('cuCtxDetach', &__cuCtxDetach, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamWaitEvent' in found_functions}}
- global __cuStreamWaitEvent
- cuGetProcAddress('cuStreamWaitEvent', &__cuStreamWaitEvent, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxGetSharedMemConfig' in found_functions}}
+ global __cuCtxGetSharedMemConfig
+ _F_cuGetProcAddress_v2('cuCtxGetSharedMemConfig', &__cuCtxGetSharedMemConfig, 4020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamAddCallback' in found_functions}}
- global __cuStreamAddCallback
- cuGetProcAddress('cuStreamAddCallback', &__cuStreamAddCallback, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuCtxSetSharedMemConfig' in found_functions}}
+ global __cuCtxSetSharedMemConfig
+ _F_cuGetProcAddress_v2('cuCtxSetSharedMemConfig', &__cuCtxSetSharedMemConfig, 4020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamBeginCapture_v2' in found_functions}}
- global __cuStreamBeginCapture_v2
- cuGetProcAddress('cuStreamBeginCapture', &__cuStreamBeginCapture_v2, 10010, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuModuleLoad' in found_functions}}
+ global __cuModuleLoad
+ _F_cuGetProcAddress_v2('cuModuleLoad', &__cuModuleLoad, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamBeginCaptureToGraph' in found_functions}}
- global __cuStreamBeginCaptureToGraph
- cuGetProcAddress('cuStreamBeginCaptureToGraph', &__cuStreamBeginCaptureToGraph, 12030, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuModuleLoadData' in found_functions}}
+ global __cuModuleLoadData
+ _F_cuGetProcAddress_v2('cuModuleLoadData', &__cuModuleLoadData, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamEndCapture' in found_functions}}
- global __cuStreamEndCapture
- cuGetProcAddress('cuStreamEndCapture', &__cuStreamEndCapture, 10000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuModuleLoadDataEx' in found_functions}}
+ global __cuModuleLoadDataEx
+ _F_cuGetProcAddress_v2('cuModuleLoadDataEx', &__cuModuleLoadDataEx, 2010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamIsCapturing' in found_functions}}
- global __cuStreamIsCapturing
- cuGetProcAddress('cuStreamIsCapturing', &__cuStreamIsCapturing, 10000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuModuleLoadFatBinary' in found_functions}}
+ global __cuModuleLoadFatBinary
+ _F_cuGetProcAddress_v2('cuModuleLoadFatBinary', &__cuModuleLoadFatBinary, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetCaptureInfo_v2' in found_functions}}
- global __cuStreamGetCaptureInfo_v2
- cuGetProcAddress('cuStreamGetCaptureInfo', &__cuStreamGetCaptureInfo_v2, 11030, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuModuleUnload' in found_functions}}
+ global __cuModuleUnload
+ _F_cuGetProcAddress_v2('cuModuleUnload', &__cuModuleUnload, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetCaptureInfo_v3' in found_functions}}
- global __cuStreamGetCaptureInfo_v3
- cuGetProcAddress('cuStreamGetCaptureInfo', &__cuStreamGetCaptureInfo_v3, 12030, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuModuleGetLoadingMode' in found_functions}}
+ global __cuModuleGetLoadingMode
+ _F_cuGetProcAddress_v2('cuModuleGetLoadingMode', &__cuModuleGetLoadingMode, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamUpdateCaptureDependencies' in found_functions}}
- global __cuStreamUpdateCaptureDependencies
- cuGetProcAddress('cuStreamUpdateCaptureDependencies', &__cuStreamUpdateCaptureDependencies, 11030, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuModuleGetFunction' in found_functions}}
+ global __cuModuleGetFunction
+ _F_cuGetProcAddress_v2('cuModuleGetFunction', &__cuModuleGetFunction, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamUpdateCaptureDependencies_v2' in found_functions}}
- global __cuStreamUpdateCaptureDependencies_v2
- cuGetProcAddress('cuStreamUpdateCaptureDependencies', &__cuStreamUpdateCaptureDependencies_v2, 12030, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuModuleGetFunctionCount' in found_functions}}
+ global __cuModuleGetFunctionCount
+ _F_cuGetProcAddress_v2('cuModuleGetFunctionCount', &__cuModuleGetFunctionCount, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamAttachMemAsync' in found_functions}}
- global __cuStreamAttachMemAsync
- cuGetProcAddress('cuStreamAttachMemAsync', &__cuStreamAttachMemAsync, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuModuleEnumerateFunctions' in found_functions}}
+ global __cuModuleEnumerateFunctions
+ _F_cuGetProcAddress_v2('cuModuleEnumerateFunctions', &__cuModuleEnumerateFunctions, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamQuery' in found_functions}}
- global __cuStreamQuery
- cuGetProcAddress('cuStreamQuery', &__cuStreamQuery, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuModuleGetGlobal_v2' in found_functions}}
+ global __cuModuleGetGlobal_v2
+ _F_cuGetProcAddress_v2('cuModuleGetGlobal', &__cuModuleGetGlobal_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamSynchronize' in found_functions}}
- global __cuStreamSynchronize
- cuGetProcAddress('cuStreamSynchronize', &__cuStreamSynchronize, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLinkCreate_v2' in found_functions}}
+ global __cuLinkCreate_v2
+ _F_cuGetProcAddress_v2('cuLinkCreate', &__cuLinkCreate_v2, 6050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamCopyAttributes' in found_functions}}
- global __cuStreamCopyAttributes
- cuGetProcAddress('cuStreamCopyAttributes', &__cuStreamCopyAttributes, 11000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLinkAddData_v2' in found_functions}}
+ global __cuLinkAddData_v2
+ _F_cuGetProcAddress_v2('cuLinkAddData', &__cuLinkAddData_v2, 6050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetAttribute' in found_functions}}
- global __cuStreamGetAttribute
- cuGetProcAddress('cuStreamGetAttribute', &__cuStreamGetAttribute, 11000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLinkAddFile_v2' in found_functions}}
+ global __cuLinkAddFile_v2
+ _F_cuGetProcAddress_v2('cuLinkAddFile', &__cuLinkAddFile_v2, 6050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamSetAttribute' in found_functions}}
- global __cuStreamSetAttribute
- cuGetProcAddress('cuStreamSetAttribute', &__cuStreamSetAttribute, 11000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLinkComplete' in found_functions}}
+ global __cuLinkComplete
+ _F_cuGetProcAddress_v2('cuLinkComplete', &__cuLinkComplete, 5050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuEventRecord' in found_functions}}
- global __cuEventRecord
- cuGetProcAddress('cuEventRecord', &__cuEventRecord, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLinkDestroy' in found_functions}}
+ global __cuLinkDestroy
+ _F_cuGetProcAddress_v2('cuLinkDestroy', &__cuLinkDestroy, 5050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuEventRecordWithFlags' in found_functions}}
- global __cuEventRecordWithFlags
- cuGetProcAddress('cuEventRecordWithFlags', &__cuEventRecordWithFlags, 11010, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuModuleGetTexRef' in found_functions}}
+ global __cuModuleGetTexRef
+ _F_cuGetProcAddress_v2('cuModuleGetTexRef', &__cuModuleGetTexRef, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuSignalExternalSemaphoresAsync' in found_functions}}
- global __cuSignalExternalSemaphoresAsync
- cuGetProcAddress('cuSignalExternalSemaphoresAsync', &__cuSignalExternalSemaphoresAsync, 10000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuModuleGetSurfRef' in found_functions}}
+ global __cuModuleGetSurfRef
+ _F_cuGetProcAddress_v2('cuModuleGetSurfRef', &__cuModuleGetSurfRef, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuWaitExternalSemaphoresAsync' in found_functions}}
- global __cuWaitExternalSemaphoresAsync
- cuGetProcAddress('cuWaitExternalSemaphoresAsync', &__cuWaitExternalSemaphoresAsync, 10000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLibraryLoadData' in found_functions}}
+ global __cuLibraryLoadData
+ _F_cuGetProcAddress_v2('cuLibraryLoadData', &__cuLibraryLoadData, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamWaitValue32_v2' in found_functions}}
- global __cuStreamWaitValue32_v2
- cuGetProcAddress('cuStreamWaitValue32', &__cuStreamWaitValue32_v2, 11070, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLibraryLoadFromFile' in found_functions}}
+ global __cuLibraryLoadFromFile
+ _F_cuGetProcAddress_v2('cuLibraryLoadFromFile', &__cuLibraryLoadFromFile, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamWaitValue64_v2' in found_functions}}
- global __cuStreamWaitValue64_v2
- cuGetProcAddress('cuStreamWaitValue64', &__cuStreamWaitValue64_v2, 11070, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLibraryUnload' in found_functions}}
+ global __cuLibraryUnload
+ _F_cuGetProcAddress_v2('cuLibraryUnload', &__cuLibraryUnload, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamWriteValue32_v2' in found_functions}}
- global __cuStreamWriteValue32_v2
- cuGetProcAddress('cuStreamWriteValue32', &__cuStreamWriteValue32_v2, 11070, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLibraryGetKernel' in found_functions}}
+ global __cuLibraryGetKernel
+ _F_cuGetProcAddress_v2('cuLibraryGetKernel', &__cuLibraryGetKernel, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamWriteValue64_v2' in found_functions}}
- global __cuStreamWriteValue64_v2
- cuGetProcAddress('cuStreamWriteValue64', &__cuStreamWriteValue64_v2, 11070, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLibraryGetKernelCount' in found_functions}}
+ global __cuLibraryGetKernelCount
+ _F_cuGetProcAddress_v2('cuLibraryGetKernelCount', &__cuLibraryGetKernelCount, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamBatchMemOp_v2' in found_functions}}
- global __cuStreamBatchMemOp_v2
- cuGetProcAddress('cuStreamBatchMemOp', &__cuStreamBatchMemOp_v2, 11070, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLibraryEnumerateKernels' in found_functions}}
+ global __cuLibraryEnumerateKernels
+ _F_cuGetProcAddress_v2('cuLibraryEnumerateKernels', &__cuLibraryEnumerateKernels, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuLaunchKernel' in found_functions}}
- global __cuLaunchKernel
- cuGetProcAddress('cuLaunchKernel', &__cuLaunchKernel, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLibraryGetModule' in found_functions}}
+ global __cuLibraryGetModule
+ _F_cuGetProcAddress_v2('cuLibraryGetModule', &__cuLibraryGetModule, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuLaunchKernelEx' in found_functions}}
- global __cuLaunchKernelEx
- cuGetProcAddress('cuLaunchKernelEx', &__cuLaunchKernelEx, 11060, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuKernelGetFunction' in found_functions}}
+ global __cuKernelGetFunction
+ _F_cuGetProcAddress_v2('cuKernelGetFunction', &__cuKernelGetFunction, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuLaunchCooperativeKernel' in found_functions}}
- global __cuLaunchCooperativeKernel
- cuGetProcAddress('cuLaunchCooperativeKernel', &__cuLaunchCooperativeKernel, 9000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuKernelGetLibrary' in found_functions}}
+ global __cuKernelGetLibrary
+ _F_cuGetProcAddress_v2('cuKernelGetLibrary', &__cuKernelGetLibrary, 12050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuLaunchHostFunc' in found_functions}}
- global __cuLaunchHostFunc
- cuGetProcAddress('cuLaunchHostFunc', &__cuLaunchHostFunc, 10000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLibraryGetGlobal' in found_functions}}
+ global __cuLibraryGetGlobal
+ _F_cuGetProcAddress_v2('cuLibraryGetGlobal', &__cuLibraryGetGlobal, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuGraphInstantiateWithParams' in found_functions}}
- global __cuGraphInstantiateWithParams
- cuGetProcAddress('cuGraphInstantiateWithParams', &__cuGraphInstantiateWithParams, 12000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLibraryGetManaged' in found_functions}}
+ global __cuLibraryGetManaged
+ _F_cuGetProcAddress_v2('cuLibraryGetManaged', &__cuLibraryGetManaged, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuGraphUpload' in found_functions}}
- global __cuGraphUpload
- cuGetProcAddress('cuGraphUpload', &__cuGraphUpload, 11010, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuLibraryGetUnifiedFunction' in found_functions}}
+ global __cuLibraryGetUnifiedFunction
+ _F_cuGetProcAddress_v2('cuLibraryGetUnifiedFunction', &__cuLibraryGetUnifiedFunction, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuGraphLaunch' in found_functions}}
- global __cuGraphLaunch
- cuGetProcAddress('cuGraphLaunch', &__cuGraphLaunch, 10000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuKernelGetAttribute' in found_functions}}
+ global __cuKernelGetAttribute
+ _F_cuGetProcAddress_v2('cuKernelGetAttribute', &__cuKernelGetAttribute, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuGraphicsMapResources' in found_functions}}
- global __cuGraphicsMapResources
- cuGetProcAddress('cuGraphicsMapResources', &__cuGraphicsMapResources, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuKernelSetAttribute' in found_functions}}
+ global __cuKernelSetAttribute
+ _F_cuGetProcAddress_v2('cuKernelSetAttribute', &__cuKernelSetAttribute, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuGraphicsUnmapResources' in found_functions}}
- global __cuGraphicsUnmapResources
- cuGetProcAddress('cuGraphicsUnmapResources', &__cuGraphicsUnmapResources, 7000, CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM, NULL)
+ {{if 'cuKernelSetCacheConfig' in found_functions}}
+ global __cuKernelSetCacheConfig
+ _F_cuGetProcAddress_v2('cuKernelSetCacheConfig', &__cuKernelSetCacheConfig, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- else:
- # Else get the regular version
- pass
- {{if 'cuMemcpy' in found_functions}}
- global __cuMemcpy
- cuGetProcAddress('cuMemcpy', &__cuMemcpy, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuKernelGetName' in found_functions}}
+ global __cuKernelGetName
+ _F_cuGetProcAddress_v2('cuKernelGetName', &__cuKernelGetName, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyPeer' in found_functions}}
- global __cuMemcpyPeer
- cuGetProcAddress('cuMemcpyPeer', &__cuMemcpyPeer, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuKernelGetParamInfo' in found_functions}}
+ global __cuKernelGetParamInfo
+ _F_cuGetProcAddress_v2('cuKernelGetParamInfo', &__cuKernelGetParamInfo, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyHtoD_v2' in found_functions}}
- global __cuMemcpyHtoD_v2
- cuGetProcAddress('cuMemcpyHtoD', &__cuMemcpyHtoD_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemGetInfo_v2' in found_functions}}
+ global __cuMemGetInfo_v2
+ _F_cuGetProcAddress_v2('cuMemGetInfo', &__cuMemGetInfo_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyDtoH_v2' in found_functions}}
- global __cuMemcpyDtoH_v2
- cuGetProcAddress('cuMemcpyDtoH', &__cuMemcpyDtoH_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemAlloc_v2' in found_functions}}
+ global __cuMemAlloc_v2
+ _F_cuGetProcAddress_v2('cuMemAlloc', &__cuMemAlloc_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyDtoD_v2' in found_functions}}
- global __cuMemcpyDtoD_v2
- cuGetProcAddress('cuMemcpyDtoD', &__cuMemcpyDtoD_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemAllocPitch_v2' in found_functions}}
+ global __cuMemAllocPitch_v2
+ _F_cuGetProcAddress_v2('cuMemAllocPitch', &__cuMemAllocPitch_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyDtoA_v2' in found_functions}}
- global __cuMemcpyDtoA_v2
- cuGetProcAddress('cuMemcpyDtoA', &__cuMemcpyDtoA_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemFree_v2' in found_functions}}
+ global __cuMemFree_v2
+ _F_cuGetProcAddress_v2('cuMemFree', &__cuMemFree_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyAtoD_v2' in found_functions}}
- global __cuMemcpyAtoD_v2
- cuGetProcAddress('cuMemcpyAtoD', &__cuMemcpyAtoD_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemGetAddressRange_v2' in found_functions}}
+ global __cuMemGetAddressRange_v2
+ _F_cuGetProcAddress_v2('cuMemGetAddressRange', &__cuMemGetAddressRange_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyHtoA_v2' in found_functions}}
- global __cuMemcpyHtoA_v2
- cuGetProcAddress('cuMemcpyHtoA', &__cuMemcpyHtoA_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemAllocHost_v2' in found_functions}}
+ global __cuMemAllocHost_v2
+ _F_cuGetProcAddress_v2('cuMemAllocHost', &__cuMemAllocHost_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyAtoH_v2' in found_functions}}
- global __cuMemcpyAtoH_v2
- cuGetProcAddress('cuMemcpyAtoH', &__cuMemcpyAtoH_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemFreeHost' in found_functions}}
+ global __cuMemFreeHost
+ _F_cuGetProcAddress_v2('cuMemFreeHost', &__cuMemFreeHost, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyAtoA_v2' in found_functions}}
- global __cuMemcpyAtoA_v2
- cuGetProcAddress('cuMemcpyAtoA', &__cuMemcpyAtoA_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemHostAlloc' in found_functions}}
+ global __cuMemHostAlloc
+ _F_cuGetProcAddress_v2('cuMemHostAlloc', &__cuMemHostAlloc, 2020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy2D_v2' in found_functions}}
- global __cuMemcpy2D_v2
- cuGetProcAddress('cuMemcpy2D', &__cuMemcpy2D_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemHostGetDevicePointer_v2' in found_functions}}
+ global __cuMemHostGetDevicePointer_v2
+ _F_cuGetProcAddress_v2('cuMemHostGetDevicePointer', &__cuMemHostGetDevicePointer_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy2DUnaligned_v2' in found_functions}}
- global __cuMemcpy2DUnaligned_v2
- cuGetProcAddress('cuMemcpy2DUnaligned', &__cuMemcpy2DUnaligned_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemHostGetFlags' in found_functions}}
+ global __cuMemHostGetFlags
+ _F_cuGetProcAddress_v2('cuMemHostGetFlags', &__cuMemHostGetFlags, 2030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy3D_v2' in found_functions}}
- global __cuMemcpy3D_v2
- cuGetProcAddress('cuMemcpy3D', &__cuMemcpy3D_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemAllocManaged' in found_functions}}
+ global __cuMemAllocManaged
+ _F_cuGetProcAddress_v2('cuMemAllocManaged', &__cuMemAllocManaged, 6000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy3DPeer' in found_functions}}
- global __cuMemcpy3DPeer
- cuGetProcAddress('cuMemcpy3DPeer', &__cuMemcpy3DPeer, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuDeviceRegisterAsyncNotification' in found_functions}}
+ global __cuDeviceRegisterAsyncNotification
+ _F_cuGetProcAddress_v2('cuDeviceRegisterAsyncNotification', &__cuDeviceRegisterAsyncNotification, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyAsync' in found_functions}}
- global __cuMemcpyAsync
- cuGetProcAddress('cuMemcpyAsync', &__cuMemcpyAsync, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuDeviceUnregisterAsyncNotification' in found_functions}}
+ global __cuDeviceUnregisterAsyncNotification
+ _F_cuGetProcAddress_v2('cuDeviceUnregisterAsyncNotification', &__cuDeviceUnregisterAsyncNotification, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyPeerAsync' in found_functions}}
- global __cuMemcpyPeerAsync
- cuGetProcAddress('cuMemcpyPeerAsync', &__cuMemcpyPeerAsync, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuDeviceGetByPCIBusId' in found_functions}}
+ global __cuDeviceGetByPCIBusId
+ _F_cuGetProcAddress_v2('cuDeviceGetByPCIBusId', &__cuDeviceGetByPCIBusId, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyHtoDAsync_v2' in found_functions}}
- global __cuMemcpyHtoDAsync_v2
- cuGetProcAddress('cuMemcpyHtoDAsync', &__cuMemcpyHtoDAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuDeviceGetPCIBusId' in found_functions}}
+ global __cuDeviceGetPCIBusId
+ _F_cuGetProcAddress_v2('cuDeviceGetPCIBusId', &__cuDeviceGetPCIBusId, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyDtoHAsync_v2' in found_functions}}
- global __cuMemcpyDtoHAsync_v2
- cuGetProcAddress('cuMemcpyDtoHAsync', &__cuMemcpyDtoHAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuIpcGetEventHandle' in found_functions}}
+ global __cuIpcGetEventHandle
+ _F_cuGetProcAddress_v2('cuIpcGetEventHandle', &__cuIpcGetEventHandle, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyDtoDAsync_v2' in found_functions}}
- global __cuMemcpyDtoDAsync_v2
- cuGetProcAddress('cuMemcpyDtoDAsync', &__cuMemcpyDtoDAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuIpcOpenEventHandle' in found_functions}}
+ global __cuIpcOpenEventHandle
+ _F_cuGetProcAddress_v2('cuIpcOpenEventHandle', &__cuIpcOpenEventHandle, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyHtoAAsync_v2' in found_functions}}
- global __cuMemcpyHtoAAsync_v2
- cuGetProcAddress('cuMemcpyHtoAAsync', &__cuMemcpyHtoAAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuIpcGetMemHandle' in found_functions}}
+ global __cuIpcGetMemHandle
+ _F_cuGetProcAddress_v2('cuIpcGetMemHandle', &__cuIpcGetMemHandle, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyAtoHAsync_v2' in found_functions}}
- global __cuMemcpyAtoHAsync_v2
- cuGetProcAddress('cuMemcpyAtoHAsync', &__cuMemcpyAtoHAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuIpcOpenMemHandle_v2' in found_functions}}
+ global __cuIpcOpenMemHandle_v2
+ _F_cuGetProcAddress_v2('cuIpcOpenMemHandle', &__cuIpcOpenMemHandle_v2, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy2DAsync_v2' in found_functions}}
- global __cuMemcpy2DAsync_v2
- cuGetProcAddress('cuMemcpy2DAsync', &__cuMemcpy2DAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuIpcCloseMemHandle' in found_functions}}
+ global __cuIpcCloseMemHandle
+ _F_cuGetProcAddress_v2('cuIpcCloseMemHandle', &__cuIpcCloseMemHandle, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy3DAsync_v2' in found_functions}}
- global __cuMemcpy3DAsync_v2
- cuGetProcAddress('cuMemcpy3DAsync', &__cuMemcpy3DAsync_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemHostRegister_v2' in found_functions}}
+ global __cuMemHostRegister_v2
+ _F_cuGetProcAddress_v2('cuMemHostRegister', &__cuMemHostRegister_v2, 6050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy3DPeerAsync' in found_functions}}
- global __cuMemcpy3DPeerAsync
- cuGetProcAddress('cuMemcpy3DPeerAsync', &__cuMemcpy3DPeerAsync, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemHostUnregister' in found_functions}}
+ global __cuMemHostUnregister
+ _F_cuGetProcAddress_v2('cuMemHostUnregister', &__cuMemHostUnregister, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpyBatchAsync' in found_functions}}
- global __cuMemcpyBatchAsync
- cuGetProcAddress('cuMemcpyBatchAsync', &__cuMemcpyBatchAsync, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuArrayCreate_v2' in found_functions}}
+ global __cuArrayCreate_v2
+ _F_cuGetProcAddress_v2('cuArrayCreate', &__cuArrayCreate_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemcpy3DBatchAsync' in found_functions}}
- global __cuMemcpy3DBatchAsync
- cuGetProcAddress('cuMemcpy3DBatchAsync', &__cuMemcpy3DBatchAsync, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuArrayGetDescriptor_v2' in found_functions}}
+ global __cuArrayGetDescriptor_v2
+ _F_cuGetProcAddress_v2('cuArrayGetDescriptor', &__cuArrayGetDescriptor_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD8_v2' in found_functions}}
- global __cuMemsetD8_v2
- cuGetProcAddress('cuMemsetD8', &__cuMemsetD8_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuArrayGetSparseProperties' in found_functions}}
+ global __cuArrayGetSparseProperties
+ _F_cuGetProcAddress_v2('cuArrayGetSparseProperties', &__cuArrayGetSparseProperties, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD16_v2' in found_functions}}
- global __cuMemsetD16_v2
- cuGetProcAddress('cuMemsetD16', &__cuMemsetD16_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMipmappedArrayGetSparseProperties' in found_functions}}
+ global __cuMipmappedArrayGetSparseProperties
+ _F_cuGetProcAddress_v2('cuMipmappedArrayGetSparseProperties', &__cuMipmappedArrayGetSparseProperties, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD32_v2' in found_functions}}
- global __cuMemsetD32_v2
- cuGetProcAddress('cuMemsetD32', &__cuMemsetD32_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuArrayGetMemoryRequirements' in found_functions}}
+ global __cuArrayGetMemoryRequirements
+ _F_cuGetProcAddress_v2('cuArrayGetMemoryRequirements', &__cuArrayGetMemoryRequirements, 11060, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD2D8_v2' in found_functions}}
- global __cuMemsetD2D8_v2
- cuGetProcAddress('cuMemsetD2D8', &__cuMemsetD2D8_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMipmappedArrayGetMemoryRequirements' in found_functions}}
+ global __cuMipmappedArrayGetMemoryRequirements
+ _F_cuGetProcAddress_v2('cuMipmappedArrayGetMemoryRequirements', &__cuMipmappedArrayGetMemoryRequirements, 11060, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD2D16_v2' in found_functions}}
- global __cuMemsetD2D16_v2
- cuGetProcAddress('cuMemsetD2D16', &__cuMemsetD2D16_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuArrayGetPlane' in found_functions}}
+ global __cuArrayGetPlane
+ _F_cuGetProcAddress_v2('cuArrayGetPlane', &__cuArrayGetPlane, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD2D32_v2' in found_functions}}
- global __cuMemsetD2D32_v2
- cuGetProcAddress('cuMemsetD2D32', &__cuMemsetD2D32_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuArrayDestroy' in found_functions}}
+ global __cuArrayDestroy
+ _F_cuGetProcAddress_v2('cuArrayDestroy', &__cuArrayDestroy, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD8Async' in found_functions}}
- global __cuMemsetD8Async
- cuGetProcAddress('cuMemsetD8Async', &__cuMemsetD8Async, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuArray3DCreate_v2' in found_functions}}
+ global __cuArray3DCreate_v2
+ _F_cuGetProcAddress_v2('cuArray3DCreate', &__cuArray3DCreate_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD16Async' in found_functions}}
- global __cuMemsetD16Async
- cuGetProcAddress('cuMemsetD16Async', &__cuMemsetD16Async, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuArray3DGetDescriptor_v2' in found_functions}}
+ global __cuArray3DGetDescriptor_v2
+ _F_cuGetProcAddress_v2('cuArray3DGetDescriptor', &__cuArray3DGetDescriptor_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD32Async' in found_functions}}
- global __cuMemsetD32Async
- cuGetProcAddress('cuMemsetD32Async', &__cuMemsetD32Async, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMipmappedArrayCreate' in found_functions}}
+ global __cuMipmappedArrayCreate
+ _F_cuGetProcAddress_v2('cuMipmappedArrayCreate', &__cuMipmappedArrayCreate, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD2D8Async' in found_functions}}
- global __cuMemsetD2D8Async
- cuGetProcAddress('cuMemsetD2D8Async', &__cuMemsetD2D8Async, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMipmappedArrayGetLevel' in found_functions}}
+ global __cuMipmappedArrayGetLevel
+ _F_cuGetProcAddress_v2('cuMipmappedArrayGetLevel', &__cuMipmappedArrayGetLevel, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD2D16Async' in found_functions}}
- global __cuMemsetD2D16Async
- cuGetProcAddress('cuMemsetD2D16Async', &__cuMemsetD2D16Async, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMipmappedArrayDestroy' in found_functions}}
+ global __cuMipmappedArrayDestroy
+ _F_cuGetProcAddress_v2('cuMipmappedArrayDestroy', &__cuMipmappedArrayDestroy, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemsetD2D32Async' in found_functions}}
- global __cuMemsetD2D32Async
- cuGetProcAddress('cuMemsetD2D32Async', &__cuMemsetD2D32Async, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemGetHandleForAddressRange' in found_functions}}
+ global __cuMemGetHandleForAddressRange
+ _F_cuGetProcAddress_v2('cuMemGetHandleForAddressRange', &__cuMemGetHandleForAddressRange, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemBatchDecompressAsync' in found_functions}}
- global __cuMemBatchDecompressAsync
- cuGetProcAddress('cuMemBatchDecompressAsync', &__cuMemBatchDecompressAsync, 12060, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemAddressReserve' in found_functions}}
+ global __cuMemAddressReserve
+ _F_cuGetProcAddress_v2('cuMemAddressReserve', &__cuMemAddressReserve, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemMapArrayAsync' in found_functions}}
- global __cuMemMapArrayAsync
- cuGetProcAddress('cuMemMapArrayAsync', &__cuMemMapArrayAsync, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemAddressFree' in found_functions}}
+ global __cuMemAddressFree
+ _F_cuGetProcAddress_v2('cuMemAddressFree', &__cuMemAddressFree, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemFreeAsync' in found_functions}}
- global __cuMemFreeAsync
- cuGetProcAddress('cuMemFreeAsync', &__cuMemFreeAsync, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemCreate' in found_functions}}
+ global __cuMemCreate
+ _F_cuGetProcAddress_v2('cuMemCreate', &__cuMemCreate, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemAllocAsync' in found_functions}}
- global __cuMemAllocAsync
- cuGetProcAddress('cuMemAllocAsync', &__cuMemAllocAsync, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemRelease' in found_functions}}
+ global __cuMemRelease
+ _F_cuGetProcAddress_v2('cuMemRelease', &__cuMemRelease, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemAllocFromPoolAsync' in found_functions}}
- global __cuMemAllocFromPoolAsync
- cuGetProcAddress('cuMemAllocFromPoolAsync', &__cuMemAllocFromPoolAsync, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemMap' in found_functions}}
+ global __cuMemMap
+ _F_cuGetProcAddress_v2('cuMemMap', &__cuMemMap, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemPrefetchAsync' in found_functions}}
- global __cuMemPrefetchAsync
- cuGetProcAddress('cuMemPrefetchAsync', &__cuMemPrefetchAsync, 8000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemUnmap' in found_functions}}
+ global __cuMemUnmap
+ _F_cuGetProcAddress_v2('cuMemUnmap', &__cuMemUnmap, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuMemPrefetchAsync_v2' in found_functions}}
- global __cuMemPrefetchAsync_v2
- cuGetProcAddress('cuMemPrefetchAsync', &__cuMemPrefetchAsync_v2, 12020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemSetAccess' in found_functions}}
+ global __cuMemSetAccess
+ _F_cuGetProcAddress_v2('cuMemSetAccess', &__cuMemSetAccess, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetPriority' in found_functions}}
- global __cuStreamGetPriority
- cuGetProcAddress('cuStreamGetPriority', &__cuStreamGetPriority, 5050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemGetAccess' in found_functions}}
+ global __cuMemGetAccess
+ _F_cuGetProcAddress_v2('cuMemGetAccess', &__cuMemGetAccess, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetDevice' in found_functions}}
- global __cuStreamGetDevice
- cuGetProcAddress('cuStreamGetDevice', &__cuStreamGetDevice, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemExportToShareableHandle' in found_functions}}
+ global __cuMemExportToShareableHandle
+ _F_cuGetProcAddress_v2('cuMemExportToShareableHandle', &__cuMemExportToShareableHandle, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetFlags' in found_functions}}
- global __cuStreamGetFlags
- cuGetProcAddress('cuStreamGetFlags', &__cuStreamGetFlags, 5050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemImportFromShareableHandle' in found_functions}}
+ global __cuMemImportFromShareableHandle
+ _F_cuGetProcAddress_v2('cuMemImportFromShareableHandle', &__cuMemImportFromShareableHandle, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetId' in found_functions}}
- global __cuStreamGetId
- cuGetProcAddress('cuStreamGetId', &__cuStreamGetId, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemGetAllocationGranularity' in found_functions}}
+ global __cuMemGetAllocationGranularity
+ _F_cuGetProcAddress_v2('cuMemGetAllocationGranularity', &__cuMemGetAllocationGranularity, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetCtx' in found_functions}}
- global __cuStreamGetCtx
- cuGetProcAddress('cuStreamGetCtx', &__cuStreamGetCtx, 9020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemGetAllocationPropertiesFromHandle' in found_functions}}
+ global __cuMemGetAllocationPropertiesFromHandle
+ _F_cuGetProcAddress_v2('cuMemGetAllocationPropertiesFromHandle', &__cuMemGetAllocationPropertiesFromHandle, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetCtx_v2' in found_functions}}
- global __cuStreamGetCtx_v2
- cuGetProcAddress('cuStreamGetCtx', &__cuStreamGetCtx_v2, 12050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemRetainAllocationHandle' in found_functions}}
+ global __cuMemRetainAllocationHandle
+ _F_cuGetProcAddress_v2('cuMemRetainAllocationHandle', &__cuMemRetainAllocationHandle, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamWaitEvent' in found_functions}}
- global __cuStreamWaitEvent
- cuGetProcAddress('cuStreamWaitEvent', &__cuStreamWaitEvent, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemPoolTrimTo' in found_functions}}
+ global __cuMemPoolTrimTo
+ _F_cuGetProcAddress_v2('cuMemPoolTrimTo', &__cuMemPoolTrimTo, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamAddCallback' in found_functions}}
- global __cuStreamAddCallback
- cuGetProcAddress('cuStreamAddCallback', &__cuStreamAddCallback, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemPoolSetAttribute' in found_functions}}
+ global __cuMemPoolSetAttribute
+ _F_cuGetProcAddress_v2('cuMemPoolSetAttribute', &__cuMemPoolSetAttribute, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamBeginCapture_v2' in found_functions}}
- global __cuStreamBeginCapture_v2
- cuGetProcAddress('cuStreamBeginCapture', &__cuStreamBeginCapture_v2, 10010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemPoolGetAttribute' in found_functions}}
+ global __cuMemPoolGetAttribute
+ _F_cuGetProcAddress_v2('cuMemPoolGetAttribute', &__cuMemPoolGetAttribute, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamBeginCaptureToGraph' in found_functions}}
- global __cuStreamBeginCaptureToGraph
- cuGetProcAddress('cuStreamBeginCaptureToGraph', &__cuStreamBeginCaptureToGraph, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemPoolSetAccess' in found_functions}}
+ global __cuMemPoolSetAccess
+ _F_cuGetProcAddress_v2('cuMemPoolSetAccess', &__cuMemPoolSetAccess, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamEndCapture' in found_functions}}
- global __cuStreamEndCapture
- cuGetProcAddress('cuStreamEndCapture', &__cuStreamEndCapture, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemPoolGetAccess' in found_functions}}
+ global __cuMemPoolGetAccess
+ _F_cuGetProcAddress_v2('cuMemPoolGetAccess', &__cuMemPoolGetAccess, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamIsCapturing' in found_functions}}
- global __cuStreamIsCapturing
- cuGetProcAddress('cuStreamIsCapturing', &__cuStreamIsCapturing, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemPoolCreate' in found_functions}}
+ global __cuMemPoolCreate
+ _F_cuGetProcAddress_v2('cuMemPoolCreate', &__cuMemPoolCreate, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetCaptureInfo_v2' in found_functions}}
- global __cuStreamGetCaptureInfo_v2
- cuGetProcAddress('cuStreamGetCaptureInfo', &__cuStreamGetCaptureInfo_v2, 11030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemPoolDestroy' in found_functions}}
+ global __cuMemPoolDestroy
+ _F_cuGetProcAddress_v2('cuMemPoolDestroy', &__cuMemPoolDestroy, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetCaptureInfo_v3' in found_functions}}
- global __cuStreamGetCaptureInfo_v3
- cuGetProcAddress('cuStreamGetCaptureInfo', &__cuStreamGetCaptureInfo_v3, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemGetDefaultMemPool' in found_functions}}
+ global __cuMemGetDefaultMemPool
+ _F_cuGetProcAddress_v2('cuMemGetDefaultMemPool', &__cuMemGetDefaultMemPool, 13000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamUpdateCaptureDependencies' in found_functions}}
- global __cuStreamUpdateCaptureDependencies
- cuGetProcAddress('cuStreamUpdateCaptureDependencies', &__cuStreamUpdateCaptureDependencies, 11030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemGetMemPool' in found_functions}}
+ global __cuMemGetMemPool
+ _F_cuGetProcAddress_v2('cuMemGetMemPool', &__cuMemGetMemPool, 13000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamUpdateCaptureDependencies_v2' in found_functions}}
- global __cuStreamUpdateCaptureDependencies_v2
- cuGetProcAddress('cuStreamUpdateCaptureDependencies', &__cuStreamUpdateCaptureDependencies_v2, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemSetMemPool' in found_functions}}
+ global __cuMemSetMemPool
+ _F_cuGetProcAddress_v2('cuMemSetMemPool', &__cuMemSetMemPool, 13000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamAttachMemAsync' in found_functions}}
- global __cuStreamAttachMemAsync
- cuGetProcAddress('cuStreamAttachMemAsync', &__cuStreamAttachMemAsync, 6000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemPoolExportToShareableHandle' in found_functions}}
+ global __cuMemPoolExportToShareableHandle
+ _F_cuGetProcAddress_v2('cuMemPoolExportToShareableHandle', &__cuMemPoolExportToShareableHandle, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamQuery' in found_functions}}
- global __cuStreamQuery
- cuGetProcAddress('cuStreamQuery', &__cuStreamQuery, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemPoolImportFromShareableHandle' in found_functions}}
+ global __cuMemPoolImportFromShareableHandle
+ _F_cuGetProcAddress_v2('cuMemPoolImportFromShareableHandle', &__cuMemPoolImportFromShareableHandle, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamSynchronize' in found_functions}}
- global __cuStreamSynchronize
- cuGetProcAddress('cuStreamSynchronize', &__cuStreamSynchronize, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemPoolExportPointer' in found_functions}}
+ global __cuMemPoolExportPointer
+ _F_cuGetProcAddress_v2('cuMemPoolExportPointer', &__cuMemPoolExportPointer, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamCopyAttributes' in found_functions}}
- global __cuStreamCopyAttributes
- cuGetProcAddress('cuStreamCopyAttributes', &__cuStreamCopyAttributes, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemPoolImportPointer' in found_functions}}
+ global __cuMemPoolImportPointer
+ _F_cuGetProcAddress_v2('cuMemPoolImportPointer', &__cuMemPoolImportPointer, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamGetAttribute' in found_functions}}
- global __cuStreamGetAttribute
- cuGetProcAddress('cuStreamGetAttribute', &__cuStreamGetAttribute, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMulticastCreate' in found_functions}}
+ global __cuMulticastCreate
+ _F_cuGetProcAddress_v2('cuMulticastCreate', &__cuMulticastCreate, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamSetAttribute' in found_functions}}
- global __cuStreamSetAttribute
- cuGetProcAddress('cuStreamSetAttribute', &__cuStreamSetAttribute, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMulticastAddDevice' in found_functions}}
+ global __cuMulticastAddDevice
+ _F_cuGetProcAddress_v2('cuMulticastAddDevice', &__cuMulticastAddDevice, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuEventRecord' in found_functions}}
- global __cuEventRecord
- cuGetProcAddress('cuEventRecord', &__cuEventRecord, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMulticastBindMem' in found_functions}}
+ global __cuMulticastBindMem
+ _F_cuGetProcAddress_v2('cuMulticastBindMem', &__cuMulticastBindMem, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuEventRecordWithFlags' in found_functions}}
- global __cuEventRecordWithFlags
- cuGetProcAddress('cuEventRecordWithFlags', &__cuEventRecordWithFlags, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMulticastBindAddr' in found_functions}}
+ global __cuMulticastBindAddr
+ _F_cuGetProcAddress_v2('cuMulticastBindAddr', &__cuMulticastBindAddr, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuSignalExternalSemaphoresAsync' in found_functions}}
- global __cuSignalExternalSemaphoresAsync
- cuGetProcAddress('cuSignalExternalSemaphoresAsync', &__cuSignalExternalSemaphoresAsync, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMulticastUnbind' in found_functions}}
+ global __cuMulticastUnbind
+ _F_cuGetProcAddress_v2('cuMulticastUnbind', &__cuMulticastUnbind, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuWaitExternalSemaphoresAsync' in found_functions}}
- global __cuWaitExternalSemaphoresAsync
- cuGetProcAddress('cuWaitExternalSemaphoresAsync', &__cuWaitExternalSemaphoresAsync, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMulticastGetGranularity' in found_functions}}
+ global __cuMulticastGetGranularity
+ _F_cuGetProcAddress_v2('cuMulticastGetGranularity', &__cuMulticastGetGranularity, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamWaitValue32_v2' in found_functions}}
- global __cuStreamWaitValue32_v2
- cuGetProcAddress('cuStreamWaitValue32', &__cuStreamWaitValue32_v2, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuPointerGetAttribute' in found_functions}}
+ global __cuPointerGetAttribute
+ _F_cuGetProcAddress_v2('cuPointerGetAttribute', &__cuPointerGetAttribute, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamWaitValue64_v2' in found_functions}}
- global __cuStreamWaitValue64_v2
- cuGetProcAddress('cuStreamWaitValue64', &__cuStreamWaitValue64_v2, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemAdvise_v2' in found_functions}}
+ global __cuMemAdvise_v2
+ _F_cuGetProcAddress_v2('cuMemAdvise', &__cuMemAdvise_v2, 12020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamWriteValue32_v2' in found_functions}}
- global __cuStreamWriteValue32_v2
- cuGetProcAddress('cuStreamWriteValue32', &__cuStreamWriteValue32_v2, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemRangeGetAttribute' in found_functions}}
+ global __cuMemRangeGetAttribute
+ _F_cuGetProcAddress_v2('cuMemRangeGetAttribute', &__cuMemRangeGetAttribute, 8000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamWriteValue64_v2' in found_functions}}
- global __cuStreamWriteValue64_v2
- cuGetProcAddress('cuStreamWriteValue64', &__cuStreamWriteValue64_v2, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuMemRangeGetAttributes' in found_functions}}
+ global __cuMemRangeGetAttributes
+ _F_cuGetProcAddress_v2('cuMemRangeGetAttributes', &__cuMemRangeGetAttributes, 8000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuStreamBatchMemOp_v2' in found_functions}}
- global __cuStreamBatchMemOp_v2
- cuGetProcAddress('cuStreamBatchMemOp', &__cuStreamBatchMemOp_v2, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuPointerSetAttribute' in found_functions}}
+ global __cuPointerSetAttribute
+ _F_cuGetProcAddress_v2('cuPointerSetAttribute', &__cuPointerSetAttribute, 6000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuLaunchKernel' in found_functions}}
- global __cuLaunchKernel
- cuGetProcAddress('cuLaunchKernel', &__cuLaunchKernel, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuPointerGetAttributes' in found_functions}}
+ global __cuPointerGetAttributes
+ _F_cuGetProcAddress_v2('cuPointerGetAttributes', &__cuPointerGetAttributes, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuLaunchKernelEx' in found_functions}}
- global __cuLaunchKernelEx
- cuGetProcAddress('cuLaunchKernelEx', &__cuLaunchKernelEx, 11060, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuStreamCreate' in found_functions}}
+ global __cuStreamCreate
+ _F_cuGetProcAddress_v2('cuStreamCreate', &__cuStreamCreate, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuLaunchCooperativeKernel' in found_functions}}
- global __cuLaunchCooperativeKernel
- cuGetProcAddress('cuLaunchCooperativeKernel', &__cuLaunchCooperativeKernel, 9000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuStreamCreateWithPriority' in found_functions}}
+ global __cuStreamCreateWithPriority
+ _F_cuGetProcAddress_v2('cuStreamCreateWithPriority', &__cuStreamCreateWithPriority, 5050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuLaunchHostFunc' in found_functions}}
- global __cuLaunchHostFunc
- cuGetProcAddress('cuLaunchHostFunc', &__cuLaunchHostFunc, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuThreadExchangeStreamCaptureMode' in found_functions}}
+ global __cuThreadExchangeStreamCaptureMode
+ _F_cuGetProcAddress_v2('cuThreadExchangeStreamCaptureMode', &__cuThreadExchangeStreamCaptureMode, 10010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuGraphInstantiateWithParams' in found_functions}}
- global __cuGraphInstantiateWithParams
- cuGetProcAddress('cuGraphInstantiateWithParams', &__cuGraphInstantiateWithParams, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuStreamDestroy_v2' in found_functions}}
+ global __cuStreamDestroy_v2
+ _F_cuGetProcAddress_v2('cuStreamDestroy', &__cuStreamDestroy_v2, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuGraphUpload' in found_functions}}
- global __cuGraphUpload
- cuGetProcAddress('cuGraphUpload', &__cuGraphUpload, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuEventCreate' in found_functions}}
+ global __cuEventCreate
+ _F_cuGetProcAddress_v2('cuEventCreate', &__cuEventCreate, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuGraphLaunch' in found_functions}}
- global __cuGraphLaunch
- cuGetProcAddress('cuGraphLaunch', &__cuGraphLaunch, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuEventQuery' in found_functions}}
+ global __cuEventQuery
+ _F_cuGetProcAddress_v2('cuEventQuery', &__cuEventQuery, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuGraphicsMapResources' in found_functions}}
- global __cuGraphicsMapResources
- cuGetProcAddress('cuGraphicsMapResources', &__cuGraphicsMapResources, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuEventSynchronize' in found_functions}}
+ global __cuEventSynchronize
+ _F_cuGetProcAddress_v2('cuEventSynchronize', &__cuEventSynchronize, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- {{if 'cuGraphicsUnmapResources' in found_functions}}
- global __cuGraphicsUnmapResources
- cuGetProcAddress('cuGraphicsUnmapResources', &__cuGraphicsUnmapResources, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
+ {{if 'cuEventDestroy_v2' in found_functions}}
+ global __cuEventDestroy_v2
+ _F_cuGetProcAddress_v2('cuEventDestroy', &__cuEventDestroy_v2, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
{{endif}}
- # Get remaining functions
- {{if 'cuGetErrorString' in found_functions}}
- global __cuGetErrorString
- cuGetProcAddress('cuGetErrorString', &__cuGetErrorString, 6000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGetErrorName' in found_functions}}
- global __cuGetErrorName
- cuGetProcAddress('cuGetErrorName', &__cuGetErrorName, 6000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuInit' in found_functions}}
- global __cuInit
- cuGetProcAddress('cuInit', &__cuInit, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDriverGetVersion' in found_functions}}
- global __cuDriverGetVersion
- cuGetProcAddress('cuDriverGetVersion', &__cuDriverGetVersion, 2020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGet' in found_functions}}
- global __cuDeviceGet
- cuGetProcAddress('cuDeviceGet', &__cuDeviceGet, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetCount' in found_functions}}
- global __cuDeviceGetCount
- cuGetProcAddress('cuDeviceGetCount', &__cuDeviceGetCount, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetName' in found_functions}}
- global __cuDeviceGetName
- cuGetProcAddress('cuDeviceGetName', &__cuDeviceGetName, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetUuid' in found_functions}}
- global __cuDeviceGetUuid
- cuGetProcAddress('cuDeviceGetUuid', &__cuDeviceGetUuid, 9020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetUuid_v2' in found_functions}}
- global __cuDeviceGetUuid_v2
- cuGetProcAddress('cuDeviceGetUuid', &__cuDeviceGetUuid_v2, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetLuid' in found_functions}}
- global __cuDeviceGetLuid
- cuGetProcAddress('cuDeviceGetLuid', &__cuDeviceGetLuid, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceTotalMem_v2' in found_functions}}
- global __cuDeviceTotalMem_v2
- cuGetProcAddress('cuDeviceTotalMem', &__cuDeviceTotalMem_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetTexture1DLinearMaxWidth' in found_functions}}
- global __cuDeviceGetTexture1DLinearMaxWidth
- cuGetProcAddress('cuDeviceGetTexture1DLinearMaxWidth', &__cuDeviceGetTexture1DLinearMaxWidth, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetAttribute' in found_functions}}
- global __cuDeviceGetAttribute
- cuGetProcAddress('cuDeviceGetAttribute', &__cuDeviceGetAttribute, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetNvSciSyncAttributes' in found_functions}}
- global __cuDeviceGetNvSciSyncAttributes
- cuGetProcAddress('cuDeviceGetNvSciSyncAttributes', &__cuDeviceGetNvSciSyncAttributes, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceSetMemPool' in found_functions}}
- global __cuDeviceSetMemPool
- cuGetProcAddress('cuDeviceSetMemPool', &__cuDeviceSetMemPool, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetMemPool' in found_functions}}
- global __cuDeviceGetMemPool
- cuGetProcAddress('cuDeviceGetMemPool', &__cuDeviceGetMemPool, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetDefaultMemPool' in found_functions}}
- global __cuDeviceGetDefaultMemPool
- cuGetProcAddress('cuDeviceGetDefaultMemPool', &__cuDeviceGetDefaultMemPool, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetExecAffinitySupport' in found_functions}}
- global __cuDeviceGetExecAffinitySupport
- cuGetProcAddress('cuDeviceGetExecAffinitySupport', &__cuDeviceGetExecAffinitySupport, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuFlushGPUDirectRDMAWrites' in found_functions}}
- global __cuFlushGPUDirectRDMAWrites
- cuGetProcAddress('cuFlushGPUDirectRDMAWrites', &__cuFlushGPUDirectRDMAWrites, 11030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetProperties' in found_functions}}
- global __cuDeviceGetProperties
- cuGetProcAddress('cuDeviceGetProperties', &__cuDeviceGetProperties, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceComputeCapability' in found_functions}}
- global __cuDeviceComputeCapability
- cuGetProcAddress('cuDeviceComputeCapability', &__cuDeviceComputeCapability, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDevicePrimaryCtxRetain' in found_functions}}
- global __cuDevicePrimaryCtxRetain
- cuGetProcAddress('cuDevicePrimaryCtxRetain', &__cuDevicePrimaryCtxRetain, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDevicePrimaryCtxRelease_v2' in found_functions}}
- global __cuDevicePrimaryCtxRelease_v2
- cuGetProcAddress('cuDevicePrimaryCtxRelease', &__cuDevicePrimaryCtxRelease_v2, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDevicePrimaryCtxSetFlags_v2' in found_functions}}
- global __cuDevicePrimaryCtxSetFlags_v2
- cuGetProcAddress('cuDevicePrimaryCtxSetFlags', &__cuDevicePrimaryCtxSetFlags_v2, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDevicePrimaryCtxGetState' in found_functions}}
- global __cuDevicePrimaryCtxGetState
- cuGetProcAddress('cuDevicePrimaryCtxGetState', &__cuDevicePrimaryCtxGetState, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDevicePrimaryCtxReset_v2' in found_functions}}
- global __cuDevicePrimaryCtxReset_v2
- cuGetProcAddress('cuDevicePrimaryCtxReset', &__cuDevicePrimaryCtxReset_v2, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxCreate_v2' in found_functions}}
- global __cuCtxCreate_v2
- cuGetProcAddress('cuCtxCreate', &__cuCtxCreate_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxCreate_v3' in found_functions}}
- global __cuCtxCreate_v3
- cuGetProcAddress('cuCtxCreate', &__cuCtxCreate_v3, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxCreate_v4' in found_functions}}
- global __cuCtxCreate_v4
- cuGetProcAddress('cuCtxCreate', &__cuCtxCreate_v4, 12050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxDestroy_v2' in found_functions}}
- global __cuCtxDestroy_v2
- cuGetProcAddress('cuCtxDestroy', &__cuCtxDestroy_v2, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxPushCurrent_v2' in found_functions}}
- global __cuCtxPushCurrent_v2
- cuGetProcAddress('cuCtxPushCurrent', &__cuCtxPushCurrent_v2, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxPopCurrent_v2' in found_functions}}
- global __cuCtxPopCurrent_v2
- cuGetProcAddress('cuCtxPopCurrent', &__cuCtxPopCurrent_v2, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxSetCurrent' in found_functions}}
- global __cuCtxSetCurrent
- cuGetProcAddress('cuCtxSetCurrent', &__cuCtxSetCurrent, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxGetCurrent' in found_functions}}
- global __cuCtxGetCurrent
- cuGetProcAddress('cuCtxGetCurrent', &__cuCtxGetCurrent, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxGetDevice' in found_functions}}
- global __cuCtxGetDevice
- cuGetProcAddress('cuCtxGetDevice', &__cuCtxGetDevice, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxGetFlags' in found_functions}}
- global __cuCtxGetFlags
- cuGetProcAddress('cuCtxGetFlags', &__cuCtxGetFlags, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxSetFlags' in found_functions}}
- global __cuCtxSetFlags
- cuGetProcAddress('cuCtxSetFlags', &__cuCtxSetFlags, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxGetId' in found_functions}}
- global __cuCtxGetId
- cuGetProcAddress('cuCtxGetId', &__cuCtxGetId, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxSynchronize' in found_functions}}
- global __cuCtxSynchronize
- cuGetProcAddress('cuCtxSynchronize', &__cuCtxSynchronize, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxSetLimit' in found_functions}}
- global __cuCtxSetLimit
- cuGetProcAddress('cuCtxSetLimit', &__cuCtxSetLimit, 3010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxGetLimit' in found_functions}}
- global __cuCtxGetLimit
- cuGetProcAddress('cuCtxGetLimit', &__cuCtxGetLimit, 3010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxGetCacheConfig' in found_functions}}
- global __cuCtxGetCacheConfig
- cuGetProcAddress('cuCtxGetCacheConfig', &__cuCtxGetCacheConfig, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxSetCacheConfig' in found_functions}}
- global __cuCtxSetCacheConfig
- cuGetProcAddress('cuCtxSetCacheConfig', &__cuCtxSetCacheConfig, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxGetApiVersion' in found_functions}}
- global __cuCtxGetApiVersion
- cuGetProcAddress('cuCtxGetApiVersion', &__cuCtxGetApiVersion, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxGetStreamPriorityRange' in found_functions}}
- global __cuCtxGetStreamPriorityRange
- cuGetProcAddress('cuCtxGetStreamPriorityRange', &__cuCtxGetStreamPriorityRange, 5050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxResetPersistingL2Cache' in found_functions}}
- global __cuCtxResetPersistingL2Cache
- cuGetProcAddress('cuCtxResetPersistingL2Cache', &__cuCtxResetPersistingL2Cache, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxGetExecAffinity' in found_functions}}
- global __cuCtxGetExecAffinity
- cuGetProcAddress('cuCtxGetExecAffinity', &__cuCtxGetExecAffinity, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxRecordEvent' in found_functions}}
- global __cuCtxRecordEvent
- cuGetProcAddress('cuCtxRecordEvent', &__cuCtxRecordEvent, 12050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxWaitEvent' in found_functions}}
- global __cuCtxWaitEvent
- cuGetProcAddress('cuCtxWaitEvent', &__cuCtxWaitEvent, 12050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxAttach' in found_functions}}
- global __cuCtxAttach
- cuGetProcAddress('cuCtxAttach', &__cuCtxAttach, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxDetach' in found_functions}}
- global __cuCtxDetach
- cuGetProcAddress('cuCtxDetach', &__cuCtxDetach, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxGetSharedMemConfig' in found_functions}}
- global __cuCtxGetSharedMemConfig
- cuGetProcAddress('cuCtxGetSharedMemConfig', &__cuCtxGetSharedMemConfig, 4020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxSetSharedMemConfig' in found_functions}}
- global __cuCtxSetSharedMemConfig
- cuGetProcAddress('cuCtxSetSharedMemConfig', &__cuCtxSetSharedMemConfig, 4020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuModuleLoad' in found_functions}}
- global __cuModuleLoad
- cuGetProcAddress('cuModuleLoad', &__cuModuleLoad, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuModuleLoadData' in found_functions}}
- global __cuModuleLoadData
- cuGetProcAddress('cuModuleLoadData', &__cuModuleLoadData, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuModuleLoadDataEx' in found_functions}}
- global __cuModuleLoadDataEx
- cuGetProcAddress('cuModuleLoadDataEx', &__cuModuleLoadDataEx, 2010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuModuleLoadFatBinary' in found_functions}}
- global __cuModuleLoadFatBinary
- cuGetProcAddress('cuModuleLoadFatBinary', &__cuModuleLoadFatBinary, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuModuleUnload' in found_functions}}
- global __cuModuleUnload
- cuGetProcAddress('cuModuleUnload', &__cuModuleUnload, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuModuleGetLoadingMode' in found_functions}}
- global __cuModuleGetLoadingMode
- cuGetProcAddress('cuModuleGetLoadingMode', &__cuModuleGetLoadingMode, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuModuleGetFunction' in found_functions}}
- global __cuModuleGetFunction
- cuGetProcAddress('cuModuleGetFunction', &__cuModuleGetFunction, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuModuleGetFunctionCount' in found_functions}}
- global __cuModuleGetFunctionCount
- cuGetProcAddress('cuModuleGetFunctionCount', &__cuModuleGetFunctionCount, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuModuleEnumerateFunctions' in found_functions}}
- global __cuModuleEnumerateFunctions
- cuGetProcAddress('cuModuleEnumerateFunctions', &__cuModuleEnumerateFunctions, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuModuleGetGlobal_v2' in found_functions}}
- global __cuModuleGetGlobal_v2
- cuGetProcAddress('cuModuleGetGlobal', &__cuModuleGetGlobal_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLinkCreate_v2' in found_functions}}
- global __cuLinkCreate_v2
- cuGetProcAddress('cuLinkCreate', &__cuLinkCreate_v2, 6050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLinkAddData_v2' in found_functions}}
- global __cuLinkAddData_v2
- cuGetProcAddress('cuLinkAddData', &__cuLinkAddData_v2, 6050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLinkAddFile_v2' in found_functions}}
- global __cuLinkAddFile_v2
- cuGetProcAddress('cuLinkAddFile', &__cuLinkAddFile_v2, 6050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLinkComplete' in found_functions}}
- global __cuLinkComplete
- cuGetProcAddress('cuLinkComplete', &__cuLinkComplete, 5050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLinkDestroy' in found_functions}}
- global __cuLinkDestroy
- cuGetProcAddress('cuLinkDestroy', &__cuLinkDestroy, 5050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuModuleGetTexRef' in found_functions}}
- global __cuModuleGetTexRef
- cuGetProcAddress('cuModuleGetTexRef', &__cuModuleGetTexRef, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuModuleGetSurfRef' in found_functions}}
- global __cuModuleGetSurfRef
- cuGetProcAddress('cuModuleGetSurfRef', &__cuModuleGetSurfRef, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLibraryLoadData' in found_functions}}
- global __cuLibraryLoadData
- cuGetProcAddress('cuLibraryLoadData', &__cuLibraryLoadData, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLibraryLoadFromFile' in found_functions}}
- global __cuLibraryLoadFromFile
- cuGetProcAddress('cuLibraryLoadFromFile', &__cuLibraryLoadFromFile, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLibraryUnload' in found_functions}}
- global __cuLibraryUnload
- cuGetProcAddress('cuLibraryUnload', &__cuLibraryUnload, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLibraryGetKernel' in found_functions}}
- global __cuLibraryGetKernel
- cuGetProcAddress('cuLibraryGetKernel', &__cuLibraryGetKernel, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLibraryGetKernelCount' in found_functions}}
- global __cuLibraryGetKernelCount
- cuGetProcAddress('cuLibraryGetKernelCount', &__cuLibraryGetKernelCount, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLibraryEnumerateKernels' in found_functions}}
- global __cuLibraryEnumerateKernels
- cuGetProcAddress('cuLibraryEnumerateKernels', &__cuLibraryEnumerateKernels, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLibraryGetModule' in found_functions}}
- global __cuLibraryGetModule
- cuGetProcAddress('cuLibraryGetModule', &__cuLibraryGetModule, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuKernelGetFunction' in found_functions}}
- global __cuKernelGetFunction
- cuGetProcAddress('cuKernelGetFunction', &__cuKernelGetFunction, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuKernelGetLibrary' in found_functions}}
- global __cuKernelGetLibrary
- cuGetProcAddress('cuKernelGetLibrary', &__cuKernelGetLibrary, 12050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLibraryGetGlobal' in found_functions}}
- global __cuLibraryGetGlobal
- cuGetProcAddress('cuLibraryGetGlobal', &__cuLibraryGetGlobal, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLibraryGetManaged' in found_functions}}
- global __cuLibraryGetManaged
- cuGetProcAddress('cuLibraryGetManaged', &__cuLibraryGetManaged, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLibraryGetUnifiedFunction' in found_functions}}
- global __cuLibraryGetUnifiedFunction
- cuGetProcAddress('cuLibraryGetUnifiedFunction', &__cuLibraryGetUnifiedFunction, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuKernelGetAttribute' in found_functions}}
- global __cuKernelGetAttribute
- cuGetProcAddress('cuKernelGetAttribute', &__cuKernelGetAttribute, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuKernelSetAttribute' in found_functions}}
- global __cuKernelSetAttribute
- cuGetProcAddress('cuKernelSetAttribute', &__cuKernelSetAttribute, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuKernelSetCacheConfig' in found_functions}}
- global __cuKernelSetCacheConfig
- cuGetProcAddress('cuKernelSetCacheConfig', &__cuKernelSetCacheConfig, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuKernelGetName' in found_functions}}
- global __cuKernelGetName
- cuGetProcAddress('cuKernelGetName', &__cuKernelGetName, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuKernelGetParamInfo' in found_functions}}
- global __cuKernelGetParamInfo
- cuGetProcAddress('cuKernelGetParamInfo', &__cuKernelGetParamInfo, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemGetInfo_v2' in found_functions}}
- global __cuMemGetInfo_v2
- cuGetProcAddress('cuMemGetInfo', &__cuMemGetInfo_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemAlloc_v2' in found_functions}}
- global __cuMemAlloc_v2
- cuGetProcAddress('cuMemAlloc', &__cuMemAlloc_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemAllocPitch_v2' in found_functions}}
- global __cuMemAllocPitch_v2
- cuGetProcAddress('cuMemAllocPitch', &__cuMemAllocPitch_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemFree_v2' in found_functions}}
- global __cuMemFree_v2
- cuGetProcAddress('cuMemFree', &__cuMemFree_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemGetAddressRange_v2' in found_functions}}
- global __cuMemGetAddressRange_v2
- cuGetProcAddress('cuMemGetAddressRange', &__cuMemGetAddressRange_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemAllocHost_v2' in found_functions}}
- global __cuMemAllocHost_v2
- cuGetProcAddress('cuMemAllocHost', &__cuMemAllocHost_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemFreeHost' in found_functions}}
- global __cuMemFreeHost
- cuGetProcAddress('cuMemFreeHost', &__cuMemFreeHost, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemHostAlloc' in found_functions}}
- global __cuMemHostAlloc
- cuGetProcAddress('cuMemHostAlloc', &__cuMemHostAlloc, 2020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemHostGetDevicePointer_v2' in found_functions}}
- global __cuMemHostGetDevicePointer_v2
- cuGetProcAddress('cuMemHostGetDevicePointer', &__cuMemHostGetDevicePointer_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemHostGetFlags' in found_functions}}
- global __cuMemHostGetFlags
- cuGetProcAddress('cuMemHostGetFlags', &__cuMemHostGetFlags, 2030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemAllocManaged' in found_functions}}
- global __cuMemAllocManaged
- cuGetProcAddress('cuMemAllocManaged', &__cuMemAllocManaged, 6000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceRegisterAsyncNotification' in found_functions}}
- global __cuDeviceRegisterAsyncNotification
- cuGetProcAddress('cuDeviceRegisterAsyncNotification', &__cuDeviceRegisterAsyncNotification, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceUnregisterAsyncNotification' in found_functions}}
- global __cuDeviceUnregisterAsyncNotification
- cuGetProcAddress('cuDeviceUnregisterAsyncNotification', &__cuDeviceUnregisterAsyncNotification, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetByPCIBusId' in found_functions}}
- global __cuDeviceGetByPCIBusId
- cuGetProcAddress('cuDeviceGetByPCIBusId', &__cuDeviceGetByPCIBusId, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetPCIBusId' in found_functions}}
- global __cuDeviceGetPCIBusId
- cuGetProcAddress('cuDeviceGetPCIBusId', &__cuDeviceGetPCIBusId, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuIpcGetEventHandle' in found_functions}}
- global __cuIpcGetEventHandle
- cuGetProcAddress('cuIpcGetEventHandle', &__cuIpcGetEventHandle, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuIpcOpenEventHandle' in found_functions}}
- global __cuIpcOpenEventHandle
- cuGetProcAddress('cuIpcOpenEventHandle', &__cuIpcOpenEventHandle, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuIpcGetMemHandle' in found_functions}}
- global __cuIpcGetMemHandle
- cuGetProcAddress('cuIpcGetMemHandle', &__cuIpcGetMemHandle, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuIpcOpenMemHandle_v2' in found_functions}}
- global __cuIpcOpenMemHandle_v2
- cuGetProcAddress('cuIpcOpenMemHandle', &__cuIpcOpenMemHandle_v2, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuIpcCloseMemHandle' in found_functions}}
- global __cuIpcCloseMemHandle
- cuGetProcAddress('cuIpcCloseMemHandle', &__cuIpcCloseMemHandle, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemHostRegister_v2' in found_functions}}
- global __cuMemHostRegister_v2
- cuGetProcAddress('cuMemHostRegister', &__cuMemHostRegister_v2, 6050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemHostUnregister' in found_functions}}
- global __cuMemHostUnregister
- cuGetProcAddress('cuMemHostUnregister', &__cuMemHostUnregister, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuArrayCreate_v2' in found_functions}}
- global __cuArrayCreate_v2
- cuGetProcAddress('cuArrayCreate', &__cuArrayCreate_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuArrayGetDescriptor_v2' in found_functions}}
- global __cuArrayGetDescriptor_v2
- cuGetProcAddress('cuArrayGetDescriptor', &__cuArrayGetDescriptor_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuArrayGetSparseProperties' in found_functions}}
- global __cuArrayGetSparseProperties
- cuGetProcAddress('cuArrayGetSparseProperties', &__cuArrayGetSparseProperties, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMipmappedArrayGetSparseProperties' in found_functions}}
- global __cuMipmappedArrayGetSparseProperties
- cuGetProcAddress('cuMipmappedArrayGetSparseProperties', &__cuMipmappedArrayGetSparseProperties, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuArrayGetMemoryRequirements' in found_functions}}
- global __cuArrayGetMemoryRequirements
- cuGetProcAddress('cuArrayGetMemoryRequirements', &__cuArrayGetMemoryRequirements, 11060, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMipmappedArrayGetMemoryRequirements' in found_functions}}
- global __cuMipmappedArrayGetMemoryRequirements
- cuGetProcAddress('cuMipmappedArrayGetMemoryRequirements', &__cuMipmappedArrayGetMemoryRequirements, 11060, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuArrayGetPlane' in found_functions}}
- global __cuArrayGetPlane
- cuGetProcAddress('cuArrayGetPlane', &__cuArrayGetPlane, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuArrayDestroy' in found_functions}}
- global __cuArrayDestroy
- cuGetProcAddress('cuArrayDestroy', &__cuArrayDestroy, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuArray3DCreate_v2' in found_functions}}
- global __cuArray3DCreate_v2
- cuGetProcAddress('cuArray3DCreate', &__cuArray3DCreate_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuArray3DGetDescriptor_v2' in found_functions}}
- global __cuArray3DGetDescriptor_v2
- cuGetProcAddress('cuArray3DGetDescriptor', &__cuArray3DGetDescriptor_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMipmappedArrayCreate' in found_functions}}
- global __cuMipmappedArrayCreate
- cuGetProcAddress('cuMipmappedArrayCreate', &__cuMipmappedArrayCreate, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMipmappedArrayGetLevel' in found_functions}}
- global __cuMipmappedArrayGetLevel
- cuGetProcAddress('cuMipmappedArrayGetLevel', &__cuMipmappedArrayGetLevel, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMipmappedArrayDestroy' in found_functions}}
- global __cuMipmappedArrayDestroy
- cuGetProcAddress('cuMipmappedArrayDestroy', &__cuMipmappedArrayDestroy, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemGetHandleForAddressRange' in found_functions}}
- global __cuMemGetHandleForAddressRange
- cuGetProcAddress('cuMemGetHandleForAddressRange', &__cuMemGetHandleForAddressRange, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemAddressReserve' in found_functions}}
- global __cuMemAddressReserve
- cuGetProcAddress('cuMemAddressReserve', &__cuMemAddressReserve, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemAddressFree' in found_functions}}
- global __cuMemAddressFree
- cuGetProcAddress('cuMemAddressFree', &__cuMemAddressFree, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemCreate' in found_functions}}
- global __cuMemCreate
- cuGetProcAddress('cuMemCreate', &__cuMemCreate, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemRelease' in found_functions}}
- global __cuMemRelease
- cuGetProcAddress('cuMemRelease', &__cuMemRelease, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemMap' in found_functions}}
- global __cuMemMap
- cuGetProcAddress('cuMemMap', &__cuMemMap, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemUnmap' in found_functions}}
- global __cuMemUnmap
- cuGetProcAddress('cuMemUnmap', &__cuMemUnmap, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemSetAccess' in found_functions}}
- global __cuMemSetAccess
- cuGetProcAddress('cuMemSetAccess', &__cuMemSetAccess, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemGetAccess' in found_functions}}
- global __cuMemGetAccess
- cuGetProcAddress('cuMemGetAccess', &__cuMemGetAccess, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemExportToShareableHandle' in found_functions}}
- global __cuMemExportToShareableHandle
- cuGetProcAddress('cuMemExportToShareableHandle', &__cuMemExportToShareableHandle, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemImportFromShareableHandle' in found_functions}}
- global __cuMemImportFromShareableHandle
- cuGetProcAddress('cuMemImportFromShareableHandle', &__cuMemImportFromShareableHandle, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemGetAllocationGranularity' in found_functions}}
- global __cuMemGetAllocationGranularity
- cuGetProcAddress('cuMemGetAllocationGranularity', &__cuMemGetAllocationGranularity, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemGetAllocationPropertiesFromHandle' in found_functions}}
- global __cuMemGetAllocationPropertiesFromHandle
- cuGetProcAddress('cuMemGetAllocationPropertiesFromHandle', &__cuMemGetAllocationPropertiesFromHandle, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemRetainAllocationHandle' in found_functions}}
- global __cuMemRetainAllocationHandle
- cuGetProcAddress('cuMemRetainAllocationHandle', &__cuMemRetainAllocationHandle, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemPoolTrimTo' in found_functions}}
- global __cuMemPoolTrimTo
- cuGetProcAddress('cuMemPoolTrimTo', &__cuMemPoolTrimTo, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemPoolSetAttribute' in found_functions}}
- global __cuMemPoolSetAttribute
- cuGetProcAddress('cuMemPoolSetAttribute', &__cuMemPoolSetAttribute, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemPoolGetAttribute' in found_functions}}
- global __cuMemPoolGetAttribute
- cuGetProcAddress('cuMemPoolGetAttribute', &__cuMemPoolGetAttribute, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemPoolSetAccess' in found_functions}}
- global __cuMemPoolSetAccess
- cuGetProcAddress('cuMemPoolSetAccess', &__cuMemPoolSetAccess, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemPoolGetAccess' in found_functions}}
- global __cuMemPoolGetAccess
- cuGetProcAddress('cuMemPoolGetAccess', &__cuMemPoolGetAccess, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemPoolCreate' in found_functions}}
- global __cuMemPoolCreate
- cuGetProcAddress('cuMemPoolCreate', &__cuMemPoolCreate, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemPoolDestroy' in found_functions}}
- global __cuMemPoolDestroy
- cuGetProcAddress('cuMemPoolDestroy', &__cuMemPoolDestroy, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemPoolExportToShareableHandle' in found_functions}}
- global __cuMemPoolExportToShareableHandle
- cuGetProcAddress('cuMemPoolExportToShareableHandle', &__cuMemPoolExportToShareableHandle, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemPoolImportFromShareableHandle' in found_functions}}
- global __cuMemPoolImportFromShareableHandle
- cuGetProcAddress('cuMemPoolImportFromShareableHandle', &__cuMemPoolImportFromShareableHandle, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemPoolExportPointer' in found_functions}}
- global __cuMemPoolExportPointer
- cuGetProcAddress('cuMemPoolExportPointer', &__cuMemPoolExportPointer, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemPoolImportPointer' in found_functions}}
- global __cuMemPoolImportPointer
- cuGetProcAddress('cuMemPoolImportPointer', &__cuMemPoolImportPointer, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMulticastCreate' in found_functions}}
- global __cuMulticastCreate
- cuGetProcAddress('cuMulticastCreate', &__cuMulticastCreate, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMulticastAddDevice' in found_functions}}
- global __cuMulticastAddDevice
- cuGetProcAddress('cuMulticastAddDevice', &__cuMulticastAddDevice, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMulticastBindMem' in found_functions}}
- global __cuMulticastBindMem
- cuGetProcAddress('cuMulticastBindMem', &__cuMulticastBindMem, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMulticastBindAddr' in found_functions}}
- global __cuMulticastBindAddr
- cuGetProcAddress('cuMulticastBindAddr', &__cuMulticastBindAddr, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMulticastUnbind' in found_functions}}
- global __cuMulticastUnbind
- cuGetProcAddress('cuMulticastUnbind', &__cuMulticastUnbind, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMulticastGetGranularity' in found_functions}}
- global __cuMulticastGetGranularity
- cuGetProcAddress('cuMulticastGetGranularity', &__cuMulticastGetGranularity, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuPointerGetAttribute' in found_functions}}
- global __cuPointerGetAttribute
- cuGetProcAddress('cuPointerGetAttribute', &__cuPointerGetAttribute, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemAdvise' in found_functions}}
- global __cuMemAdvise
- cuGetProcAddress('cuMemAdvise', &__cuMemAdvise, 8000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemAdvise_v2' in found_functions}}
- global __cuMemAdvise_v2
- cuGetProcAddress('cuMemAdvise', &__cuMemAdvise_v2, 12020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemRangeGetAttribute' in found_functions}}
- global __cuMemRangeGetAttribute
- cuGetProcAddress('cuMemRangeGetAttribute', &__cuMemRangeGetAttribute, 8000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuMemRangeGetAttributes' in found_functions}}
- global __cuMemRangeGetAttributes
- cuGetProcAddress('cuMemRangeGetAttributes', &__cuMemRangeGetAttributes, 8000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuPointerSetAttribute' in found_functions}}
- global __cuPointerSetAttribute
- cuGetProcAddress('cuPointerSetAttribute', &__cuPointerSetAttribute, 6000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuPointerGetAttributes' in found_functions}}
- global __cuPointerGetAttributes
- cuGetProcAddress('cuPointerGetAttributes', &__cuPointerGetAttributes, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuStreamCreate' in found_functions}}
- global __cuStreamCreate
- cuGetProcAddress('cuStreamCreate', &__cuStreamCreate, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuStreamCreateWithPriority' in found_functions}}
- global __cuStreamCreateWithPriority
- cuGetProcAddress('cuStreamCreateWithPriority', &__cuStreamCreateWithPriority, 5050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuThreadExchangeStreamCaptureMode' in found_functions}}
- global __cuThreadExchangeStreamCaptureMode
- cuGetProcAddress('cuThreadExchangeStreamCaptureMode', &__cuThreadExchangeStreamCaptureMode, 10010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuStreamDestroy_v2' in found_functions}}
- global __cuStreamDestroy_v2
- cuGetProcAddress('cuStreamDestroy', &__cuStreamDestroy_v2, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuEventCreate' in found_functions}}
- global __cuEventCreate
- cuGetProcAddress('cuEventCreate', &__cuEventCreate, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuEventQuery' in found_functions}}
- global __cuEventQuery
- cuGetProcAddress('cuEventQuery', &__cuEventQuery, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuEventSynchronize' in found_functions}}
- global __cuEventSynchronize
- cuGetProcAddress('cuEventSynchronize', &__cuEventSynchronize, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuEventDestroy_v2' in found_functions}}
- global __cuEventDestroy_v2
- cuGetProcAddress('cuEventDestroy', &__cuEventDestroy_v2, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuEventElapsedTime' in found_functions}}
- global __cuEventElapsedTime
- cuGetProcAddress('cuEventElapsedTime', &__cuEventElapsedTime, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuEventElapsedTime_v2' in found_functions}}
- global __cuEventElapsedTime_v2
- cuGetProcAddress('cuEventElapsedTime', &__cuEventElapsedTime_v2, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuImportExternalMemory' in found_functions}}
- global __cuImportExternalMemory
- cuGetProcAddress('cuImportExternalMemory', &__cuImportExternalMemory, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuExternalMemoryGetMappedBuffer' in found_functions}}
- global __cuExternalMemoryGetMappedBuffer
- cuGetProcAddress('cuExternalMemoryGetMappedBuffer', &__cuExternalMemoryGetMappedBuffer, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuExternalMemoryGetMappedMipmappedArray' in found_functions}}
- global __cuExternalMemoryGetMappedMipmappedArray
- cuGetProcAddress('cuExternalMemoryGetMappedMipmappedArray', &__cuExternalMemoryGetMappedMipmappedArray, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDestroyExternalMemory' in found_functions}}
- global __cuDestroyExternalMemory
- cuGetProcAddress('cuDestroyExternalMemory', &__cuDestroyExternalMemory, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuImportExternalSemaphore' in found_functions}}
- global __cuImportExternalSemaphore
- cuGetProcAddress('cuImportExternalSemaphore', &__cuImportExternalSemaphore, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDestroyExternalSemaphore' in found_functions}}
- global __cuDestroyExternalSemaphore
- cuGetProcAddress('cuDestroyExternalSemaphore', &__cuDestroyExternalSemaphore, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuFuncGetAttribute' in found_functions}}
- global __cuFuncGetAttribute
- cuGetProcAddress('cuFuncGetAttribute', &__cuFuncGetAttribute, 2020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuFuncSetAttribute' in found_functions}}
- global __cuFuncSetAttribute
- cuGetProcAddress('cuFuncSetAttribute', &__cuFuncSetAttribute, 9000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuFuncSetCacheConfig' in found_functions}}
- global __cuFuncSetCacheConfig
- cuGetProcAddress('cuFuncSetCacheConfig', &__cuFuncSetCacheConfig, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuFuncGetModule' in found_functions}}
- global __cuFuncGetModule
- cuGetProcAddress('cuFuncGetModule', &__cuFuncGetModule, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuFuncGetName' in found_functions}}
- global __cuFuncGetName
- cuGetProcAddress('cuFuncGetName', &__cuFuncGetName, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuFuncGetParamInfo' in found_functions}}
- global __cuFuncGetParamInfo
- cuGetProcAddress('cuFuncGetParamInfo', &__cuFuncGetParamInfo, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuFuncIsLoaded' in found_functions}}
- global __cuFuncIsLoaded
- cuGetProcAddress('cuFuncIsLoaded', &__cuFuncIsLoaded, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuFuncLoad' in found_functions}}
- global __cuFuncLoad
- cuGetProcAddress('cuFuncLoad', &__cuFuncLoad, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLaunchCooperativeKernelMultiDevice' in found_functions}}
- global __cuLaunchCooperativeKernelMultiDevice
- cuGetProcAddress('cuLaunchCooperativeKernelMultiDevice', &__cuLaunchCooperativeKernelMultiDevice, 9000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuFuncSetBlockShape' in found_functions}}
- global __cuFuncSetBlockShape
- cuGetProcAddress('cuFuncSetBlockShape', &__cuFuncSetBlockShape, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuFuncSetSharedSize' in found_functions}}
- global __cuFuncSetSharedSize
- cuGetProcAddress('cuFuncSetSharedSize', &__cuFuncSetSharedSize, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuParamSetSize' in found_functions}}
- global __cuParamSetSize
- cuGetProcAddress('cuParamSetSize', &__cuParamSetSize, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuParamSeti' in found_functions}}
- global __cuParamSeti
- cuGetProcAddress('cuParamSeti', &__cuParamSeti, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuParamSetf' in found_functions}}
- global __cuParamSetf
- cuGetProcAddress('cuParamSetf', &__cuParamSetf, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuParamSetv' in found_functions}}
- global __cuParamSetv
- cuGetProcAddress('cuParamSetv', &__cuParamSetv, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLaunch' in found_functions}}
- global __cuLaunch
- cuGetProcAddress('cuLaunch', &__cuLaunch, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLaunchGrid' in found_functions}}
- global __cuLaunchGrid
- cuGetProcAddress('cuLaunchGrid', &__cuLaunchGrid, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLaunchGridAsync' in found_functions}}
- global __cuLaunchGridAsync
- cuGetProcAddress('cuLaunchGridAsync', &__cuLaunchGridAsync, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuParamSetTexRef' in found_functions}}
- global __cuParamSetTexRef
- cuGetProcAddress('cuParamSetTexRef', &__cuParamSetTexRef, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuFuncSetSharedMemConfig' in found_functions}}
- global __cuFuncSetSharedMemConfig
- cuGetProcAddress('cuFuncSetSharedMemConfig', &__cuFuncSetSharedMemConfig, 4020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphCreate' in found_functions}}
- global __cuGraphCreate
- cuGetProcAddress('cuGraphCreate', &__cuGraphCreate, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddKernelNode_v2' in found_functions}}
- global __cuGraphAddKernelNode_v2
- cuGetProcAddress('cuGraphAddKernelNode', &__cuGraphAddKernelNode_v2, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphKernelNodeGetParams_v2' in found_functions}}
- global __cuGraphKernelNodeGetParams_v2
- cuGetProcAddress('cuGraphKernelNodeGetParams', &__cuGraphKernelNodeGetParams_v2, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphKernelNodeSetParams_v2' in found_functions}}
- global __cuGraphKernelNodeSetParams_v2
- cuGetProcAddress('cuGraphKernelNodeSetParams', &__cuGraphKernelNodeSetParams_v2, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddMemcpyNode' in found_functions}}
- global __cuGraphAddMemcpyNode
- cuGetProcAddress('cuGraphAddMemcpyNode', &__cuGraphAddMemcpyNode, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphMemcpyNodeGetParams' in found_functions}}
- global __cuGraphMemcpyNodeGetParams
- cuGetProcAddress('cuGraphMemcpyNodeGetParams', &__cuGraphMemcpyNodeGetParams, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphMemcpyNodeSetParams' in found_functions}}
- global __cuGraphMemcpyNodeSetParams
- cuGetProcAddress('cuGraphMemcpyNodeSetParams', &__cuGraphMemcpyNodeSetParams, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddMemsetNode' in found_functions}}
- global __cuGraphAddMemsetNode
- cuGetProcAddress('cuGraphAddMemsetNode', &__cuGraphAddMemsetNode, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphMemsetNodeGetParams' in found_functions}}
- global __cuGraphMemsetNodeGetParams
- cuGetProcAddress('cuGraphMemsetNodeGetParams', &__cuGraphMemsetNodeGetParams, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphMemsetNodeSetParams' in found_functions}}
- global __cuGraphMemsetNodeSetParams
- cuGetProcAddress('cuGraphMemsetNodeSetParams', &__cuGraphMemsetNodeSetParams, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddHostNode' in found_functions}}
- global __cuGraphAddHostNode
- cuGetProcAddress('cuGraphAddHostNode', &__cuGraphAddHostNode, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphHostNodeGetParams' in found_functions}}
- global __cuGraphHostNodeGetParams
- cuGetProcAddress('cuGraphHostNodeGetParams', &__cuGraphHostNodeGetParams, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphHostNodeSetParams' in found_functions}}
- global __cuGraphHostNodeSetParams
- cuGetProcAddress('cuGraphHostNodeSetParams', &__cuGraphHostNodeSetParams, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddChildGraphNode' in found_functions}}
- global __cuGraphAddChildGraphNode
- cuGetProcAddress('cuGraphAddChildGraphNode', &__cuGraphAddChildGraphNode, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphChildGraphNodeGetGraph' in found_functions}}
- global __cuGraphChildGraphNodeGetGraph
- cuGetProcAddress('cuGraphChildGraphNodeGetGraph', &__cuGraphChildGraphNodeGetGraph, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddEmptyNode' in found_functions}}
- global __cuGraphAddEmptyNode
- cuGetProcAddress('cuGraphAddEmptyNode', &__cuGraphAddEmptyNode, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddEventRecordNode' in found_functions}}
- global __cuGraphAddEventRecordNode
- cuGetProcAddress('cuGraphAddEventRecordNode', &__cuGraphAddEventRecordNode, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphEventRecordNodeGetEvent' in found_functions}}
- global __cuGraphEventRecordNodeGetEvent
- cuGetProcAddress('cuGraphEventRecordNodeGetEvent', &__cuGraphEventRecordNodeGetEvent, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphEventRecordNodeSetEvent' in found_functions}}
- global __cuGraphEventRecordNodeSetEvent
- cuGetProcAddress('cuGraphEventRecordNodeSetEvent', &__cuGraphEventRecordNodeSetEvent, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddEventWaitNode' in found_functions}}
- global __cuGraphAddEventWaitNode
- cuGetProcAddress('cuGraphAddEventWaitNode', &__cuGraphAddEventWaitNode, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphEventWaitNodeGetEvent' in found_functions}}
- global __cuGraphEventWaitNodeGetEvent
- cuGetProcAddress('cuGraphEventWaitNodeGetEvent', &__cuGraphEventWaitNodeGetEvent, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphEventWaitNodeSetEvent' in found_functions}}
- global __cuGraphEventWaitNodeSetEvent
- cuGetProcAddress('cuGraphEventWaitNodeSetEvent', &__cuGraphEventWaitNodeSetEvent, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddExternalSemaphoresSignalNode' in found_functions}}
- global __cuGraphAddExternalSemaphoresSignalNode
- cuGetProcAddress('cuGraphAddExternalSemaphoresSignalNode', &__cuGraphAddExternalSemaphoresSignalNode, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExternalSemaphoresSignalNodeGetParams' in found_functions}}
- global __cuGraphExternalSemaphoresSignalNodeGetParams
- cuGetProcAddress('cuGraphExternalSemaphoresSignalNodeGetParams', &__cuGraphExternalSemaphoresSignalNodeGetParams, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExternalSemaphoresSignalNodeSetParams' in found_functions}}
- global __cuGraphExternalSemaphoresSignalNodeSetParams
- cuGetProcAddress('cuGraphExternalSemaphoresSignalNodeSetParams', &__cuGraphExternalSemaphoresSignalNodeSetParams, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddExternalSemaphoresWaitNode' in found_functions}}
- global __cuGraphAddExternalSemaphoresWaitNode
- cuGetProcAddress('cuGraphAddExternalSemaphoresWaitNode', &__cuGraphAddExternalSemaphoresWaitNode, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExternalSemaphoresWaitNodeGetParams' in found_functions}}
- global __cuGraphExternalSemaphoresWaitNodeGetParams
- cuGetProcAddress('cuGraphExternalSemaphoresWaitNodeGetParams', &__cuGraphExternalSemaphoresWaitNodeGetParams, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExternalSemaphoresWaitNodeSetParams' in found_functions}}
- global __cuGraphExternalSemaphoresWaitNodeSetParams
- cuGetProcAddress('cuGraphExternalSemaphoresWaitNodeSetParams', &__cuGraphExternalSemaphoresWaitNodeSetParams, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddBatchMemOpNode' in found_functions}}
- global __cuGraphAddBatchMemOpNode
- cuGetProcAddress('cuGraphAddBatchMemOpNode', &__cuGraphAddBatchMemOpNode, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphBatchMemOpNodeGetParams' in found_functions}}
- global __cuGraphBatchMemOpNodeGetParams
- cuGetProcAddress('cuGraphBatchMemOpNodeGetParams', &__cuGraphBatchMemOpNodeGetParams, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphBatchMemOpNodeSetParams' in found_functions}}
- global __cuGraphBatchMemOpNodeSetParams
- cuGetProcAddress('cuGraphBatchMemOpNodeSetParams', &__cuGraphBatchMemOpNodeSetParams, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecBatchMemOpNodeSetParams' in found_functions}}
- global __cuGraphExecBatchMemOpNodeSetParams
- cuGetProcAddress('cuGraphExecBatchMemOpNodeSetParams', &__cuGraphExecBatchMemOpNodeSetParams, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddMemAllocNode' in found_functions}}
- global __cuGraphAddMemAllocNode
- cuGetProcAddress('cuGraphAddMemAllocNode', &__cuGraphAddMemAllocNode, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphMemAllocNodeGetParams' in found_functions}}
- global __cuGraphMemAllocNodeGetParams
- cuGetProcAddress('cuGraphMemAllocNodeGetParams', &__cuGraphMemAllocNodeGetParams, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddMemFreeNode' in found_functions}}
- global __cuGraphAddMemFreeNode
- cuGetProcAddress('cuGraphAddMemFreeNode', &__cuGraphAddMemFreeNode, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphMemFreeNodeGetParams' in found_functions}}
- global __cuGraphMemFreeNodeGetParams
- cuGetProcAddress('cuGraphMemFreeNodeGetParams', &__cuGraphMemFreeNodeGetParams, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGraphMemTrim' in found_functions}}
- global __cuDeviceGraphMemTrim
- cuGetProcAddress('cuDeviceGraphMemTrim', &__cuDeviceGraphMemTrim, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetGraphMemAttribute' in found_functions}}
- global __cuDeviceGetGraphMemAttribute
- cuGetProcAddress('cuDeviceGetGraphMemAttribute', &__cuDeviceGetGraphMemAttribute, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceSetGraphMemAttribute' in found_functions}}
- global __cuDeviceSetGraphMemAttribute
- cuGetProcAddress('cuDeviceSetGraphMemAttribute', &__cuDeviceSetGraphMemAttribute, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphClone' in found_functions}}
- global __cuGraphClone
- cuGetProcAddress('cuGraphClone', &__cuGraphClone, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphNodeFindInClone' in found_functions}}
- global __cuGraphNodeFindInClone
- cuGetProcAddress('cuGraphNodeFindInClone', &__cuGraphNodeFindInClone, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphNodeGetType' in found_functions}}
- global __cuGraphNodeGetType
- cuGetProcAddress('cuGraphNodeGetType', &__cuGraphNodeGetType, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphGetNodes' in found_functions}}
- global __cuGraphGetNodes
- cuGetProcAddress('cuGraphGetNodes', &__cuGraphGetNodes, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphGetRootNodes' in found_functions}}
- global __cuGraphGetRootNodes
- cuGetProcAddress('cuGraphGetRootNodes', &__cuGraphGetRootNodes, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphGetEdges' in found_functions}}
- global __cuGraphGetEdges
- cuGetProcAddress('cuGraphGetEdges', &__cuGraphGetEdges, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphGetEdges_v2' in found_functions}}
- global __cuGraphGetEdges_v2
- cuGetProcAddress('cuGraphGetEdges', &__cuGraphGetEdges_v2, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphNodeGetDependencies' in found_functions}}
- global __cuGraphNodeGetDependencies
- cuGetProcAddress('cuGraphNodeGetDependencies', &__cuGraphNodeGetDependencies, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphNodeGetDependencies_v2' in found_functions}}
- global __cuGraphNodeGetDependencies_v2
- cuGetProcAddress('cuGraphNodeGetDependencies', &__cuGraphNodeGetDependencies_v2, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphNodeGetDependentNodes' in found_functions}}
- global __cuGraphNodeGetDependentNodes
- cuGetProcAddress('cuGraphNodeGetDependentNodes', &__cuGraphNodeGetDependentNodes, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphNodeGetDependentNodes_v2' in found_functions}}
- global __cuGraphNodeGetDependentNodes_v2
- cuGetProcAddress('cuGraphNodeGetDependentNodes', &__cuGraphNodeGetDependentNodes_v2, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddDependencies' in found_functions}}
- global __cuGraphAddDependencies
- cuGetProcAddress('cuGraphAddDependencies', &__cuGraphAddDependencies, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddDependencies_v2' in found_functions}}
- global __cuGraphAddDependencies_v2
- cuGetProcAddress('cuGraphAddDependencies', &__cuGraphAddDependencies_v2, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphRemoveDependencies' in found_functions}}
- global __cuGraphRemoveDependencies
- cuGetProcAddress('cuGraphRemoveDependencies', &__cuGraphRemoveDependencies, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphRemoveDependencies_v2' in found_functions}}
- global __cuGraphRemoveDependencies_v2
- cuGetProcAddress('cuGraphRemoveDependencies', &__cuGraphRemoveDependencies_v2, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphDestroyNode' in found_functions}}
- global __cuGraphDestroyNode
- cuGetProcAddress('cuGraphDestroyNode', &__cuGraphDestroyNode, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphInstantiateWithFlags' in found_functions}}
- global __cuGraphInstantiateWithFlags
- cuGetProcAddress('cuGraphInstantiateWithFlags', &__cuGraphInstantiateWithFlags, 11040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecGetFlags' in found_functions}}
- global __cuGraphExecGetFlags
- cuGetProcAddress('cuGraphExecGetFlags', &__cuGraphExecGetFlags, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecKernelNodeSetParams_v2' in found_functions}}
- global __cuGraphExecKernelNodeSetParams_v2
- cuGetProcAddress('cuGraphExecKernelNodeSetParams', &__cuGraphExecKernelNodeSetParams_v2, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecMemcpyNodeSetParams' in found_functions}}
- global __cuGraphExecMemcpyNodeSetParams
- cuGetProcAddress('cuGraphExecMemcpyNodeSetParams', &__cuGraphExecMemcpyNodeSetParams, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecMemsetNodeSetParams' in found_functions}}
- global __cuGraphExecMemsetNodeSetParams
- cuGetProcAddress('cuGraphExecMemsetNodeSetParams', &__cuGraphExecMemsetNodeSetParams, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecHostNodeSetParams' in found_functions}}
- global __cuGraphExecHostNodeSetParams
- cuGetProcAddress('cuGraphExecHostNodeSetParams', &__cuGraphExecHostNodeSetParams, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecChildGraphNodeSetParams' in found_functions}}
- global __cuGraphExecChildGraphNodeSetParams
- cuGetProcAddress('cuGraphExecChildGraphNodeSetParams', &__cuGraphExecChildGraphNodeSetParams, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecEventRecordNodeSetEvent' in found_functions}}
- global __cuGraphExecEventRecordNodeSetEvent
- cuGetProcAddress('cuGraphExecEventRecordNodeSetEvent', &__cuGraphExecEventRecordNodeSetEvent, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecEventWaitNodeSetEvent' in found_functions}}
- global __cuGraphExecEventWaitNodeSetEvent
- cuGetProcAddress('cuGraphExecEventWaitNodeSetEvent', &__cuGraphExecEventWaitNodeSetEvent, 11010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecExternalSemaphoresSignalNodeSetParams' in found_functions}}
- global __cuGraphExecExternalSemaphoresSignalNodeSetParams
- cuGetProcAddress('cuGraphExecExternalSemaphoresSignalNodeSetParams', &__cuGraphExecExternalSemaphoresSignalNodeSetParams, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecExternalSemaphoresWaitNodeSetParams' in found_functions}}
- global __cuGraphExecExternalSemaphoresWaitNodeSetParams
- cuGetProcAddress('cuGraphExecExternalSemaphoresWaitNodeSetParams', &__cuGraphExecExternalSemaphoresWaitNodeSetParams, 11020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphNodeSetEnabled' in found_functions}}
- global __cuGraphNodeSetEnabled
- cuGetProcAddress('cuGraphNodeSetEnabled', &__cuGraphNodeSetEnabled, 11060, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphNodeGetEnabled' in found_functions}}
- global __cuGraphNodeGetEnabled
- cuGetProcAddress('cuGraphNodeGetEnabled', &__cuGraphNodeGetEnabled, 11060, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecDestroy' in found_functions}}
- global __cuGraphExecDestroy
- cuGetProcAddress('cuGraphExecDestroy', &__cuGraphExecDestroy, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphDestroy' in found_functions}}
- global __cuGraphDestroy
- cuGetProcAddress('cuGraphDestroy', &__cuGraphDestroy, 10000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecUpdate_v2' in found_functions}}
- global __cuGraphExecUpdate_v2
- cuGetProcAddress('cuGraphExecUpdate', &__cuGraphExecUpdate_v2, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphKernelNodeCopyAttributes' in found_functions}}
- global __cuGraphKernelNodeCopyAttributes
- cuGetProcAddress('cuGraphKernelNodeCopyAttributes', &__cuGraphKernelNodeCopyAttributes, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphKernelNodeGetAttribute' in found_functions}}
- global __cuGraphKernelNodeGetAttribute
- cuGetProcAddress('cuGraphKernelNodeGetAttribute', &__cuGraphKernelNodeGetAttribute, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphKernelNodeSetAttribute' in found_functions}}
- global __cuGraphKernelNodeSetAttribute
- cuGetProcAddress('cuGraphKernelNodeSetAttribute', &__cuGraphKernelNodeSetAttribute, 11000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphDebugDotPrint' in found_functions}}
- global __cuGraphDebugDotPrint
- cuGetProcAddress('cuGraphDebugDotPrint', &__cuGraphDebugDotPrint, 11030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuUserObjectCreate' in found_functions}}
- global __cuUserObjectCreate
- cuGetProcAddress('cuUserObjectCreate', &__cuUserObjectCreate, 11030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuUserObjectRetain' in found_functions}}
- global __cuUserObjectRetain
- cuGetProcAddress('cuUserObjectRetain', &__cuUserObjectRetain, 11030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuUserObjectRelease' in found_functions}}
- global __cuUserObjectRelease
- cuGetProcAddress('cuUserObjectRelease', &__cuUserObjectRelease, 11030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphRetainUserObject' in found_functions}}
- global __cuGraphRetainUserObject
- cuGetProcAddress('cuGraphRetainUserObject', &__cuGraphRetainUserObject, 11030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphReleaseUserObject' in found_functions}}
- global __cuGraphReleaseUserObject
- cuGetProcAddress('cuGraphReleaseUserObject', &__cuGraphReleaseUserObject, 11030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddNode' in found_functions}}
- global __cuGraphAddNode
- cuGetProcAddress('cuGraphAddNode', &__cuGraphAddNode, 12020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphAddNode_v2' in found_functions}}
- global __cuGraphAddNode_v2
- cuGetProcAddress('cuGraphAddNode', &__cuGraphAddNode_v2, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphNodeSetParams' in found_functions}}
- global __cuGraphNodeSetParams
- cuGetProcAddress('cuGraphNodeSetParams', &__cuGraphNodeSetParams, 12020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphExecNodeSetParams' in found_functions}}
- global __cuGraphExecNodeSetParams
- cuGetProcAddress('cuGraphExecNodeSetParams', &__cuGraphExecNodeSetParams, 12020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphConditionalHandleCreate' in found_functions}}
- global __cuGraphConditionalHandleCreate
- cuGetProcAddress('cuGraphConditionalHandleCreate', &__cuGraphConditionalHandleCreate, 12030, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuOccupancyMaxActiveBlocksPerMultiprocessor' in found_functions}}
- global __cuOccupancyMaxActiveBlocksPerMultiprocessor
- cuGetProcAddress('cuOccupancyMaxActiveBlocksPerMultiprocessor', &__cuOccupancyMaxActiveBlocksPerMultiprocessor, 6050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags' in found_functions}}
- global __cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags
- cuGetProcAddress('cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags', &__cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuOccupancyMaxPotentialBlockSize' in found_functions}}
- global __cuOccupancyMaxPotentialBlockSize
- cuGetProcAddress('cuOccupancyMaxPotentialBlockSize', &__cuOccupancyMaxPotentialBlockSize, 6050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuOccupancyMaxPotentialBlockSizeWithFlags' in found_functions}}
- global __cuOccupancyMaxPotentialBlockSizeWithFlags
- cuGetProcAddress('cuOccupancyMaxPotentialBlockSizeWithFlags', &__cuOccupancyMaxPotentialBlockSizeWithFlags, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuOccupancyAvailableDynamicSMemPerBlock' in found_functions}}
- global __cuOccupancyAvailableDynamicSMemPerBlock
- cuGetProcAddress('cuOccupancyAvailableDynamicSMemPerBlock', &__cuOccupancyAvailableDynamicSMemPerBlock, 10020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuOccupancyMaxPotentialClusterSize' in found_functions}}
- global __cuOccupancyMaxPotentialClusterSize
- cuGetProcAddress('cuOccupancyMaxPotentialClusterSize', &__cuOccupancyMaxPotentialClusterSize, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuOccupancyMaxActiveClusters' in found_functions}}
- global __cuOccupancyMaxActiveClusters
- cuGetProcAddress('cuOccupancyMaxActiveClusters', &__cuOccupancyMaxActiveClusters, 11070, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetArray' in found_functions}}
- global __cuTexRefSetArray
- cuGetProcAddress('cuTexRefSetArray', &__cuTexRefSetArray, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetMipmappedArray' in found_functions}}
- global __cuTexRefSetMipmappedArray
- cuGetProcAddress('cuTexRefSetMipmappedArray', &__cuTexRefSetMipmappedArray, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetAddress_v2' in found_functions}}
- global __cuTexRefSetAddress_v2
- cuGetProcAddress('cuTexRefSetAddress', &__cuTexRefSetAddress_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetAddress2D_v3' in found_functions}}
- global __cuTexRefSetAddress2D_v3
- cuGetProcAddress('cuTexRefSetAddress2D', &__cuTexRefSetAddress2D_v3, 4010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetFormat' in found_functions}}
- global __cuTexRefSetFormat
- cuGetProcAddress('cuTexRefSetFormat', &__cuTexRefSetFormat, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetAddressMode' in found_functions}}
- global __cuTexRefSetAddressMode
- cuGetProcAddress('cuTexRefSetAddressMode', &__cuTexRefSetAddressMode, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetFilterMode' in found_functions}}
- global __cuTexRefSetFilterMode
- cuGetProcAddress('cuTexRefSetFilterMode', &__cuTexRefSetFilterMode, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetMipmapFilterMode' in found_functions}}
- global __cuTexRefSetMipmapFilterMode
- cuGetProcAddress('cuTexRefSetMipmapFilterMode', &__cuTexRefSetMipmapFilterMode, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetMipmapLevelBias' in found_functions}}
- global __cuTexRefSetMipmapLevelBias
- cuGetProcAddress('cuTexRefSetMipmapLevelBias', &__cuTexRefSetMipmapLevelBias, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetMipmapLevelClamp' in found_functions}}
- global __cuTexRefSetMipmapLevelClamp
- cuGetProcAddress('cuTexRefSetMipmapLevelClamp', &__cuTexRefSetMipmapLevelClamp, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetMaxAnisotropy' in found_functions}}
- global __cuTexRefSetMaxAnisotropy
- cuGetProcAddress('cuTexRefSetMaxAnisotropy', &__cuTexRefSetMaxAnisotropy, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetBorderColor' in found_functions}}
- global __cuTexRefSetBorderColor
- cuGetProcAddress('cuTexRefSetBorderColor', &__cuTexRefSetBorderColor, 8000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefSetFlags' in found_functions}}
- global __cuTexRefSetFlags
- cuGetProcAddress('cuTexRefSetFlags', &__cuTexRefSetFlags, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefGetAddress_v2' in found_functions}}
- global __cuTexRefGetAddress_v2
- cuGetProcAddress('cuTexRefGetAddress', &__cuTexRefGetAddress_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefGetArray' in found_functions}}
- global __cuTexRefGetArray
- cuGetProcAddress('cuTexRefGetArray', &__cuTexRefGetArray, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefGetMipmappedArray' in found_functions}}
- global __cuTexRefGetMipmappedArray
- cuGetProcAddress('cuTexRefGetMipmappedArray', &__cuTexRefGetMipmappedArray, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefGetAddressMode' in found_functions}}
- global __cuTexRefGetAddressMode
- cuGetProcAddress('cuTexRefGetAddressMode', &__cuTexRefGetAddressMode, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefGetFilterMode' in found_functions}}
- global __cuTexRefGetFilterMode
- cuGetProcAddress('cuTexRefGetFilterMode', &__cuTexRefGetFilterMode, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefGetFormat' in found_functions}}
- global __cuTexRefGetFormat
- cuGetProcAddress('cuTexRefGetFormat', &__cuTexRefGetFormat, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefGetMipmapFilterMode' in found_functions}}
- global __cuTexRefGetMipmapFilterMode
- cuGetProcAddress('cuTexRefGetMipmapFilterMode', &__cuTexRefGetMipmapFilterMode, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefGetMipmapLevelBias' in found_functions}}
- global __cuTexRefGetMipmapLevelBias
- cuGetProcAddress('cuTexRefGetMipmapLevelBias', &__cuTexRefGetMipmapLevelBias, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefGetMipmapLevelClamp' in found_functions}}
- global __cuTexRefGetMipmapLevelClamp
- cuGetProcAddress('cuTexRefGetMipmapLevelClamp', &__cuTexRefGetMipmapLevelClamp, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefGetMaxAnisotropy' in found_functions}}
- global __cuTexRefGetMaxAnisotropy
- cuGetProcAddress('cuTexRefGetMaxAnisotropy', &__cuTexRefGetMaxAnisotropy, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefGetBorderColor' in found_functions}}
- global __cuTexRefGetBorderColor
- cuGetProcAddress('cuTexRefGetBorderColor', &__cuTexRefGetBorderColor, 8000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefGetFlags' in found_functions}}
- global __cuTexRefGetFlags
- cuGetProcAddress('cuTexRefGetFlags', &__cuTexRefGetFlags, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefCreate' in found_functions}}
- global __cuTexRefCreate
- cuGetProcAddress('cuTexRefCreate', &__cuTexRefCreate, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexRefDestroy' in found_functions}}
- global __cuTexRefDestroy
- cuGetProcAddress('cuTexRefDestroy', &__cuTexRefDestroy, 2000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuSurfRefSetArray' in found_functions}}
- global __cuSurfRefSetArray
- cuGetProcAddress('cuSurfRefSetArray', &__cuSurfRefSetArray, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuSurfRefGetArray' in found_functions}}
- global __cuSurfRefGetArray
- cuGetProcAddress('cuSurfRefGetArray', &__cuSurfRefGetArray, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexObjectCreate' in found_functions}}
- global __cuTexObjectCreate
- cuGetProcAddress('cuTexObjectCreate', &__cuTexObjectCreate, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexObjectDestroy' in found_functions}}
- global __cuTexObjectDestroy
- cuGetProcAddress('cuTexObjectDestroy', &__cuTexObjectDestroy, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexObjectGetResourceDesc' in found_functions}}
- global __cuTexObjectGetResourceDesc
- cuGetProcAddress('cuTexObjectGetResourceDesc', &__cuTexObjectGetResourceDesc, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexObjectGetTextureDesc' in found_functions}}
- global __cuTexObjectGetTextureDesc
- cuGetProcAddress('cuTexObjectGetTextureDesc', &__cuTexObjectGetTextureDesc, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTexObjectGetResourceViewDesc' in found_functions}}
- global __cuTexObjectGetResourceViewDesc
- cuGetProcAddress('cuTexObjectGetResourceViewDesc', &__cuTexObjectGetResourceViewDesc, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuSurfObjectCreate' in found_functions}}
- global __cuSurfObjectCreate
- cuGetProcAddress('cuSurfObjectCreate', &__cuSurfObjectCreate, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuSurfObjectDestroy' in found_functions}}
- global __cuSurfObjectDestroy
- cuGetProcAddress('cuSurfObjectDestroy', &__cuSurfObjectDestroy, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuSurfObjectGetResourceDesc' in found_functions}}
- global __cuSurfObjectGetResourceDesc
- cuGetProcAddress('cuSurfObjectGetResourceDesc', &__cuSurfObjectGetResourceDesc, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTensorMapEncodeTiled' in found_functions}}
- global __cuTensorMapEncodeTiled
- cuGetProcAddress('cuTensorMapEncodeTiled', &__cuTensorMapEncodeTiled, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTensorMapEncodeIm2col' in found_functions}}
- global __cuTensorMapEncodeIm2col
- cuGetProcAddress('cuTensorMapEncodeIm2col', &__cuTensorMapEncodeIm2col, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTensorMapEncodeIm2colWide' in found_functions}}
- global __cuTensorMapEncodeIm2colWide
- cuGetProcAddress('cuTensorMapEncodeIm2colWide', &__cuTensorMapEncodeIm2colWide, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuTensorMapReplaceAddress' in found_functions}}
- global __cuTensorMapReplaceAddress
- cuGetProcAddress('cuTensorMapReplaceAddress', &__cuTensorMapReplaceAddress, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceCanAccessPeer' in found_functions}}
- global __cuDeviceCanAccessPeer
- cuGetProcAddress('cuDeviceCanAccessPeer', &__cuDeviceCanAccessPeer, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxEnablePeerAccess' in found_functions}}
- global __cuCtxEnablePeerAccess
- cuGetProcAddress('cuCtxEnablePeerAccess', &__cuCtxEnablePeerAccess, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxDisablePeerAccess' in found_functions}}
- global __cuCtxDisablePeerAccess
- cuGetProcAddress('cuCtxDisablePeerAccess', &__cuCtxDisablePeerAccess, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetP2PAttribute' in found_functions}}
- global __cuDeviceGetP2PAttribute
- cuGetProcAddress('cuDeviceGetP2PAttribute', &__cuDeviceGetP2PAttribute, 8000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphicsUnregisterResource' in found_functions}}
- global __cuGraphicsUnregisterResource
- cuGetProcAddress('cuGraphicsUnregisterResource', &__cuGraphicsUnregisterResource, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphicsSubResourceGetMappedArray' in found_functions}}
- global __cuGraphicsSubResourceGetMappedArray
- cuGetProcAddress('cuGraphicsSubResourceGetMappedArray', &__cuGraphicsSubResourceGetMappedArray, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphicsResourceGetMappedMipmappedArray' in found_functions}}
- global __cuGraphicsResourceGetMappedMipmappedArray
- cuGetProcAddress('cuGraphicsResourceGetMappedMipmappedArray', &__cuGraphicsResourceGetMappedMipmappedArray, 5000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphicsResourceGetMappedPointer_v2' in found_functions}}
- global __cuGraphicsResourceGetMappedPointer_v2
- cuGetProcAddress('cuGraphicsResourceGetMappedPointer', &__cuGraphicsResourceGetMappedPointer_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGraphicsResourceSetMapFlags_v2' in found_functions}}
- global __cuGraphicsResourceSetMapFlags_v2
- cuGetProcAddress('cuGraphicsResourceSetMapFlags', &__cuGraphicsResourceSetMapFlags_v2, 6050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGetProcAddress_v2' in found_functions}}
- global __cuGetProcAddress_v2
- cuGetProcAddress('cuGetProcAddress', &__cuGetProcAddress_v2, 12000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCoredumpGetAttribute' in found_functions}}
- global __cuCoredumpGetAttribute
- cuGetProcAddress('cuCoredumpGetAttribute', &__cuCoredumpGetAttribute, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCoredumpGetAttributeGlobal' in found_functions}}
- global __cuCoredumpGetAttributeGlobal
- cuGetProcAddress('cuCoredumpGetAttributeGlobal', &__cuCoredumpGetAttributeGlobal, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCoredumpSetAttribute' in found_functions}}
- global __cuCoredumpSetAttribute
- cuGetProcAddress('cuCoredumpSetAttribute', &__cuCoredumpSetAttribute, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCoredumpSetAttributeGlobal' in found_functions}}
- global __cuCoredumpSetAttributeGlobal
- cuGetProcAddress('cuCoredumpSetAttributeGlobal', &__cuCoredumpSetAttributeGlobal, 12010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGetExportTable' in found_functions}}
- global __cuGetExportTable
- cuGetProcAddress('cuGetExportTable', &__cuGetExportTable, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGreenCtxCreate' in found_functions}}
- global __cuGreenCtxCreate
- cuGetProcAddress('cuGreenCtxCreate', &__cuGreenCtxCreate, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGreenCtxDestroy' in found_functions}}
- global __cuGreenCtxDestroy
- cuGetProcAddress('cuGreenCtxDestroy', &__cuGreenCtxDestroy, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxFromGreenCtx' in found_functions}}
- global __cuCtxFromGreenCtx
- cuGetProcAddress('cuCtxFromGreenCtx', &__cuCtxFromGreenCtx, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDeviceGetDevResource' in found_functions}}
- global __cuDeviceGetDevResource
- cuGetProcAddress('cuDeviceGetDevResource', &__cuDeviceGetDevResource, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCtxGetDevResource' in found_functions}}
- global __cuCtxGetDevResource
- cuGetProcAddress('cuCtxGetDevResource', &__cuCtxGetDevResource, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGreenCtxGetDevResource' in found_functions}}
- global __cuGreenCtxGetDevResource
- cuGetProcAddress('cuGreenCtxGetDevResource', &__cuGreenCtxGetDevResource, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDevSmResourceSplitByCount' in found_functions}}
- global __cuDevSmResourceSplitByCount
- cuGetProcAddress('cuDevSmResourceSplitByCount', &__cuDevSmResourceSplitByCount, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuDevResourceGenerateDesc' in found_functions}}
- global __cuDevResourceGenerateDesc
- cuGetProcAddress('cuDevResourceGenerateDesc', &__cuDevResourceGenerateDesc, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGreenCtxRecordEvent' in found_functions}}
- global __cuGreenCtxRecordEvent
- cuGetProcAddress('cuGreenCtxRecordEvent', &__cuGreenCtxRecordEvent, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGreenCtxWaitEvent' in found_functions}}
- global __cuGreenCtxWaitEvent
- cuGetProcAddress('cuGreenCtxWaitEvent', &__cuGreenCtxWaitEvent, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuStreamGetGreenCtx' in found_functions}}
- global __cuStreamGetGreenCtx
- cuGetProcAddress('cuStreamGetGreenCtx', &__cuStreamGetGreenCtx, 12040, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuGreenCtxStreamCreate' in found_functions}}
- global __cuGreenCtxStreamCreate
- cuGetProcAddress('cuGreenCtxStreamCreate', &__cuGreenCtxStreamCreate, 12050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLogsRegisterCallback' in found_functions}}
- global __cuLogsRegisterCallback
- cuGetProcAddress('cuLogsRegisterCallback', &__cuLogsRegisterCallback, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLogsUnregisterCallback' in found_functions}}
- global __cuLogsUnregisterCallback
- cuGetProcAddress('cuLogsUnregisterCallback', &__cuLogsUnregisterCallback, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLogsCurrent' in found_functions}}
- global __cuLogsCurrent
- cuGetProcAddress('cuLogsCurrent', &__cuLogsCurrent, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLogsDumpToFile' in found_functions}}
- global __cuLogsDumpToFile
- cuGetProcAddress('cuLogsDumpToFile', &__cuLogsDumpToFile, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuLogsDumpToMemory' in found_functions}}
- global __cuLogsDumpToMemory
- cuGetProcAddress('cuLogsDumpToMemory', &__cuLogsDumpToMemory, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCheckpointProcessGetRestoreThreadId' in found_functions}}
- global __cuCheckpointProcessGetRestoreThreadId
- cuGetProcAddress('cuCheckpointProcessGetRestoreThreadId', &__cuCheckpointProcessGetRestoreThreadId, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCheckpointProcessGetState' in found_functions}}
- global __cuCheckpointProcessGetState
- cuGetProcAddress('cuCheckpointProcessGetState', &__cuCheckpointProcessGetState, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCheckpointProcessLock' in found_functions}}
- global __cuCheckpointProcessLock
- cuGetProcAddress('cuCheckpointProcessLock', &__cuCheckpointProcessLock, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCheckpointProcessCheckpoint' in found_functions}}
- global __cuCheckpointProcessCheckpoint
- cuGetProcAddress('cuCheckpointProcessCheckpoint', &__cuCheckpointProcessCheckpoint, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCheckpointProcessRestore' in found_functions}}
- global __cuCheckpointProcessRestore
- cuGetProcAddress('cuCheckpointProcessRestore', &__cuCheckpointProcessRestore, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuCheckpointProcessUnlock' in found_functions}}
- global __cuCheckpointProcessUnlock
- cuGetProcAddress('cuCheckpointProcessUnlock', &__cuCheckpointProcessUnlock, 12080, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuProfilerStart' in found_functions}}
- global __cuProfilerStart
- cuGetProcAddress('cuProfilerStart', &__cuProfilerStart, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if 'cuProfilerStop' in found_functions}}
- global __cuProfilerStop
- cuGetProcAddress('cuProfilerStop', &__cuProfilerStop, 4000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuGraphicsEGLRegisterImage
- cuGetProcAddress('cuGraphicsEGLRegisterImage', &__cuGraphicsEGLRegisterImage, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuEGLStreamConsumerConnect
- cuGetProcAddress('cuEGLStreamConsumerConnect', &__cuEGLStreamConsumerConnect, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuEGLStreamConsumerConnectWithFlags
- cuGetProcAddress('cuEGLStreamConsumerConnectWithFlags', &__cuEGLStreamConsumerConnectWithFlags, 8000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuEGLStreamConsumerDisconnect
- cuGetProcAddress('cuEGLStreamConsumerDisconnect', &__cuEGLStreamConsumerDisconnect, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuEGLStreamConsumerAcquireFrame
- cuGetProcAddress('cuEGLStreamConsumerAcquireFrame', &__cuEGLStreamConsumerAcquireFrame, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuEGLStreamConsumerReleaseFrame
- cuGetProcAddress('cuEGLStreamConsumerReleaseFrame', &__cuEGLStreamConsumerReleaseFrame, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuEGLStreamProducerConnect
- cuGetProcAddress('cuEGLStreamProducerConnect', &__cuEGLStreamProducerConnect, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuEGLStreamProducerDisconnect
- cuGetProcAddress('cuEGLStreamProducerDisconnect', &__cuEGLStreamProducerDisconnect, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuEGLStreamProducerPresentFrame
- cuGetProcAddress('cuEGLStreamProducerPresentFrame', &__cuEGLStreamProducerPresentFrame, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuEGLStreamProducerReturnFrame
- cuGetProcAddress('cuEGLStreamProducerReturnFrame', &__cuEGLStreamProducerReturnFrame, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuGraphicsResourceGetMappedEglFrame
- cuGetProcAddress('cuGraphicsResourceGetMappedEglFrame', &__cuGraphicsResourceGetMappedEglFrame, 7000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuEventCreateFromEGLSync
- cuGetProcAddress('cuEventCreateFromEGLSync', &__cuEventCreateFromEGLSync, 9000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuGraphicsGLRegisterBuffer
- cuGetProcAddress('cuGraphicsGLRegisterBuffer', &__cuGraphicsGLRegisterBuffer, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuGraphicsGLRegisterImage
- cuGetProcAddress('cuGraphicsGLRegisterImage', &__cuGraphicsGLRegisterImage, 3000, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuGLGetDevices_v2
- cuGetProcAddress('cuGLGetDevices', &__cuGLGetDevices_v2, 6050, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuVDPAUGetDevice
- cuGetProcAddress('cuVDPAUGetDevice', &__cuVDPAUGetDevice, 3010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuVDPAUCtxCreate_v2
- cuGetProcAddress('cuVDPAUCtxCreate', &__cuVDPAUCtxCreate_v2, 3020, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuGraphicsVDPAURegisterVideoSurface
- cuGetProcAddress('cuGraphicsVDPAURegisterVideoSurface', &__cuGraphicsVDPAURegisterVideoSurface, 3010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- {{if True}}
- global __cuGraphicsVDPAURegisterOutputSurface
- cuGetProcAddress('cuGraphicsVDPAURegisterOutputSurface', &__cuGraphicsVDPAURegisterOutputSurface, 3010, CU_GET_PROC_ADDRESS_DEFAULT, NULL)
- {{endif}}
- return 0
-
- {{if 'Windows' == platform.system()}}
- # Load using win32GetAddr
- with gil:
- if usePTDS:
- # Get all PTDS version of functions
- pass
- {{if 'cuMemcpy' in found_functions}}
- try:
- global __cuMemcpy
- __cuMemcpy = win32api.GetProcAddress(handle, 'cuMemcpy_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyPeer' in found_functions}}
- try:
- global __cuMemcpyPeer
- __cuMemcpyPeer = win32api.GetProcAddress(handle, 'cuMemcpyPeer_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyHtoD_v2' in found_functions}}
- try:
- global __cuMemcpyHtoD_v2
- __cuMemcpyHtoD_v2 = win32api.GetProcAddress(handle, 'cuMemcpyHtoD_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyDtoH_v2' in found_functions}}
- try:
- global __cuMemcpyDtoH_v2
- __cuMemcpyDtoH_v2 = win32api.GetProcAddress(handle, 'cuMemcpyDtoH_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyDtoD_v2' in found_functions}}
- try:
- global __cuMemcpyDtoD_v2
- __cuMemcpyDtoD_v2 = win32api.GetProcAddress(handle, 'cuMemcpyDtoD_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyDtoA_v2' in found_functions}}
- try:
- global __cuMemcpyDtoA_v2
- __cuMemcpyDtoA_v2 = win32api.GetProcAddress(handle, 'cuMemcpyDtoA_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyAtoD_v2' in found_functions}}
- try:
- global __cuMemcpyAtoD_v2
- __cuMemcpyAtoD_v2 = win32api.GetProcAddress(handle, 'cuMemcpyAtoD_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyHtoA_v2' in found_functions}}
- try:
- global __cuMemcpyHtoA_v2
- __cuMemcpyHtoA_v2 = win32api.GetProcAddress(handle, 'cuMemcpyHtoA_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyAtoH_v2' in found_functions}}
- try:
- global __cuMemcpyAtoH_v2
- __cuMemcpyAtoH_v2 = win32api.GetProcAddress(handle, 'cuMemcpyAtoH_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyAtoA_v2' in found_functions}}
- try:
- global __cuMemcpyAtoA_v2
- __cuMemcpyAtoA_v2 = win32api.GetProcAddress(handle, 'cuMemcpyAtoA_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy2D_v2' in found_functions}}
- try:
- global __cuMemcpy2D_v2
- __cuMemcpy2D_v2 = win32api.GetProcAddress(handle, 'cuMemcpy2D_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy2DUnaligned_v2' in found_functions}}
- try:
- global __cuMemcpy2DUnaligned_v2
- __cuMemcpy2DUnaligned_v2 = win32api.GetProcAddress(handle, 'cuMemcpy2DUnaligned_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy3D_v2' in found_functions}}
- try:
- global __cuMemcpy3D_v2
- __cuMemcpy3D_v2 = win32api.GetProcAddress(handle, 'cuMemcpy3D_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy3DPeer' in found_functions}}
- try:
- global __cuMemcpy3DPeer
- __cuMemcpy3DPeer = win32api.GetProcAddress(handle, 'cuMemcpy3DPeer_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyAsync' in found_functions}}
- try:
- global __cuMemcpyAsync
- __cuMemcpyAsync = win32api.GetProcAddress(handle, 'cuMemcpyAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyPeerAsync' in found_functions}}
- try:
- global __cuMemcpyPeerAsync
- __cuMemcpyPeerAsync = win32api.GetProcAddress(handle, 'cuMemcpyPeerAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyHtoDAsync_v2' in found_functions}}
- try:
- global __cuMemcpyHtoDAsync_v2
- __cuMemcpyHtoDAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpyHtoDAsync_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyDtoHAsync_v2' in found_functions}}
- try:
- global __cuMemcpyDtoHAsync_v2
- __cuMemcpyDtoHAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpyDtoHAsync_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyDtoDAsync_v2' in found_functions}}
- try:
- global __cuMemcpyDtoDAsync_v2
- __cuMemcpyDtoDAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpyDtoDAsync_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyHtoAAsync_v2' in found_functions}}
- try:
- global __cuMemcpyHtoAAsync_v2
- __cuMemcpyHtoAAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpyHtoAAsync_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyAtoHAsync_v2' in found_functions}}
- try:
- global __cuMemcpyAtoHAsync_v2
- __cuMemcpyAtoHAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpyAtoHAsync_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy2DAsync_v2' in found_functions}}
- try:
- global __cuMemcpy2DAsync_v2
- __cuMemcpy2DAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpy2DAsync_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy3DAsync_v2' in found_functions}}
- try:
- global __cuMemcpy3DAsync_v2
- __cuMemcpy3DAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpy3DAsync_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy3DPeerAsync' in found_functions}}
- try:
- global __cuMemcpy3DPeerAsync
- __cuMemcpy3DPeerAsync = win32api.GetProcAddress(handle, 'cuMemcpy3DPeerAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyBatchAsync' in found_functions}}
- try:
- global __cuMemcpyBatchAsync
- __cuMemcpyBatchAsync = win32api.GetProcAddress(handle, 'cuMemcpyBatchAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy3DBatchAsync' in found_functions}}
- try:
- global __cuMemcpy3DBatchAsync
- __cuMemcpy3DBatchAsync = win32api.GetProcAddress(handle, 'cuMemcpy3DBatchAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD8_v2' in found_functions}}
- try:
- global __cuMemsetD8_v2
- __cuMemsetD8_v2 = win32api.GetProcAddress(handle, 'cuMemsetD8_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD16_v2' in found_functions}}
- try:
- global __cuMemsetD16_v2
- __cuMemsetD16_v2 = win32api.GetProcAddress(handle, 'cuMemsetD16_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD32_v2' in found_functions}}
- try:
- global __cuMemsetD32_v2
- __cuMemsetD32_v2 = win32api.GetProcAddress(handle, 'cuMemsetD32_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD2D8_v2' in found_functions}}
- try:
- global __cuMemsetD2D8_v2
- __cuMemsetD2D8_v2 = win32api.GetProcAddress(handle, 'cuMemsetD2D8_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD2D16_v2' in found_functions}}
- try:
- global __cuMemsetD2D16_v2
- __cuMemsetD2D16_v2 = win32api.GetProcAddress(handle, 'cuMemsetD2D16_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD2D32_v2' in found_functions}}
- try:
- global __cuMemsetD2D32_v2
- __cuMemsetD2D32_v2 = win32api.GetProcAddress(handle, 'cuMemsetD2D32_v2_ptds')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD8Async' in found_functions}}
- try:
- global __cuMemsetD8Async
- __cuMemsetD8Async = win32api.GetProcAddress(handle, 'cuMemsetD8Async_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD16Async' in found_functions}}
- try:
- global __cuMemsetD16Async
- __cuMemsetD16Async = win32api.GetProcAddress(handle, 'cuMemsetD16Async_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD32Async' in found_functions}}
- try:
- global __cuMemsetD32Async
- __cuMemsetD32Async = win32api.GetProcAddress(handle, 'cuMemsetD32Async_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD2D8Async' in found_functions}}
- try:
- global __cuMemsetD2D8Async
- __cuMemsetD2D8Async = win32api.GetProcAddress(handle, 'cuMemsetD2D8Async_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD2D16Async' in found_functions}}
- try:
- global __cuMemsetD2D16Async
- __cuMemsetD2D16Async = win32api.GetProcAddress(handle, 'cuMemsetD2D16Async_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD2D32Async' in found_functions}}
- try:
- global __cuMemsetD2D32Async
- __cuMemsetD2D32Async = win32api.GetProcAddress(handle, 'cuMemsetD2D32Async_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemBatchDecompressAsync' in found_functions}}
- try:
- global __cuMemBatchDecompressAsync
- __cuMemBatchDecompressAsync = win32api.GetProcAddress(handle, 'cuMemBatchDecompressAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemMapArrayAsync' in found_functions}}
- try:
- global __cuMemMapArrayAsync
- __cuMemMapArrayAsync = win32api.GetProcAddress(handle, 'cuMemMapArrayAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemFreeAsync' in found_functions}}
- try:
- global __cuMemFreeAsync
- __cuMemFreeAsync = win32api.GetProcAddress(handle, 'cuMemFreeAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemAllocAsync' in found_functions}}
- try:
- global __cuMemAllocAsync
- __cuMemAllocAsync = win32api.GetProcAddress(handle, 'cuMemAllocAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemAllocFromPoolAsync' in found_functions}}
- try:
- global __cuMemAllocFromPoolAsync
- __cuMemAllocFromPoolAsync = win32api.GetProcAddress(handle, 'cuMemAllocFromPoolAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemPrefetchAsync' in found_functions}}
- try:
- global __cuMemPrefetchAsync
- __cuMemPrefetchAsync = win32api.GetProcAddress(handle, 'cuMemPrefetchAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuMemPrefetchAsync_v2' in found_functions}}
- try:
- global __cuMemPrefetchAsync_v2
- __cuMemPrefetchAsync_v2 = win32api.GetProcAddress(handle, 'cuMemPrefetchAsync_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamGetPriority' in found_functions}}
- try:
- global __cuStreamGetPriority
- __cuStreamGetPriority = win32api.GetProcAddress(handle, 'cuStreamGetPriority_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamGetDevice' in found_functions}}
- try:
- global __cuStreamGetDevice
- __cuStreamGetDevice = win32api.GetProcAddress(handle, 'cuStreamGetDevice_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamGetFlags' in found_functions}}
- try:
- global __cuStreamGetFlags
- __cuStreamGetFlags = win32api.GetProcAddress(handle, 'cuStreamGetFlags_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamGetId' in found_functions}}
- try:
- global __cuStreamGetId
- __cuStreamGetId = win32api.GetProcAddress(handle, 'cuStreamGetId_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamGetCtx' in found_functions}}
- try:
- global __cuStreamGetCtx
- __cuStreamGetCtx = win32api.GetProcAddress(handle, 'cuStreamGetCtx_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamGetCtx_v2' in found_functions}}
- try:
- global __cuStreamGetCtx_v2
- __cuStreamGetCtx_v2 = win32api.GetProcAddress(handle, 'cuStreamGetCtx_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamWaitEvent' in found_functions}}
- try:
- global __cuStreamWaitEvent
- __cuStreamWaitEvent = win32api.GetProcAddress(handle, 'cuStreamWaitEvent_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamAddCallback' in found_functions}}
- try:
- global __cuStreamAddCallback
- __cuStreamAddCallback = win32api.GetProcAddress(handle, 'cuStreamAddCallback_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamBeginCapture_v2' in found_functions}}
- try:
- global __cuStreamBeginCapture_v2
- __cuStreamBeginCapture_v2 = win32api.GetProcAddress(handle, 'cuStreamBeginCapture_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamBeginCaptureToGraph' in found_functions}}
- try:
- global __cuStreamBeginCaptureToGraph
- __cuStreamBeginCaptureToGraph = win32api.GetProcAddress(handle, 'cuStreamBeginCaptureToGraph_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamEndCapture' in found_functions}}
- try:
- global __cuStreamEndCapture
- __cuStreamEndCapture = win32api.GetProcAddress(handle, 'cuStreamEndCapture_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamIsCapturing' in found_functions}}
- try:
- global __cuStreamIsCapturing
- __cuStreamIsCapturing = win32api.GetProcAddress(handle, 'cuStreamIsCapturing_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamGetCaptureInfo_v2' in found_functions}}
- try:
- global __cuStreamGetCaptureInfo_v2
- __cuStreamGetCaptureInfo_v2 = win32api.GetProcAddress(handle, 'cuStreamGetCaptureInfo_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamGetCaptureInfo_v3' in found_functions}}
- try:
- global __cuStreamGetCaptureInfo_v3
- __cuStreamGetCaptureInfo_v3 = win32api.GetProcAddress(handle, 'cuStreamGetCaptureInfo_v3_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamUpdateCaptureDependencies' in found_functions}}
- try:
- global __cuStreamUpdateCaptureDependencies
- __cuStreamUpdateCaptureDependencies = win32api.GetProcAddress(handle, 'cuStreamUpdateCaptureDependencies_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamUpdateCaptureDependencies_v2' in found_functions}}
- try:
- global __cuStreamUpdateCaptureDependencies_v2
- __cuStreamUpdateCaptureDependencies_v2 = win32api.GetProcAddress(handle, 'cuStreamUpdateCaptureDependencies_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamAttachMemAsync' in found_functions}}
- try:
- global __cuStreamAttachMemAsync
- __cuStreamAttachMemAsync = win32api.GetProcAddress(handle, 'cuStreamAttachMemAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamQuery' in found_functions}}
- try:
- global __cuStreamQuery
- __cuStreamQuery = win32api.GetProcAddress(handle, 'cuStreamQuery_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamSynchronize' in found_functions}}
- try:
- global __cuStreamSynchronize
- __cuStreamSynchronize = win32api.GetProcAddress(handle, 'cuStreamSynchronize_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamCopyAttributes' in found_functions}}
- try:
- global __cuStreamCopyAttributes
- __cuStreamCopyAttributes = win32api.GetProcAddress(handle, 'cuStreamCopyAttributes_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamGetAttribute' in found_functions}}
- try:
- global __cuStreamGetAttribute
- __cuStreamGetAttribute = win32api.GetProcAddress(handle, 'cuStreamGetAttribute_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamSetAttribute' in found_functions}}
- try:
- global __cuStreamSetAttribute
- __cuStreamSetAttribute = win32api.GetProcAddress(handle, 'cuStreamSetAttribute_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuEventRecord' in found_functions}}
- try:
- global __cuEventRecord
- __cuEventRecord = win32api.GetProcAddress(handle, 'cuEventRecord_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuEventRecordWithFlags' in found_functions}}
- try:
- global __cuEventRecordWithFlags
- __cuEventRecordWithFlags = win32api.GetProcAddress(handle, 'cuEventRecordWithFlags_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuSignalExternalSemaphoresAsync' in found_functions}}
- try:
- global __cuSignalExternalSemaphoresAsync
- __cuSignalExternalSemaphoresAsync = win32api.GetProcAddress(handle, 'cuSignalExternalSemaphoresAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuWaitExternalSemaphoresAsync' in found_functions}}
- try:
- global __cuWaitExternalSemaphoresAsync
- __cuWaitExternalSemaphoresAsync = win32api.GetProcAddress(handle, 'cuWaitExternalSemaphoresAsync_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamWaitValue32_v2' in found_functions}}
- try:
- global __cuStreamWaitValue32_v2
- __cuStreamWaitValue32_v2 = win32api.GetProcAddress(handle, 'cuStreamWaitValue32_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamWaitValue64_v2' in found_functions}}
- try:
- global __cuStreamWaitValue64_v2
- __cuStreamWaitValue64_v2 = win32api.GetProcAddress(handle, 'cuStreamWaitValue64_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamWriteValue32_v2' in found_functions}}
- try:
- global __cuStreamWriteValue32_v2
- __cuStreamWriteValue32_v2 = win32api.GetProcAddress(handle, 'cuStreamWriteValue32_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamWriteValue64_v2' in found_functions}}
- try:
- global __cuStreamWriteValue64_v2
- __cuStreamWriteValue64_v2 = win32api.GetProcAddress(handle, 'cuStreamWriteValue64_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuStreamBatchMemOp_v2' in found_functions}}
- try:
- global __cuStreamBatchMemOp_v2
- __cuStreamBatchMemOp_v2 = win32api.GetProcAddress(handle, 'cuStreamBatchMemOp_v2_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuLaunchKernel' in found_functions}}
- try:
- global __cuLaunchKernel
- __cuLaunchKernel = win32api.GetProcAddress(handle, 'cuLaunchKernel_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuLaunchKernelEx' in found_functions}}
- try:
- global __cuLaunchKernelEx
- __cuLaunchKernelEx = win32api.GetProcAddress(handle, 'cuLaunchKernelEx_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuLaunchCooperativeKernel' in found_functions}}
- try:
- global __cuLaunchCooperativeKernel
- __cuLaunchCooperativeKernel = win32api.GetProcAddress(handle, 'cuLaunchCooperativeKernel_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuLaunchHostFunc' in found_functions}}
- try:
- global __cuLaunchHostFunc
- __cuLaunchHostFunc = win32api.GetProcAddress(handle, 'cuLaunchHostFunc_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuGraphInstantiateWithParams' in found_functions}}
- try:
- global __cuGraphInstantiateWithParams
- __cuGraphInstantiateWithParams = win32api.GetProcAddress(handle, 'cuGraphInstantiateWithParams_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuGraphUpload' in found_functions}}
- try:
- global __cuGraphUpload
- __cuGraphUpload = win32api.GetProcAddress(handle, 'cuGraphUpload_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuGraphLaunch' in found_functions}}
- try:
- global __cuGraphLaunch
- __cuGraphLaunch = win32api.GetProcAddress(handle, 'cuGraphLaunch_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuGraphicsMapResources' in found_functions}}
- try:
- global __cuGraphicsMapResources
- __cuGraphicsMapResources = win32api.GetProcAddress(handle, 'cuGraphicsMapResources_ptsz')
- except:
- pass
- {{endif}}
- {{if 'cuGraphicsUnmapResources' in found_functions}}
- try:
- global __cuGraphicsUnmapResources
- __cuGraphicsUnmapResources = win32api.GetProcAddress(handle, 'cuGraphicsUnmapResources_ptsz')
- except:
- pass
- {{endif}}
- else:
- # Else get the regular version
- pass
- {{if 'cuMemcpy' in found_functions}}
- try:
- global __cuMemcpy
- __cuMemcpy = win32api.GetProcAddress(handle, 'cuMemcpy')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyPeer' in found_functions}}
- try:
- global __cuMemcpyPeer
- __cuMemcpyPeer = win32api.GetProcAddress(handle, 'cuMemcpyPeer')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyHtoD_v2' in found_functions}}
- try:
- global __cuMemcpyHtoD_v2
- __cuMemcpyHtoD_v2 = win32api.GetProcAddress(handle, 'cuMemcpyHtoD_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyDtoH_v2' in found_functions}}
- try:
- global __cuMemcpyDtoH_v2
- __cuMemcpyDtoH_v2 = win32api.GetProcAddress(handle, 'cuMemcpyDtoH_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyDtoD_v2' in found_functions}}
- try:
- global __cuMemcpyDtoD_v2
- __cuMemcpyDtoD_v2 = win32api.GetProcAddress(handle, 'cuMemcpyDtoD_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyDtoA_v2' in found_functions}}
- try:
- global __cuMemcpyDtoA_v2
- __cuMemcpyDtoA_v2 = win32api.GetProcAddress(handle, 'cuMemcpyDtoA_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyAtoD_v2' in found_functions}}
- try:
- global __cuMemcpyAtoD_v2
- __cuMemcpyAtoD_v2 = win32api.GetProcAddress(handle, 'cuMemcpyAtoD_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyHtoA_v2' in found_functions}}
- try:
- global __cuMemcpyHtoA_v2
- __cuMemcpyHtoA_v2 = win32api.GetProcAddress(handle, 'cuMemcpyHtoA_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyAtoH_v2' in found_functions}}
- try:
- global __cuMemcpyAtoH_v2
- __cuMemcpyAtoH_v2 = win32api.GetProcAddress(handle, 'cuMemcpyAtoH_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyAtoA_v2' in found_functions}}
- try:
- global __cuMemcpyAtoA_v2
- __cuMemcpyAtoA_v2 = win32api.GetProcAddress(handle, 'cuMemcpyAtoA_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy2D_v2' in found_functions}}
- try:
- global __cuMemcpy2D_v2
- __cuMemcpy2D_v2 = win32api.GetProcAddress(handle, 'cuMemcpy2D_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy2DUnaligned_v2' in found_functions}}
- try:
- global __cuMemcpy2DUnaligned_v2
- __cuMemcpy2DUnaligned_v2 = win32api.GetProcAddress(handle, 'cuMemcpy2DUnaligned_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy3D_v2' in found_functions}}
- try:
- global __cuMemcpy3D_v2
- __cuMemcpy3D_v2 = win32api.GetProcAddress(handle, 'cuMemcpy3D_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy3DPeer' in found_functions}}
- try:
- global __cuMemcpy3DPeer
- __cuMemcpy3DPeer = win32api.GetProcAddress(handle, 'cuMemcpy3DPeer')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyAsync' in found_functions}}
- try:
- global __cuMemcpyAsync
- __cuMemcpyAsync = win32api.GetProcAddress(handle, 'cuMemcpyAsync')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyPeerAsync' in found_functions}}
- try:
- global __cuMemcpyPeerAsync
- __cuMemcpyPeerAsync = win32api.GetProcAddress(handle, 'cuMemcpyPeerAsync')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyHtoDAsync_v2' in found_functions}}
- try:
- global __cuMemcpyHtoDAsync_v2
- __cuMemcpyHtoDAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpyHtoDAsync_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyDtoHAsync_v2' in found_functions}}
- try:
- global __cuMemcpyDtoHAsync_v2
- __cuMemcpyDtoHAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpyDtoHAsync_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyDtoDAsync_v2' in found_functions}}
- try:
- global __cuMemcpyDtoDAsync_v2
- __cuMemcpyDtoDAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpyDtoDAsync_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyHtoAAsync_v2' in found_functions}}
- try:
- global __cuMemcpyHtoAAsync_v2
- __cuMemcpyHtoAAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpyHtoAAsync_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyAtoHAsync_v2' in found_functions}}
- try:
- global __cuMemcpyAtoHAsync_v2
- __cuMemcpyAtoHAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpyAtoHAsync_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy2DAsync_v2' in found_functions}}
- try:
- global __cuMemcpy2DAsync_v2
- __cuMemcpy2DAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpy2DAsync_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy3DAsync_v2' in found_functions}}
- try:
- global __cuMemcpy3DAsync_v2
- __cuMemcpy3DAsync_v2 = win32api.GetProcAddress(handle, 'cuMemcpy3DAsync_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy3DPeerAsync' in found_functions}}
- try:
- global __cuMemcpy3DPeerAsync
- __cuMemcpy3DPeerAsync = win32api.GetProcAddress(handle, 'cuMemcpy3DPeerAsync')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpyBatchAsync' in found_functions}}
- try:
- global __cuMemcpyBatchAsync
- __cuMemcpyBatchAsync = win32api.GetProcAddress(handle, 'cuMemcpyBatchAsync')
- except:
- pass
- {{endif}}
- {{if 'cuMemcpy3DBatchAsync' in found_functions}}
- try:
- global __cuMemcpy3DBatchAsync
- __cuMemcpy3DBatchAsync = win32api.GetProcAddress(handle, 'cuMemcpy3DBatchAsync')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD8_v2' in found_functions}}
- try:
- global __cuMemsetD8_v2
- __cuMemsetD8_v2 = win32api.GetProcAddress(handle, 'cuMemsetD8_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD16_v2' in found_functions}}
- try:
- global __cuMemsetD16_v2
- __cuMemsetD16_v2 = win32api.GetProcAddress(handle, 'cuMemsetD16_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD32_v2' in found_functions}}
- try:
- global __cuMemsetD32_v2
- __cuMemsetD32_v2 = win32api.GetProcAddress(handle, 'cuMemsetD32_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD2D8_v2' in found_functions}}
- try:
- global __cuMemsetD2D8_v2
- __cuMemsetD2D8_v2 = win32api.GetProcAddress(handle, 'cuMemsetD2D8_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD2D16_v2' in found_functions}}
- try:
- global __cuMemsetD2D16_v2
- __cuMemsetD2D16_v2 = win32api.GetProcAddress(handle, 'cuMemsetD2D16_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD2D32_v2' in found_functions}}
- try:
- global __cuMemsetD2D32_v2
- __cuMemsetD2D32_v2 = win32api.GetProcAddress(handle, 'cuMemsetD2D32_v2')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD8Async' in found_functions}}
- try:
- global __cuMemsetD8Async
- __cuMemsetD8Async = win32api.GetProcAddress(handle, 'cuMemsetD8Async')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD16Async' in found_functions}}
- try:
- global __cuMemsetD16Async
- __cuMemsetD16Async = win32api.GetProcAddress(handle, 'cuMemsetD16Async')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD32Async' in found_functions}}
- try:
- global __cuMemsetD32Async
- __cuMemsetD32Async = win32api.GetProcAddress(handle, 'cuMemsetD32Async')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD2D8Async' in found_functions}}
- try:
- global __cuMemsetD2D8Async
- __cuMemsetD2D8Async = win32api.GetProcAddress(handle, 'cuMemsetD2D8Async')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD2D16Async' in found_functions}}
- try:
- global __cuMemsetD2D16Async
- __cuMemsetD2D16Async = win32api.GetProcAddress(handle, 'cuMemsetD2D16Async')
- except:
- pass
- {{endif}}
- {{if 'cuMemsetD2D32Async' in found_functions}}
- try:
- global __cuMemsetD2D32Async
- __cuMemsetD2D32Async =