diff --git a/.github/scripts/install_cuda_toolkit.py b/.github/scripts/install_cuda_toolkit.py index c2b59bd06..4743e86bf 100755 --- a/.github/scripts/install_cuda_toolkit.py +++ b/.github/scripts/install_cuda_toolkit.py @@ -27,8 +27,8 @@ DEFAULT_BASE_URL: Final[str] = ( "https://developer.download.nvidia.com/compute/cuda/redist" ) -DEFAULT_CUDA_VERSION: Final[str] = "12.3.2" -COMPONENTS_TO_DOWNLOAD: Final[list[str]] = ["cuda_cudart", "cuda_nvcc"] +DEFAULT_CUDA_VERSION: Final[str] = "13.0.2" +COMPONENTS_TO_DOWNLOAD: Final[list[str]] = ["cuda_cudart", "cuda_nvcc", "cuda_crt", "libnvvm", "cuda_cccl"] def detect_platform() -> str: @@ -92,7 +92,7 @@ def get_component_path( def download_file(url: str, destination: Path) -> None: """Download a file from a URL to a local path.""" - logger.info("Downloading %s...", url) + logger.info("Downloading %s ...", url) try: with urllib.request.urlopen(url, timeout=300) as response: @@ -112,7 +112,7 @@ def download_file(url: str, destination: Path) -> None: def extract_archive(archive_path: Path, extract_to: Path) -> None: """Extract an archive (zip or tar.xz) to a directory.""" - logger.info("Extracting %s to %s...", archive_path, extract_to) + logger.info("Extracting %s to %s ...", archive_path, extract_to) kwargs = {} if archive_path.suffix == ".zip": @@ -127,7 +127,7 @@ def extract_archive(archive_path: Path, extract_to: Path) -> None: def copy_directory_contents(src: Path, dst: Path) -> None: """Copy all contents from src directory to dst directory.""" - logger.info("Copying contents from %s to %s...", src, dst) + logger.info("Copying contents from %s to %s ...", src, dst) for item in src.iterdir(): dst_item = dst / item.name if item.is_dir(): diff --git a/.github/workflows/_build_linux_cuda.yml b/.github/workflows/_build_linux_cuda.yml index 4ea7461ed..7c41ffd04 100644 --- a/.github/workflows/_build_linux_cuda.yml +++ b/.github/workflows/_build_linux_cuda.yml @@ -184,13 +184,7 @@ jobs: # Sort out library paths # 1. For some reason, the FFmpeg dynamic libraries are not found. - # 2. CUDA runtime PyPI package is installed as part of PyTorch installation. - # However, it is installed in site-packages dir, which is not in PATH by default. - # (PyTorch has a special way to load it, but we don't do that) - cudart_dir="$( - python -c 'import os.path,nvidia.cuda_runtime;print(os.path.join(nvidia.cuda_runtime.__path__[0], "lib"))' - )" - echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CONDA_PREFIX}/lib:${cudart_dir}" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CONDA_PREFIX}/lib" >> $GITHUB_ENV - name: Unit test run: | diff --git a/.github/workflows/packaging.yml b/.github/workflows/packaging.yml index d45483990..0742d422d 100644 --- a/.github/workflows/packaging.yml +++ b/.github/workflows/packaging.yml @@ -47,14 +47,14 @@ jobs: matrix: python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] free-threaded: [""] - cuda-version: ["12.8.1"] + cuda-version: ["13.0.1"] include: - python-version: "3.13" free-threaded: "ft" - cuda-version: "12.8.1" + cuda-version: "13.0.1" - python-version: "3.14" free-threaded: "ft" - cuda-version: "12.8.1" + cuda-version: "13.0.1" uses: ./.github/workflows/_build_windows.yml with: python-version: "${{ matrix.python-version }}" @@ -97,15 +97,15 @@ jobs: fail-fast: false matrix: python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] - cuda-version: ["12.8.1"] + cuda-version: ["13.0.1"] free-threaded: [""] include: - python-version: "3.13" free-threaded: "ft" - cuda-version: "12.8.1" + cuda-version: "13.0.1" - python-version: "3.14" free-threaded: "ft" - cuda-version: "12.8.1" + cuda-version: "13.0.1" uses: ./.github/workflows/_build_linux_cuda.yml with: python-version: "${{ matrix.python-version }}" diff --git a/packaging/repair_wheels.sh b/packaging/repair_wheels.sh index 331d5c92b..c59e876fe 100755 --- a/packaging/repair_wheels.sh +++ b/packaging/repair_wheels.sh @@ -45,6 +45,7 @@ for whl in "${input_dir}"/*.whl; do --exclude libnvcuvid.so \ --exclude libcudart.so.11.0 \ --exclude libcudart.so.12 \ + --exclude libcudart.so.13 \ --exclude libnvjpeg.so.12 \ --exclude libnppc.so.12 \ --exclude libnppig.so.12 diff --git a/src/third_party/nvcodec/CMakeLists.txt b/src/third_party/nvcodec/CMakeLists.txt index 8bdeb4fe3..b9389e11e 100644 --- a/src/third_party/nvcodec/CMakeLists.txt +++ b/src/third_party/nvcodec/CMakeLists.txt @@ -4,8 +4,8 @@ message(STATUS "########################################") FetchContent_Declare( nvcodec_stub - URL https://github.com/mthrok/nvcodec_stub/archive/refs/tags/0.2.0.tar.gz - URL_HASH SHA256=e811abfc07062793b7e578092c069e4dcab4d315ff9e748cfebbea7ea15b2b48 + URL https://github.com/mthrok/nvcodec_stub/archive/refs/tags/0.3.0.tar.gz + URL_HASH SHA256=249bd10d0040b1ed30ff7813e735760c121f3b9040eeb01106238d30c3e577fc DOWNLOAD_DIR "${CMAKE_CURRENT_SOURCE_DIR}" ) FetchContent_MakeAvailable(nvcodec_stub)