diff --git a/.github/labeler.yml b/.github/labeler.yml index 62b46533816..cff89c44a85 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -7,11 +7,15 @@ cuda.bindings: - changed-files: - - any-glob-to-any-file: 'cuda_bindings/**' + - any-glob-to-any-file: + - 'cuda_bindings/**' + - 'samples/cuda_bindings/**' cuda.core: - changed-files: - - any-glob-to-any-file: 'cuda_core/**' + - any-glob-to-any-file: + - 'cuda_core/**' + - 'samples/cuda_core/**' cuda.pathfinder: - changed-files: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fe43b52d01a..56338eae803 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -150,12 +150,12 @@ jobs: } { - echo "bindings=$(has_match '^cuda_bindings/')" - echo "core=$(has_match '^cuda_core/')" + echo "bindings=$(has_match '^(cuda_bindings/|samples/cuda_bindings/)')" + echo "core=$(has_match '^(cuda_core/|samples/cuda_core/)')" echo "pathfinder=$(has_match '^cuda_pathfinder/')" echo "python_meta=$(has_match '^cuda_python/')" echo "test_helpers=$(has_match '^cuda_python_test_helpers/')" - echo "shared=$(has_match '^(\.github/|ci/|scripts/|toolshed/|conftest\.py$|pyproject\.toml$|pixi\.(toml|lock)$|pytest\.ini$|ruff\.toml$)')" + echo "shared=$(has_match '^(\.github/|ci/|scripts/|toolshed/|samples/README\.md$|conftest\.py$|pyproject\.toml$|pixi\.(toml|lock)$|pytest\.ini$|ruff\.toml$)')" } >> "$GITHUB_OUTPUT" - name: Compose gating outputs diff --git a/.spdx-ignore b/.spdx-ignore index c0bf98105e7..de35a6113cb 100644 --- a/.spdx-ignore +++ b/.spdx-ignore @@ -6,7 +6,10 @@ LICENSE* .gitattributes .gitignore requirements*.txt -cuda_bindings/examples/* + +# Samples are synced to NVIDIA/cuda-samples on release and carry either the +# upstream verbose BSD-style copyright header or an SPDX identifier. +samples/**/*.py # Vendored cuda_core/cuda/core/_include/dlpack.h diff --git a/ci/tools/run-tests b/ci/tools/run-tests index c093ed9e4d2..c8051bb6ade 100755 --- a/ci/tools/run-tests +++ b/ci/tools/run-tests @@ -102,6 +102,12 @@ elif [[ "${test_module}" == "core" || "${test_module}" == nightly-* ]]; then # Constrain cuda-toolkit to the requested CTK version to avoid # pip pulling in a newer nvidia-cuda-runtime that conflicts with it. pip install "${CORE_WHL[@]}" --group "test-cu${TEST_CUDA_MAJOR}${FREE_THREADING}" "cuda-toolkit==${TEST_CUDA_MAJOR_MINOR}.*" + # Optional deps needed by some cuda.core samples exercised in this suite. + # CuPy already comes from the + # test-cuXX group; install the rest best-effort so those samples run + # instead of being waived. Samples with heavier/unavailable deps stay waived. + echo "Installing optional sample deps (nvtx, pillow)" + pip install nvtx pillow || echo "Warning: optional sample deps install failed; affected samples will be waived" echo "Installed packages before core tests:" pip list echo "Running core tests" diff --git a/conftest.py b/conftest.py index 7a0c59065d5..f49d55d5756 100644 --- a/conftest.py +++ b/conftest.py @@ -41,6 +41,10 @@ def pytest_collection_modifyitems(config, items): # noqa: ARG001 if nodeid.startswith("tests/integration/") or "/tests/integration/" in nodeid: item.add_marker(pytest.mark.smoke) + # Each package owns the sample wrapper under its example_tests subtree. + if "example_tests/test_samples.py" in nodeid: + item.add_marker(pytest.mark.samples) + # Cython tests (any tests/cython subtree) if ( "/tests/cython/" in nodeid diff --git a/cuda_bindings/AGENTS.md b/cuda_bindings/AGENTS.md index 8c544f8872a..f2adc5db7fa 100644 --- a/cuda_bindings/AGENTS.md +++ b/cuda_bindings/AGENTS.md @@ -39,7 +39,7 @@ subpackage in the `cuda-python` monorepo. - **Cython tests**: - build: `tests/cython/build_tests.sh` (or platform equivalent) - run: `pytest tests/cython/` -- **Examples**: example coverage is pytest-based under `examples/`. +- **Samples**: sample coverage is pytest-based under `../samples/cuda_bindings/`. - **Benchmarks**: run with `pytest --benchmark-only benchmarks/` when needed. The `legacy_tests` subdirectory tests the old pre-v2 APIs of `driver`, `runtime` diff --git a/cuda_bindings/DESCRIPTION.rst b/cuda_bindings/DESCRIPTION.rst index 3129c9ca471..04ccc93e98a 100644 --- a/cuda_bindings/DESCRIPTION.rst +++ b/cuda_bindings/DESCRIPTION.rst @@ -13,7 +13,7 @@ cuda-bindings: Low-level CUDA interfaces * `Repository `_ * `Documentation `_ -* `Examples `_ +* `Examples `_ * `Issue tracker `_ For the installation instruction, please refer to the `Installation `_ page. diff --git a/cuda_bindings/cuda/bindings/_example_helpers/__init__.py b/cuda_bindings/cuda/bindings/_example_helpers/__init__.py deleted file mode 100644 index 119d7e97689..00000000000 --- a/cuda_bindings/cuda/bindings/_example_helpers/__init__.py +++ /dev/null @@ -1,17 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -from .common import KernelHelper, check_compute_capability_too_low, requirement_not_met -from .helper_cuda import check_cuda_errors, find_cuda_device, find_cuda_device_drv -from .helper_string import check_cmd_line_flag, get_cmd_line_argument_int - -__all__ = [ - "KernelHelper", - "check_cmd_line_flag", - "check_compute_capability_too_low", - "check_cuda_errors", - "find_cuda_device", - "find_cuda_device_drv", - "get_cmd_line_argument_int", - "requirement_not_met", -] diff --git a/cuda_bindings/cuda/bindings/_example_helpers/common.py b/cuda_bindings/cuda/bindings/_example_helpers/common.py deleted file mode 100644 index 6335d3e3e4a..00000000000 --- a/cuda_bindings/cuda/bindings/_example_helpers/common.py +++ /dev/null @@ -1,90 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - - -import os -import sys - -import numpy as np - -from cuda import pathfinder -from cuda.bindings import driver as cuda -from cuda.bindings import runtime as cudart -from cuda.bindings._v2 import nvrtc - -from .helper_cuda import check_cuda_errors - - -def requirement_not_met(message): - print(message, file=sys.stderr) # noqa: T201 - exitcode = os.environ.get("CUDA_BINDINGS_SKIP_EXAMPLE", "1") - return sys.exit(int(exitcode)) - - -def check_compute_capability_too_low(dev_id, required_cc_major_minor): - cc_major = check_cuda_errors( - cudart.cudaDeviceGetAttribute(cudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMajor, dev_id) - ) - cc_minor = check_cuda_errors( - cudart.cudaDeviceGetAttribute(cudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMinor, dev_id) - ) - have_cc_major_minor = (cc_major, cc_minor) - if have_cc_major_minor < required_cc_major_minor: - requirement_not_met( - f"CUDA device compute capability too low: {have_cc_major_minor=!r}, {required_cc_major_minor=!r}" - ) - - -class KernelHelper: - def __init__(self, code, dev_id): - include_dirs = [] - for libname in ("cudart", "cccl"): - hdr_dir = pathfinder.find_nvidia_header_directory(libname) - if hdr_dir is None: - requirement_not_met(f'pathfinder.find_nvidia_header_directory("{libname}") returned None') - include_dirs.append(hdr_dir) - - prog = nvrtc.create_program(str.encode(code), b"sourceCode.cu") - - # Initialize CUDA - check_cuda_errors(cudart.cudaFree(0)) - - major = check_cuda_errors( - cudart.cudaDeviceGetAttribute(cudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMajor, dev_id) - ) - minor = check_cuda_errors( - cudart.cudaDeviceGetAttribute(cudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMinor, dev_id) - ) - _, nvrtc_minor = nvrtc.version() - use_cubin = nvrtc_minor >= 1 - prefix = "sm" if use_cubin else "compute" - arch_arg = bytes(f"--gpu-architecture={prefix}_{major}{minor}", "ascii") - - opts = [ - b"--fmad=true", - arch_arg, - b"--std=c++17", - b"-default-device", - ] - for inc_dir in include_dirs: - opts.append(f"--include-path={inc_dir}".encode()) - - try: - nvrtc.compile_program(prog, opts) - except nvrtc.NvrtcError as err: - log = nvrtc.get_program_log(prog) - import sys - - print(log.decode(), file=sys.stderr) # noqa: T201 - print(err, file=sys.stderr) # noqa: T201 - sys.exit(1) - - if use_cubin: - data = nvrtc.get_cubin(prog) - else: - data = nvrtc.get_ptx(prog) - - self.module = check_cuda_errors(cuda.cuModuleLoadData(np.char.array(data))) - - def get_function(self, name): - return check_cuda_errors(cuda.cuModuleGetFunction(self.module, name)) diff --git a/cuda_bindings/cuda/bindings/_example_helpers/helper_cuda.py b/cuda_bindings/cuda/bindings/_example_helpers/helper_cuda.py deleted file mode 100644 index 18fbecf59b9..00000000000 --- a/cuda_bindings/cuda/bindings/_example_helpers/helper_cuda.py +++ /dev/null @@ -1,48 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -from cuda.bindings import driver as cuda -from cuda.bindings import nvrtc -from cuda.bindings import runtime as cudart - -from .helper_string import check_cmd_line_flag, get_cmd_line_argument_int - - -def _cuda_get_error_enum(error): - if isinstance(error, cuda.CUresult): - err, name = cuda.cuGetErrorName(error) - return name if err == cuda.CUresult.CUDA_SUCCESS else "" - elif isinstance(error, cudart.cudaError_t): - return cudart.cudaGetErrorName(error)[1] - elif isinstance(error, nvrtc.nvrtcResult): - return nvrtc.nvrtcGetErrorString(error)[1] - else: - raise RuntimeError(f"Unknown error type: {error}") - - -def check_cuda_errors(result): - if result[0].value: - raise RuntimeError(f"CUDA error code={result[0].value}({_cuda_get_error_enum(result[0])})") - if len(result) == 1: - return None - elif len(result) == 2: - return result[1] - else: - return result[1:] - - -def find_cuda_device(): - dev_id = 0 - if check_cmd_line_flag("device="): - dev_id = get_cmd_line_argument_int("device=") - check_cuda_errors(cudart.cudaSetDevice(dev_id)) - return dev_id - - -def find_cuda_device_drv(): - dev_id = 0 - if check_cmd_line_flag("device="): - dev_id = get_cmd_line_argument_int("device=") - check_cuda_errors(cuda.cuInit(0)) - cu_device = check_cuda_errors(cuda.cuDeviceGet(dev_id)) - return cu_device diff --git a/cuda_bindings/cuda/bindings/_example_helpers/helper_string.py b/cuda_bindings/cuda/bindings/_example_helpers/helper_string.py deleted file mode 100644 index ad15cecc9ca..00000000000 --- a/cuda_bindings/cuda/bindings/_example_helpers/helper_string.py +++ /dev/null @@ -1,15 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -import sys - - -def check_cmd_line_flag(string_ref): - return any(string_ref == i and k < len(sys.argv) - 1 for i, k in enumerate(sys.argv)) - - -def get_cmd_line_argument_int(string_ref): - for i, k in enumerate(sys.argv): - if string_ref == i and k < len(sys.argv) - 1: - return sys.argv[k + 1] - return 0 diff --git a/cuda_bindings/docs/source/conf.py b/cuda_bindings/docs/source/conf.py index 8a7e15d1be0..2043cfae359 100644 --- a/cuda_bindings/docs/source/conf.py +++ b/cuda_bindings/docs/source/conf.py @@ -122,11 +122,23 @@ def _html_baseurl(): extlinks = { "cuda-bindings-example": ( - f"https://github.com/NVIDIA/cuda-python/blob/{GITHUB_EXAMPLES_REF}/cuda_bindings/examples/%s", + f"https://github.com/NVIDIA/cuda-python/blob/{GITHUB_EXAMPLES_REF}/samples/cuda_bindings/%s", "%s", ), "cuda-bindings-examples": ( - f"https://github.com/NVIDIA/cuda-python/tree/{GITHUB_EXAMPLES_REF}/cuda_bindings/examples%s", + f"https://github.com/NVIDIA/cuda-python/tree/{GITHUB_EXAMPLES_REF}/samples/cuda_bindings%s", + "%s", + ), + "sample": ( + f"https://github.com/NVIDIA/cuda-python/tree/{GITHUB_EXAMPLES_REF}/samples/cuda_bindings/%s", + "%s", + ), + "samples": ( + f"https://github.com/NVIDIA/cuda-python/tree/{GITHUB_EXAMPLES_REF}/samples/cuda_bindings%s", + "%s", + ), + "cuda-core-sample": ( + f"https://github.com/NVIDIA/cuda-python/tree/{GITHUB_EXAMPLES_REF}/samples/cuda_core/%s", "%s", ), } diff --git a/cuda_bindings/docs/source/examples.rst b/cuda_bindings/docs/source/examples.rst index 911c27a099a..29ea46b0dbb 100644 --- a/cuda_bindings/docs/source/examples.rst +++ b/cuda_bindings/docs/source/examples.rst @@ -4,62 +4,71 @@ Examples ======== -This page links to the ``cuda.bindings`` examples shipped in the -:cuda-bindings-examples:`cuda-python repository `. -Use it as a quick index when you want a runnable sample for a specific API area -or CUDA feature. +The canonical, runnable examples for ``cuda.bindings`` live under +:samples:`samples/cuda_bindings/ ` in the cuda-python repository. Each +sample is a self-contained directory with +its own ``README.md``, ``requirements.txt``, and PEP 723 dependency block, +and every sample is exercised as part of the ``cuda.bindings`` test suite. + +The cuda-bindings-flavored samples preserve the same category structure the +``cuda-samples`` repository uses, so they are grouped under +``samples/cuda_bindings/0_Introduction/``, +``samples/cuda_bindings/2_Concepts_and_Techniques/``, +``samples/cuda_bindings/3_CUDA_Features/``, +``samples/cuda_bindings/4_CUDA_Libraries/``, and +``samples/cuda_bindings/extra/``. Introduction ------------ -- :cuda-bindings-example:`clock_nvrtc.py <0_Introduction/clock_nvrtc.py>` - uses NVRTC-compiled CUDA code and the device clock to time a reduction - kernel. -- :cuda-bindings-example:`simple_cubemap_texture.py <0_Introduction/simple_cubemap_texture.py>` - demonstrates cubemap texture sampling and transformation. -- :cuda-bindings-example:`simple_p2p.py <0_Introduction/simple_p2p.py>` - shows peer-to-peer memory access and transfers between multiple GPUs. -- :cuda-bindings-example:`simple_zero_copy.py <0_Introduction/simple_zero_copy.py>` - uses zero-copy mapped host memory for vector addition. -- :cuda-bindings-example:`system_wide_atomics.py <0_Introduction/system_wide_atomics.py>` - demonstrates system-wide atomic operations on managed memory. -- :cuda-bindings-example:`vector_add_drv.py <0_Introduction/vector_add_drv.py>` - uses the CUDA Driver API and unified virtual addressing for vector addition. -- :cuda-bindings-example:`vector_add_mmap.py <0_Introduction/vector_add_mmap.py>` - uses virtual memory management APIs such as ``cuMemCreate`` and - ``cuMemMap`` for vector addition. +- :sample:`0_Introduction/clockNvrtc <0_Introduction/clockNvrtc/>` + uses NVRTC-compiled CUDA code and the device clock intrinsic to time a + reduction kernel; also demonstrates dynamic shared memory. +- :sample:`0_Introduction/simpleCubemapTexture <0_Introduction/simpleCubemapTexture/>` + demonstrates cubemap texture sampling, ``cudaMemcpy3D``, and bindless + texture objects. +- :sample:`0_Introduction/systemWideAtomics <0_Introduction/systemWideAtomics/>` + exercises every ``atomic*_system`` intrinsic on managed memory. +- :sample:`0_Introduction/vectorAddDriverApi <0_Introduction/vectorAddDriverApi/>` + is the "hello world" of the raw driver API in Python. +- :sample:`0_Introduction/vectorAddMmap <0_Introduction/vectorAddMmap/>` + uses the Virtual Memory Management API (``cuMemCreate``, ``cuMemMap``, + ``cuMemSetAccess``) to stripe an allocation across peer-capable devices. Concepts and techniques ----------------------- -- :cuda-bindings-example:`stream_ordered_allocation.py <2_Concepts_and_Techniques/stream_ordered_allocation.py>` - demonstrates ``cudaMallocAsync`` and ``cudaFreeAsync`` together with +- :sample:`2_Concepts_and_Techniques/streamOrderedAllocation <2_Concepts_and_Techniques/streamOrderedAllocation/>` + demonstrates ``cudaMallocAsync`` / ``cudaFreeAsync`` together with memory-pool release thresholds. CUDA features ------------- -- :cuda-bindings-example:`global_to_shmem_async_copy.py <3_CUDA_Features/global_to_shmem_async_copy.py>` - compares asynchronous global-to-shared-memory copy strategies in matrix - multiplication kernels. -- :cuda-bindings-example:`simple_cuda_graphs.py <3_CUDA_Features/simple_cuda_graphs.py>` - shows both manual CUDA graph construction and stream-capture-based replay. +- :sample:`3_CUDA_Features/globalToShmemAsyncCopy <3_CUDA_Features/globalToShmemAsyncCopy/>` + compares asynchronous global-to-shared-memory copy strategies + (``cuda::memcpy_async`` + ``cuda::pipeline`` / ``cuda::barrier``) in + matrix-multiplication kernels. +- :sample:`3_CUDA_Features/cudaGraphsManualNodes <3_CUDA_Features/cudaGraphsManualNodes/>` + shows both manual CUDA-graph construction (``cudaGraphAdd*Node``) and + stream-capture-based replay. Libraries and tools ------------------- -- :cuda-bindings-example:`conjugate_gradient_multi_block_cg.py <4_CUDA_Libraries/conjugate_gradient_multi_block_cg.py>` +- :sample:`4_CUDA_Libraries/conjugateGradientMultiBlockCG <4_CUDA_Libraries/conjugateGradientMultiBlockCG/>` implements a conjugate-gradient solver with cooperative groups and - multi-block synchronization. -- :cuda-bindings-example:`nvidia_smi.py <4_CUDA_Libraries/nvidia_smi.py>` + multi-block grid synchronization. +- :sample:`4_CUDA_Libraries/nvidiaSmi <4_CUDA_Libraries/nvidiaSmi/>` uses NVML to implement a Python subset of ``nvidia-smi``. Advanced and interoperability ----------------------------- -- :cuda-bindings-example:`iso_fd_modelling.py ` - runs isotropic finite-difference wave propagation across multiple GPUs with - peer-to-peer halo exchange. -- :cuda-bindings-example:`jit_program.py ` - JIT-compiles a SAXPY kernel with NVRTC and launches it through the Driver - API. +- :sample:`extra/isoFdModelling ` + runs isotropic finite-difference wave propagation across multiple GPUs + with peer-to-peer halo exchange. +- :sample:`extra/jitProgram ` + JIT-compiles a SAXPY kernel with NVRTC and launches it through the + Driver API -- the low-level companion to + :cuda-core-sample:`cuda.core's jitLtoLinking sample `. diff --git a/cuda_bindings/docs/source/overview.rst b/cuda_bindings/docs/source/overview.rst index 14c068c2af5..aefe7819f51 100644 --- a/cuda_bindings/docs/source/overview.rst +++ b/cuda_bindings/docs/source/overview.rst @@ -524,7 +524,7 @@ CUDA objects Certain CUDA kernels use native CUDA types as their parameters such as ``cudaTextureObject_t``. These types require special handling since they're neither a primitive ctype nor a custom user type. Since ``cuda.bindings`` exposes each of them as Python classes, they each implement ``getPtr()`` and ``__int__()``. These two callables used to support the NumPy and ctypes approach. The difference between each call is further described under `Tips and Tricks `_. For this example, lets use the ``transformKernel`` from -:cuda-bindings-example:`simple_cubemap_texture.py <0_Introduction/simple_cubemap_texture.py>`. +:cuda-bindings-example:`simpleCubemapTexture.py <0_Introduction/simpleCubemapTexture/simpleCubemapTexture.py>`. The :doc:`examples` page links to more samples covering textures, graphs, memory mapping, and multi-GPU workflows. diff --git a/cuda_bindings/examples/0_Introduction/clock_nvrtc.py b/cuda_bindings/examples/0_Introduction/clock_nvrtc.py deleted file mode 100644 index 14572469e79..00000000000 --- a/cuda_bindings/examples/0_Introduction/clock_nvrtc.py +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates using the device clock for kernel timing via -# NVRTC-compiled CUDA code. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy"] -# /// - -import platform - -import numpy as np - -from cuda.bindings import driver as cuda -from cuda.bindings._example_helpers import KernelHelper, check_cuda_errors, find_cuda_device, requirement_not_met - -clock_nvrtc = """\ -extern "C" __global__ void timedReduction(const float *hinput, float *output, clock_t *timer) -{ - // __shared__ float shared[2 * blockDim.x]; - extern __shared__ float shared[]; - - const int tid = threadIdx.x; - const int bid = blockIdx.x; - - if (tid == 0) timer[bid] = clock(); - - // Copy hinput. - shared[tid] = hinput[tid]; - shared[tid + blockDim.x] = hinput[tid + blockDim.x]; - - // Perform reduction to find minimum. - for (int d = blockDim.x; d > 0; d /= 2) - { - __syncthreads(); - - if (tid < d) - { - float f0 = shared[tid]; - float f1 = shared[tid + d]; - - if (f1 < f0) - { - shared[tid] = f1; - } - } - } - - // Write result. - if (tid == 0) output[bid] = shared[0]; - - __syncthreads(); - - if (tid == 0) timer[bid+gridDim.x] = clock(); -} -""" - -num_blocks = 64 -num_threads = 256 - - -def elems_to_bytes(nelems, dt): - return nelems * np.dtype(dt).itemsize - - -def check_requirements(): - if platform.machine() == "armv7l": - requirement_not_met("clock_nvrtc is not supported on ARMv7") - - -def main(): - check_requirements() - - timer = np.empty(num_blocks * 2, dtype="int64") - hinput = np.empty(num_threads * 2, dtype="float32") - - for i in range(num_threads * 2): - hinput[i] = i - - dev_id = find_cuda_device() - kernel_helper = KernelHelper(clock_nvrtc, dev_id) - kernel_addr = kernel_helper.get_function(b"timedReduction") - - dinput = check_cuda_errors(cuda.cuMemAlloc(hinput.nbytes)) - doutput = check_cuda_errors(cuda.cuMemAlloc(elems_to_bytes(num_blocks, np.float32))) - dtimer = check_cuda_errors(cuda.cuMemAlloc(timer.nbytes)) - check_cuda_errors(cuda.cuMemcpyHtoD(dinput, hinput, hinput.nbytes)) - - args = ((dinput, doutput, dtimer), (None, None, None)) - shared_memory_nbytes = elems_to_bytes(2 * num_threads, np.float32) - - grid_dims = (num_blocks, 1, 1) - block_dims = (num_threads, 1, 1) - - check_cuda_errors( - cuda.cuLaunchKernel( - kernel_addr, - *grid_dims, # grid dim - *block_dims, # block dim - shared_memory_nbytes, - 0, # shared mem, stream - args, - 0, - ) - ) # arguments - - check_cuda_errors(cuda.cuCtxSynchronize()) - check_cuda_errors(cuda.cuMemcpyDtoH(timer, dtimer, timer.nbytes)) - check_cuda_errors(cuda.cuMemFree(dinput)) - check_cuda_errors(cuda.cuMemFree(doutput)) - check_cuda_errors(cuda.cuMemFree(dtimer)) - - avg_elapsed_clocks = 0.0 - - for i in range(num_blocks): - avg_elapsed_clocks += timer[i + num_blocks] - timer[i] - - avg_elapsed_clocks = avg_elapsed_clocks / num_blocks - print(f"Average clocks/block = {avg_elapsed_clocks}") - - -if __name__ == "__main__": - main() diff --git a/cuda_bindings/examples/0_Introduction/simple_cubemap_texture.py b/cuda_bindings/examples/0_Introduction/simple_cubemap_texture.py deleted file mode 100644 index cad35990e91..00000000000 --- a/cuda_bindings/examples/0_Introduction/simple_cubemap_texture.py +++ /dev/null @@ -1,229 +0,0 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates cubemap texture sampling and transformation. -# -# ################################################################################ - - -# /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy"] -# /// - - -import ctypes -import sys -import time - -import numpy as np - -from cuda.bindings import driver as cuda -from cuda.bindings import runtime as cudart -from cuda.bindings._example_helpers import KernelHelper, check_cuda_errors, find_cuda_device, requirement_not_met - -simple_cubemap_texture = """\ -extern "C" -__global__ void transformKernel(float *g_odata, int width, cudaTextureObject_t tex) -{ - // calculate this thread's data point - unsigned int x = blockIdx.x*blockDim.x + threadIdx.x; - unsigned int y = blockIdx.y*blockDim.y + threadIdx.y; - - // 0.5f offset and division are necessary to access the original data points - // in the texture (such that bilinear interpolation will not be activated). - // For details, see also CUDA Programming Guide, Appendix D - - float u = ((x+0.5f) / (float) width) * 2.f - 1.f; - float v = ((y+0.5f) / (float) width) * 2.f - 1.f; - - float cx, cy, cz; - - for (unsigned int face = 0; face < 6; face ++) - { - //Layer 0 is positive X face - if (face == 0) - { - cx = 1; - cy = -v; - cz = -u; - } - //Layer 1 is negative X face - else if (face == 1) - { - cx = -1; - cy = -v; - cz = u; - } - //Layer 2 is positive Y face - else if (face == 2) - { - cx = u; - cy = 1; - cz = v; - } - //Layer 3 is negative Y face - else if (face == 3) - { - cx = u; - cy = -1; - cz = -v; - } - //Layer 4 is positive Z face - else if (face == 4) - { - cx = u; - cy = -v; - cz = 1; - } - //Layer 4 is negative Z face - else if (face == 5) - { - cx = -u; - cy = -v; - cz = -1; - } - - // read from texture, do expected transformation and write to global memory - g_odata[face*width*width + y*width + x] = -texCubemap(tex, cx, cy, cz); - } -} -""" - - -def main(): - # Use command-line specified CUDA device, otherwise use device with highest Gflops/s - dev_id = find_cuda_device() - - # Get number of SMs on this GPU - device_props = check_cuda_errors(cudart.cudaGetDeviceProperties(dev_id)) - print( - f"CUDA device [{device_props.name}] has {device_props.multiProcessorCount} Multi-Processors SM {device_props.major}.{device_props.minor}" - ) - if device_props.major < 2: - requirement_not_met("Test requires SM 2.0 or higher for support of Texture Arrays.") - - # Generate input data for layered texture - width = 64 - num_faces = 6 - num_layers = 1 - cubemap_size = width * width * num_faces - h_data = np.arange(cubemap_size * num_layers, dtype="float32") - size = h_data.nbytes - - # This is the expected transformation of the input data (the expected output) - h_data_ref = np.repeat(np.arange(num_layers, dtype=h_data.dtype), cubemap_size) - h_data - - # Allocate device memory for result - d_data = check_cuda_errors(cudart.cudaMalloc(size)) - - # Allocate array and copy image data - channel_desc = check_cuda_errors( - cudart.cudaCreateChannelDesc(32, 0, 0, 0, cudart.cudaChannelFormatKind.cudaChannelFormatKindFloat) - ) - cu_3darray = check_cuda_errors( - cudart.cudaMalloc3DArray( - channel_desc, - cudart.make_cudaExtent(width, width, num_faces), - cudart.cudaArrayCubemap, - ) - ) - width_nbytes = h_data[:width].nbytes - myparms = cudart.cudaMemcpy3DParms() - myparms.srcPos = cudart.make_cudaPos(0, 0, 0) - myparms.dstPos = cudart.make_cudaPos(0, 0, 0) - myparms.srcPtr = cudart.make_cudaPitchedPtr(h_data, width_nbytes, width, width) - myparms.dstArray = cu_3darray - myparms.extent = cudart.make_cudaExtent(width, width, num_faces) - myparms.kind = cudart.cudaMemcpyKind.cudaMemcpyHostToDevice - check_cuda_errors(cudart.cudaMemcpy3D(myparms)) - - tex_res = cudart.cudaResourceDesc() - tex_res.resType = cudart.cudaResourceType.cudaResourceTypeArray - tex_res.res.array.array = cu_3darray - - tex_descr = cudart.cudaTextureDesc() - tex_descr.normalizedCoords = True - tex_descr.filterMode = cudart.cudaTextureFilterMode.cudaFilterModeLinear - tex_descr.addressMode[0] = cudart.cudaTextureAddressMode.cudaAddressModeWrap - tex_descr.addressMode[1] = cudart.cudaTextureAddressMode.cudaAddressModeWrap - tex_descr.addressMode[2] = cudart.cudaTextureAddressMode.cudaAddressModeWrap - tex_descr.readMode = cudart.cudaTextureReadMode.cudaReadModeElementType - - tex = check_cuda_errors(cudart.cudaCreateTextureObject(tex_res, tex_descr, None)) - dim_block = cudart.dim3() - dim_block.x = 8 - dim_block.y = 8 - dim_block.z = 1 - dim_grid = cudart.dim3() - dim_grid.x = width / dim_block.x - dim_grid.y = width / dim_block.y - dim_grid.z = 1 - - print( - f"Covering Cubemap data array of {width}~3 x {num_layers}: Grid size is {dim_grid.x} x {dim_grid.y}, each block has 8 x 8 threads" - ) - - kernel_helper = KernelHelper(simple_cubemap_texture, dev_id) - _transform_kernel = kernel_helper.get_function(b"transformKernel") - kernel_args = ((d_data, width, tex), (ctypes.c_void_p, ctypes.c_int, None)) - check_cuda_errors( - cuda.cuLaunchKernel( - _transform_kernel, - dim_grid.x, - dim_grid.y, - dim_grid.z, # grid dim - dim_block.x, - dim_block.y, - dim_block.z, # block dim - 0, - 0, # shared mem and stream - kernel_args, - 0, - ) - ) # arguments - - check_cuda_errors(cudart.cudaDeviceSynchronize()) - - start = time.time() - - # Execute the kernel - check_cuda_errors( - cuda.cuLaunchKernel( - _transform_kernel, - dim_grid.x, - dim_grid.y, - dim_grid.z, # grid dim - dim_block.x, - dim_block.y, - dim_block.z, # block dim - 0, - 0, # shared mem and stream - kernel_args, - 0, - ) - ) # arguments - - check_cuda_errors(cudart.cudaDeviceSynchronize()) - stop = time.time() - print(f"Processing time: {stop - start:.3f} msec") - print(f"{cubemap_size / ((stop - start + 1) / 1000.0) / 1e6:.2f} Mtexlookups/sec") - - # Allocate mem for the result on host side - h_odata = np.empty_like(h_data) - # Copy result from device to host - check_cuda_errors(cudart.cudaMemcpy(h_odata, d_data, size, cudart.cudaMemcpyKind.cudaMemcpyDeviceToHost)) - - check_cuda_errors(cudart.cudaDestroyTextureObject(tex)) - check_cuda_errors(cudart.cudaFree(d_data)) - check_cuda_errors(cudart.cudaFreeArray(cu_3darray)) - - min_epsilon_error = 5.0e-3 - if np.max(np.abs(h_odata - h_data_ref)) > min_epsilon_error: - print("Failed", file=sys.stderr) - sys.exit(1) - - -if __name__ == "__main__": - main() diff --git a/cuda_bindings/examples/0_Introduction/simple_p2p.py b/cuda_bindings/examples/0_Introduction/simple_p2p.py deleted file mode 100644 index 0c6700bc8df..00000000000 --- a/cuda_bindings/examples/0_Introduction/simple_p2p.py +++ /dev/null @@ -1,249 +0,0 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates peer-to-peer memory access and data transfer -# between multiple GPUs. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy"] -# /// - -import ctypes -import platform -import sys - -import numpy as np - -from cuda.bindings import driver as cuda -from cuda.bindings import runtime as cudart -from cuda.bindings._example_helpers import KernelHelper, check_cuda_errors, requirement_not_met - -simplep2p = """\ -extern "C" -__global__ void SimpleKernel(float *src, float *dst) -{ - // Just a dummy kernel, doing enough for us to verify that everything - // worked - const int idx = blockIdx.x * blockDim.x + threadIdx.x; - dst[idx] = src[idx] * 2.0f; -} -""" - - -def main(): - if platform.system() == "Darwin": - requirement_not_met("simpleP2P is not supported on Mac OSX") - - if platform.machine() == "armv7l": - requirement_not_met("simpleP2P is not supported on ARMv7") - - if platform.machine() == "aarch64": - requirement_not_met("simpleP2P is not supported on aarch64") - - if platform.machine() == "sbsa": - requirement_not_met("simpleP2P is not supported on sbsa") - - # Number of GPUs - print("Checking for multiple GPUs...") - gpu_n = check_cuda_errors(cudart.cudaGetDeviceCount()) - print(f"CUDA-capable device count: {gpu_n}") - - if gpu_n < 2: - requirement_not_met("Two or more GPUs with Peer-to-Peer access capability are required") - - prop = [check_cuda_errors(cudart.cudaGetDeviceProperties(i)) for i in range(gpu_n)] - # Check possibility for peer access - print("\nChecking GPU(s) for support of peer to peer memory access...") - - p2p_capable_gp_us = [-1, -1] - for i in range(gpu_n): - p2p_capable_gp_us[0] = i - for j in range(gpu_n): - if i == j: - continue - i_access_j = check_cuda_errors(cudart.cudaDeviceCanAccessPeer(i, j)) - j_access_i = check_cuda_errors(cudart.cudaDeviceCanAccessPeer(j, i)) - print( - "> Peer access from {} (GPU{}) -> {} (GPU{}) : {}\n".format( - prop[i].name, i, prop[j].name, j, "Yes" if i_access_j else "No" - ) - ) - print( - "> Peer access from {} (GPU{}) -> {} (GPU{}) : {}\n".format( - prop[j].name, j, prop[i].name, i, "Yes" if j_access_i else "No" - ) - ) - if i_access_j and j_access_i: - p2p_capable_gp_us[1] = j - break - if p2p_capable_gp_us[1] != -1: - break - - if p2p_capable_gp_us[0] == -1 or p2p_capable_gp_us[1] == -1: - requirement_not_met("Peer to Peer access is not available amongst GPUs in the system") - - # Use first pair of p2p capable GPUs detected - gpuid = [p2p_capable_gp_us[0], p2p_capable_gp_us[1]] - - # Enable peer access - print(f"Enabling peer access between GPU{gpuid[0]} and GPU{gpuid[1]}...") - check_cuda_errors(cudart.cudaSetDevice(gpuid[0])) - check_cuda_errors(cudart.cudaDeviceEnablePeerAccess(gpuid[1], 0)) - check_cuda_errors(cudart.cudaSetDevice(gpuid[1])) - check_cuda_errors(cudart.cudaDeviceEnablePeerAccess(gpuid[0], 0)) - - # Allocate buffers - buf_size = 1024 * 1024 * 16 * np.dtype(np.float32).itemsize - print(f"Allocating buffers ({int(buf_size / 1024 / 1024)}MB on GPU{gpuid[0]}, GPU{gpuid[1]} and CPU Host)...") - check_cuda_errors(cudart.cudaSetDevice(gpuid[0])) - g0 = check_cuda_errors(cudart.cudaMalloc(buf_size)) - check_cuda_errors(cudart.cudaSetDevice(gpuid[1])) - g1 = check_cuda_errors(cudart.cudaMalloc(buf_size)) - h0 = check_cuda_errors(cudart.cudaMallocHost(buf_size)) # Automatically portable with UVA - - # Create CUDA event handles - print("Creating event handles...") - eventflags = cudart.cudaEventBlockingSync - start_event = check_cuda_errors(cudart.cudaEventCreateWithFlags(eventflags)) - stop_event = check_cuda_errors(cudart.cudaEventCreateWithFlags(eventflags)) - - # P2P memcopy() benchmark - check_cuda_errors(cudart.cudaEventRecord(start_event, cudart.cudaStream_t(0))) - - for i in range(100): - # With UVA we don't need to specify source and target devices, the - # runtime figures this out by itself from the pointers - # Ping-pong copy between GPUs - if i % 2 == 0: - check_cuda_errors(cudart.cudaMemcpy(g1, g0, buf_size, cudart.cudaMemcpyKind.cudaMemcpyDefault)) - else: - check_cuda_errors(cudart.cudaMemcpy(g0, g1, buf_size, cudart.cudaMemcpyKind.cudaMemcpyDefault)) - - check_cuda_errors(cudart.cudaEventRecord(stop_event, cudart.cudaStream_t(0))) - check_cuda_errors(cudart.cudaEventSynchronize(stop_event)) - time_memcpy = check_cuda_errors(cudart.cudaEventElapsedTime(start_event, stop_event)) - print( - f"cudaMemcpyPeer / cudaMemcpy between GPU{gpuid[0]} and GPU{gpuid[1]}: {(1.0 / (time_memcpy / 1000.0)) * (100.0 * buf_size) / 1024.0 / 1024.0 / 1024.0:.2f}GB/s" - ) - - # Prepare host buffer and copy to GPU 0 - print(f"Preparing host buffer and memcpy to GPU{gpuid[0]}...") - - h0_local = (ctypes.c_float * int(buf_size / np.dtype(np.float32).itemsize)).from_address(h0) - for i in range(int(buf_size / np.dtype(np.float32).itemsize)): - h0_local[i] = i % 4096 - - check_cuda_errors(cudart.cudaSetDevice(gpuid[0])) - check_cuda_errors(cudart.cudaMemcpy(g0, h0, buf_size, cudart.cudaMemcpyKind.cudaMemcpyDefault)) - - # Kernel launch configuration - threads = cudart.dim3() - threads.x = 512 - threads.y = 1 - threads.z = 1 - blocks = cudart.dim3() - blocks.x = (buf_size / np.dtype(np.float32).itemsize) / threads.x - blocks.y = 1 - blocks.z = 1 - - # Run kernel on GPU 1, reading input from the GPU 0 buffer, writing - # output to the GPU 1 buffer - print(f"Run kernel on GPU{gpuid[1]}, taking source data from GPU{gpuid[0]} and writing to GPU{gpuid[1]}...") - check_cuda_errors(cudart.cudaSetDevice(gpuid[1])) - - kernel_helper = [None] * 2 - _simple_kernel = [None] * 2 - kernel_args = [None] * 2 - - kernel_helper[1] = KernelHelper(simplep2p, gpuid[1]) - _simple_kernel[1] = kernel_helper[1].get_function(b"SimpleKernel") - kernel_args[1] = ((g0, g1), (ctypes.c_void_p, ctypes.c_void_p)) - check_cuda_errors( - cuda.cuLaunchKernel( - _simple_kernel[1], - blocks.x, - blocks.y, - blocks.z, - threads.x, - threads.y, - threads.z, - 0, - 0, - kernel_args[1], - 0, - ) - ) - - check_cuda_errors(cudart.cudaDeviceSynchronize()) - - # Run kernel on GPU 0, reading input from the GPU 1 buffer, writing - # output to the GPU 0 buffer - print(f"Run kernel on GPU{gpuid[0]}, taking source data from GPU{gpuid[1]} and writing to GPU{gpuid[0]}...") - check_cuda_errors(cudart.cudaSetDevice(gpuid[0])) - kernel_helper[0] = KernelHelper(simplep2p, gpuid[0]) - _simple_kernel[0] = kernel_helper[0].get_function(b"SimpleKernel") - kernel_args[0] = ((g1, g0), (ctypes.c_void_p, ctypes.c_void_p)) - check_cuda_errors( - cuda.cuLaunchKernel( - _simple_kernel[0], - blocks.x, - blocks.y, - blocks.z, - threads.x, - threads.y, - threads.z, - 0, - 0, - kernel_args[0], - 0, - ) - ) - - check_cuda_errors(cudart.cudaDeviceSynchronize()) - - # Copy data back to host and verify - print(f"Copy data back to host from GPU{gpuid[0]} and verify results...") - check_cuda_errors(cudart.cudaMemcpy(h0, g0, buf_size, cudart.cudaMemcpyKind.cudaMemcpyDefault)) - - error_count = 0 - - for i in range(int(buf_size / np.dtype(np.float32).itemsize)): - # Re-generate input data and apply 2x '* 2.0f' computation of both - # kernel runs - if h0_local[i] != float(i % 4096) * 2.0 * 2.0: - print(f"Verification error @ element {i}: val = {h0_local[i]}, ref = {float(i % 4096) * 2.0 * 2.0}\n") - error_count += 1 - if error_count > 10: - break - - # Disable peer access (also unregisters memory for non-UVA cases) - print("Disabling peer access...") - check_cuda_errors(cudart.cudaSetDevice(gpuid[0])) - check_cuda_errors(cudart.cudaDeviceDisablePeerAccess(gpuid[1])) - check_cuda_errors(cudart.cudaSetDevice(gpuid[1])) - check_cuda_errors(cudart.cudaDeviceDisablePeerAccess(gpuid[0])) - - # Cleanup and shutdown - print("Shutting down...") - check_cuda_errors(cudart.cudaEventDestroy(start_event)) - check_cuda_errors(cudart.cudaEventDestroy(stop_event)) - check_cuda_errors(cudart.cudaSetDevice(gpuid[0])) - check_cuda_errors(cudart.cudaFree(g0)) - check_cuda_errors(cudart.cudaSetDevice(gpuid[1])) - check_cuda_errors(cudart.cudaFree(g1)) - check_cuda_errors(cudart.cudaFreeHost(h0)) - - for i in range(gpu_n): - check_cuda_errors(cudart.cudaSetDevice(i)) - - if error_count != 0: - print("Test failed!", file=sys.stderr) - sys.exit(1) - - -if __name__ == "__main__": - main() diff --git a/cuda_bindings/examples/0_Introduction/simple_zero_copy.py b/cuda_bindings/examples/0_Introduction/simple_zero_copy.py deleted file mode 100644 index 72c5fe8b701..00000000000 --- a/cuda_bindings/examples/0_Introduction/simple_zero_copy.py +++ /dev/null @@ -1,196 +0,0 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates vector addition using zero-copy (mapped) host -# memory, allowing the GPU to access CPU memory directly. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy"] -# /// - -import ctypes -import math -import platform -import random as rnd -import sys - -import numpy as np - -from cuda.bindings import driver as cuda -from cuda.bindings import runtime as cudart -from cuda.bindings._example_helpers import ( - KernelHelper, - check_cmd_line_flag, - check_cuda_errors, - get_cmd_line_argument_int, - requirement_not_met, -) - -simple_zero_copy = """\ -extern "C" -__global__ void vectorAddGPU(float *a, float *b, float *c, int N) -{ - int idx = blockIdx.x*blockDim.x + threadIdx.x; - - if (idx < N) - { - c[idx] = a[idx] + b[idx]; - } -} -""" - - -def main(): - idev = 0 - b_pin_generic_memory = False - - if platform.system() == "Darwin": - requirement_not_met("simpleZeroCopy is not supported on Mac OSX") - - if platform.machine() == "armv7l": - requirement_not_met("simpleZeroCopy is not supported on ARMv7") - - if platform.machine() == "aarch64": - requirement_not_met("simpleZeroCopy is not supported on aarch64") - - if platform.machine() == "sbsa": - requirement_not_met("simpleZeroCopy is not supported on sbsa") - - if check_cmd_line_flag("help"): - print("Usage: simpleZeroCopy [OPTION]\n", file=sys.stderr) - print("Options:", file=sys.stderr) - print(" device=[device #] Specify the device to be used", file=sys.stderr) - print(" use_generic_memory (optional) use generic page-aligned for system memory", file=sys.stderr) - sys.exit(1) - - # Get the device selected by the user or default to 0, and then set it. - if check_cmd_line_flag("device="): - device_count = cudart.cudaGetDeviceCount() - idev = int(get_cmd_line_argument_int("device=")) - - if idev >= device_count or idev < 0: - print(f"Device number {idev} is invalid, will use default CUDA device 0.") - idev = 0 - - if check_cmd_line_flag("use_generic_memory"): - b_pin_generic_memory = True - - if b_pin_generic_memory: - print("> Using Generic System Paged Memory (malloc)") - else: - print("> Using CUDA Host Allocated (cudaHostAlloc)") - - check_cuda_errors(cudart.cudaSetDevice(idev)) - - # Verify the selected device supports mapped memory and set the device flags for mapping host memory. - device_prop = check_cuda_errors(cudart.cudaGetDeviceProperties(idev)) - - if not device_prop.canMapHostMemory: - requirement_not_met(f"Device {idev} does not support mapping CPU host memory!") - - check_cuda_errors(cudart.cudaSetDeviceFlags(cudart.cudaDeviceMapHost)) - - # Allocate mapped CPU memory - - nelem = 1048576 - num_bytes = nelem * np.dtype(np.float32).itemsize - - if b_pin_generic_memory: - a = np.empty(nelem, dtype=np.float32) - b = np.empty(nelem, dtype=np.float32) - c = np.empty(nelem, dtype=np.float32) - - check_cuda_errors(cudart.cudaHostRegister(a, num_bytes, cudart.cudaHostRegisterMapped)) - check_cuda_errors(cudart.cudaHostRegister(b, num_bytes, cudart.cudaHostRegisterMapped)) - check_cuda_errors(cudart.cudaHostRegister(c, num_bytes, cudart.cudaHostRegisterMapped)) - else: - flags = cudart.cudaHostAllocMapped - a_ptr = check_cuda_errors(cudart.cudaHostAlloc(num_bytes, flags)) - b_ptr = check_cuda_errors(cudart.cudaHostAlloc(num_bytes, flags)) - c_ptr = check_cuda_errors(cudart.cudaHostAlloc(num_bytes, flags)) - - a = (ctypes.c_float * nelem).from_address(a_ptr) - b = (ctypes.c_float * nelem).from_address(b_ptr) - c = (ctypes.c_float * nelem).from_address(c_ptr) - - # Initialize the vectors - for n in range(nelem): - a[n] = rnd.random() - b[n] = rnd.random() - - # Get the device pointers for the pinned CPU memory mapped into the GPU memory space - d_a = check_cuda_errors(cudart.cudaHostGetDevicePointer(a, 0)) - d_b = check_cuda_errors(cudart.cudaHostGetDevicePointer(b, 0)) - d_c = check_cuda_errors(cudart.cudaHostGetDevicePointer(c, 0)) - - # Call the GPU kernel using the CPU pointers residing in CPU mapped memory - print("> vectorAddGPU kernel will add vectors using mapped CPU memory...") - block = cudart.dim3() - block.x = 256 - block.y = 1 - block.z = 1 - grid = cudart.dim3() - grid.x = math.ceil(nelem / float(block.x)) - grid.y = 1 - grid.z = 1 - kernel_helper = KernelHelper(simple_zero_copy, idev) - _vector_add_gpu = kernel_helper.get_function(b"vectorAddGPU") - kernel_args = ( - (d_a, d_b, d_c, nelem), - (ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_int), - ) - check_cuda_errors( - cuda.cuLaunchKernel( - _vector_add_gpu, - grid.x, - grid.y, - grid.z, - block.x, - block.y, - block.z, - 0, - cuda.CU_STREAM_LEGACY, - kernel_args, - 0, - ) - ) - check_cuda_errors(cudart.cudaDeviceSynchronize()) - - print("> Checking the results from vectorAddGPU() ...") - # Compare the results - error_norm = 0.0 - ref_norm = 0.0 - - for n in range(nelem): - ref = a[n] + b[n] - diff = c[n] - ref - error_norm += diff * diff - ref_norm += ref * ref - - error_norm = math.sqrt(error_norm) - ref_norm = math.sqrt(ref_norm) - - # Memory clean up - - print("Releasing CPU memory...") - - if b_pin_generic_memory: - check_cuda_errors(cudart.cudaHostUnregister(a)) - check_cuda_errors(cudart.cudaHostUnregister(b)) - check_cuda_errors(cudart.cudaHostUnregister(c)) - else: - check_cuda_errors(cudart.cudaFreeHost(a)) - check_cuda_errors(cudart.cudaFreeHost(b)) - check_cuda_errors(cudart.cudaFreeHost(c)) - - if error_norm / ref_norm >= 1.0e-7: - print("FAILED", file=sys.stderr) - sys.exit(1) - - -if __name__ == "__main__": - main() diff --git a/cuda_bindings/examples/0_Introduction/system_wide_atomics.py b/cuda_bindings/examples/0_Introduction/system_wide_atomics.py deleted file mode 100644 index fde3e67ad8f..00000000000 --- a/cuda_bindings/examples/0_Introduction/system_wide_atomics.py +++ /dev/null @@ -1,255 +0,0 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates system-wide atomic operations on managed memory. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy"] -# /// - -import ctypes -import os -import sys - -import numpy as np - -from cuda.bindings import driver as cuda -from cuda.bindings import runtime as cudart -from cuda.bindings._example_helpers import KernelHelper, check_cuda_errors, find_cuda_device, requirement_not_met - -system_wide_atomics = """\ -#define LOOP_NUM 50 - -extern "C" -__global__ void atomicKernel(int *atom_arr) { - unsigned int tid = blockDim.x * blockIdx.x + threadIdx.x; - - for (int i = 0; i < LOOP_NUM; i++) { - // Atomic addition - atomicAdd_system(&atom_arr[0], 10); - - // Atomic exchange - atomicExch_system(&atom_arr[1], tid); - - // Atomic maximum - atomicMax_system(&atom_arr[2], tid); - - // Atomic minimum - atomicMin_system(&atom_arr[3], tid); - - // Atomic increment (modulo 17+1) - atomicInc_system((unsigned int *)&atom_arr[4], 17); - - // Atomic decrement - atomicDec_system((unsigned int *)&atom_arr[5], 137); - - // Atomic compare-and-swap - atomicCAS_system(&atom_arr[6], tid - 1, tid); - - // Bitwise atomic instructions - - // Atomic AND - atomicAnd_system(&atom_arr[7], 2 * tid + 7); - - // Atomic OR - atomicOr_system(&atom_arr[8], 1 << tid); - - // Atomic XOR - atomicXor_system(&atom_arr[9], tid); - } -} -""" - -LOOP_NUM = 50 - - -#! Compute reference data set -#! Each element is multiplied with the number of threads / array length -#! @param reference reference data, computed but preallocated -#! @param idata input data as provided to device -#! @param len number of elements in reference / idata -def verify(test_data, length): - val = 0 - - for i in range(length * LOOP_NUM): - val += 10 - - if val != test_data[0]: - print(f"atomicAdd failed val = {val} test_data = {test_data[0]}") - return False - - val = 0 - found = False - for i in range(length): - # second element should be a member of [0, len) - if i == test_data[1]: - found = True - break - - if not found: - print("atomicExch failed") - return False - - val = -(1 << 8) - - for i in range(length): - # third element should be len-1 - val = max(val, i) - - if val != test_data[2]: - print("atomicMax failed") - return False - - val = 1 << 8 - - for i in range(length): - val = min(val, i) - - if val != test_data[3]: - print("atomicMin failed") - return False - - limit = 17 - val = 0 - - for i in range(length * LOOP_NUM): - val = 0 if val >= limit else val + 1 - - if val != test_data[4]: - print("atomicInc failed") - return False - - limit = 137 - val = 0 - - for i in range(length * LOOP_NUM): - val = limit if (val == 0) or (val > limit) else val - 1 - - if val != test_data[5]: - print("atomicDec failed") - return False - - found = False - - for i in range(length): - # seventh element should be a member of [0, len) - if i == test_data[6]: - found = True - break - - if not found: - print("atomicCAS failed") - return False - - val = 0xFF - - for i in range(length): - # 8th element should be 1 - val &= 2 * i + 7 - - if val != test_data[7]: - print("atomicAnd failed") - return False - - # 9th element should be 0xff - val = -1 - if val != test_data[8]: - print("atomicOr failed") - return False - - val = 0xFF - - for i in range(length): - # 11th element should be 0xff - val ^= i - - if val != test_data[9]: - print("atomicXor failed") - return False - - return True - - -def main(): - if os.name == "nt": - requirement_not_met("Atomics not supported on Windows") - - # set device - dev_id = find_cuda_device() - device_prop = check_cuda_errors(cudart.cudaGetDeviceProperties(dev_id)) - - if not device_prop.managedMemory: - requirement_not_met("Unified Memory not supported on this device") - - compute_mode = check_cuda_errors( - cudart.cudaDeviceGetAttribute(cudart.cudaDeviceAttr.cudaDevAttrComputeMode, dev_id) - ) - if compute_mode == cudart.cudaComputeMode.cudaComputeModeProhibited: - requirement_not_met("This sample requires a device in either default or process exclusive mode") - - if device_prop.major < 6: - requirement_not_met("Requires a minimum CUDA compute 6.0 capability") - - num_threads = 256 - num_blocks = 64 - num_data = 10 - - if device_prop.pageableMemoryAccess: - print("CAN access pageable memory") - atom_arr_h = (ctypes.c_int * num_data)(0) - atom_arr = ctypes.addressof(atom_arr_h) - else: - print("CANNOT access pageable memory") - atom_arr = check_cuda_errors( - cudart.cudaMallocManaged(np.dtype(np.int32).itemsize * num_data, cudart.cudaMemAttachGlobal) - ) - atom_arr_h = (ctypes.c_int * num_data).from_address(atom_arr) - - for i in range(num_data): - atom_arr_h[i] = 0 - - # To make the AND and XOR tests generate something other than 0... - atom_arr_h[7] = atom_arr_h[9] = 0xFF - - kernel_helper = KernelHelper(system_wide_atomics, dev_id) - _atomic_kernel = kernel_helper.get_function(b"atomicKernel") - kernel_args = ((atom_arr,), (ctypes.c_void_p,)) - check_cuda_errors( - cuda.cuLaunchKernel( - _atomic_kernel, - num_blocks, - 1, - 1, # grid dim - num_threads, - 1, - 1, # block dim - 0, - cuda.CU_STREAM_LEGACY, # shared mem and stream - kernel_args, - 0, - ) - ) # arguments - # NOTE: Python doesn't have an equivalent system atomic operations - # atomicKernel_CPU(atom_arr_h, numBlocks * numThreads) - - check_cuda_errors(cudart.cudaDeviceSynchronize()) - - # Compute & verify reference solution - test_result = verify(atom_arr_h, num_threads * num_blocks) - - if device_prop.pageableMemoryAccess: - pass - else: - check_cuda_errors(cudart.cudaFree(atom_arr)) - - if not test_result: - print("systemWideAtomics completed with errors", file=sys.stderr) - sys.exit(1) - - -if __name__ == "__main__": - main() diff --git a/cuda_bindings/examples/0_Introduction/vector_add_drv.py b/cuda_bindings/examples/0_Introduction/vector_add_drv.py deleted file mode 100644 index d2356c0d3a1..00000000000 --- a/cuda_bindings/examples/0_Introduction/vector_add_drv.py +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates vector addition using the CUDA Driver API with -# unified virtual addressing. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy"] -# /// - -import ctypes -import math -import sys - -import numpy as np - -from cuda.bindings import driver as cuda -from cuda.bindings._example_helpers import KernelHelper, check_cuda_errors, find_cuda_device_drv, requirement_not_met - -vector_add_drv = """\ -/* Vector addition: C = A + B. - * - * This sample is a very basic sample that implements element by element - * vector addition. It is the same as the sample illustrating Chapter 3 - * of the programming guide with some additions like error checking. - * - */ - -// Device code -extern "C" __global__ void VecAdd_kernel(const float *A, const float *B, float *C, int N) -{ - int i = blockDim.x * blockIdx.x + threadIdx.x; - - if (i < N) - C[i] = A[i] + B[i]; -} -""" - - -def main(): - n = 50000 - nbytes = n * np.dtype(np.float32).itemsize - - # Initialize - check_cuda_errors(cuda.cuInit(0)) - cu_device = find_cuda_device_drv() - # Create context - cu_context = check_cuda_errors(cuda.cuCtxCreate(None, 0, cu_device)) - - uva_supported = check_cuda_errors( - cuda.cuDeviceGetAttribute(cuda.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING, cu_device) - ) - if not uva_supported: - requirement_not_met("Accessing pageable memory directly requires UVA") - - kernel_helper = KernelHelper(vector_add_drv, int(cu_device)) - _vec_add_kernel = kernel_helper.get_function(b"VecAdd_kernel") - - # Allocate input vectors h_A and h_B in host memory - h_a = np.random.rand(n).astype(dtype=np.float32) - h_b = np.random.rand(n).astype(dtype=np.float32) - h_c = np.random.rand(n).astype(dtype=np.float32) - - # Allocate vectors in device memory - d_a = check_cuda_errors(cuda.cuMemAlloc(nbytes)) - d_b = check_cuda_errors(cuda.cuMemAlloc(nbytes)) - d_c = check_cuda_errors(cuda.cuMemAlloc(nbytes)) - - # Copy vectors from host memory to device memory - check_cuda_errors(cuda.cuMemcpyHtoD(d_a, h_a, nbytes)) - check_cuda_errors(cuda.cuMemcpyHtoD(d_b, h_b, nbytes)) - - # Grid/Block configuration - threads_per_block = 256 - blocks_per_grid = (n + threads_per_block - 1) / threads_per_block - - kernel_args = ((d_a, d_b, d_c, n), (None, None, None, ctypes.c_int)) - - # Launch the CUDA kernel - check_cuda_errors( - cuda.cuLaunchKernel( - _vec_add_kernel, - blocks_per_grid, - 1, - 1, - threads_per_block, - 1, - 1, - 0, - 0, - kernel_args, - 0, - ) - ) - - # Copy result from device memory to host memory - # h_C contains the result in host memory - check_cuda_errors(cuda.cuMemcpyDtoH(h_c, d_c, nbytes)) - - for i in range(n): - sum_all = h_a[i] + h_b[i] - if math.fabs(h_c[i] - sum_all) > 1e-7: - break - - # Free device memory - check_cuda_errors(cuda.cuMemFree(d_a)) - check_cuda_errors(cuda.cuMemFree(d_b)) - check_cuda_errors(cuda.cuMemFree(d_c)) - - check_cuda_errors(cuda.cuCtxDestroy(cu_context)) - if i + 1 != n: - print("Result = FAIL", file=sys.stderr) - sys.exit(1) - - -if __name__ == "__main__": - main() diff --git a/cuda_bindings/examples/0_Introduction/vector_add_mmap.py b/cuda_bindings/examples/0_Introduction/vector_add_mmap.py deleted file mode 100644 index 9faa45bedb8..00000000000 --- a/cuda_bindings/examples/0_Introduction/vector_add_mmap.py +++ /dev/null @@ -1,311 +0,0 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates vector addition using multi-device memory -# mapping (cuMemCreate, cuMemMap) with virtual address management. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy"] -# /// - -import ctypes -import math -import platform -import sys - -import numpy as np - -from cuda.bindings import driver as cuda -from cuda.bindings._example_helpers import KernelHelper, check_cuda_errors, find_cuda_device_drv, requirement_not_met - -vector_add_mmap = """\ -/* Vector addition: C = A + B. - * - * This sample is a very basic sample that implements element by element - * vector addition. It is the same as the sample illustrating Chapter 3 - * of the programming guide with some additions like error checking. - * - */ - -// Device code -extern "C" __global__ void VecAdd_kernel(const float *A, const float *B, float *C, int N) -{ - int i = blockDim.x * blockIdx.x + threadIdx.x; - - if (i < N) - C[i] = A[i] + B[i]; -} -""" - - -def round_up(x, y): - return int((x - 1) / y + 1) * y - - -def get_backing_devices(cu_device): - num_devices = check_cuda_errors(cuda.cuDeviceGetCount()) - - backing_devices = [cu_device] - for dev in range(num_devices): - # The mapping device is already in the backingDevices vector - if int(dev) == int(cu_device): - continue - - # Only peer capable devices can map each others memory - capable = check_cuda_errors(cuda.cuDeviceCanAccessPeer(cu_device, dev)) - if not capable: - continue - - # The device needs to support virtual address management for the required apis to work - attribute_val = check_cuda_errors( - cuda.cuDeviceGetAttribute( - cuda.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED, - cu_device, - ) - ) - if attribute_val == 0: - continue - - backing_devices.append(cuda.CUdevice(dev)) - return backing_devices - - -def simple_malloc_multi_device_mmap(size, resident_devices, mapping_devices, align=0): - min_granularity = 0 - - # Setup the properties common for all the chunks - # The allocations will be device pinned memory. - # This property structure describes the physical location where the memory will be allocated via cuMemCreate allong with additional properties - # In this case, the allocation will be pinnded device memory local to a given device. - prop = cuda.CUmemAllocationProp() - prop.type = cuda.CUmemAllocationType.CU_MEM_ALLOCATION_TYPE_PINNED - prop.location.type = cuda.CUmemLocationType.CU_MEM_LOCATION_TYPE_DEVICE - - # Get the minimum granularity needed for the resident devices - # (the max of the minimum granularity of each participating device) - for device in resident_devices: - prop.location.id = device - status, granularity = cuda.cuMemGetAllocationGranularity( - prop, cuda.CUmemAllocationGranularity_flags.CU_MEM_ALLOC_GRANULARITY_MINIMUM - ) - if status != cuda.CUresult.CUDA_SUCCESS: - return status, None, None - if min_granularity < granularity: - min_granularity = granularity - - # Get the minimum granularity needed for the accessing devices - # (the max of the minimum granularity of each participating device) - for device in mapping_devices: - prop.location.id = device - status, granularity = cuda.cuMemGetAllocationGranularity( - prop, cuda.CUmemAllocationGranularity_flags.CU_MEM_ALLOC_GRANULARITY_MINIMUM - ) - if status != cuda.CUresult.CUDA_SUCCESS: - return status, None, None - if min_granularity < granularity: - min_granularity = granularity - - # Round up the size such that we can evenly split it into a stripe size tha meets the granularity requirements - # Essentially size = N * residentDevices.size() * min_granularity is the requirement, - # since each piece of the allocation will be stripeSize = N * min_granularity - # and the min_granularity requirement applies to each stripeSize piece of the allocation. - size = round_up(size, len(resident_devices) * min_granularity) - stripe_size = size / len(resident_devices) - - # Return the rounded up size to the caller for use in the free - allocation_size = size - - # Reserve the required contiguous VA space for the allocations - status, dptr = cuda.cuMemAddressReserve(size, align, cuda.CUdeviceptr(0), 0) - if status != cuda.CUresult.CUDA_SUCCESS: - simple_free_multi_device_mmap(dptr, size) - return status, None, None - - # Create and map the backings on each gpu - # note: reusing CUmemAllocationProp prop from earlier with prop.type & prop.location.type already specified. - for idx in range(len(resident_devices)): - # Set the location for this chunk to this device - prop.location.id = resident_devices[idx] - - # Create the allocation as a pinned allocation on this device - status, allocation_handle = cuda.cuMemCreate(stripe_size, prop, 0) - if status != cuda.CUresult.CUDA_SUCCESS: - simple_free_multi_device_mmap(dptr, size) - return status, None, None - - # Assign the chunk to the appropriate VA range and release the handle. - # After mapping the memory, it can be referenced by virtual address. - # Since we do not need to make any other mappings of this memory or export it, - # we no longer need and can release the allocationHandle. - # The allocation will be kept live until it is unmapped. - (status,) = cuda.cuMemMap(int(dptr) + (stripe_size * idx), stripe_size, 0, allocation_handle, 0) - - # the handle needs to be released even if the mapping failed. - (status2,) = cuda.cuMemRelease(allocation_handle) - if status != cuda.CUresult.CUDA_SUCCESS: - # cuMemRelease should not have failed here - # as the handle was just allocated successfully - # however return an error if it does. - status = status2 - - # Cleanup in case of any mapping failures. - if status != cuda.CUresult.CUDA_SUCCESS: - simple_free_multi_device_mmap(dptr, size) - return status, None, None - - # Each accessDescriptor will describe the mapping requirement for a single device - access_descriptors = [cuda.CUmemAccessDesc()] * len(mapping_devices) - - # Prepare the access descriptor array indicating where and how the backings should be visible. - for idx in range(len(mapping_devices)): - # Specify which device we are adding mappings for. - access_descriptors[idx].location.type = cuda.CUmemLocationType.CU_MEM_LOCATION_TYPE_DEVICE - access_descriptors[idx].location.id = mapping_devices[idx] - - # Specify both read and write access. - access_descriptors[idx].flags = cuda.CUmemAccess_flags.CU_MEM_ACCESS_FLAGS_PROT_READWRITE - - # Apply the access descriptors to the whole VA range. - (status,) = cuda.cuMemSetAccess(dptr, size, access_descriptors, len(access_descriptors)) - if status != cuda.CUresult.CUDA_SUCCESS: - simple_free_multi_device_mmap(dptr, size) - return status, None, None - - return (status, dptr, allocation_size) - - -def simple_free_multi_device_mmap(dptr, size): - # Unmap the mapped virtual memory region - # Since the handles to the mapped backing stores have already been released - # by cuMemRelease, and these are the only/last mappings referencing them, - # The backing stores will be freed. - # Since the memory has been unmapped after this call, accessing the specified - # va range will result in a fault (unitll it is remapped). - status = cuda.cuMemUnmap(dptr, size) - if status[0] != cuda.CUresult.CUDA_SUCCESS: - return status - - # Free the virtual address region. This allows the virtual address region - # to be reused by future cuMemAddressReserve calls. This also allows the - # virtual address region to be used by other allocation made through - # opperating system calls like malloc & mmap. - status = cuda.cuMemAddressFree(dptr, size) - if status[0] != cuda.CUresult.CUDA_SUCCESS: - return status - return status - - -def main(): - if platform.system() == "Darwin": - requirement_not_met("vectorAddMMAP is not supported on Mac OSX") - - if platform.machine() == "armv7l": - requirement_not_met("vectorAddMMAP is not supported on ARMv7") - - if platform.machine() == "aarch64": - requirement_not_met("vectorAddMMAP is not supported on aarch64") - - if platform.machine() == "sbsa": - requirement_not_met("vectorAddMMAP is not supported on sbsa") - - n = 50000 - size = n * np.dtype(np.float32).itemsize - - # Initialize - check_cuda_errors(cuda.cuInit(0)) - - cu_device = find_cuda_device_drv() - - # Check that the selected device supports virtual address management - attribute_val = check_cuda_errors( - cuda.cuDeviceGetAttribute( - cuda.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED, - cu_device, - ) - ) - print(f"Device {cu_device} VIRTUAL ADDRESS MANAGEMENT SUPPORTED = {attribute_val}.") - if not attribute_val: - requirement_not_met(f"Device {cu_device} doesn't support VIRTUAL ADDRESS MANAGEMENT.") - - # The vector addition happens on cuDevice, so the allocations need to be mapped there. - mapping_devices = [cu_device] - - # Collect devices accessible by the mapping device (cuDevice) into the backingDevices vector. - backing_devices = get_backing_devices(cu_device) - - # Create context - cu_context = check_cuda_errors(cuda.cuCtxCreate(None, 0, cu_device)) - - kernel_helper = KernelHelper(vector_add_mmap, int(cu_device)) - _vec_add_kernel = kernel_helper.get_function(b"VecAdd_kernel") - - # Allocate input vectors h_A and h_B in host memory - h_a = np.random.rand(size).astype(dtype=np.float32) - h_b = np.random.rand(size).astype(dtype=np.float32) - h_c = np.random.rand(size).astype(dtype=np.float32) - - # Allocate vectors in device memory - # note that a call to cuCtxEnablePeerAccess is not needed even though - # the backing devices and mapping device are not the same. - # This is because the cuMemSetAccess call explicitly specifies - # the cross device mapping. - # cuMemSetAccess is still subject to the constraints of cuDeviceCanAccessPeer - # for cross device mappings (hence why we checked cuDeviceCanAccessPeer earlier). - d_a, allocation_size = check_cuda_errors(simple_malloc_multi_device_mmap(size, backing_devices, mapping_devices)) - d_b, _ = check_cuda_errors(simple_malloc_multi_device_mmap(size, backing_devices, mapping_devices)) - d_c, _ = check_cuda_errors(simple_malloc_multi_device_mmap(size, backing_devices, mapping_devices)) - - # Copy vectors from host memory to device memory - check_cuda_errors(cuda.cuMemcpyHtoD(d_a, h_a, size)) - check_cuda_errors(cuda.cuMemcpyHtoD(d_b, h_b, size)) - - # Grid/Block configuration - threads_per_block = 256 - blocks_per_grid = (n + threads_per_block - 1) / threads_per_block - - kernel_args = ((d_a, d_b, d_c, n), (None, None, None, ctypes.c_int)) - - # Launch the CUDA kernel - check_cuda_errors( - cuda.cuLaunchKernel( - _vec_add_kernel, - blocks_per_grid, - 1, - 1, - threads_per_block, - 1, - 1, - 0, - 0, - kernel_args, - 0, - ) - ) - - # Copy result from device memory to host memory - # h_C contains the result in host memory - check_cuda_errors(cuda.cuMemcpyDtoH(h_c, d_c, size)) - - # Verify result - for i in range(n): - sum_all = h_a[i] + h_b[i] - if math.fabs(h_c[i] - sum_all) > 1e-7: - break - - check_cuda_errors(simple_free_multi_device_mmap(d_a, allocation_size)) - check_cuda_errors(simple_free_multi_device_mmap(d_b, allocation_size)) - check_cuda_errors(simple_free_multi_device_mmap(d_c, allocation_size)) - - check_cuda_errors(cuda.cuCtxDestroy(cu_context)) - - if i + 1 != n: - print("Result = FAIL", file=sys.stderr) - sys.exit(1) - - -if __name__ == "__main__": - main() diff --git a/cuda_bindings/examples/extra/jit_program.py b/cuda_bindings/examples/extra/jit_program.py deleted file mode 100644 index 7a5cc1495fc..00000000000 --- a/cuda_bindings/examples/extra/jit_program.py +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates JIT compilation of CUDA kernels using NVRTC -# and the Driver API (saxpy kernel). -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy"] -# /// - -import ctypes - -import numpy as np - -from cuda.bindings import driver as cuda -from cuda.bindings._v2 import nvrtc - - -def assert_drv(err): - if isinstance(err, cuda.CUresult): - if err != cuda.CUresult.CUDA_SUCCESS: - raise RuntimeError(f"Cuda Error: {err}") - elif isinstance(err, nvrtc.Result): - if err != nvrtc.Result.SUCCESS: - raise RuntimeError(f"Nvrtc Error: {err}") - else: - raise RuntimeError(f"Unknown error type: {err}") - - -saxpy = """\ -extern "C" __global__ -void saxpy(float a, float *x, float *y, float *out, size_t n) -{ - size_t tid = blockIdx.x * blockDim.x + threadIdx.x; - if (tid < n) { - out[tid] = a * x[tid] + y[tid]; - } -} -""" - - -def main(): - # Init - (err,) = cuda.cuInit(0) - assert_drv(err) - - # Device - err, cu_device = cuda.cuDeviceGet(0) - assert_drv(err) - - # Ctx - err, context = cuda.cuCtxCreate(None, 0, cu_device) - assert_drv(err) - - # Create program - prog = nvrtc.create_program(str.encode(saxpy), b"saxpy.cu") - - # Get target architecture - err, major = cuda.cuDeviceGetAttribute( - cuda.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR, cu_device - ) - assert_drv(err) - err, minor = cuda.cuDeviceGetAttribute( - cuda.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR, cu_device - ) - assert_drv(err) - nvrtc_major, nvrtc_minor = nvrtc.version() - use_cubin = nvrtc_minor >= 1 - prefix = "sm" if use_cubin else "compute" - arch_arg = bytes(f"--gpu-architecture={prefix}_{major}{minor}", "ascii") - - # Compile program - opts = [b"--fmad=false", arch_arg] - nvrtc.compile_program(prog, opts) - - # Get log from compilation - log = nvrtc.get_program_log(prog) - print(log.decode()) - - # Get data from compilation - if use_cubin: - data = nvrtc.get_cubin(prog) - else: - data = nvrtc.get_ptx(prog) - - # Load data as module data and retrieve function - data = np.char.array(data) - err, module = cuda.cuModuleLoadData(data) - assert_drv(err) - err, kernel = cuda.cuModuleGetFunction(module, b"saxpy") - assert_drv(err) - - # Test the kernel - num_threads = 128 - num_blocks = 32 - - a = np.float32(2.0) - n = np.array(num_threads * num_blocks, dtype=np.uint32) - buffer_size = n * a.itemsize - - err, d_x = cuda.cuMemAlloc(buffer_size) - assert_drv(err) - err, d_y = cuda.cuMemAlloc(buffer_size) - assert_drv(err) - err, d_out = cuda.cuMemAlloc(buffer_size) - assert_drv(err) - - h_x = np.random.rand(n).astype(dtype=np.float32) - h_y = np.random.rand(n).astype(dtype=np.float32) - h_out = np.zeros(n).astype(dtype=np.float32) - - err, stream = cuda.cuStreamCreate(0) - assert_drv(err) - - (err,) = cuda.cuMemcpyHtoDAsync(d_x, h_x, buffer_size, stream) - assert_drv(err) - (err,) = cuda.cuMemcpyHtoDAsync(d_y, h_y, buffer_size, stream) - assert_drv(err) - - (err,) = cuda.cuStreamSynchronize(stream) - assert_drv(err) - - # Assert values are different before running kernel - h_z = a * h_x + h_y - if np.allclose(h_out, h_z): - raise ValueError("Error inside tolerence for host-device vectors") - - arg_values = (a, d_x, d_y, d_out, n) - arg_types = (ctypes.c_float, None, None, None, ctypes.c_size_t) - (err,) = cuda.cuLaunchKernel( - kernel, - num_blocks, - 1, - 1, # grid dim - num_threads, - 1, - 1, # block dim - 0, - stream, # shared mem and stream - (arg_values, arg_types), - 0, - ) # arguments - assert_drv(err) - - (err,) = cuda.cuMemcpyDtoHAsync(h_out, d_out, buffer_size, stream) - assert_drv(err) - (err,) = cuda.cuStreamSynchronize(stream) - assert_drv(err) - - # Assert values are same after running kernel - h_z = a * h_x + h_y - if not np.allclose(h_out, h_z): - raise ValueError("Error outside tolerence for host-device vectors") - - (err,) = cuda.cuStreamDestroy(stream) - assert_drv(err) - - (err,) = cuda.cuMemFree(d_x) - assert_drv(err) - (err,) = cuda.cuMemFree(d_y) - assert_drv(err) - (err,) = cuda.cuMemFree(d_out) - assert_drv(err) - - (err,) = cuda.cuModuleUnload(module) - assert_drv(err) - (err,) = cuda.cuCtxDestroy(context) - assert_drv(err) - - -if __name__ == "__main__": - main() diff --git a/cuda_bindings/pixi.lock b/cuda_bindings/pixi.lock index 65cb1f78793..3ebf58a1a29 100644 --- a/cuda_bindings/pixi.lock +++ b/cuda_bindings/pixi.lock @@ -1,1742 +1,2208 @@ -version: 7 -platforms: -- name: linux-64 - virtual-packages: - - __unix=0=0 - - __linux=4.18 - - __glibc=2.28 - - __archspec=0=x86_64 -- name: linux-aarch64 - virtual-packages: - - __unix=0=0 - - __linux=4.18 - - __glibc=2.28 - - __archspec=0=aarch64 -- name: win-64 - virtual-packages: - - __win=10.0 - - __archspec=0=x86_64 +version: 6 environments: cu12: channels: - url: https://conda.anaconda.org/conda-forge/ + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-h39aace5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45.1-default_hfdba357_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h039972f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-hed03a55_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.2.0-h53410ce_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py314h97ea11e_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-12.9.27-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-12.9.86-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-12.9.79-h5888daf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-12.9.79-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-12.9.79-h3f2d84a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-12.9.79-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-12.9.79-h3f2d84a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-12.9.79-h3f2d84a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-12.9.86-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-12.9.86-h69a702a_6.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-12.9.86-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-12.9.86-h4bc722e_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-12.9.86-h4bc722e_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-12.9.79-h7938cbb_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.4-py314h1807b08_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.0.1-gpl_hcddb375_914.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.17.1-h27c8c51_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.2-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h54862ce_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.2-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h6f77f03_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he420e7e_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.5-h2b0a6b4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.2.0-h96af755_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h0dff253_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.7-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-13.1.0-h6083320_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.2-h33c6efd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.9.0-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.0-py314h97ea11e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbde042b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.28.2-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.4-h96ad9f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.29.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h7b12aa8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.5-h434b012_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.77-h3ff7636_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-5_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp22.1-22.1.8-default_h6c227bf_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.8-default_h9692865_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.14.1.1-hbc026e6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.4.0-ha23c83e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.2-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.2-h73754d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.4-h6548e54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.2-default_hafda6a7_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.3.0-h4c17acf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.2-h0d30a3d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h3a9caae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-ha09017c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-5_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-h174a0a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.8-hf7376ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-12.9.82-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-12.9.82-hecca717_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-12.9.86-hecca717_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.0.0-hd85de46_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.0.0-hd85de46_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.0.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.0.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.0.0-h7a07914_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.0.0-h7a07914_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.0.0-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.0.0-h78e8023_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.0.0-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.1-h21c0c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.55-h421ea60_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h2b00c02_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.2-h61e6d4b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-hc50b9dd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h2840a7c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libraqm-0.10.5-h6406941_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.10-hd0affe5_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.10-hd0affe5_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-h9d88235_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.24.1-he1eb515_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.1-hca5e8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.2-hca6bf5a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.2-he237659_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.1-py314hdafbbf9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.1-py314had63eae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.2-py314h2b28147_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py314h2b28147_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.4-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-h65dd3cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py314h8ec4b1a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-61.0-h192683f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py314h3987850_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.2-hdeec2a5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2025.5-h718be3e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.12-hdeec2a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.3-h1b60276_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.1-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.0.1-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-hb700be7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py314h5bd0f2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py314h5bd0f2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hceb46e0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-12.9.27-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-12.9.86-ha770c72_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-12.9.79-h3f2d84a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-12.9.79-h3f2d84a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-12.9.79-h3f2d84a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-12.9.86-ha770c72_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.47-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-bindings[04818863] @ . - - conda_source: cuda-pathfinder[83159de6] @ ../cuda_pathfinder + - conda: . + build: py314ha6d028f_0 + - conda: ../cuda_pathfinder linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.9.1-hcccb83c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/attr-2.5.1-h4e544f5_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.45.1-default_h5f4c503_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.16.1-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.14.1-pl5321h8fffa31_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-1.2.0-hd651790_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-bin-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/contourpy-1.3.3-py314ha0cc70f_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-12.9.27-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-12.9.79-h3ae8b8a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-12.9.79-h3ae8b8a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-12.9.79-h3ae8b8a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-12.9.86-h8f3c8d4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-12.9.86-he9431aa_106.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-12.9.86-h7b14b0b_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-12.9.86-h7b14b0b_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-12.9.79-h16bee8c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.4-py314h4c416a3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cyrus-sasl-2.1.28-h6598af7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.0.1-gpl_h62efc85_914.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.17.1-hba86a56_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.2-h8af1aa0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/double-conversion-3.4.0-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_h1992ac7_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.2-hba86a56_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.3-h8af1aa0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-hcedddb3_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.5-h90308e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.2.0-h124e036_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.7-h90308e0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.3.0-h124e036_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.14-hfae3067_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-13.1.0-h1134a53_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.2-hcab7f73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.15-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/kiwisolver-1.5.0-py314h4702e76_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-h2fb54aa_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260107.1-cxx17_h6983b43_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.4-hcfe818d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-5_haddc8a3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260526.0-cxx17_h6983b43_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.5-hac26362_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.2.0-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.77-h68e9139_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-5_hd72aa62_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libclang-cpp22.1-22.1.8-default_h0cc847a_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libclang13-22.1.8-default_hd92691d_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.14.1.1-had8bf56_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcups-2.3.3-h4f2b762_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.125-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.4-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.4.0-hf71c8f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.127-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-devel-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libflac-1.5.0-he9c94f4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.2-h8af1aa0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.2-hdae7a39_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.86.4-hf53f6bf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.12.2-default_ha470c98_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.3.0-h81d0cf9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-devel-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.2-h96a7f82_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-devel-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-devel-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h9b45113_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.11.2-h71be66a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-5_h88aeb00_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.2-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.2.0-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.12.0-hbae46ee_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libllvm22-22.1.8-hfd2ba90_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-12.9.82-h8f3c8d4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libntlm-1.4-hf897c2e_1002.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-12.9.82-h8f3c8d4_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-12.9.86-h8f3c8d4_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.30-pthreads_h9d3fd7e_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.0.0-h1915271_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.0.0-h1915271_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.0.0-h3d5001d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.0.0-h3d5001d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.0.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.0.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.0.0-h558496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.0.0-h558496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.0.0-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.0.0-h2cb6e3c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.0.0-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopengl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.1-h9dfe790_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.1-hfae3067_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.18-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.55-h1abf092_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.33.5-h1f88751_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.60.2-h8171147_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.19-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-ha018e38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpq-18.4-hccacd55_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-7.35.1-h30ec8a2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libraqm-0.10.5-hd2f8911_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.62.3-hf685517_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.52.0-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.10-hf9559e3_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.10-hf9559e3_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.2-hdb009f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libunwind-1.8.3-h6470e1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.14-hfefdfc9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libusb-1.0.29-h06eaf92_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.41.3-h1022ec0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvorbis-1.3.7-h7ac5ae9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvpx-1.15.2-hfae3067_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.341.0-h8b8848b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.1-h3c6a4c8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.2-h79dcc73_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.2-h825857f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.2-h3c6a4c8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxslt-1.1.43-h6700d25_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-3.11.1-py314ha42fa4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-base-3.11.1-py314h99b9003_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.2-py314haac167e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h0564a2a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.1-h546c87b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-he55ef5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py314he1698a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h663e864_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openjpeg-2.5.4-h5da879a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openldap-2.6.13-h2fb54aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-h8547ced_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pillow-12.3.0-py314hac3e5ec_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.3-hb06a95a_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-61.0-h1f0f388_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyside6-6.11.1-py314ha37eecc_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/qhull-2020.2-h70be974_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/qt6-main-6.11.1-pl5321heaece2b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.2-had2c13b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2025.5-hfeb5c2c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.12-had2c13b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.3-h9a39c52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.1-hfefdfc9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.0.1-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2022.3.0-hfefdfc9_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.24.0-h4f8a99f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.2.0-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2023.0.0-h57272ed_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.5.7-py314hafb4487_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/unicodedata2-17.0.1-py314h51f160d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.26.0-h4f8a99f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.47-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-0.4.1-hca56bd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-cursor-0.1.6-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-image-0.4.0-h5c728e9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-keysyms-0.4.1-h5c728e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-renderutil-0.3.10-h5c728e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-wm-0.4.2-h5c728e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.48-h80f16a2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxau-1.0.12-he30d5cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxcomposite-0.4.7-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxcursor-1.2.3-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdamage-1.1.6-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.2-h57736b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.3-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxscrnsaver-1.2.4-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxxf86vm-1.1.7-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-xorgproto-2025.1-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zlib-ng-2.3.3-ha7cb516_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-12.9.27-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-bindings[748b2e6f] @ . - - conda_source: cuda-pathfinder[4dfff30f] @ ../cuda_pathfinder + - conda: . + build: py314he8946ed_0 + - conda: ../cuda_pathfinder win-64: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.46.1-default_ha84baeb_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-1.2.0-h2d644bc_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-bin-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py314hf309875_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-12.9.27-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-12.9.86-h57928b3_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-12.9.79-he0c23c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-12.9.79-he0c23c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-12.9.79-he0c23c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-12.9.79-he0c23c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-12.9.79-he0c23c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-12.9.79-he0c23c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-12.9.86-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-12.9.86-h719f0c7_6.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-12.9.86-h57928b3_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-12.9.86-h2466b09_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-12.9.86-h2466b09_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-12.9.79-h57928b3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_he504192_904.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.2-hd47e2ca_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.9.1-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.45.1-default_ha84baeb_101.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/conda-gcc-specs-15.2.0-hd546029_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-12.9.86-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-12.9.86-h719f0c7_6.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-12.9.86-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-12.9.86-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-12.9.79-h57928b3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.4-py314h344ed54_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.0.1-gpl_hb2d76f6_914.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.17.1-hd47e2ca_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.2-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-hd556455_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-ha526d7c_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.5-h1f5b9c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.2.0-h294ba9c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-hac47afa_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-13.1.0-h5a1b470_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.2-h637d24d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lame-3.100-hcfcfb64_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.45.1-default_hfd38196_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-h6123e3b_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-h062b9a2_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.7-h1f5b9c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.88.2-h395db07_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.88.2-h74ecf4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.3.0-h294ba9c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py314hf309875_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lame-4.0-h4a41cd3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.46.1-default_hfd38196_102.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-5_hf2e6a31_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-5_h2a3cdd5_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_h2a3cdd5_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.8-default_hf735972_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.4-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.2-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.2-hdbac1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.86.4-h0c9aed9_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.2-default_h4379cf1_1000.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.3.0-ha71e874_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.2-h7ce1215_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h2419aca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.2-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-hf3f85d1_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-5_hf9ab0e9_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.12.0-h932607e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-12.9.82-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-12.9.82-hac47afa_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-12.9.86-hac47afa_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.55-h7351971_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.60.0-hd5e4115_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libraqm-0.10.5-h50d6d30_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.62.3-h15cfe45_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.2-h3cfd58e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.2-h779ef1b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.0-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h0e4246c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h0fbe4c1_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.0-hac47afa_455.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.2-py314h06c3c77_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-hb17fa0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.11.1-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.11.1-py314hd0c49b1_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpg123-1.32.9-h01009b0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py314h02f10f6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-h1eab103_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openjpeg-2.5.4-h0e57b4f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.3.0-py314h61b30b5_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-h0e40799_1002.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py314h447aaf0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/qhull-2020.2-hc790b64_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/qt6-main-6.11.1-pl5321hfcac499_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.2-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2025.5-h8fa7867_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.1-h49e36cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.0.1-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-h3155e25_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.12-h5112557_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.3-hbcac29b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.2.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py314h5a2d7ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_34.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py314h5a2d7ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda - conda: https://conda.anaconda.org/conda-forge/win-64/x264-1!164.3095-h8ffe710_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-hba3369d_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.5-hba3369d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-ng-2.3.3-h0261ad2_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - - conda_source: cuda-bindings[341f49d8] @ . - - conda_source: cuda-pathfinder[169735b8] @ ../cuda_pathfinder + - conda: . + build: py314h5e6f764_0 + - conda: ../cuda_pathfinder cu13: channels: - url: https://conda.anaconda.org/conda-forge/ + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.1-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45-default_hfdba357_105.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h039972f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-hed03a55_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.2.0-h53410ce_16.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.2.0-h53410ce_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py314h97ea11e_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.73-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.33-h69a702a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.33-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.33-h4bc722e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.73-h69a702a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.73-h4bc722e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-13.3.27-h7938cbb_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.4-py314h1807b08_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.0.1-gpl_hb3f9226_906.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.15.0-h7e30c49_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h54862ce_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.2-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h0dff253_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-hc5723f1_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.4-h2b0a6b4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.1.0-hfd11570_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h0dff253_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.7-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.3.0-h6083320_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.1-h33c6efd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.9.0-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-25.3.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.0-py314h97ea11e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbde042b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45-default_hbd61a6d_105.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.26.3-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.4-h96ad9f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.29.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h7b12aa8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.5-h434b012_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-5_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp22.1-22.1.8-default_h6c227bf_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.8-default_h9692865_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.3-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.4.0-ha23c83e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.1-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.1-h73754d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.3-h6548e54_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_hafda6a7_1003.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.2-h0d30a3d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h3a9caae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-5_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-h174a0a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.8-hf7376ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2025.2.0-hb617929_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2025.2.0-hed573e4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2025.2.0-hed573e4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2025.2.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2025.2.0-hb617929_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2025.2.0-hb617929_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2025.2.0-hb617929_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2025.2.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2025.2.0-h1862bb8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2025.2.0-h1862bb8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2025.2.0-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2025.2.0-h0767aad_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2025.2.0-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.5.2-hd0c01bc_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.53-h421ea60_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-h49aed37_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.0-h61e6d4b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.1-h21c0c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-hc50b9dd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h2840a7c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libraqm-0.10.5-h6406941_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.1-hf4e2dac_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-h9d88235_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.13-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.24.1-he1eb515_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.15.0-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.328.1-h5279c79_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.1-hca5e8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-hca6bf5a_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-he237659_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.1-py314hdafbbf9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.1-py314had63eae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.0-py314h2b28147_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.0-h26f9b46_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py314h2b28147_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.4-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-h65dd3cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py314h8ec4b1a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.2-h32b2ec7_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py314h3987850_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.2.30-h3b84278_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2025.5-h3e344bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.12-hdeec2a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.3-h1b60276_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2025.4-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-3.1.2-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-h8d10470_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_ha0e22de_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py314h5bd0f2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py314h5bd0f2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.46-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.12-h4f16b4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.4-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hceb46e0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.1.4-hbd8a1cb_0.conda + - conda: . + build: py314hd3a1e81_0 + - conda: ../cuda_pathfinder + linux-aarch64: + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.16.1-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.14.1-pl5321h8fffa31_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-1.2.0-hd651790_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-bin-1.2.0-he30d5cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.3.1-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.33-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.33-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/contourpy-1.3.3-py314ha0cc70f_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.4.1-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.73-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.73-he9431aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.73-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.73-h7b14b0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-13.3.27-h16bee8c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cyrus-sasl-2.1.28-h6598af7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/double-conversion-3.4.0-hfae3067_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_h1992ac7_904.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.2-hba86a56_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.3-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.7-h90308e0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.3.0-h124e036_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.15-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_116.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_116.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.11-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.47-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-bindings[5987685b] @ . - - conda_source: cuda-pathfinder[83159de6] @ ../cuda_pathfinder - linux-aarch64: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.1-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.9.1-hcccb83c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.45-default_h5f4c503_105.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_8.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.33-he9431aa_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.33-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.33-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-13.3.27-h16bee8c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.4-py314h4c416a3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.0.1-gpl_h936a714_906.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.15.0-h8dda3cd_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.1-h8af1aa0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-habb1d5c_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.4-h90308e0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.1.0-hd1da3a6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.14-hfae3067_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-12.3.0-h1134a53_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.1-hb1525cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/kiwisolver-1.5.0-py314h4702e76_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-h2fb54aa_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45-default_h1979696_105.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.0.0-hfdc4d58_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20250512.1-cxx17_h201e9ed_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.4-hcfe818d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-5_haddc8a3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260526.0-cxx17_h6983b43_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.5-hac26362_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-5_hd72aa62_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libclang-cpp22.1-22.1.8-default_h0cc847a_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libclang13-22.1.8-default_hd92691d_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcups-2.3.3-h4f2b762_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.125-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.3-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-hd65408f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.4.0-hf71c8f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.127-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-devel-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libflac-1.5.0-he9c94f4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.1-h8af1aa0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.1-hdae7a39_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.86.3-hf53f6bf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.12.1-default_ha470c98_1003.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-devel-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.2-h96a7f82_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-devel-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-devel-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h9b45113_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-5_h88aeb00_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.1-h86ecc28_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.2.0-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.12.0-hbae46ee_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libllvm22-22.1.8-hfd2ba90_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libntlm-1.4-hf897c2e_1002.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.30-pthreads_h9d3fd7e_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2025.2.0-hcd21e76_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2025.2.0-hcd21e76_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2025.2.0-h3890994_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2025.2.0-h3890994_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2025.2.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2025.2.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2025.2.0-h07d5dce_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2025.2.0-h07d5dce_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2025.2.0-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2025.2.0-h38473e3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2025.2.0-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.5.2-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.18-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.53-h1abf092_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.31.1-h2cf3c76_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.60.0-h8171147_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopengl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.1-h9dfe790_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.19-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-ha018e38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpq-18.4-hccacd55_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-7.35.1-h30ec8a2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libraqm-0.10.5-hd2f8911_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.62.3-hf685517_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.51.1-h10b116e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.2-hdb009f0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libunwind-1.8.3-h6470e1d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.13-hfefdfc9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.14-hfefdfc9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libusb-1.0.29-h06eaf92_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.41.3-h1022ec0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvorbis-1.3.7-h7ac5ae9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvpx-1.15.2-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.328.1-h8b8848b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.341.0-h8b8848b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.1-h3c6a4c8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.1-h79dcc73_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.1-h825857f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.2-h3c6a4c8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxslt-1.1.43-h6700d25_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-3.11.1-py314ha42fa4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-base-3.11.1-py314h99b9003_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.0-py314haac167e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h0564a2a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.0-h8e36d6e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-he55ef5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py314he1698a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h663e864_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openjpeg-2.5.4-h5da879a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openldap-2.6.13-h2fb54aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-h8547ced_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pillow-12.3.0-py314hac3e5ec_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.2-hb06a95a_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyside6-6.11.1-py314ha37eecc_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/qhull-2020.2-h70be974_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/qt6-main-6.11.1-pl5321heaece2b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.2.30-h3d544e7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2025.5-h8c88b8f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.12-had2c13b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.3-h9a39c52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2025.4-hfefdfc9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-3.1.2-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2022.3.0-h0eac15c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h561c983_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.24.0-h4f8a99f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.2.0-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2023.0.0-h57272ed_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.5.7-py314hafb4487_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/unicodedata2-17.0.1-py314h51f160d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.26.0-h4f8a99f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.46-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-0.4.1-hca56bd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-cursor-0.1.6-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-image-0.4.0-h5c728e9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-keysyms-0.4.1-h5c728e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-renderutil-0.3.10-h5c728e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-wm-0.4.2-h5c728e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.48-h80f16a2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.12-hca56bd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxau-1.0.12-he30d5cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxcomposite-0.4.7-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxcursor-1.2.3-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdamage-1.1.6-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.6-h57736b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.4-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.3-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxscrnsaver-1.2.4-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxxf86vm-1.1.7-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-xorgproto-2025.1-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zlib-ng-2.3.3-ha7cb516_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.1.4-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.3.1-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.33-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.33-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_116.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_116.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.11-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-bindings[d33f8c8b] @ . - - conda_source: cuda-pathfinder[4dfff30f] @ ../cuda_pathfinder + - conda: . + build: py314h3ff45e1_0 + - conda: ../cuda_pathfinder win-64: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.1.4-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.46.1-default_ha84baeb_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-1.2.0-h2d644bc_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-bin-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.3.1-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.33-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py314hf309875_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.4.1-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.73-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-13.3.29-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-13.3.29-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-13.3.29-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-13.3.29-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-13.3.29-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.33-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.73-h719f0c7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.73-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.73-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-13.3.27-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_he504192_904.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.2-hd47e2ca_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-h6123e3b_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-h062b9a2_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.7-h1f5b9c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.88.2-h395db07_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.88.2-h74ecf4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.3.0-h294ba9c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_116.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_116.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py314hf309875_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lame-4.0-h4a41cd3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.46.1-default_hfd38196_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_h2a3cdd5_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.8-default_hf735972_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.2-h7ce1215_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h2419aca_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.12.0-h932607e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libraqm-0.10.5-h50d6d30_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.62.3-h15cfe45_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h0e4246c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h0fbe4c1_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda - conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.11.1-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.11.1-py314hd0c49b1_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpg123-1.32.9-h01009b0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py314h02f10f6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-h1eab103_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openjpeg-2.5.4-h0e57b4f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.3.0-py314h61b30b5_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-h0e40799_1002.conda - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.11-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py314h447aaf0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-2_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.9.1-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.45-default_ha84baeb_105.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_8.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/conda-gcc-specs-15.2.0-hd546029_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.33-h719f0c7_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.33-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.33-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-13.3.27-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.4-py314h344ed54_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.0.1-gpl_h74fd8f1_908.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.15.0-h765892d_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.1-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-hd556455_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-h79c4613_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.4-h1f5b9c4_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.1.0-h5b34520_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-hac47afa_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-12.3.0-h5a1b470_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.1-h637d24d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lame-3.100-hcfcfb64_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.45-default_hfd38196_105.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.0.0-h6470a55_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-5_hf2e6a31_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-5_h2a3cdd5_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.3-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h52bdfb6_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.1-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.1-hdbac1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.86.3-h0c9aed9_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.1-default_h4379cf1_1003.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.2-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-5_hf9ab0e9_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.1-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6-h6a83c73_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.53-h7351971_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.60.0-hd5e4115_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.51.1-hf5d6505_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.328.1-h477610d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.1-h3cfd58e_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.1-h779ef1b_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-21.1.8-h4fa8253_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.0-hac47afa_455.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.0-py314h06c3c77_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-hb17fa0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.0-h725018a_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.2-h4b44e0e_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/qhull-2020.2-hc790b64_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/qt6-main-6.11.1-pl5321hfcac499_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.2.30-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2025.5-haa9a63f_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2025.4-h49e36cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-3.1.2-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-hd094cb3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h2c6b04d_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.12-h5112557_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.3-hbcac29b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.2.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py314h5a2d7ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_34.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py314h5a2d7ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda - conda: https://conda.anaconda.org/conda-forge/win-64/x264-1!164.3095-h8ffe710_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-hba3369d_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.5-hba3369d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-ng-2.3.3-h0261ad2_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - - conda_source: cuda-bindings[8de8dc46] @ . - - conda_source: cuda-pathfinder[169735b8] @ ../cuda_pathfinder + - conda: . + build: py314hd7f1909_0 + - conda: ../cuda_pathfinder default: channels: - url: https://conda.anaconda.org/conda-forge/ + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.1-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45-default_hfdba357_104.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.2.0-h53410ce_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h039972f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-hed03a55_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.2.0-h53410ce_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py314h97ea11e_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.73-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.73-h69a702a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.73-h4bc722e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-13.3.27-h7938cbb_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.3-py314h1807b08_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.0.1-gpl_hb3f9226_906.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.15.0-h7e30c49_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h54862ce_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.2-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h0dff253_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-hc5723f1_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.4-h2b0a6b4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.1.0-hfd11570_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h0dff253_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.7-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.2.0-h15599e2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.9.0-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-25.3.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.0-py314h97ea11e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbde042b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45-default_hbd61a6d_104.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.26.2-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.4-h96ad9f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.29.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h7b12aa8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.5-h434b012_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-5_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp22.1-22.1.8-default_h6c227bf_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.8-default_h9692865_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.3-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.4.0-ha23c83e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.1-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.1-h73754d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_15.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_15.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.3-h6548e54_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_15.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_hafda6a7_1003.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.2-h0d30a3d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h3a9caae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-5_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-h174a0a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.8-hf7376ad_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2025.2.0-hb617929_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2025.2.0-hed573e4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2025.2.0-hed573e4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2025.2.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2025.2.0-hb617929_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2025.2.0-hb617929_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2025.2.0-hb617929_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2025.2.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2025.2.0-h1862bb8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2025.2.0-h1862bb8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2025.2.0-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2025.2.0-h0767aad_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2025.2.0-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.5.2-hd0c01bc_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.53-h421ea60_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-h49aed37_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.0-h61e6d4b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.1-h21c0c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-hc50b9dd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h2840a7c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libraqm-0.10.5-h6406941_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.1-h0c1763c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_15.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_15.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-h9d88235_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.12-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-h5347b49_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.24.1-he1eb515_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.15.0-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.328.1-h5279c79_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.1-hca5e8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.1-py314hdafbbf9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.1-py314had63eae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.3.5-py314h2b28147_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.0-h26f9b46_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py314h2b28147_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.4-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-h65dd3cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py314h8ec4b1a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.1-h32b2ec7_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py314h3987850_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.2.28-h3b84278_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2025.5-h3e344bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.12-hdeec2a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.3-h1b60276_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2025.4-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-3.1.2-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-h8d10470_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_ha0e22de_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py314h5bd0f2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py314h5bd0f2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.46-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.12-h4f16b4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.6-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.4-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hceb46e0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-hbd8a1cb_0.conda + - conda: . + build: py314hd3a1e81_0 + - conda: ../cuda_pathfinder + linux-aarch64: + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.16.1-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.14.1-pl5321h8fffa31_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-1.2.0-hd651790_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-bin-1.2.0-he30d5cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.73-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/contourpy-1.3.3-py314ha0cc70f_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-12.9.27-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-12.9.86-h579c4fd_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-12.9.86-h8f3c8d4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-12.9.86-he9431aa_106.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-12.9.86-h579c4fd_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-12.9.86-h7b14b0b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-12.9.86-h7b14b0b_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-12.9.79-h16bee8c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cyrus-sasl-2.1.28-h6598af7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/double-conversion-3.4.0-hfae3067_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_h1992ac7_904.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.2-hba86a56_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_116.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_116.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.11-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.47-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-bindings[5987685b] @ . - - conda_source: cuda-pathfinder[83159de6] @ ../cuda_pathfinder - linux-aarch64: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.1-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.9.1-hcccb83c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.45-default_h5f4c503_104.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_8.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h83712da_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.73-he9431aa_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.73-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-13.3.27-h16bee8c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.3-py314h4c416a3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.0.1-gpl_h936a714_906.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.15.0-h8dda3cd_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.1-h8af1aa0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.3-h8af1aa0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-habb1d5c_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.4-h90308e0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.1.0-hd1da3a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.7-h90308e0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.3.0-h124e036_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.14-hfae3067_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-12.2.0-he4899c9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-75.1-hf9b3779_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.15-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/kiwisolver-1.5.0-py314h4702e76_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-h2fb54aa_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45-default_h1979696_104.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.0.0-hfdc4d58_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20250512.1-cxx17_h201e9ed_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.4-hcfe818d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-5_haddc8a3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260526.0-cxx17_h6983b43_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.5-hac26362_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-5_hd72aa62_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libclang-cpp22.1-22.1.8-default_h0cc847a_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libclang13-22.1.8-default_hd92691d_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.14.1.1-had8bf56_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcups-2.3.3-h4f2b762_6.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.125-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.3-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-hd65408f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.4.0-hf71c8f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.127-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-devel-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libflac-1.5.0-he9c94f4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.1-h8af1aa0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.1-hdae7a39_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_15.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_15.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_16.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.86.3-hf53f6bf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_15.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.12.1-default_ha470c98_1003.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-devel-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.2-h96a7f82_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-devel-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-devel-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h9b45113_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-5_h88aeb00_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.1-h86ecc28_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.2.0-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.12.0-hbae46ee_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libllvm22-22.1.8-hfd2ba90_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libntlm-1.4-hf897c2e_1002.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-12.9.82-h8f3c8d4_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-12.9.86-h8f3c8d4_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.30-pthreads_h9d3fd7e_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2025.2.0-hcd21e76_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2025.2.0-hcd21e76_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2025.2.0-h3890994_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2025.2.0-h3890994_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2025.2.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2025.2.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2025.2.0-h07d5dce_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2025.2.0-h07d5dce_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2025.2.0-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2025.2.0-h38473e3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2025.2.0-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.5.2-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.18-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.53-h1abf092_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.31.1-h2cf3c76_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.60.0-h8171147_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_16.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopengl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.1-h9dfe790_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.19-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-ha018e38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpq-18.4-hccacd55_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-7.35.1-h30ec8a2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libraqm-0.10.5-hd2f8911_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.62.3-hf685517_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.51.1-h022381a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_15.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_15.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.2-hdb009f0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libunwind-1.8.3-h6470e1d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.12-hfefdfc9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.14-hfefdfc9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libusb-1.0.29-h06eaf92_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.41.2-h1022ec0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvorbis-1.3.7-h7ac5ae9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvpx-1.15.2-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.328.1-h8b8848b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.341.0-h8b8848b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.1-h3c6a4c8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.1-h8591a01_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.1-h788dabe_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.2-h3c6a4c8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxslt-1.1.43-h6700d25_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-3.11.1-py314ha42fa4b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-base-3.11.1-py314h99b9003_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.3.5-py314haac167e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h0564a2a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.0-h8e36d6e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-he55ef5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py314he1698a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h663e864_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openjpeg-2.5.4-h5da879a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openldap-2.6.13-h2fb54aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-h8547ced_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pillow-12.3.0-py314hac3e5ec_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.1-hb06a95a_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyside6-6.11.1-py314ha37eecc_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/qhull-2020.2-h70be974_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/qt6-main-6.11.1-pl5321heaece2b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.2-h8382b9d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.2.28-h3d544e7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2025.5-h8c88b8f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.12-had2c13b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.3-h9a39c52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2025.4-hfefdfc9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-3.1.2-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2022.3.0-h0eac15c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h561c983_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.24.0-h4f8a99f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.2.0-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2023.0.0-h57272ed_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.5.7-py314hafb4487_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/unicodedata2-17.0.1-py314h51f160d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.26.0-h4f8a99f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.46-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-0.4.1-hca56bd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-cursor-0.1.6-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-image-0.4.0-h5c728e9_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-keysyms-0.4.1-h5c728e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-renderutil-0.3.10-h5c728e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-wm-0.4.2-h5c728e9_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.48-h80f16a2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.12-hca56bd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxau-1.0.12-he30d5cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxcomposite-0.4.7-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxcursor-1.2.3-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdamage-1.1.6-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.6-h57736b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.4-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.3-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxscrnsaver-1.2.4-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxxf86vm-1.1.7-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-xorgproto-2025.1-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zlib-ng-2.3.3-ha7cb516_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.4.1-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_116.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_116.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.11-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-bindings[d33f8c8b] @ . - - conda_source: cuda-pathfinder[4dfff30f] @ ../cuda_pathfinder + - conda: . + build: py314he8946ed_0 + - conda: ../cuda_pathfinder win-64: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.46.1-default_ha84baeb_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-1.2.0-h2d644bc_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-bin-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-12.9.27-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-12.9.86-h57928b3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-12.9.86-h57928b3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py314hf309875_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.4.1-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.73-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-13.3.29-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-13.3.29-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-13.3.29-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-13.3.29-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-13.3.29-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-13.3.29-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.73-h719f0c7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.73-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.73-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-13.3.27-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_he504192_904.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.2-hd47e2ca_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-h6123e3b_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-h062b9a2_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.7-h1f5b9c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.88.2-h395db07_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.88.2-h74ecf4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.3.0-h294ba9c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_116.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_116.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py314hf309875_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lame-4.0-h4a41cd3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.46.1-default_hfd38196_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_h2a3cdd5_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.8-default_hf735972_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.2-h7ce1215_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h2419aca_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.12.0-h932607e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libraqm-0.10.5-h50d6d30_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.62.3-h15cfe45_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h0e4246c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h0fbe4c1_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda - conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.11.1-py314h86ab7b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.11.1-py314hd0c49b1_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpg123-1.32.9-h01009b0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py314h02f10f6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-h1eab103_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openjpeg-2.5.4-h0e57b4f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.3.0-py314h61b30b5_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-h0e40799_1002.conda - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.11-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py314h447aaf0_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-2_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.9.1-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.45-default_ha84baeb_104.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_8.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h5782bbf_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/conda-gcc-specs-15.2.0-hd546029_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-12.9.86-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-12.9.86-h719f0c7_6.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-12.9.86-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-12.9.86-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-12.9.79-h57928b3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.3-py314h344ed54_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.0.1-gpl_h74fd8f1_907.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.15.0-h765892d_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.1-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-hd556455_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-h79c4613_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.4-h1f5b9c4_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.1.0-h5b34520_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-hac47afa_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-12.2.0-h5f2951f_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/icu-75.1-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lame-3.100-hcfcfb64_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.45-default_hfd38196_104.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.0.0-h6470a55_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-5_hf2e6a31_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-5_h2a3cdd5_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.3-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h52bdfb6_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.1-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.1-hdbac1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.86.3-h0c9aed9_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.1-default_h4379cf1_1003.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.2-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-5_hf9ab0e9_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.1-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-12.9.82-hac47afa_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-12.9.86-hac47afa_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6-h6a83c73_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.53-h7351971_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.60.0-hd5e4115_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.51.1-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_16.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.328.1-h477610d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.1-h06f855e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.1-ha29bfb0_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-21.1.8-h4fa8253_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.0-hac47afa_454.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.3.5-py314h06c3c77_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-hb17fa0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.0-h725018a_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.1-h4b44e0e_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/qhull-2020.2-hc790b64_5.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/qt6-main-6.11.1-pl5321hfcac499_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.2.28-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2025.5-haa9a63f_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2025.4-h49e36cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-3.1.2-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-hd094cb3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h2c6b04d_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.12-h5112557_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.3-hbcac29b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.2.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py314h5a2d7ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h2b53caa_32.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_32.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_32.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_32.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py314h5a2d7ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda - conda: https://conda.anaconda.org/conda-forge/win-64/x264-1!164.3095-h8ffe710_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-hba3369d_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.5-hba3369d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-ng-2.3.3-h0261ad2_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - - conda_source: cuda-bindings[341f49d8] @ . - - conda_source: cuda-pathfinder[169735b8] @ ../cuda_pathfinder + - conda: . + build: py314hd7f1909_0 + - conda: ../cuda_pathfinder docs: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.3.0-py312h90b7ffd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312hdb49522_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-bindings-13.2.0-py312hf79963d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.33-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.4-py312h68e6be4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.20-py312h8285ef7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.3.2-py312h8285ef7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-6_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.77-hd0affe5_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-6_h0358290_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.0.66-h85c024f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.5-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-6_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.32-pthreads_h94d23a6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.21-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-hb9d3cd8_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py312hd9148b4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.3-py312h33ff503_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h5253ce2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-61.0-h192683f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.30.0-py312h868fb18_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py312h5253ce2_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py312h54fa4ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.49-py312h5253ce2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.5-py312h4c3975b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h41580af_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/apeye-1.4.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/apeye-core-1.1.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/autodocsumm-0.2.15-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.6.0-py312h90b7ffd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312hdb49522_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.4-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyhc90fa1f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cssutils-2.11.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.5.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-bindings-13.2.0-py312hf79963d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.3.0.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py312h68e6be4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py312h8285ef7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/domdf-python-tools-3.10.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.25.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.3-py312h8285ef7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.2.0-pyha191276_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhecfbec7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.15.0-pyh53cf698_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-cache-1.0.1-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.8.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbde042b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/more-itertools-11.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.1-py312h0a2e395_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py312h33ff503_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.0.1-pyh8b19718_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.1.2-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h5253ce2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.17.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.19.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py312h192e038_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py312h5253ce2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py312h54fa4ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-autodoc-typehints-3.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda @@ -1749,170 +2215,170 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.51-py312h5253ce2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py312h4c3975b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.47.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h09e67af_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - pypi: https://files.pythonhosted.org/packages/8c/79/017fab2f7167a9a9795665f894d04f77aafceca80821b51589bb4b23ff5c/nvidia_sphinx_theme-0.0.9.post1-py3-none-any.whl linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/backports.zstd-1.3.0-py312h3d8e7d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.2.0-py312hac7b6a9_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-bindings-13.2.0-py312hdc0efb6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.33-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.4-py312he940de5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/debugpy-1.8.20-py312hf55c4e8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/greenlet-3.3.2-py312hf55c4e8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-hfd895c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-6_haddc8a3_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.77-hf9559e3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-6_hd72aa62_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.0.66-h4243460_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.5-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-6_h88aeb00_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h86ecc28_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.32-pthreads_h9d3fd7e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.21-h80f16a2_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.52.0-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42-h1022ec0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/make-4.4.1-h2a6d0cb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.3-py312hd077ced_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/msgpack-python-1.1.2-py312h4f740d2_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.3-py312h6615c27_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.1-h546c87b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-7.2.2-py312hd41f8a7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.12.13-h91f4b29_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.3-py312ha4530ae_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-27.1.0-py312hdf0a211_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-61.0-h1f0f388_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rpds-py-0.30.0-py312h75d7d99_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ruamel.yaml.clib-0.2.15-py312hd41f8a7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/scipy-1.17.1-py312he5b0e10_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sqlalchemy-2.0.49-py312h2fc9c67_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.5.5-py312hefbd42c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h80f16a2_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-hc0523f8_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/apeye-1.4.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/apeye-core-1.1.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/autodocsumm-0.2.15-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/backports.zstd-1.6.0-py312ha46dd1d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.2.0-py312hac7b6a9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.4-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyhc90fa1f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cssutils-2.11.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.5.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-bindings-13.2.0-py312hdc0efb6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.3.0.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py312hbda70bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/debugpy-1.8.21-py312hf55c4e8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/domdf-python-tools-3.10.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.25.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/greenlet-3.5.3-py312hf55c4e8_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.2.0-pyha191276_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhecfbec7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.15.0-pyh53cf698_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-cache-1.0.1-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.8.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-h2fb54aa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h86ecc28_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.22-h80f16a2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/make-4.4.1-h2a6d0cb_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.3-py312hd077ced_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/more-itertools-11.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/msgpack-python-1.2.1-py312hf18b547_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py312hce9e0af_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.0.1-pyh8b19718_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.1.2-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-7.2.2-py312hd41f8a7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.17.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.19.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.12.13-h91f4b29_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.3-py312ha4530ae_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-27.1.0-py312hdf0a211_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rpds-py-2026.6.3-py312h00f41f5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ruamel.yaml.clib-0.2.15-py312hd41f8a7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/scipy-1.18.0-py312ha7f05e0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-autodoc-typehints-3.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda @@ -1925,106 +2391,156 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sqlalchemy-2.0.51-py312h2fc9c67_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.5.7-py312hefbd42c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.47.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h80f16a2_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-hec9560f_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - pypi: https://files.pythonhosted.org/packages/8c/79/017fab2f7167a9a9795665f894d04f77aafceca80821b51589bb4b23ff5c/nvidia_sphinx_theme-0.0.9.post1-py3-none-any.whl win-64: - - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/apeye-1.4.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/apeye-core-1.1.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/autodocsumm-0.2.15-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyha7b4d00_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.6.0-py312h06d0912_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py312hc6d9e41_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.4-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyh6dadd2b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cssutils-2.11.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.5.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-bindings-13.2.0-py312hc128f0a_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.3.0.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py312hd245ac3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.21-py312ha1a9051_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/domdf-python-tools-3.10.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.25.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.3-py312ha1a9051_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.2.0-pyh6dadd2b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhccfa634_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh6dadd2b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.15.0-pyhe2676ad_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-cache-1.0.1-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.8.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_h2a3cdd5_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h692994f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-hbc0d294_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/make-4.4.1-h0e40799_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py312h05f76fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/more-itertools-11.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py312h78d62e6_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py312ha3f287d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.6-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.0.1-pyh8b19718_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.1.2-pyh8b19718_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py312he5662c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.17.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.19.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py312h829343e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.6.3-py312hd944d65_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py312he5662c2_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.18.0-py312h9b3c559_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-autodoc-typehints-3.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda @@ -2037,83 +2553,35 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.51-py312he5662c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py312he06e257_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.47.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.3.0-py312h06d0912_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py312hc6d9e41_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-bindings-13.2.0-py312hc128f0a_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.33-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.4-py312hd245ac3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.20-py312ha1a9051_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.3.2-py312ha1a9051_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h0ea6238_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-6_hf2e6a31_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-6_h2a3cdd5_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.5-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.2-default_h4379cf1_1000.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-6_hf9ab0e9_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.21-h6a83c73_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.2-h692994f_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.2-h5d26750_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.2-h4fa8253_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/make-4.4.1-h0e40799_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py312h05f76fc_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.1-hac47afa_11.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.1.2-py312hf90b1b7_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.3-py312ha3f287d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py312he5662c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py312h829343e_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.30.0-py312hdabe01f_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py312he5662c2_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py312h9b3c559_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.49-py312he5662c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-h3155e25_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.5-py312he06e257_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h507cc87_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - pypi: https://files.pythonhosted.org/packages/8c/79/017fab2f7167a9a9795665f894d04f77aafceca80821b51589bb4b23ff5c/nvidia_sphinx_theme-0.0.9.post1-py3-none-any.whl packages: -- conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 - sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726 - md5: d7c89558ba9fa0495403155b64376d81 - license: None - size: 2562 - timestamp: 1578324546067 - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda build_number: 20 sha256: 1dd3fffd892081df9726d7eb7e0dea6198962ba775bd88842135a4ddb4deb3c9 @@ -2126,67 +2594,213 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] - run_exports: - strong: - - _openmp_mutex >=4.5 size: 28948 timestamp: 1770939786096 -- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 - build_number: 16 - sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22 - md5: 73aaf86a425cc6e73fcf236a5a46396d +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda + build_number: 20 + sha256: a2527b1d81792a0ccd2c05850960df119c2b6d8f5fdec97f2db7d25dc23b1068 + md5: 468fd3bb9e1f671d36c2cbc677e56f1d depends: - - _libgcc_mutex 0.1 conda_forge - libgomp >=7.5.0 constrains: - - openmp_impl 9999 + - openmp_impl <0.0a0 license: BSD-3-Clause license_family: BSD - size: 23621 - timestamp: 1650670423406 -- conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.1-hb03c661_0.conda - sha256: 224f1a55a9ba7e877bce980f14fc3e3c0f0fb6d3cbf3c5f1a8f5dd8391ce8bba - md5: bba37fb066adb90e1d876dff0fd5d09d - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: LGPL-2.1-or-later - license_family: GPL - size: 585491 - timestamp: 1766155792553 -- conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.3-hb03c661_0.conda - sha256: d88aa7ae766cf584e180996e92fef2aa7d8e0a0a5ab1d4d49c32390c1b5fff31 - md5: dcdc58c15961dbf17a0621312b01f5cb - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: LGPL-2.1-or-later - license_family: GPL - size: 584660 - timestamp: 1768327524772 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda - sha256: b08ef033817b5f9f76ce62dfcac7694e7b6b4006420372de22494503decac855 - md5: 346722a0be40f6edc53f12640d301338 + purls: [] + size: 28926 + timestamp: 1770939656741 +- conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + build_number: 20 + sha256: 8a1cee28bd0ee7451ada1cd50b64720e57e17ff994fc62dd8329bef570d382e4 + md5: 1626967b574d1784b578b52eaeb071e7 depends: - - libgcc-ng >=12 - - libstdcxx-ng >=12 - license: BSD-2-Clause + - libgomp >=7.5.0 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - openmp_impl <0.0a0 + - msys2-conda-epoch <0.0a0 + license: BSD-3-Clause license_family: BSD - size: 2706396 - timestamp: 1718551242397 -- conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-h39aace5_0.conda - sha256: a9c114cbfeda42a226e2db1809a538929d2f118ef855372293bd188f71711c48 - md5: 791365c5f65975051e4e017b5da3abf5 + purls: [] + size: 52252 + timestamp: 1770943776666 +- conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda + sha256: 2a7204314663eeda5dec482a956f0e2eaf289bd5b9953eaaaad0e81aa64638f2 + md5: 3845f3d75991bae0fb90884662f4327c depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: GPL-2.0-or-later - license_family: GPL - size: 68072 - timestamp: 1756738968573 -- conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.3.0-py312h90b7ffd_0.conda - sha256: d77a24be15e283d83214121428290dbe55632a6e458378205b39c550afa008cf - md5: 5b8c55fed2e576dde4b0b33693a4fdb1 + - cpython + - python-gil + license: MIT + license_family: MIT + purls: [] + size: 8144 + timestamp: 1784221492234 +- conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda + sha256: 1307719f0d8ee694fc923579a39c0621c23fdaa14ccdf9278a5aac5665ac58e9 + md5: 74ac5069774cdbc53910ec4d631a3999 + depends: + - pygments + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/accessible-pygments?source=hash-mapping + size: 1326096 + timestamp: 1734956217254 +- conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda + sha256: 6c4456a138919dae9edd3ac1a74b6fbe5fd66c05675f54df2f8ab8c8d0cc6cea + md5: 1fd9696649f65fd6611fcdb4ffec738a + depends: + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/alabaster?source=hash-mapping + size: 18684 + timestamp: 1733750512696 +- conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + sha256: cf93ca0f1f107e95a35969a4622684e08fcb8cf37f8cf4a1e9e424828386c921 + md5: 8904e09bda369377b3dd07e2ac828c5d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: LGPL-2.1-or-later + license_family: LGPL + size: 592377 + timestamp: 1781521980743 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.16.1-he30d5cf_0.conda + sha256: 105e4c19cfa770affcb9a64b9d2451f406914cd09a67664009910869fa01a639 + md5: 5427b5dcb268bddf1a69c16d1cb77a47 + depends: + - libgcc >=14 + license: LGPL-2.1-or-later + license_family: LGPL + size: 621865 + timestamp: 1781522013595 +- conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h039972f_1.conda + sha256: b1d972a9b949a88babee681437535550b3ca5dbca6a23a40dffeb7900fec19fd + md5: 5a78a69eb3b50f24b379e9d2a93163ae + depends: + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + license: BSD-2-Clause + license_family: BSD + size: 3103347 + timestamp: 1780752473089 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.14.1-pl5321h8fffa31_1.conda + sha256: a228f46f68fa3e2e50a09b5a4cefd1ee2c1ce868bfa2a288867b3d44b6e77427 + md5: a3c86229b531656c2bce99e8a6c6de4a + depends: + - libstdcxx >=14 + - libgcc >=14 + license: BSD-2-Clause + license_family: BSD + size: 4091040 + timestamp: 1780752489693 +- conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda + sha256: 3033fa8953f7f0c1bb5b89b5af77253badc14a89ba94d743dde3c9159e10fd5e + md5: 7a8ace8100a48355a34d87386012c57b + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: BSD-2-Clause + license_family: BSD + size: 2214571 + timestamp: 1780752497150 +- conda: https://conda.anaconda.org/conda-forge/noarch/apeye-1.4.1-pyhd8ed1ab_1.conda + sha256: b554d2d2fc869a5955ebb3e5c8aea5e13ec49363b782b08e1802e29c91beaebf + md5: 0f2a7ba1dfc3b6117cfd864d25fa86ce + depends: + - apeye-core >=1.0.0b2 + - domdf-python-tools >=2.6.0 + - platformdirs >=2.3.0 + - python >=3.9 + - requests >=2.24.0 + constrains: + - cachecontrol >=0.12.6 + license: LGPL-3.0-or-later + license_family: LGPL + purls: + - pkg:pypi/apeye?source=hash-mapping + size: 95690 + timestamp: 1738250335247 +- conda: https://conda.anaconda.org/conda-forge/noarch/apeye-core-1.1.5-pyhd8ed1ab_1.conda + sha256: 3ee9787c3876c2ffb4b3c77ac73c0b28d67d18a376f4c952643cac95020a2a14 + md5: b60c08c6a0cbb505016075bb9e484e56 + depends: + - domdf-python-tools >=2.6.0 + - idna >=2.5 + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/apeye-core?source=hash-mapping + size: 94258 + timestamp: 1738681346787 +- conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda + sha256: 0658cac65071ace5beded633851681e6f0b381040c8ce313bbe2a0ab410c5072 + md5: b7d6244b9c7a660f10336645e73c2cd2 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 7126 + timestamp: 1742928603302 +- conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda + sha256: fbbd8ce60cbd5c16f3fe559eb644551f94285caff30985ea961ff851c1cf25ac + md5: 89d495168582cb00428dad699d149624 + depends: + - python >=3.10 + constrains: + - astroid >=2,<5 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/asttokens?source=compressed-mapping + size: 34639 + timestamp: 1783975742052 +- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + sha256: 1b6124230bb4e571b1b9401537ecff575b7b109cc3a21ee019f65e083b8399ab + md5: c6b0543676ecb1fb2d7643941fe375f2 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/attrs?source=hash-mapping + size: 64927 + timestamp: 1773935801332 +- conda: https://conda.anaconda.org/conda-forge/noarch/autodocsumm-0.2.15-pyhd8ed1ab_0.conda + sha256: 21cb40c7c5f47bf54d2722b1ab3c91f747ef2b80ba16ece058755371e5c6385b + md5: e51977d5fe34698e26a20950b8b449e6 + depends: + - python >=3.7 + - sphinx >=2.2,<10.0 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/autodocsumm?source=hash-mapping + size: 20495 + timestamp: 1774600916594 +- conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda + sha256: a14a9ad02101aab25570543a59c5193043b73dc311a25650134ed9e6cb691770 + md5: f1976ce927373500cc19d3c0b2c85177 + depends: + - python >=3.10 + - python + constrains: + - pytz >=2015.7 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/babel?source=hash-mapping + size: 7684321 + timestamp: 1772555330347 +- conda: https://conda.anaconda.org/conda-forge/linux-64/backports.zstd-1.6.0-py312h90b7ffd_0.conda + sha256: 95b3d6d44c17c4061db703289f39915646e455f75f0c8c9d949bf081d2e61579 + md5: 55811da425538da800b89c0c588652fa depends: - python - libgcc >=14 @@ -2195,42 +2809,50 @@ packages: - zstd >=1.5.7,<1.6.0a0 license: BSD-3-Clause AND MIT AND EPL-2.0 purls: - - pkg:pypi/backports-zstd?source=hash-mapping - size: 237970 - timestamp: 1767045004512 -- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45-default_hfdba357_104.conda - sha256: 054a77ccab631071a803737ea8e5d04b5b18e57db5b0826a04495bd3fdf39a7c - md5: a7a67bf132a4a2dea92a7cb498cdc5b1 - depends: - - ld_impl_linux-64 2.45 default_hbd61a6d_104 - - sysroot_linux-64 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - size: 3747046 - timestamp: 1764007847963 -- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45-default_hfdba357_105.conda - sha256: 17fbb32191430310d3eb8309f80a8df54f0d66eda9cf84b2ae5113e6d74e24d8 - md5: e410a8f80e22eb6d840e39ac6a34bd0e + - pkg:pypi/backports-zstd?source=compressed-mapping + size: 239892 + timestamp: 1781450817988 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/backports.zstd-1.6.0-py312ha46dd1d_0.conda + sha256: dfe925314fd594cd6cefa78d79df8bc6898a3848460db346b87597f77df8442c + md5: 19c1ea1ad92760d8e465a371a40ca125 depends: - - ld_impl_linux-64 2.45 default_hbd61a6d_105 - - sysroot_linux-64 + - python + - libgcc >=14 + - python_abi 3.12.* *_cp312 - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - size: 3719982 - timestamp: 1766513109980 -- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45.1-default_hfdba357_101.conda - sha256: 74341b26a2b9475dc14ba3cf12432fcd10a23af285101883e720216d81d44676 - md5: 83aa53cb3f5fc849851a84d777a60551 + license: BSD-3-Clause AND MIT AND EPL-2.0 + purls: + - pkg:pypi/backports-zstd?source=compressed-mapping + size: 241556 + timestamp: 1781450814407 +- conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.6.0-py312h06d0912_0.conda + sha256: 9926f274d8b642f5421e4536952cb158912517f40acf1df3a8fbd891c5f600ed + md5: 0d8bcdc0af72309fb998811f5f4db2c5 depends: - - ld_impl_linux-64 2.45.1 default_hbd61a6d_101 - - sysroot_linux-64 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - size: 3744895 - timestamp: 1770267152681 + license: BSD-3-Clause AND MIT AND EPL-2.0 + purls: + - pkg:pypi/backports-zstd?source=compressed-mapping + size: 238542 + timestamp: 1781450836106 +- conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + sha256: aed4b9dcf68ec2a75e5645fed14d77fd884d38d2e52bfa6ef4b278d90cd88781 + md5: 3b261da3fe9b4168738712832410b022 + depends: + - python >=3.10 + - soupsieve >=1.2 + - typing-extensions + license: MIT + license_family: MIT + purls: + - pkg:pypi/beautifulsoup4?source=hash-mapping + size: 92704 + timestamp: 1780853175566 - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda sha256: fb7bf36984a37ce7e4714d1d1da0bd0e3bfc679520f5cdc184afc676fd4b5da2 md5: a0c5e0b7f58c8ceeb08e5bc41251d5a2 @@ -2240,19 +2862,105 @@ packages: - zstd >=1.5.7,<1.6.0a0 license: GPL-3.0-only license_family: GPL - run_exports: {} size: 3713752 timestamp: 1784214522814 -- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_102.conda - sha256: 08d7238663fc408ba2ab60b02fa3d06a7ca9d872962e03e90c7e0fdecb7ed1d0 - md5: 32fd07abe84eb14f17c7f5cc6fa8df82 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda + sha256: eebe159bf600943552e4319ff4ce27b6a2dadf0dcc5443e76dcee9259a408e11 + md5: 58f37d76b8234c69dbf2939d511bea0b + depends: + - ld_impl_linux-aarch64 2.46.1 default_h1979696_102 + - sysroot_linux-aarch64 + - zstd >=1.5.7,<1.6.0a0 + license: GPL-3.0-only + license_family: GPL + size: 4677171 + timestamp: 1784214549910 +- conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.46.1-default_ha84baeb_102.conda + sha256: 83476bc3ed6ee4f1d6e67e6e1360696a0ac3e99679f9c142674003cf721740e3 + md5: 7832bada38267be3333319febcf5e4fc depends: - - binutils_impl_linux-64 2.46.1 default_hfdba357_102 + - ld_impl_win-64 2.46.1 default_hfd38196_102 + - m2w64-sysroot_win-64 >=12.0.0.r0 + - zstd >=1.5.7,<1.6.0a0 license: GPL-3.0-only license_family: GPL - run_exports: {} - size: 36337 - timestamp: 1784214551894 + size: 6140284 + timestamp: 1784214565466 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.2.0-hed03a55_1.conda + sha256: e511644d691f05eb12ebe1e971fd6dc3ae55a4df5c253b4e1788b789bdf2dfa6 + md5: 8ccf913aaba749a5496c17629d859ed1 + depends: + - __glibc >=2.17,<3.0.a0 + - brotli-bin 1.2.0 hb03c661_1 + - libbrotlidec 1.2.0 hb03c661_1 + - libbrotlienc 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + size: 20103 + timestamp: 1764017231353 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-1.2.0-hd651790_1.conda + sha256: 1fdee53dea5baa0b4d7ccd3bc0269e81017032c7cfe8843b6a0622eddf05714b + md5: 5c933384d588a06cd8dac78ca2864aab + depends: + - brotli-bin 1.2.0 he30d5cf_1 + - libbrotlidec 1.2.0 he30d5cf_1 + - libbrotlienc 1.2.0 he30d5cf_1 + - libgcc >=14 + license: MIT + license_family: MIT + size: 20145 + timestamp: 1764017310011 +- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-1.2.0-h2d644bc_1.conda + sha256: a4fffdf1c9b9d3d0d787e20c724cff3a284dfa3773f9ce609c93b1cfd0ce8933 + md5: bc58fdbced45bb096364de0fba1637af + depends: + - brotli-bin 1.2.0 hfd05255_1 + - libbrotlidec 1.2.0 hfd05255_1 + - libbrotlienc 1.2.0 hfd05255_1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 20342 + timestamp: 1764017988883 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.2.0-hb03c661_1.conda + sha256: 64b137f30b83b1dd61db6c946ae7511657eead59fdf74e84ef0ded219605aa94 + md5: af39b9a8711d4a8d437b52c1d78eb6a1 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlidec 1.2.0 hb03c661_1 + - libbrotlienc 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + size: 21021 + timestamp: 1764017221344 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-bin-1.2.0-he30d5cf_1.conda + sha256: cffd260d3b1527ff8c1d29f00e10f4e1d4bccbe4d5e605c23af68453cf78d32b + md5: b31f6f3a888c3f8f4c5a9dafc2575187 + depends: + - libbrotlidec 1.2.0 he30d5cf_1 + - libbrotlienc 1.2.0 he30d5cf_1 + - libgcc >=14 + license: MIT + license_family: MIT + size: 20758 + timestamp: 1764017301339 +- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-bin-1.2.0-hfd05255_1.conda + sha256: e76966232ef9612de33c2087e3c92c2dc42ea5f300050735a3c646f33bce0429 + md5: 6abd7089eb3f0c790235fe469558d190 + depends: + - libbrotlidec 1.2.0 hfd05255_1 + - libbrotlienc 1.2.0 hfd05255_1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 22714 + timestamp: 1764017952449 - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py312hdb49522_1.conda sha256: 49df13a1bb5e388ca0e4e87022260f9501ed4192656d23dc9d9a1b4bf3787918 md5: 64088dffd7413a2dd557ce837b4cbbdb @@ -2270,16 +2978,40 @@ packages: - pkg:pypi/brotli?source=hash-mapping size: 368300 timestamp: 1764017300621 -- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda - sha256: c30daba32ddebbb7ded490f0e371eae90f51e72db620554089103b4a6934b0d5 - md5: 51a19bba1b8ebfb60df25cde030b7ebc +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.2.0-py312hac7b6a9_1.conda + sha256: aa14d1f26a1d4ed3a735281beb20129b9ba4670fed688045ac71f4119aeed7e6 + md5: d64147176625536a8024e26577c5e894 depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 - license: bzip2-1.0.6 - license_family: BSD - size: 260341 - timestamp: 1757437258798 + - libstdcxx >=14 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - libbrotlicommon 1.2.0 he30d5cf_1 + license: MIT + license_family: MIT + purls: + - pkg:pypi/brotli?source=hash-mapping + size: 373800 + timestamp: 1764017545385 +- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py312hc6d9e41_1.conda + sha256: 2bb6f384a51929ef2d5d6039fcf6c294874f20aaab2f63ca768cbe462ed4b379 + md5: e8e7a6346a9e50d19b4daf41f367366f + depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libbrotlicommon 1.2.0 hfd05255_1 + license: MIT + license_family: MIT + purls: + - pkg:pypi/brotli?source=hash-mapping + size: 335482 + timestamp: 1764018063640 - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda sha256: 0b75d45f0bba3e95dc693336fa51f40ea28c980131fec438afb7ce6118ed05f6 md5: d2ffd7602c02f2b316fd921d39876885 @@ -2289,36 +3021,61 @@ packages: license: bzip2-1.0.6 license_family: BSD purls: [] - run_exports: - weak: - - bzip2 >=1.0.8,<2.0a0 size: 260182 timestamp: 1771350215188 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-h3394656_0.conda - sha256: 3bd6a391ad60e471de76c0e9db34986c4b5058587fbf2efa5a7f54645e28c2c7 - md5: 09262e66b19567aff4f592fb53b28760 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + sha256: b3495077889dde6bb370938e7db82be545c73e8589696ad0843a32221520ad4c + md5: 840d8fc0d7b3209be93080bc20e07f2d depends: - - __glibc >=2.17,<3.0.a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - freetype >=2.12.1,<3.0a0 - - icu >=75.1,<76.0a0 - - libexpat >=2.6.4,<3.0a0 - - libgcc >=13 - - libglib >=2.82.2,<3.0a0 - - libpng >=1.6.47,<1.7.0a0 - - libstdcxx >=13 - - libxcb >=1.17.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.44.2,<1.0a0 - - xorg-libice >=1.1.2,<2.0a0 - - xorg-libsm >=1.2.5,<2.0a0 - - xorg-libx11 >=1.8.11,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - license: LGPL-2.1-only or MPL-1.1 - size: 978114 - timestamp: 1741554591855 + - libgcc >=14 + license: bzip2-1.0.6 + license_family: BSD + purls: [] + size: 192412 + timestamp: 1771350241232 +- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + sha256: 76dfb71df5e8d1c4eded2dbb5ba15bb8fb2e2b0fe42d94145d5eed4c75c35902 + md5: 4cb8e6b48f67de0b018719cdf1136306 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: bzip2-1.0.6 + license_family: BSD + purls: [] + size: 56115 + timestamp: 1771350256444 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + sha256: 95e8e74062a5fe5f870ac8c90302b6e89945165fdaed7810606e84ddee6aac12 + md5: e27d2ac27b096dc51fedfcf775a53f9b + depends: + - __win + license: ISC + purls: [] + size: 132136 + timestamp: 1784754918886 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + sha256: 0a0544cf95f64394fe4959286f5c71f5444ad58feb0602e53becb27448d24da6 + md5: 0f51e2391ade309db462a55611263e9c + depends: + - __unix + license: ISC + purls: [] + size: 131780 + timestamp: 1784754889428 +- conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.4-pyha770c72_0.conda + sha256: cca3a26282a5bc37a10afb1aa2006a21c45033cbc4ff012f9501f56f2a115c12 + md5: 13bdbb9b693b29134c56a9a00c23de41 + depends: + - msgpack-python >=0.5.2,<2.0.0 + - python >=3.10 + - requests >=2.16.0 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/cachecontrol?source=compressed-mapping + size: 24906 + timestamp: 1782470439060 - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda sha256: 06525fa0c4e4f56e771a3b986d0fdf0f0fc5a3270830ee47e127a5105bde1b9a md5: bb6c4808bfa69d6f7f6b07e5846ced37 @@ -2345,9809 +3102,5534 @@ packages: license: LGPL-2.1-only or MPL-1.1 size: 989514 timestamp: 1766415934926 -- conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.2.0-h53410ce_16.conda - sha256: 0e3a6497ccfad65246f9ca8225f290b10ee3be7712e6f7585f1585f72074ecff - md5: 7d1e5e99f086b25a8aeace8f35962fe7 - depends: - - gcc_impl_linux-64 >=15.2.0,<15.2.1.0a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 31290 - timestamp: 1765257044086 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-bindings-13.2.0-py312hf79963d_0.conda - sha256: 3234a03d1c491edb7d24ce995dd271dab038bc58eee5dffbaab8253a8042ac4a - md5: cf07366d06fc39a555feb7e288de2dfe +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda + sha256: 675db823f3d6fb6bf747fab3b0170ba99b269a07cf6df1e49fff2f9972be9cd1 + md5: 043c13ed3a18396994be9b4fab6572ad depends: - - __glibc >=2.17,<3.0.a0 - - cuda-nvrtc >=13,<14.0a0 - - cuda-nvvm-impl >=13,<14.0a0 - - cuda-pathfinder >=1.1.0,<2 - - cuda-version >=13,<14.0a0 - - libcufile >=1,<2.0a0 + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - icu >=78.1,<79.0a0 + - libexpat >=2.7.3,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 - libgcc >=14 - - libnvjitlink >=13.0,<14.0a0 + - libglib >=2.86.3,<3.0a0 + - libpng >=1.6.53,<1.7.0a0 - libstdcxx >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - cuda-python >=13.2.0,<13.3.0a0 - - cuda-cudart >=13,<14.0a0 - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE + - libxcb >=1.17.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.46.4,<1.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: LGPL-2.1-only or MPL-1.1 + size: 927045 + timestamp: 1766416003626 +- conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda + sha256: 9ee4ad706c5d3e1c6c469785d60e3c2b263eec569be0eac7be33fbaef978bccc + md5: 52ea1beba35b69852d210242dd20f97d + depends: + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - icu >=78.1,<79.0a0 + - libexpat >=2.7.3,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libglib >=2.86.3,<3.0a0 + - libpng >=1.6.53,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.46.4,<1.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-only or MPL-1.1 + size: 1537783 + timestamp: 1766416059188 +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda + sha256: fb167de4388e64e52aa3907ed099afab944c1fa6e5f74b281a312dae1bcf7f3b + md5: 37e13edbe3b48f1095a9d085ef9cd83b + depends: + - python >=3.10 + license: ISC purls: - - pkg:pypi/cuda-bindings?source=hash-mapping - size: 4018993 - timestamp: 1773284505127 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-12.9.79-h5888daf_0.conda - sha256: 57d1294ecfaf9dc8cdb5fc4be3e63ebc7614538bddb5de53cfd9b1b7de43aed5 - md5: cb15315d19b58bd9cd424084e58ad081 + - pkg:pypi/certifi?source=compressed-mapping + size: 137015 + timestamp: 1784717699092 +- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.9-pyhd8ed1ab_0.conda + sha256: 8d8813ef655b4e75e4fb897abd83ad548882efad7b4e836b021b797f42780799 + md5: d154b40b109e503430979e8a8d099eaf depends: - - __glibc >=2.17,<3.0.a0 - - cuda-cudart_linux-64 12.9.79 h3f2d84a_0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=13 - - libstdcxx >=13 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23242 - timestamp: 1749218416505 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda - sha256: 3d74819f261d77a410e8f8ddbd973446c312ec76605d60619d9b85113eca9632 - md5: 3fc21c99786b908fd7f32ea279fc9780 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/charset-normalizer?source=compressed-mapping + size: 61418 + timestamp: 1783505332569 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyh6dadd2b_0.conda + sha256: 5b5c96afdd801dd9c3b78ebc2cd9a9f3ce34186257415d394dde1aa8468aa3c0 + md5: 8a0d65027e25e367f9f1754f0604e8de depends: - - __glibc >=2.17,<3.0.a0 - - cuda-cudart_linux-64 13.3.29 h376f20c_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24659 - timestamp: 1779898425780 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-12.9.79-h5888daf_0.conda - sha256: 04d8235cb3cb3510c0492c3515a9d1a6053b50ef39be42b60cafb05044b5f4c6 - md5: ba38a7c3b4c14625de45784b773f0c71 + - __win + - colorama + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/click?source=compressed-mapping + size: 106227 + timestamp: 1783085395110 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyhc90fa1f_0.conda + sha256: ccc4787f511964f9a1f2d2d2859c91c5d571fb60f7f09d4c4e092c9b7a94e671 + md5: 2c4bd6aeb90bb157456841c3270a0d92 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-cudart 12.9.79 h5888daf_0 - - cuda-cudart-dev_linux-64 12.9.79 h3f2d84a_0 - - cuda-cudart-static 12.9.79 h5888daf_0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=13 - - libstdcxx >=13 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=12.9.79,<13.0a0 - size: 23687 - timestamp: 1749218464010 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-13.3.29-hecca717_0.conda - sha256: 050ac942737f501b5dee21c0bbfa77f4617c52269f188ab66a5e2b8b7acd0f22 - md5: e21171cc900f202b2af82f1afddbdfcf + - __unix + - python + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/click?source=compressed-mapping + size: 107155 + timestamp: 1783085363526 +- conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 + md5: 962b9857ee8e7018c22f2776ffa0b2d7 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-cudart 13.3.29 hecca717_0 - - cuda-cudart-dev_linux-64 13.3.29 h376f20c_0 - - cuda-cudart-static 13.3.29 hecca717_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=13.3.29,<14.0a0 - size: 25129 - timestamp: 1779898446163 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-12.9.79-h5888daf_0.conda - sha256: 6261e1d9af80e1ec308e3e5e2ff825d189ef922d24093beaf6efca12e67ce060 - md5: d3c4ac48f4967f09dd910d9c15d40c81 + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/colorama?source=hash-mapping + size: 27011 + timestamp: 1733218222191 +- conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda + sha256: 576a44729314ad9e4e5ebe055fbf48beb8116b60e58f9070278985b2b634f212 + md5: 2da13f2b299d8e1995bafbbe9689a2f7 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-cudart-static_linux-64 12.9.79 h3f2d84a_0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=13 - - libstdcxx >=13 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23283 - timestamp: 1749218442382 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-13.3.29-hecca717_0.conda - sha256: e2596138baef66e9b7fa08329e944d3ef8cca7c3d2da28d32bc37ff7e4801d1a - md5: 3a99ba2e09c508fd8b8b0eaf6d37a376 + - python >=3.9 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/comm?source=hash-mapping + size: 14690 + timestamp: 1753453984907 +- conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.2.0-h53410ce_19.conda + sha256: 1a53d0bd9d8197a7dc57f9b154e24d908ade29934e0a450ee6e40294d0a237f9 + md5: 3b482cadfc77f094c8b3016166292dfb depends: - - __glibc >=2.17,<3.0.a0 - - cuda-cudart-static_linux-64 13.3.29 h376f20c_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24626 - timestamp: 1779898435744 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-12.9.86-hecca717_1.conda - sha256: 68f81268c25befa9b70dc49af469ab0eb131960e3700b9a4edb46a32da343a28 - md5: 53f0062e2243b26e43ddac0b5267c6a3 + - gcc_impl_linux-64 >=15.2.0,<15.2.1.0a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 31857 + timestamp: 1778269225076 +- conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.3.3-py314h97ea11e_4.conda + sha256: b0314a7f1fb4a294b1a8bcf5481d4a8d9412a9fee23b7e3f93fb10e4d504f2cc + md5: 95bede9cdb7a30a4b611223d52a01aa4 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=14 + - numpy >=1.25 + - python - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 67168282 - timestamp: 1760723629347 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda - sha256: a70641e7d81694f57c7df46a17b657594393082dad667532c29df9540b7f99ca - md5: 57124a775cb937bb2bfd10f09a230430 - depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - run_exports: {} - size: 39254802 - timestamp: 1779897349474 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-12.9.86-hecca717_1.conda - sha256: ae620051c16eabf7720a47c5115634d64f7703d32124555ad0afccfd4b8d7cf4 - md5: 0d28090f4e63410e20397c7975612837 - depends: - __glibc >=2.17,<3.0.a0 - - cuda-nvrtc 12.9.86 hecca717_1 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - cuda-nvrtc-static >=12.9.86 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-nvrtc >=12.9.86,<13.0a0 - size: 36819 - timestamp: 1760723845601 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-13.3.33-hecca717_0.conda - sha256: 5ed71b75e73241ab007d92a6b1f28ce90cc50abf3615876e7ef8d3dea9443d58 - md5: 37fe136dc4411687579abf75826a0609 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + size: 324013 + timestamp: 1769155968691 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/contourpy-1.3.3-py314ha0cc70f_4.conda + sha256: ce3575300f89e6d384cb28f44d11a52862087b3fbd82127300f3ec8b292a553d + md5: 015503b3e0c818f2e773665aacada937 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-nvrtc 13.3.33 hecca717_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 + - numpy >=1.25 + - python - libstdcxx >=14 - constrains: - - cuda-nvrtc-static >=13.3.33 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-nvrtc >=13.3.33,<14.0a0 - size: 38404 - timestamp: 1779897472176 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-12.9.86-h69a702a_6.conda - sha256: 5c70d91e6d30eb6000ea036558a20fd0b1bc13cdd2c04fd5dbf94d9caa0a7fbc - md5: 704956f67e44ddf046565ead01f9efcd + - libgcc >=14 + - python 3.14.* *_cp314 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + size: 342661 + timestamp: 1769155977005 +- conda: https://conda.anaconda.org/conda-forge/win-64/contourpy-1.3.3-py314hf309875_4.conda + sha256: f141bcbf8e490b49b2f53f517173d13a64d75e43cfae170e0d931cb0b66f4bce + md5: c26934035616f7d578f9da0491aed3d8 depends: - - cuda-nvvm-dev_linux-64 12.9.86.* - - cuda-nvvm-impl 12.9.86.* - - cuda-nvvm-tools 12.9.86.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 25475 - timestamp: 1771619493286 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.33-h69a702a_0.conda - sha256: 5a379ec765df86fa34c253033fff9e916b3b8a01fc6a8ab2ec451e2ac7b57a2c - md5: 6dc6ffa1da0abc6d1fa4f5385aa93040 - depends: - - cuda-nvvm-dev_linux-64 13.3.33.* - - cuda-nvvm-impl 13.3.33.* - - cuda-nvvm-tools 13.3.33.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 25697 - timestamp: 1779909800589 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.73-h69a702a_0.conda - sha256: d57adacdd922ee66e1b8c15aa07a7555819a24a6286f7e748d12018dad51141e - md5: 4e0f9af8d9a275dbd97763eeb50f4d7b - depends: - - cuda-nvvm-dev_linux-64 13.3.73.* - - cuda-nvvm-impl 13.3.73.* - - cuda-nvvm-tools 13.3.73.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24732 - timestamp: 1782788494281 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-12.9.86-h4bc722e_2.conda - sha256: f4d34556174e4faa9d374ba2244707082870e1bbc1bb441ad3d9d2cea37da6af - md5: 82125dd3c0c4aa009faa00e2829b93d8 - depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 21425520 - timestamp: 1753975283188 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.33-h4bc722e_0.conda - sha256: 1ea87e853ba917c14b222da1bff5179a3aa490ca5fd64e9ff1b865d2ca62e569 - md5: 3cdad839773c71e550927c626f8ba5fa + - numpy >=1.25 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + size: 247437 + timestamp: 1769155978556 +- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda + noarch: generic + sha256: d3e9bbd7340199527f28bbacf947702368f31de60c433a16446767d3c6aaf6fe + md5: f54c1ffb8ecedb85a8b7fcde3a187212 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement + - python >=3.12,<3.13.0a0 + - python_abi * *_cp312 + license: Python-2.0 purls: [] - size: 22428462 - timestamp: 1779905092854 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda - sha256: 41f356d6c38af4d2be789b13697469eb2eb61fc7aaf2765ae8dc5845587a36f7 - md5: e9fa0c38f175daa97354d21e74603588 - depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 22429305 - timestamp: 1782782861319 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-12.9.86-h4bc722e_2.conda - sha256: 45f5e881ed0d973132a5475a0b5c066db6e748ef3a831a14dba8374b252e0067 - md5: f9af26e4079adcd72688a8e8dbecb229 + size: 46463 + timestamp: 1772728929620 +- conda: . + name: cuda-bindings + version: 13.3.1 + build: py314h3ff45e1_0 + subdir: linux-aarch64 + variants: + cuda_version: 13.3.* + python: 3.14.* + target_platform: linux-aarch64 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24246736 - timestamp: 1753975332907 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.33-h4bc722e_0.conda - sha256: 3fc9d3ba08b4a3b5fd0065f048e8c6007a8ca1c8df07b3538f4b61435ecbc2ac - md5: 99365fca01f05b4255c79180e6e86a43 + - python + - cuda-version + - cuda-pathfinder + - libnvjitlink + - cuda-nvrtc + - cuda-nvrtc >=13.3.33,<14.0a0 + - cuda-nvvm + - libnvfatbin + - libcufile + - libcufile >=1.18.1.6,<2.0a0 + - libgcc >=15 + - libgcc >=15 + - libstdcxx >=15 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + sources: + cuda-pathfinder: + path: ../cuda_pathfinder +- conda: . + name: cuda-bindings + version: 13.3.1 + build: py314h5e6f764_0 + subdir: win-64 + variants: + c_compiler: vs2022 + cuda_version: 12.* + cxx_compiler: vs2022 + python: 3.14.* + target_platform: win-64 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 29720382 - timestamp: 1779905121216 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.73-h4bc722e_0.conda - sha256: f853f097a67a197608fafc193ab877393c7735b1da2364572172cc9eff262775 - md5: d5c9cf56873f461074420e70970604a9 + - python + - cuda-version + - cuda-pathfinder + - libnvjitlink + - cuda-nvrtc + - cuda-nvrtc >=12.9.86,<13.0a0 + - cuda-nvvm + - libnvfatbin + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + sources: + cuda-pathfinder: + path: ../cuda_pathfinder +- conda: . + name: cuda-bindings + version: 13.3.1 + build: py314ha6d028f_0 + subdir: linux-64 + variants: + cuda_version: 12.* + python: 3.14.* + target_platform: linux-64 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 29734373 - timestamp: 1782782895477 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-12.9.79-h7938cbb_1.conda - sha256: 4f679dfbf2bf2d17abb507f31b0176c0e3572337b5005b9e36179948a53988ac - md5: 90d09865fb37d11d510444e34ebe6a09 + - python + - cuda-version + - cuda-pathfinder + - libnvjitlink + - cuda-nvrtc + - cuda-nvrtc >=12.9.86,<13.0a0 + - cuda-nvvm + - libnvfatbin + - libcufile + - libcufile >=1.14.1.1,<2.0a0 + - libgcc >=15 + - libgcc >=15 + - libstdcxx >=15 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + sources: + cuda-pathfinder: + path: ../cuda_pathfinder +- conda: . + name: cuda-bindings + version: 13.3.1 + build: py314hd3a1e81_0 + subdir: linux-64 + variants: + cuda_version: 13.3.* + python: 3.14.* + target_platform: linux-64 depends: - - cuda-cudart-dev - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23668 - timestamp: 1761098836058 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-13.3.27-h7938cbb_0.conda - sha256: 716eb13fe58332ed1d5079edae720177da0aeb3bb51cb5a05072385faa8dd704 - md5: a251ae89c6c9a7f5e8a39adc9a3041bd + - python + - cuda-version + - cuda-pathfinder + - libnvjitlink + - cuda-nvrtc + - cuda-nvrtc >=13.3.33,<14.0a0 + - cuda-nvvm + - libnvfatbin + - libcufile + - libcufile >=1.18.1.6,<2.0a0 + - libgcc >=15 + - libgcc >=15 + - libstdcxx >=15 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + sources: + cuda-pathfinder: + path: ../cuda_pathfinder +- conda: . + name: cuda-bindings + version: 13.3.1 + build: py314hd7f1909_0 + subdir: win-64 + variants: + c_compiler: vs2022 + cuda_version: 13.3.* + cxx_compiler: vs2022 + python: 3.14.* + target_platform: win-64 depends: - - cuda-cudart-dev - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 25007 - timestamp: 1779913616712 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.3-py314h1807b08_0.conda - sha256: a0e2ed0efefb82278e0fd1d455d10d1095d951a896591838b30674aa872300c4 - md5: f0658a93053b13335be941289d7d6160 + - python + - cuda-version + - cuda-pathfinder + - libnvjitlink + - cuda-nvrtc + - cuda-nvrtc >=13.3.33,<14.0a0 + - cuda-nvvm + - libnvfatbin + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + sources: + cuda-pathfinder: + path: ../cuda_pathfinder +- conda: . + name: cuda-bindings + version: 13.3.1 + build: py314he8946ed_0 + subdir: linux-aarch64 + variants: + cuda_version: 12.* + python: 3.14.* + target_platform: linux-aarch64 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python >=3.14,<3.15.0a0 + - python + - cuda-version + - cuda-pathfinder + - libnvjitlink + - cuda-nvrtc + - cuda-nvrtc >=12.9.86,<13.0a0 + - cuda-nvvm + - libnvfatbin + - libcufile + - libcufile >=1.14.1.1,<2.0a0 + - libgcc >=15 + - libgcc >=15 + - libstdcxx >=15 - python_abi 3.14.* *_cp314 license: Apache-2.0 - license_family: APACHE - size: 3797747 - timestamp: 1765651158436 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.4-py312h68e6be4_0.conda - sha256: 01b815091e0c534a5f32a830b514e31c150dc2f539b7ba1d5c70b6d095a5ebcf - md5: 14f638dad5953c83443a2c4f011f1c9e + sources: + cuda-pathfinder: + path: ../cuda_pathfinder +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-bindings-13.2.0-py312hf79963d_1.conda + sha256: 749c0e2e664f76833a24a7a4d970a643888ca582fba1c46ca1b7c01b245dc99d + md5: 13d8b143b3513c95a1d3aec4e65a9529 depends: - __glibc >=2.17,<3.0.a0 + - cuda-nvrtc >=13,<14.0a0 + - cuda-nvvm-impl >=13,<14.0a0 + - cuda-pathfinder >=1.1.0,<2 + - cuda-version >=13,<14.0a0 + - libcufile >=1,<2.0a0 - libgcc >=14 + - libnvfatbin + - libnvjitlink >=13.0,<14.0a0 - libstdcxx >=14 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE + constrains: + - cuda-python >=13.2.0,<13.3.0a0 + - cuda-cudart >=13,<14.0a0 + license: LicenseRef-NVIDIA-SOFTWARE-LICENSE purls: - - pkg:pypi/cython?source=hash-mapping - size: 3738170 - timestamp: 1767577770165 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.4-py314h1807b08_0.conda - sha256: f700d10c2a794710a1656a6fdb8908fb04f3c7812ac4f17187777646ede1a3d9 - md5: 866fd3d25b767bccb4adc8476f4035cd - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: APACHE - size: 3806945 - timestamp: 1767576996860 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - sha256: f0210259007f573e38f7b8037be9b36e53aa0906b786e9f1f931e0a24f8a18e6 - md5: 0e6a14f60b561b2fff81d325b4dc8283 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 3819412 - timestamp: 1782821647528 -- conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda - sha256: 22053a5842ca8ee1cf8e1a817138cdb5e647eb2c46979f84153f6ad7bde73020 - md5: 418c6ca5929a611cbd69204907a83995 - depends: - - libgcc-ng >=12 - license: BSD-2-Clause - license_family: BSD - size: 760229 - timestamp: 1685695754230 -- conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - sha256: 8bb557af1b2b7983cf56292336a1a1853f26555d9c6cecf1e5b2b96838c9da87 - md5: ce96f2f470d39bd96ce03945af92e280 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - - libglib >=2.86.2,<3.0a0 - - libexpat >=2.7.3,<3.0a0 - license: AFL-2.1 OR GPL-2.0-or-later - size: 447649 - timestamp: 1764536047944 -- conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.20-py312h8285ef7_0.conda - sha256: f20121b67149ff80bf951ccae7442756586d8789204cd08ade59397b22bfd098 - md5: ee1b48795ceb07311dd3e665dd4f5f33 - depends: - - python - - libgcc >=14 - - libstdcxx >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - purls: - - pkg:pypi/debugpy?source=hash-mapping - size: 2858582 - timestamp: 1769744978783 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.0.1-gpl_hb3f9226_906.conda - sha256: 7992f272a45d90731771b36db0acd3565f22ebc285829385262900e59f75db12 - md5: 48787f2eab82ef1d90ccd9c24b64981e - depends: - - __glibc >=2.17,<3.0.a0 - - alsa-lib >=1.2.14,<1.3.0a0 - - aom >=3.9.1,<3.10.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - gmp >=6.3.0,<7.0a0 - - harfbuzz >=12.2.0 - - lame >=3.100,<3.101.0a0 - - libass >=0.17.4,<0.17.5.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libopenvino >=2025.2.0,<2025.2.1.0a0 - - libopenvino-auto-batch-plugin >=2025.2.0,<2025.2.1.0a0 - - libopenvino-auto-plugin >=2025.2.0,<2025.2.1.0a0 - - libopenvino-hetero-plugin >=2025.2.0,<2025.2.1.0a0 - - libopenvino-intel-cpu-plugin >=2025.2.0,<2025.2.1.0a0 - - libopenvino-intel-gpu-plugin >=2025.2.0,<2025.2.1.0a0 - - libopenvino-intel-npu-plugin >=2025.2.0,<2025.2.1.0a0 - - libopenvino-ir-frontend >=2025.2.0,<2025.2.1.0a0 - - libopenvino-onnx-frontend >=2025.2.0,<2025.2.1.0a0 - - libopenvino-paddle-frontend >=2025.2.0,<2025.2.1.0a0 - - libopenvino-pytorch-frontend >=2025.2.0,<2025.2.1.0a0 - - libopenvino-tensorflow-frontend >=2025.2.0,<2025.2.1.0a0 - - libopenvino-tensorflow-lite-frontend >=2025.2.0,<2025.2.1.0a0 - - libopus >=1.5.2,<2.0a0 - - librsvg >=2.60.0,<3.0a0 - - libstdcxx >=14 - - libva >=2.22.0,<3.0a0 - - libvorbis >=1.3.7,<1.4.0a0 - - libvpl >=2.15.0,<2.16.0a0 - - libvpx >=1.15.2,<1.16.0a0 - - libvulkan-loader >=1.4.328.1,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.1,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.4,<4.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2025.5,<2025.6.0a0 - - svt-av1 >=3.1.2,<3.1.3.0a0 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - - xorg-libx11 >=1.8.12,<2.0a0 - constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - size: 12482468 - timestamp: 1765653517558 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.0.1-gpl_hcddb375_914.conda - sha256: 0d465b145eb7166d6a3989f0befe790789624604945f53de767b169b1832c088 - md5: f0e9f1452786e2b32907e8d9a6b3c752 - depends: - - __glibc >=2.17,<3.0.a0 - - alsa-lib >=1.2.15.3,<1.3.0a0 - - aom >=3.9.1,<3.10.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - gmp >=6.3.0,<7.0a0 - - harfbuzz >=12.3.2 - - lame >=3.100,<3.101.0a0 - - libass >=0.17.4,<0.17.5.0a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libjxl >=0.11,<1.0a0 - - liblzma >=5.8.2,<6.0a0 - - libopenvino >=2026.0.0,<2026.0.1.0a0 - - libopenvino-auto-batch-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-auto-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-hetero-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-intel-cpu-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-intel-gpu-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-intel-npu-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-ir-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-onnx-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-paddle-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-pytorch-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-tensorflow-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-tensorflow-lite-frontend >=2026.0.0,<2026.0.1.0a0 - - libopus >=1.6.1,<2.0a0 - - librsvg >=2.60.2,<3.0a0 - - libstdcxx >=14 - - libva >=2.23.0,<3.0a0 - - libvorbis >=1.3.7,<1.4.0a0 - - libvpl >=2.16.0,<2.17.0a0 - - libvpx >=1.15.2,<1.16.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.1,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.5,<4.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2025.5,<2025.6.0a0 - - svt-av1 >=4.0.1,<4.0.2.0a0 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - size: 12485347 - timestamp: 1773008832077 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.15.0-h7e30c49_1.conda - sha256: 7093aa19d6df5ccb6ca50329ef8510c6acb6b0d8001191909397368b65b02113 - md5: 8f5b0b297b59e1ac160ad4beec99dbee - depends: - - __glibc >=2.17,<3.0.a0 - - freetype >=2.12.1,<3.0a0 - - libexpat >=2.6.3,<3.0a0 - - libgcc >=13 - - libuuid >=2.38.1,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 265599 - timestamp: 1730283881107 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.17.1-h27c8c51_0.conda - sha256: aa4a44dba97151221100a637c7f4bde619567afade9c0265f8e1c8eed8d7bd8c - md5: 867127763fbe935bab59815b6e0b7b5c - depends: - - __glibc >=2.17,<3.0.a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libuuid >=2.41.3,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 270705 - timestamp: 1771382710863 -- conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.1-ha770c72_0.conda - sha256: bf8e4dffe46f7d25dc06f31038cacb01672c47b9f45201f065b0f4d00ab0a83e - md5: 4afc585cd97ba8a23809406cd8a9eda8 - depends: - - libfreetype 2.14.1 ha770c72_0 - - libfreetype6 2.14.1 h73754d4_0 - license: GPL-2.0-only OR FTL - size: 173114 - timestamp: 1757945422243 -- conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.2-ha770c72_0.conda - sha256: 36857701b46828b6760c3c1652414ee504e7fc12740261ac6fcff3959b72bd7a - md5: eeec961fec28e747e1e1dc0446277452 - depends: - - libfreetype 2.14.2 ha770c72_0 - - libfreetype6 2.14.2 h73754d4_0 - license: GPL-2.0-only OR FTL - size: 174292 - timestamp: 1772757205296 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda - sha256: 858283ff33d4c033f4971bf440cebff217d5552a5222ba994c49be990dacd40d - md5: f9f81ea472684d75b9dd8d0b328cf655 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: LGPL-2.1-or-later - size: 61244 - timestamp: 1757438574066 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h0dff253_16.conda - sha256: f7d74b470dbaaaf715bf0c29a8e5786b41c5be38b8fd2b703cdbe8c3ac9a4061 - md5: d65a413999f5e84b95cc56145f7dc8ae - depends: - - conda-gcc-specs - - gcc_impl_linux-64 15.2.0 hc5723f1_16 - license: BSD-3-Clause - license_family: BSD - size: 28938 - timestamp: 1765257209407 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h6f77f03_18.conda - sha256: d120a7616f8b2717fc2a9d0246b53f69ce3fb33e565d22dba44e3d6827ee4f12 - md5: 094638a454410aa77586ffcc9a403aef - depends: - - gcc_impl_linux-64 15.2.0 he420e7e_18 - track_features: - - gcc_no_conda_specs - license: BSD-3-Clause - license_family: BSD - size: 29453 - timestamp: 1771378662937 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-hc5723f1_16.conda - sha256: dfd180b9df441b57aa539dfcfcc416c804638b3bc5ec9dbb5d7bdbc009eba497 - md5: 83c672f0e373c37436953413b2272a42 - depends: - - binutils_impl_linux-64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_linux-64 15.2.0 hcc6f6b0_116 - - libgomp >=15.2.0 - - libsanitizer 15.2.0 h90f66d4_16 - - libstdcxx >=15.2.0 - - libstdcxx-devel_linux-64 15.2.0 hd446a21_116 - - sysroot_linux-64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 80309755 - timestamp: 1765256937267 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda - sha256: a48400ec4b73369c1c59babe4ad35821b63a88bba0ec40a80cea5f8c53a26b83 - md5: e3be72048d3c4a78b8e27ec48ba06252 - depends: - - binutils_impl_linux-64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_linux-64 15.2.0 hcc6f6b0_119 - - libgomp >=15.2.0 - - libsanitizer 15.2.0 h90f66d4_19 - - libstdcxx >=15.2.0 - - libstdcxx-devel_linux-64 15.2.0 hd446a21_119 - - sysroot_linux-64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 81180457 - timestamp: 1778269124617 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he420e7e_18.conda - sha256: a088cfd3ae6fa83815faa8703bc9d21cc915f17bd1b51aac9c16ddf678da21e4 - md5: cf56b6d74f580b91fd527e10d9a2e324 - depends: - - binutils_impl_linux-64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_linux-64 15.2.0 hcc6f6b0_118 - - libgomp >=15.2.0 - - libsanitizer 15.2.0 h90f66d4_18 - - libstdcxx >=15.2.0 - - libstdcxx-devel_linux-64 15.2.0 hd446a21_118 - - sysroot_linux-64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 81814135 - timestamp: 1771378369317 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-15.2.0-h7be306e_27.conda - sha256: b24b13d467898a9b9a17a868a2686412a98f8935dc7cc51547dd90645d4e8436 - md5: 28bc49875f9c38e2401696b3e48d0798 - depends: - - gcc_impl_linux-64 15.2.0.* - - binutils_linux-64 - - sysroot_linux-64 - license: BSD-3-Clause - license_family: BSD - run_exports: - strong: - - libgcc >=15 - size: 29330 - timestamp: 1781279944230 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.4-h2b0a6b4_0.conda - sha256: f47222f58839bcc77c15f11a8814c1d8cb8080c5ca6ba83398a12b640fd3c85c - md5: c379d67c686fb83475c1a6ed41cc41ff - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libglib >=2.86.0,<3.0a0 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - - libpng >=1.6.50,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - size: 572093 - timestamp: 1761082340749 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.5-h2b0a6b4_1.conda - sha256: b2a6fb56b8f2d576a3ae5e6c57b2dbab91d52d1f1658bf1b258747ae25bb9fde - md5: 7eb4977dd6f60b3aaab0715a0ea76f11 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - size: 575109 - timestamp: 1771530561157 -- conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.1.0-hfd11570_0.conda - sha256: 595c87f69145f8228202578d45b876ae9befbd941e0f551c586f7230a86789d4 - md5: 67ad188ef4f3311ff3d447a698a03a0d - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - spirv-tools >=2025,<2026.0a0 - license: BSD-3-Clause - license_family: BSD - size: 1312583 - timestamp: 1764720535916 -- conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.2.0-h96af755_1.conda - sha256: 88a5ad3571948bde22957d08ab01328b8a7eb04fdee66268b3125cc322dbde8b - md5: ba5b655d827f263090ad2dc514810328 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - spirv-tools >=2026,<2027.0a0 - license: BSD-3-Clause - license_family: BSD - size: 1353008 - timestamp: 1770195199411 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - sha256: 309cf4f04fec0c31b6771a5809a1909b4b3154a2208f52351e1ada006f4c750c - md5: c94a5994ef49749880a8139cf9afcbe1 - depends: - - libgcc-ng >=12 - - libstdcxx-ng >=12 - license: GPL-2.0-or-later OR LGPL-3.0-or-later - size: 460055 - timestamp: 1718980856608 -- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda - sha256: 25ba37da5c39697a77fce2c9a15e48cf0a84f1464ad2aafbe53d8357a9f6cc8c - md5: 2cd94587f3a401ae05e03a6caf09539d - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: LGPL-2.0-or-later - license_family: LGPL - size: 99596 - timestamp: 1755102025473 -- conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.3.2-py312h8285ef7_0.conda - sha256: 03c8d065ef1e07053252412c541b5f1af70bc5fa2f974f129128d90fbdc47fe5 - md5: db6bba1610e5c4256d2892ec2997c425 - depends: - - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - purls: - - pkg:pypi/greenlet?source=hash-mapping - size: 253793 - timestamp: 1771658391409 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_16.conda - sha256: 850c1662b9fdfea118c7632f928adb4b9c4f2f3edce166fbce02bfb9633ead85 - md5: 7acc57b08553cf6f682c9b70e6fe6b8f - depends: - - gcc 15.2.0 h0dff253_16 - - gxx_impl_linux-64 15.2.0 hda75c37_16 - license: BSD-3-Clause - license_family: BSD - size: 28467 - timestamp: 1765257244273 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_18.conda - sha256: 2d0f5eb8b2dce1e799e5bd70e874d6dfc62bed76f3f6aef21eba711db8c1b95b - md5: d2858ce79166e9afc367bd064d73e112 - depends: - - gcc 15.2.0 h6f77f03_18 - - gxx_impl_linux-64 15.2.0 hda75c37_18 - license: BSD-3-Clause - license_family: BSD - size: 28723 - timestamp: 1771378698305 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_16.conda - sha256: 9ea9ec1595e163adb7d86828f638c70b7ff0b809093e34b1bee858bf0c80589a - md5: 779495181670ef15f80c3e33eea6f61a - depends: - - gcc_impl_linux-64 15.2.0 hc5723f1_16 - - libstdcxx-devel_linux-64 15.2.0 hd446a21_116 - - sysroot_linux-64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 16357678 - timestamp: 1765257161133 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_18.conda - sha256: 48946f1f43d699b68123fb39329ef5acf3d9cbf8f96bdb8fb14b6197f5402825 - md5: e39123ab71f2e4cf989aa6aa5fafdaaf - depends: - - gcc_impl_linux-64 15.2.0 he420e7e_18 - - libstdcxx-devel_linux-64 15.2.0 hd446a21_118 - - sysroot_linux-64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 15587873 - timestamp: 1771378609722 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda - sha256: 3f5288346b9fe233352443b3c2e31f1fde845e39d3e96475fc05ec2e782af158 - md5: 9d41f3899b512199af0a4bb939b83e21 - depends: - - gcc_impl_linux-64 15.2.0 he0086c7_19 - - libstdcxx-devel_linux-64 15.2.0 hd446a21_119 - - sysroot_linux-64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 16356816 - timestamp: 1778269332159 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-15.2.0-hcb00b6d_27.conda - sha256: f78da7a8b49943a6ce48372a5bc85ab741ac86666f1040e8876545065ec1096e - md5: 5e194579a5f72c70102f342aa362f5f9 - depends: - - gxx_impl_linux-64 15.2.0.* - - gcc_linux-64 ==15.2.0 h7be306e_27 - - binutils_linux-64 - - sysroot_linux-64 - license: BSD-3-Clause - license_family: BSD - run_exports: - strong: - - libstdcxx >=15 - - libgcc >=15 - size: 27848 - timestamp: 1781279944230 -- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.2.0-h15599e2_0.conda - sha256: 6bd8b22beb7d40562b2889dc68232c589ff0d11a5ad3addd41a8570d11f039d9 - md5: b8690f53007e9b5ee2c2178dd4ac778c - depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=75.1,<76.0a0 - - libexpat >=2.7.1,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libglib >=2.86.1,<3.0a0 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 2411408 - timestamp: 1762372726141 -- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-12.3.0-h6083320_0.conda - sha256: eb0ff4632c76d5840ad8f509dc55694f79d9ac9bea5529944640e28e490361b0 - md5: 1ea5ed29aea252072b975a232b195146 - depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libglib >=2.86.3,<3.0a0 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 2062122 - timestamp: 1766937132307 -- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-13.1.0-h6083320_0.conda - sha256: 08dc098dcc5c3445331a834f46602b927cb65d2768189f3f032a6e4643f15cd9 - md5: 5baf48da05855be929c5a50f4377794d - depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.2,<79.0a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 2615630 - timestamp: 1773217509651 -- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda - sha256: 71e750d509f5fa3421087ba88ef9a7b9be11c53174af3aa4d06aff4c18b38e8e - md5: 8b189310083baabfb622af68fd9d3ae3 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc-ng >=12 - - libstdcxx-ng >=12 - license: MIT - license_family: MIT - size: 12129203 - timestamp: 1720853576813 -- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.1-h33c6efd_0.conda - sha256: 7d6463d0be5092b2ae8f2fad34dc84de83eab8bd44cc0d4be8931881c973c48f - md5: 518e9bbbc3e3486d6a4519192ba690f8 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 12722920 - timestamp: 1766299101259 -- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.2-h33c6efd_0.conda - sha256: 142a722072fa96cf16ff98eaaf641f54ab84744af81754c292cb81e0881c0329 - md5: 186a18e3ba246eccfc7cff00cd19a870 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 12728445 - timestamp: 1767969922681 -- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda - sha256: fbf86c4a59c2ed05bbffb2ba25c7ed94f6185ec30ecb691615d42342baa1a16a - md5: c80d8a3b84358cb967fa81e7075fbc8a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - purls: [] - size: 12723451 - timestamp: 1773822285671 -- conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.9.0-hb700be7_0.conda - sha256: edad668db79c6c4899d46e1cd4a331f5d008f9ed8f7d2e39e1dfe1a2d81acec0 - md5: 26311c5112b5c713f472bdfbb5ec5aa3 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 1009795 - timestamp: 1765886047465 -- conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-25.3.4-hecca717_0.conda - sha256: 286679d4c175e8db2d047be766d1629f1ea5828bff9fe7e6aac2e6f0fad2b427 - md5: 7ae2034a0e2e24eb07468f1a50cdf0bb - depends: - - __glibc >=2.17,<3.0.a0 - - intel-gmmlib >=22.8.1,<23.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libva >=2.22.0,<3.0a0 - license: MIT - license_family: MIT - size: 8424610 - timestamp: 1757591682198 -- conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.4-hecca717_0.conda - sha256: 425388f6dcddf438d15ea5050656ba854aef9025712e61bafb23ed34aff22e88 - md5: 85e32c66a890d4eb25bbe95ae4747466 - depends: - - __glibc >=2.17,<3.0.a0 - - intel-gmmlib >=22.9.0,<23.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libva >=2.23.0,<3.0a0 - license: MIT - license_family: MIT - size: 8783533 - timestamp: 1773230300873 -- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda - sha256: 0960d06048a7185d3542d850986d807c6e37ca2e644342dd0c72feefcf26c2a4 - md5: b38117a3c920364aff79f870c984b4a3 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: LGPL-2.1-or-later - purls: [] - size: 134088 - timestamp: 1754905959823 -- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda - sha256: 3e307628ca3527448dd1cb14ad7bb9d04d1d28c7d4c5f97ba196ae984571dd25 - md5: fb53fb07ce46a575c5d004bbc96032c2 - depends: - - __glibc >=2.17,<3.0.a0 - - keyutils >=1.6.3,<2.0a0 - - libedit >=3.1.20250104,<3.2.0a0 - - libedit >=3.1.20250104,<4.0a0 - - libgcc >=14 - - libstdcxx >=14 - - openssl >=3.5.5,<4.0a0 - license: MIT - license_family: MIT - purls: [] - size: 1386730 - timestamp: 1769769569681 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 - sha256: aad2a703b9d7b038c0f745b853c6bb5f122988fe1a7a096e0e606d9cbec4eaab - md5: a8832b479f93521a9e7b5b743803be51 - depends: - - libgcc-ng >=12 - license: LGPL-2.0-only - license_family: LGPL - size: 508258 - timestamp: 1664996250081 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45-default_hbd61a6d_104.conda - sha256: 9e191baf2426a19507f1d0a17be0fdb7aa155cdf0f61d5a09c808e0a69464312 - md5: a6abd2796fc332536735f68ba23f7901 - depends: - - __glibc >=2.17,<3.0.a0 - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-64 2.45 - license: GPL-3.0-only - license_family: GPL - size: 725545 - timestamp: 1764007826689 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45-default_hbd61a6d_105.conda - sha256: 1027bd8aa0d5144e954e426ab6218fd5c14e54a98f571985675468b339c808ca - md5: 3ec0aa5037d39b06554109a01e6fb0c6 - depends: - - __glibc >=2.17,<3.0.a0 - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-64 2.45 - license: GPL-3.0-only - license_family: GPL - size: 730831 - timestamp: 1766513089214 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda - sha256: 565941ac1f8b0d2f2e8f02827cbca648f4d18cd461afc31f15604cd291b5c5f3 - md5: 12bd9a3f089ee6c9266a37dab82afabd - depends: - - __glibc >=2.17,<3.0.a0 - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-64 2.45.1 - license: GPL-3.0-only - license_family: GPL - size: 725507 - timestamp: 1770267139900 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda - sha256: 3d584956604909ff5df353767f3a2a2f60e07d070b328d109f30ac40cd62df6c - md5: 18335a698559cdbcd86150a48bf54ba6 - depends: - - __glibc >=2.17,<3.0.a0 - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-64 2.45.1 - license: GPL-3.0-only - license_family: GPL - purls: [] - size: 728002 - timestamp: 1774197446916 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - sha256: 27d83f1188cd19bcb7754a078b3fa7f4cfb8527f8eb2fde54dd01fc529d1adec - md5: 449500f2c089da11c40f5c21312e3e07 - depends: - - __glibc >=2.17,<3.0.a0 - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-64 2.46.1 - license: GPL-3.0-only - license_family: GPL - run_exports: {} - size: 745303 - timestamp: 1784214507189 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda - sha256: 412381a43d5ff9bbed82cd52a0bbca5b90623f62e41007c9c42d3870c60945ff - md5: 9344155d33912347b37f0ae6c410a835 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - license: Apache-2.0 - license_family: Apache - size: 264243 - timestamp: 1745264221534 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda - sha256: f84cb54782f7e9cea95e810ea8fef186e0652d0fa73d3009914fa2c1262594e1 - md5: a752488c68f2e7c456bcbd8f16eec275 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: Apache-2.0 - license_family: Apache - size: 261513 - timestamp: 1773113328888 -- conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.26.2-hb700be7_0.conda - sha256: 1a756a2b8d58d2789223bc63971ffef714a8d5fadeb565dd82239c2395fbc858 - md5: c0fd9999cacbe6c0156459080635b2d6 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 667315 - timestamp: 1765910088541 -- conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.26.3-hb700be7_0.conda - sha256: 5dfff8a79f1e6433d84ea924ef71ae472980c2e7248c44e6e171c4eaa4db5c68 - md5: 8dea0df062e53c80274a09150f0c2941 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 667437 - timestamp: 1766226025812 -- conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.28.2-hb700be7_0.conda - sha256: 5384380213daffbd7fe4d568b2cf2ab9f2476f7a5f228a3d70280e98333eaf0f - md5: 4323e07abff8366503b97a0f17924b76 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 858387 - timestamp: 1772045965844 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda - sha256: dcd1429a1782864c452057a6c5bc1860f2b637dc20a2b7e6eacd57395bbceff8 - md5: 83b160d4da3e1e847bf044997621ed63 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - constrains: - - libabseil-static =20250512.1=cxx17* - - abseil-cpp =20250512.1 - license: Apache-2.0 - license_family: Apache - size: 1310612 - timestamp: 1750194198254 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda - sha256: a7a4481a4d217a3eadea0ec489826a69070fcc3153f00443aa491ed21527d239 - md5: 6f7b4302263347698fd24565fbf11310 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - libabseil-static =20260107.1=cxx17* - - abseil-cpp =20260107.1 - license: Apache-2.0 - license_family: Apache - size: 1384817 - timestamp: 1770863194876 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.4-h96ad9f0_0.conda - sha256: 035eb8b54e03e72e42ef707420f9979c7427776ea99e0f1e3c969f92eb573f19 - md5: d3be7b2870bf7aff45b12ea53165babd - depends: - - libgcc >=13 - - __glibc >=2.17,<3.0.a0 - - libzlib >=1.3.1,<2.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - fribidi >=1.0.10,<2.0a0 - - libiconv >=1.18,<2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - harfbuzz >=11.0.1 - license: ISC - size: 152179 - timestamp: 1749328931930 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda - build_number: 5 - sha256: 18c72545080b86739352482ba14ba2c4815e19e26a7417ca21a95b76ec8da24c - md5: c160954f7418d7b6e87eaf05a8913fa9 - depends: - - libopenblas >=0.3.30,<0.3.31.0a0 - - libopenblas >=0.3.30,<1.0a0 - constrains: - - mkl <2026 - - liblapack 3.11.0 5*_openblas - - libcblas 3.11.0 5*_openblas - - blas 2.305 openblas - - liblapacke 3.11.0 5*_openblas - license: BSD-3-Clause - license_family: BSD - size: 18213 - timestamp: 1765818813880 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-6_h4a7cf45_openblas.conda - build_number: 6 - sha256: 7bfe936dbb5db04820cf300a9cc1f5ee8d5302fc896c2d66e30f1ee2f20fbfd6 - md5: 6d6d225559bfa6e2f3c90ee9c03d4e2e - depends: - - libopenblas >=0.3.32,<0.3.33.0a0 - - libopenblas >=0.3.32,<1.0a0 - constrains: - - blas 2.306 openblas - - liblapack 3.11.0 6*_openblas - - liblapacke 3.11.0 6*_openblas - - libcblas 3.11.0 6*_openblas - - mkl <2026 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 18621 - timestamp: 1774503034895 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda - sha256: 318f36bd49ca8ad85e6478bd8506c88d82454cc008c1ac1c6bf00a3c42fa610e - md5: 72c8fd1af66bd67bf580645b426513ed - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - size: 79965 - timestamp: 1764017188531 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda - sha256: 12fff21d38f98bc446d82baa890e01fd82e3b750378fedc720ff93522ffb752b - md5: 366b40a69f0ad6072561c1d09301c886 - depends: - - __glibc >=2.17,<3.0.a0 - - libbrotlicommon 1.2.0 hb03c661_1 - - libgcc >=14 - license: MIT - license_family: MIT - size: 34632 - timestamp: 1764017199083 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda - sha256: a0c15c79997820bbd3fbc8ecf146f4fe0eca36cc60b62b63ac6cf78857f1dd0d - md5: 4ffbb341c8b616aa2494b6afb26a0c5f - depends: - - __glibc >=2.17,<3.0.a0 - - libbrotlicommon 1.2.0 hb03c661_1 - - libgcc >=14 - license: MIT - license_family: MIT - size: 298378 - timestamp: 1764017210931 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.77-h3ff7636_0.conda - sha256: 9517cce5193144af0fcbf19b7bd67db0a329c2cc2618f28ffecaa921a1cbe9d3 - md5: 09c264d40c67b82b49a3f3b89037bd2e - depends: - - __glibc >=2.17,<3.0.a0 - - attr >=2.5.2,<2.6.0a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - size: 121429 - timestamp: 1762349484074 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.77-hd0affe5_1.conda - sha256: 37c41b1024d0c75da76822e3c079aabaf121618a32fe05e53a897b35a88008fc - md5: 499cd8e2d4358986dbe3b30e8fe1bf6a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 124432 - timestamp: 1774333989027 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - sha256: cc8c9fc6ddf0fbd3d1275b558ae9abad6cda23bced268732e2da21a87bb358cd - md5: f9f17eab7f3df1c6fd4b1a548a2f683a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - run_exports: - weak: - - libcap >=2.78,<2.79.0a0 - size: 124335 - timestamp: 1775488792584 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-5_h0358290_openblas.conda - build_number: 5 - sha256: 0cbdcc67901e02dc17f1d19e1f9170610bd828100dc207de4d5b6b8ad1ae7ad8 - md5: 6636a2b6f1a87572df2970d3ebc87cc0 - depends: - - libblas 3.11.0 5_h4a7cf45_openblas - constrains: - - liblapacke 3.11.0 5*_openblas - - blas 2.305 openblas - - liblapack 3.11.0 5*_openblas - license: BSD-3-Clause - license_family: BSD - size: 18194 - timestamp: 1765818837135 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-6_h0358290_openblas.conda - build_number: 6 - sha256: 57edafa7796f6fa3ebbd5367692dd4c7f552be42109c2dd1a7c89b55089bf374 - md5: 36ae340a916635b97ac8a0655ace2a35 - depends: - - libblas 3.11.0 6_h4a7cf45_openblas - constrains: - - blas 2.306 openblas - - liblapack 3.11.0 6*_openblas - - liblapacke 3.11.0 6*_openblas - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 18622 - timestamp: 1774503050205 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.14.1.1-hbc026e6_1.conda - sha256: 5fa43e8a8d335fc0c3a6aeb2e7b0debc7d8495b8a60a56ac30f23b0e852ab74a - md5: cab1818eada3952ed09c8dcbb7c26af7 - depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=14 - - libstdcxx >=14 - - rdma-core >=59.0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 969845 - timestamp: 1761098818759 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.0.66-h85c024f_0.conda - sha256: aa2ce3784f756fabde147be6dc606f93a6e6be5e0a146697b57454e9f4adc264 - md5: f760d9e2103a43d25f930cd3706c0cab - depends: - - __glibc >=2.28,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - - rdma-core >=61.0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - size: 1115061 - timestamp: 1779897561291 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda - sha256: 72b9c44d6d33c6d384ddaef755e717c781782cbcb32cfba454a8d8084f02ac55 - md5: 434bbefad502f7a9f7eaf7558c645d75 - depends: - - __glibc >=2.28,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - - rdma-core >=63.0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1117538 - timestamp: 1782772352403 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-dev-1.14.1.1-hecca717_1.conda - sha256: 3a7c726419017319df149ff67ea3efae37d668ecfc1aa2ac3273b21c4c76d68b - md5: 74a93e4c8fd24d535abc546c6fee2155 - depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=12.9,<12.10.0a0 - - libcufile 1.14.1.1 hbc026e6_1 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - libcufile-static >=1.14.1.1 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - libcufile >=1.14.1.1,<2.0a0 - size: 36377 - timestamp: 1761098841141 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-dev-1.18.1.6-h676940d_0.conda - sha256: 52dc8675f15f5831b6a6854e00f56ac8ff5d5c86adc8f6c86bd03fc5320cd8f9 - md5: b942c9fa0929a283f89841c811adcb68 - depends: - - __glibc >=2.28,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libcufile 1.18.1.6 h053a66a_0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - libcufile-static >=1.18.1.6 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - libcufile >=1.18.1.6,<2.0a0 - size: 43551 - timestamp: 1782772370844 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - sha256: aa8e8c4be9a2e81610ddf574e05b64ee131fab5e0e3693210c9d6d2fba32c680 - md5: 6c77a605a7a689d17d4819c0f8ac9a00 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - size: 73490 - timestamp: 1761979956660 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda - sha256: c076a213bd3676cc1ef22eeff91588826273513ccc6040d9bea68bccdc849501 - md5: 9314bc5a1fe7d1044dc9dfd3ef400535 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libpciaccess >=0.18,<0.19.0a0 - license: MIT - license_family: MIT - size: 310785 - timestamp: 1757212153962 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda - sha256: d789471216e7aba3c184cd054ed61ce3f6dac6f87a50ec69291b9297f8c18724 - md5: c277e0a4d549b03ac1e9d6cbbe3d017b - depends: - - ncurses - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - ncurses >=6.5,<7.0a0 - license: BSD-2-Clause - license_family: BSD - purls: [] - size: 134676 - timestamp: 1738479519902 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda - sha256: 7fd5408d359d05a969133e47af580183fbf38e2235b562193d427bb9dad79723 - md5: c151d5eb730e9b7480e6d48c0fc44048 - depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_2 - license: LicenseRef-libglvnd - size: 44840 - timestamp: 1731330973553 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.3-hecca717_0.conda - sha256: 1e1b08f6211629cbc2efe7a5bca5953f8f6b3cae0eeb04ca4dacee1bd4e2db2f - md5: 8b09ae86839581147ef2e5c5e229d164 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - expat 2.7.3.* - license: MIT - license_family: MIT - size: 76643 - timestamp: 1763549731408 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.4-hecca717_0.conda - sha256: d78f1d3bea8c031d2f032b760f36676d87929b18146351c4464c66b0869df3f5 - md5: e7f7ce06ec24cfcfb9e36d28cf82ba57 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - expat 2.7.4.* - license: MIT - license_family: MIT - size: 76798 - timestamp: 1771259418166 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.5-hecca717_0.conda - sha256: e8c2b57f6aacabdf2f1b0924bd4831ce5071ba080baa4a9e8c0d720588b6794c - md5: 49f570f3bc4c874a06ea69b7225753af - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - expat 2.7.5.* - license: MIT - license_family: MIT - purls: [] - size: 76624 - timestamp: 1774719175983 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - sha256: 16feffd9ddbbe5b718515d38ee376c685ba95491cd901244e24671d20b952a77 - md5: b24d3c612f71e7aa74158d92106318b2 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - expat 2.8.1.* - license: MIT - license_family: MIT - run_exports: {} - size: 77856 - timestamp: 1781203599810 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - sha256: 31f19b6a88ce40ebc0d5a992c131f57d919f73c0b92cd1617a5bec83f6e961e6 - md5: a360c33a5abe61c07959e449fa1453eb - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - purls: [] - run_exports: - weak: - - libffi >=3.5.2,<3.6.0a0 - size: 58592 - timestamp: 1769456073053 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda - sha256: 25cbdfa65580cfab1b8d15ee90b4c9f1e0d72128f1661449c9a999d341377d54 - md5: 35f29eec58405aaf55e01cb470d8c26a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - size: 57821 - timestamp: 1760295480630 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda - sha256: e755e234236bdda3d265ae82e5b0581d259a9279e3e5b31d745dc43251ad64fb - md5: 47595b9d53054907a00d95e4d47af1d6 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libogg >=1.3.5,<1.4.0a0 - - libstdcxx >=14 - license: BSD-3-Clause - license_family: BSD - size: 424563 - timestamp: 1764526740626 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.1-ha770c72_0.conda - sha256: 4641d37faeb97cf8a121efafd6afd040904d4bca8c46798122f417c31d5dfbec - md5: f4084e4e6577797150f9b04a4560ceb0 - depends: - - libfreetype6 >=2.14.1 - license: GPL-2.0-only OR FTL - size: 7664 - timestamp: 1757945417134 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.2-ha770c72_0.conda - sha256: 2e1bfe1e856eb707d258f669ef6851af583ceaffab5e64821b503b0f7cd09e9e - md5: 26c746d14402a3b6c684d045b23b9437 - depends: - - libfreetype6 >=2.14.2 - license: GPL-2.0-only OR FTL - size: 8035 - timestamp: 1772757210108 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.1-h73754d4_0.conda - sha256: 4a7af818a3179fafb6c91111752954e29d3a2a950259c14a2fc7ba40a8b03652 - md5: 8e7251989bca326a28f4a5ffbd74557a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libpng >=1.6.50,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - freetype >=2.14.1 - license: GPL-2.0-only OR FTL - size: 386739 - timestamp: 1757945416744 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.2-h73754d4_0.conda - sha256: aba65b94bdbed52de17ec3d0c6f2ebac2ef77071ad22d6900d1614d0dd702a0c - md5: 8eaba3d1a4d7525c6814e861614457fd - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - freetype >=2.14.2 - license: GPL-2.0-only OR FTL - size: 386316 - timestamp: 1772757193822 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_15.conda - sha256: 37f2edde2f8281672987c63f13c85a57d04d889dc929ce38204426d5eb2059cc - md5: a5d86b0496174a412d531eac03af9174 - depends: - - __glibc >=2.17,<3.0.a0 - - _openmp_mutex >=4.5 - constrains: - - libgomp 15.2.0 he0feb66_15 - - libgcc-ng ==15.2.0=*_15 - license: GPL-3.0-only WITH GCC-exception-3.1 - size: 1041379 - timestamp: 1764836112865 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_16.conda - sha256: 6eed58051c2e12b804d53ceff5994a350c61baf117ec83f5f10c953a3f311451 - md5: 6d0363467e6ed84f11435eb309f2ff06 - depends: - - __glibc >=2.17,<3.0.a0 - - _openmp_mutex >=4.5 - constrains: - - libgcc-ng ==15.2.0=*_16 - - libgomp 15.2.0 he0feb66_16 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 1042798 - timestamp: 1765256792743 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda - sha256: faf7d2017b4d718951e3a59d081eb09759152f93038479b768e3d612688f83f5 - md5: 0aa00f03f9e39fb9876085dee11a85d4 - depends: - - __glibc >=2.17,<3.0.a0 - - _openmp_mutex >=4.5 - constrains: - - libgcc-ng ==15.2.0=*_18 - - libgomp 15.2.0 he0feb66_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 1041788 - timestamp: 1771378212382 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - sha256: 8e0a3b5e41272e5678499b5dfc4cddb673f9e935de01eb0767ce857001229f46 - md5: 57736f29cc2b0ec0b6c2952d3f101b6a - depends: - - __glibc >=2.17,<3.0.a0 - - _openmp_mutex >=4.5 - constrains: - - libgcc-ng ==15.2.0=*_19 - - libgomp 15.2.0 he0feb66_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 1041084 - timestamp: 1778269013026 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_15.conda - sha256: 497d8cdba0da8fa154613d1c15f585674cadc194964ed1b4fe7c2809938dc41f - md5: 7b742943660c5173bb6a5c823021c9a0 - depends: - - libgcc 15.2.0 he0feb66_15 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 26834 - timestamp: 1764836127111 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_16.conda - sha256: 5f07f9317f596a201cc6e095e5fc92621afca64829785e483738d935f8cab361 - md5: 5a68259fac2da8f2ee6f7bfe49c9eb8b - depends: - - libgcc 15.2.0 he0feb66_16 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27256 - timestamp: 1765256804124 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda - sha256: e318a711400f536c81123e753d4c797a821021fb38970cebfb3f454126016893 - md5: d5e96b1ed75ca01906b3d2469b4ce493 - depends: - - libgcc 15.2.0 he0feb66_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 27526 - timestamp: 1771378224552 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_16.conda - sha256: 8a7b01e1ee1c462ad243524d76099e7174ebdd94ff045fe3e9b1e58db196463b - md5: 40d9b534410403c821ff64f00d0adc22 - depends: - - libgfortran5 15.2.0 h68bc16d_16 - constrains: - - libgfortran-ng ==15.2.0=*_16 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27215 - timestamp: 1765256845586 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_18.conda - sha256: d2c9fad338fd85e4487424865da8e74006ab2e2475bd788f624d7a39b2a72aee - md5: 9063115da5bc35fdc3e1002e69b9ef6e - depends: - - libgfortran5 15.2.0 h68bc16d_18 - constrains: - - libgfortran-ng ==15.2.0=*_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 27523 - timestamp: 1771378269450 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_16.conda - sha256: d0e974ebc937c67ae37f07a28edace978e01dc0f44ee02f29ab8a16004b8148b - md5: 39183d4e0c05609fd65f130633194e37 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15.2.0 - constrains: - - libgfortran 15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 2480559 - timestamp: 1765256819588 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_18.conda - sha256: 539b57cf50ec85509a94ba9949b7e30717839e4d694bc94f30d41c9d34de2d12 - md5: 646855f357199a12f02a87382d429b75 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15.2.0 - constrains: - - libgfortran 15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 2482475 - timestamp: 1771378241063 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda - sha256: dc2752241fa3d9e40ce552c1942d0a4b5eeb93740c9723873f6fcf8d39ef8d2d - md5: 928b8be80851f5d8ffb016f9c81dae7a - depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_2 - - libglx 1.7.0 ha4b6fd6_2 - license: LicenseRef-libglvnd - size: 134712 - timestamp: 1731330998354 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.3-h6548e54_0.conda - sha256: 82d6c2ee9f548c84220fb30fb1b231c64a53561d6e485447394f0a0eeeffe0e6 - md5: 034bea55a4feef51c98e8449938e9cee - depends: - - __glibc >=2.17,<3.0.a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 - constrains: - - glib 2.86.3 *_0 - license: LGPL-2.1-or-later - size: 3946542 - timestamp: 1765221858705 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.4-h6548e54_1.conda - sha256: a27e44168a1240b15659888ce0d9b938ed4bdb49e9ea68a7c1ff27bcea8b55ce - md5: bb26456332b07f68bf3b7622ed71c0da - depends: - - __glibc >=2.17,<3.0.a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 - constrains: - - glib 2.86.4 *_1 - license: LGPL-2.1-or-later - size: 4398701 - timestamp: 1771863239578 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda - sha256: 1175f8a7a0c68b7f81962699751bb6574e6f07db4c9f72825f978e3016f46850 - md5: 434ca7e50e40f4918ab701e3facd59a0 - depends: - - __glibc >=2.17,<3.0.a0 - license: LicenseRef-libglvnd - size: 132463 - timestamp: 1731330968309 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda - sha256: 2d35a679624a93ce5b3e9dd301fff92343db609b79f0363e6d0ceb3a6478bfa7 - md5: c8013e438185f33b13814c5c488acd5c - depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_2 - - xorg-libx11 >=1.8.10,<2.0a0 - license: LicenseRef-libglvnd - size: 75504 - timestamp: 1731330988898 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_15.conda - sha256: b3c4e39be7aba6f5a8695d428362c5c918b96a281ce0a7037f1e889dfc340615 - md5: a90d6983da0757f4c09bb8fcfaf34e71 - depends: - - __glibc >=2.17,<3.0.a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - size: 602978 - timestamp: 1764836011147 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_16.conda - sha256: 5b3e5e4e9270ecfcd48f47e3a68f037f5ab0f529ccb223e8e5d5ac75a58fc687 - md5: 26c46f90d0e727e95c6c9498a33a09f3 - depends: - - __glibc >=2.17,<3.0.a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 603284 - timestamp: 1765256703881 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda - sha256: 21337ab58e5e0649d869ab168d4e609b033509de22521de1bfed0c031bfc5110 - md5: 239c5e9546c38a1e884d69effcf4c882 - depends: - - __glibc >=2.17,<3.0.a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 603262 - timestamp: 1771378117851 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - sha256: 5abe4ab9d93f6c9757d654f1969ae2267d4505315c1f2f8fe705fd60af084f1b - md5: faac990cb7aedc7f3a2224f2c9b0c26c - depends: - - __glibc >=2.17,<3.0.a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: - strong: - - _openmp_mutex >=4.5 - size: 603817 - timestamp: 1778268942614 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.1-default_hafda6a7_1003.conda - sha256: b9e6340da35245d5f3b7b044b4070b4980809d340bddf16c942a97a83f146aa4 - md5: 4fe840c6d6b3719b4231ed89d389bb17 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libxml2 - - libxml2-16 >=2.14.6 - license: BSD-3-Clause - license_family: BSD - size: 2449346 - timestamp: 1765089858592 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.2-default_hafda6a7_1000.conda - sha256: 2cf160794dda62cf93539adf16d26cfd31092829f2a2757dbdd562984c1b110a - md5: 0ed3aa3e3e6bc85050d38881673a692f - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libxml2 - - libxml2-16 >=2.14.6 - license: BSD-3-Clause - license_family: BSD - size: 2449916 - timestamp: 1765103845133 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.3.0-h4c17acf_1.conda - sha256: 2bdd1cdd677b119abc5e83069bec2e28fe6bfb21ebaea3cd07acee67f38ea274 - md5: c2a0c1d0120520e979685034e0b79859 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: Apache-2.0 OR BSD-3-Clause - size: 1448617 - timestamp: 1758894401402 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - sha256: c467851a7312765447155e071752d7bf9bf44d610a5687e32706f480aad2833f - md5: 915f5995e94f60e9a4826e0b0920ee88 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: LGPL-2.1-only - size: 790176 - timestamp: 1754908768807 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda - sha256: cc9aba923eea0af8e30e0f94f2ad7156e2984d80d1e8e7fe6be5a1f257f0eb32 - md5: 8397539e3a0bbd1695584fb4f927485a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib - size: 633710 - timestamp: 1762094827865 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-ha09017c_0.conda - sha256: 0c2399cef02953b719afe6591223fb11d287d5a108ef8bb9a02dd509a0f738d7 - md5: 1df8c1b1d6665642107883685db6cf37 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libhwy >=1.3.0,<1.4.0a0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - license: BSD-3-Clause - license_family: BSD - size: 1883476 - timestamp: 1770801977654 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-5_h47877c9_openblas.conda - build_number: 5 - sha256: c723b6599fcd4c6c75dee728359ef418307280fa3e2ee376e14e85e5bbdda053 - md5: b38076eb5c8e40d0106beda6f95d7609 - depends: - - libblas 3.11.0 5_h4a7cf45_openblas - constrains: - - blas 2.305 openblas - - liblapacke 3.11.0 5*_openblas - - libcblas 3.11.0 5*_openblas - license: BSD-3-Clause - license_family: BSD - size: 18200 - timestamp: 1765818857876 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-6_h47877c9_openblas.conda - build_number: 6 - sha256: 371f517eb7010b21c6cc882c7606daccebb943307cb9a3bf2c70456a5c024f7d - md5: 881d801569b201c2e753f03c84b85e15 - depends: - - libblas 3.11.0 6_h4a7cf45_openblas - constrains: - - blas 2.306 openblas - - liblapacke 3.11.0 6*_openblas - - libcblas 3.11.0 6*_openblas - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 18624 - timestamp: 1774503065378 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda - sha256: f2591c0069447bbe28d4d696b7fcb0c5bd0b4ac582769b89addbcf26fb3430d8 - md5: 1a580f7796c7bf6393fddb8bbbde58dc - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - constrains: - - xz 5.8.1.* - license: 0BSD - size: 112894 - timestamp: 1749230047870 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda - sha256: 755c55ebab181d678c12e49cced893598f2bab22d582fbbf4d8b83c18be207eb - md5: c7c83eecbb72d88b940c249af56c8b17 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - xz 5.8.2.* - license: 0BSD - purls: [] - size: 113207 - timestamp: 1768752626120 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - sha256: ec30e52a3c1bf7d0425380a189d209a52baa03f22fb66dd3eb587acaa765bd6d - md5: b88d90cad08e6bc8ad540cb310a761fb - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - xz 5.8.3.* - license: 0BSD - run_exports: - weak: - - liblzma >=5.8.3,<6.0a0 - size: 113478 - timestamp: 1775825492909 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - sha256: fe171ed5cf5959993d43ff72de7596e8ac2853e9021dec0344e583734f1e0843 - md5: 2c21e66f50753a083cbe6b80f38268fa - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-2-Clause - license_family: BSD - run_exports: {} - size: 92400 - timestamp: 1769482286018 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda - sha256: 3aa92d4074d4063f2a162cd8ecb45dccac93e543e565c01a787e16a43501f7ee - md5: c7e925f37e3b40d893459e625f6a53f1 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: BSD-2-Clause - license_family: BSD - size: 91183 - timestamp: 1748393666725 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - sha256: ba7c5d294e3d80f08ac5a39564217702d1a752e352e486210faff794ac5001b4 - md5: db63358239cbe1ff86242406d440e44a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: LGPL-2.1-or-later - license_family: LGPL - purls: [] - run_exports: - weak: - - libnl >=3.11.0,<4.0a0 - size: 741323 - timestamp: 1731846827427 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - sha256: 927fe72b054277cde6cb82597d0fcf6baf127dcbce2e0a9d8925a68f1265eef5 - md5: d864d34357c3b65a4b731f78c0801dc4 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: LGPL-2.1-only - license_family: GPL - purls: [] - size: 33731 - timestamp: 1750274110928 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-12.9.82-hecca717_1.conda - sha256: 4404948624cbddb8dd1bf52d259fe0c1ef24f30e3ff8ce887b002b395796acc7 - md5: 2deb1bea8f1d9cd44d0b29390fd33017 - depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 818615 - timestamp: 1761098926897 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_0.conda - sha256: 3de6aed48ca7a705aa22444b54ad7236f0e1f9dc7f41ec3e2273e6cb991be213 - md5: 1f9be211f7ec5c88b1d2d561aee7884d - depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 472135 - timestamp: 1779897596590 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_1.conda - sha256: 2f4f4824d6eb16693fa04aca1f872b64df48445e26e8a357dc538bf9825c25fa - md5: df0f2d96a171e8f843d4f03fa3d8d3d9 - depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 470857 - timestamp: 1782920237017 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-12.9.86-hecca717_2.conda - sha256: 3b1c851f4fc42d347ce1c1606bdd195343a47f121e0fceb7a1f1e5aa1d497da9 - md5: 3461b0f2d5cbb7973d361f9e85241d98 - depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=12,<12.10.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 30515495 - timestamp: 1760723776293 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda - sha256: f5d0aed3cfb504239fac6e03e994f36c34725acba5382adc516cbfdd6993a959 - md5: 2795538ca415afd5d35aec7c6cd2e385 - depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=13,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - run_exports: {} - size: 31168008 - timestamp: 1779897778168 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda - sha256: ffb066ddf2e76953f92e06677021c73c85536098f1c21fcd15360dbc859e22e4 - md5: 68e52064ed3897463c0e958ab5c8f91b - depends: - - libgcc >=13 - - __glibc >=2.17,<3.0.a0 - license: BSD-3-Clause - license_family: BSD - size: 218500 - timestamp: 1745825989535 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_4.conda - sha256: 199d79c237afb0d4780ccd2fbf829cea80743df60df4705202558675e07dd2c5 - md5: be43915efc66345cccb3c310b6ed0374 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - constrains: - - openblas >=0.3.30,<0.3.31.0a0 - license: BSD-3-Clause - license_family: BSD - size: 5927939 - timestamp: 1763114673331 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.32-pthreads_h94d23a6_0.conda - sha256: 6dc30b28f32737a1c52dada10c8f3a41bc9e021854215efca04a7f00487d09d9 - md5: 89d61bc91d3f39fda0ca10fcd3c68594 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - constrains: - - openblas >=0.3.32,<0.3.33.0a0 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 5928890 - timestamp: 1774471724897 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2025.2.0-hb617929_1.conda - sha256: 235e7d474c90ad9d8955401b8a91dbe373aa1dc65db3c8232a5e22e4eaf41976 - md5: 1da20cc4ff32dc74424dec68ec087dba - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2021.13.0 - size: 6244771 - timestamp: 1753211097492 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.0.0-hb56ce9e_1.conda - sha256: a396a2d1aa267f21c98717ac097138b32e41e4c40ae501729bded3801476eeb5 - md5: 9f0596e995efe372c470ff45c93131cb - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 6582302 - timestamp: 1772727204779 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2025.2.0-hed573e4_1.conda - sha256: 193f760e828b0dd5168dd1d28580d4bf429c5f14a4eee5e0c02ff4c6d4cf8093 - md5: 94f9d17be1d658213b66b22f63cc6578 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2025.2.0 hb617929_1 - - libstdcxx >=14 - - tbb >=2021.13.0 - size: 114760 - timestamp: 1753211116381 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.0.0-hd85de46_1.conda - sha256: 286de85805dc69ce0bd25367ae2a20c8096ddef35eb2483474eb246dacd5387e - md5: ee41df976413676f794af2785b291b0c - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 114431 - timestamp: 1772727230331 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2025.2.0-hed573e4_1.conda - sha256: a6f9f996e64e6d2f295f017a833eda7018ff58b6894503272d72f0002dfd6f33 - md5: 071b3a82342715a411f216d379ab6205 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2025.2.0 hb617929_1 - - libstdcxx >=14 - - tbb >=2021.13.0 - size: 250500 - timestamp: 1753211127339 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.0.0-hd85de46_1.conda - sha256: 9988ed6339a5eb044ae8d079e2b22f5a310c41e49a0cf716057f30b21ef9cec2 - md5: ca025fa5c42ba94453636a2ae333de6b - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 249056 - timestamp: 1772727247597 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2025.2.0-hd41364c_1.conda - sha256: f43f9049338ef9735b6815bac3f483d1e3adddecbfdeb13be365bc3f601fe156 - md5: 77c0c7028a8110076d40314dc7b1fa98 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2025.2.0 hb617929_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - size: 194815 - timestamp: 1753211138624 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.0.0-hd41364c_1.conda - sha256: c7db498aeda5b0f36b347f4211b93b66ba108faaf54157a08bae8fa3c3af5f81 - md5: 07a23e96db38f63d9763f666b2db66aa - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 - license_family: APACHE - size: 211582 - timestamp: 1772727264950 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2025.2.0-hb617929_1.conda - sha256: a4a1cd320fa010a45d01f438dc3431b7a60271ee19188a901f884399fe744268 - md5: e4cc6db5bdc8b554c06bf569de57f85f - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2025.2.0 hb617929_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2021.13.0 - size: 12377488 - timestamp: 1753211149903 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.0.0-hb56ce9e_1.conda - sha256: 01a28c0bd1f205b3800e7759e30bc8e8a75836e0d5a73a745b4da42837bbb174 - md5: b43b96578573ddbcc8d084ae6e44c964 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 13173323 - timestamp: 1772727282718 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2025.2.0-hb617929_1.conda - sha256: 03ebf700586775144ca5913f401393a386b9a1d7a7cfcba4494830063ca5eb92 - md5: b846fe6c158ca417e246122172d68d3a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2025.2.0 hb617929_1 - - libstdcxx >=14 - - ocl-icd >=2.3.3,<3.0a0 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2021.13.0 - size: 10815480 - timestamp: 1753211182626 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.0.0-hb56ce9e_1.conda - sha256: 720b87e1d5f1a10c577e040d4bf425072a978e925c6dfab8b1551bc848007c94 - md5: 26e8e92c90d1a22af6eac8e9507d9b8f - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - ocl-icd >=2.3.3,<3.0a0 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 11402462 - timestamp: 1772727323957 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2025.2.0-hb617929_1.conda - sha256: b6dbc342293d6ce0c7b37c9f29f734b3e1856cff9405a02fb33cedd1b36528e6 - md5: 86fd4c25f6accaf646c86adf0f1382d3 - depends: - - __glibc >=2.17,<3.0.a0 - - level-zero >=1.23.1,<2.0a0 - - libgcc >=14 - - libopenvino 2025.2.0 hb617929_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2021.13.0 - size: 1261488 - timestamp: 1753211212823 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.0.0-hb56ce9e_1.conda - sha256: df7eb2b23a1af38f2cd2281353309f2e2a04da1374ecedc7c6745c2a67ba617c - md5: 01ba8b179ac45b2b37fe2d4225dddcc7 - depends: - - __glibc >=2.17,<3.0.a0 - - level-zero >=1.28.2,<2.0a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 1994640 - timestamp: 1772727360780 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2025.2.0-hd41364c_1.conda - sha256: 334733396d4c9a9b2b2d7d7d850e8ee8deca1f9becd0368d106010076ceb20ca - md5: 75e595d9f2019a60f6dcb500266da615 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2025.2.0 hb617929_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - size: 204890 - timestamp: 1753211224567 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.0.0-hd41364c_1.conda - sha256: 8e7356b0b80b3f180615e264694d6811d388b210155d419553ff64e42f78ffa0 - md5: aa002c4d343b01cdcc458c95cd071d1b - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 - license_family: APACHE - size: 192778 - timestamp: 1772727380069 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2025.2.0-h1862bb8_1.conda - sha256: 3937b028e7192ed3805581ac0ea171725843056c8544537754fad45a1791e864 - md5: 68f5ad9d8e3979362bb9dfc9388980aa - depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libopenvino 2025.2.0 hb617929_1 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libstdcxx >=14 - size: 1724503 - timestamp: 1753211235981 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.0.0-h7a07914_1.conda - sha256: 35a68214201e807bd9a31f94e618cb6a5385198e89eef46dde6c122cff77da58 - md5: 218084544c2e7e78e4b8877ec37b8cdb - depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 1860687 - timestamp: 1772727397981 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2025.2.0-h1862bb8_1.conda - sha256: c7ac3d4187323ab37ef62ec0896a41c8ca7da426c7f587494c72fe74852269e5 - md5: a032d03468dee9fb5b8eaf635b4571c2 - depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libopenvino 2025.2.0 hb617929_1 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libstdcxx >=14 - size: 744746 - timestamp: 1753211248776 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.0.0-h7a07914_1.conda - sha256: cb37b717480207a66443a93d4342cf88210a74c0820fc0edd70e4fc791a64779 - md5: 74915e5e271ef76a89f711eff5959a75 - depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 684224 - timestamp: 1772727417276 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2025.2.0-hecca717_1.conda - sha256: 2d4a680a16509b8dd06ccd7a236655e46cc7c242bb5b6e88b83a834b891658db - md5: cd40cf2d10a3279654c9769f3bc8caf5 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2025.2.0 hb617929_1 - - libstdcxx >=14 - size: 1243134 - timestamp: 1753211260154 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.0.0-hecca717_1.conda - sha256: 086469e5cd8bfde48975fe8641a7d6924e3da00d75dd06c99e03a78df03a0568 - md5: 559ef86008749861a53025f669004f18 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 1185558 - timestamp: 1772727435039 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2025.2.0-h0767aad_1.conda - sha256: 311ec1118448a28e76f0359c4393c7f7f5e64761c48ac7b169bf928a391eae77 - md5: f71c6b4e342b560cc40687063ef62c50 - depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libopenvino 2025.2.0 hb617929_1 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libstdcxx >=14 - - snappy >=1.2.2,<1.3.0a0 - size: 1325059 - timestamp: 1753211272484 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.0.0-h78e8023_1.conda - sha256: 3a9a404bc9fd39e7395d49f4bd8facb58a01a31aeceabe8723a9d4f8eb5cc381 - md5: fb20f4234bc0e29af1baa13d35e36785 - depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - - snappy >=1.2.2,<1.3.0a0 - license: Apache-2.0 - license_family: APACHE - size: 1257870 - timestamp: 1772727453738 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2025.2.0-hecca717_1.conda - sha256: 581f4951e645e820c4a6ffe40fb0174b56d6e31fb1fefd2d64913fea01f8f69e - md5: fd9dacd7101f80ff1110ea6b76adb95d - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2025.2.0 hb617929_1 - - libstdcxx >=14 - size: 497047 - timestamp: 1753211285617 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.0.0-hecca717_1.conda - sha256: e7cee37c92ed0b62c0458c13937b6ad66319f1879f236a31c3a67391a999f429 - md5: 0f0281435478b981f672a44d0029018c - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 456585 - timestamp: 1772727473378 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.5.2-hd0c01bc_0.conda - sha256: 786d43678d6d1dc5f88a6bad2d02830cfd5a0184e84a8caa45694049f0e3ea5f - md5: b64523fb87ac6f87f0790f324ad43046 - depends: - - libgcc >=13 - - __glibc >=2.17,<3.0.a0 - license: BSD-3-Clause - license_family: BSD - size: 312472 - timestamp: 1744330953241 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda - sha256: f1061a26213b9653bbb8372bfa3f291787ca091a9a3060a10df4d5297aad74fd - md5: 2446ac1fe030c2aa6141386c1f5a6aed - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - size: 324993 - timestamp: 1768497114401 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda - sha256: 0bd91de9b447a2991e666f284ae8c722ffb1d84acb594dbd0c031bd656fa32b2 - md5: 70e3400cbbfa03e96dcde7fc13e38c7b - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: MIT - license_family: MIT - size: 28424 - timestamp: 1749901812541 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.53-h421ea60_0.conda - sha256: 8acdeb9a7e3d2630176ba8e947caf6bf4985a5148dec69b801e5eb797856688b - md5: 00d4e66b1f746cb14944cad23fffb405 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: zlib-acknowledgement - size: 317748 - timestamp: 1764981060755 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.55-h421ea60_0.conda - sha256: 36ade759122cdf0f16e2a2562a19746d96cf9c863ffaa812f2f5071ebbe9c03c - md5: 5f13ffc7d30ffec87864e678df9957b4 - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libzlib >=1.3.1,<2.0a0 - license: zlib-acknowledgement - size: 317669 - timestamp: 1770691470744 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-h49aed37_2.conda - sha256: 1679f16c593d769f3dab219adb1117cbaaddb019080c5a59f79393dc9f45b84f - md5: 94cb88daa0892171457d9fdc69f43eca - depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 4645876 - timestamp: 1760550892361 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-h49aed37_4.conda - sha256: 0ef142ac31e6fd59b4af89ac800acb6deb3fbd9cc4ccf070c03cc2c784dc7296 - md5: 07479fc04ba3ddd5d9f760ef1635cfa7 - depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 4372578 - timestamp: 1766316228461 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h2b00c02_0.conda - sha256: afbf195443269ae10a940372c1d37cda749355d2bd96ef9587a962abd87f2429 - md5: 11ac478fa72cf12c214199b8a96523f4 - depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.0,<20260108.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 3638698 - timestamp: 1769749419271 -- conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.0-h61e6d4b_0.conda - sha256: 960b137673b2b8293e2a12d194add72967b3bf12fcdf691e7ad8bd5c8318cec3 - md5: 91e6d4d684e237fba31b9815c4b40edf - depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - gdk-pixbuf >=2.44.3,<3.0a0 - - libgcc >=14 - - libglib >=2.86.0,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - constrains: - - __glibc >=2.17 - license: LGPL-2.1-or-later - size: 3421977 - timestamp: 1759327942156 -- conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.2-h61e6d4b_0.conda - sha256: 38b3189cf246f7265e06917f32d046ac375117c88834d045efe73ec48ceacc59 - md5: d62da3d560992bfa2feb611d7be813b8 - depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - gdk-pixbuf >=2.44.5,<3.0a0 - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - constrains: - - __glibc >=2.17 - license: LGPL-2.1-or-later - size: 4011590 - timestamp: 1771399906142 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_16.conda - sha256: 50d8082749e760454fb1489c2a47c6fa80cbf3893ec1c1a085747d46484ffd7f - md5: 0841a98bda756af037eb07d36cacada5 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15.2.0 - - libstdcxx >=15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 7660762 - timestamp: 1765256861607 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_18.conda - sha256: 0329e23d54a567c259adc962a62172eaa55e6ca33c105ef67b4f3cdb4ef70eaa - md5: ff754fbe790d4e70cf38aea3668c3cb3 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15.2.0 - - libstdcxx >=15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 8095113 - timestamp: 1771378289674 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - sha256: 7a58892a52739ce4c0f7109de9e91b4353104748eb04fc6441d88e8af444ba99 - md5: 67eef12ce33f7ff99900c212d7076fc2 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15.2.0 - - libstdcxx >=15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: - weak: - - libsanitizer 15.2.0 - size: 7930689 - timestamp: 1778269054623 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda - sha256: 57cb5f92110324c04498b96563211a1bca6a74b2918b1e8df578bfed03cc32e4 - md5: 067590f061c9f6ea7e61e3b2112ed6b3 - depends: - - __glibc >=2.17,<3.0.a0 - - lame >=3.100,<3.101.0a0 - - libflac >=1.5.0,<1.6.0a0 - - libgcc >=14 - - libogg >=1.3.5,<1.4.0a0 - - libopus >=1.5.2,<2.0a0 - - libstdcxx >=14 - - libvorbis >=1.3.7,<1.4.0a0 - - mpg123 >=1.32.9,<1.33.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - size: 355619 - timestamp: 1765181778282 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.21-h280c20c_3.conda - sha256: 64e5c80cbce4680a2d25179949739a6def695d72c40ca28f010711764e372d97 - md5: 7af961ef4aa2c1136e11dd43ded245ab - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - license: ISC - purls: [] - size: 277661 - timestamp: 1772479381288 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.1-h0c1763c_0.conda - sha256: 6f0e8a812e8e33a4d8b7a0e595efe28373080d27b78ee4828aa4f6649a088454 - md5: 2e1b84d273b01835256e53fd938de355 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: blessing - size: 938979 - timestamp: 1764359444435 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.1-hf4e2dac_1.conda - sha256: d614540c55f22ad555633f75e174089018ddfc65c49f447f7bbdbc3c3013bec1 - md5: b1f35e70f047918b49fb4b181e40300e - depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.1,<79.0a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: blessing - size: 943451 - timestamp: 1766319676469 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda - sha256: d716847b7deca293d2e49ed1c8ab9e4b9e04b9d780aea49a97c26925b28a7993 - md5: fd893f6a3002a635b5e50ceb9dd2c0f4 - depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.2,<79.0a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: blessing - purls: [] - size: 951405 - timestamp: 1772818874251 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda - sha256: 365376f4815e5e80def2b3462a2419708b7c292da0da85278386c2618621fff4 - md5: 4aed8e657e9ff156bdbe849b4df44389 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libzlib >=1.3.2,<2.0a0 - license: blessing - run_exports: - weak: - - libsqlite >=3.53.3,<4.0a0 - size: 962119 - timestamp: 1782519076616 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_15.conda - sha256: 2648485aa2dcd5ca385423841a728f262458aec5d814a79da5ab75098e223e3f - md5: fccfb26375ec5e4a2192dee6604b6d02 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc 15.2.0 he0feb66_15 - constrains: - - libstdcxx-ng ==15.2.0=*_15 - license: GPL-3.0-only WITH GCC-exception-3.1 - size: 5856371 - timestamp: 1764836166363 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_16.conda - sha256: 813427918316a00c904723f1dfc3da1bbc1974c5cfe1ed1e704c6f4e0798cbc6 - md5: 68f68355000ec3f1d6f26ea13e8f525f - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc 15.2.0 he0feb66_16 - constrains: - - libstdcxx-ng ==15.2.0=*_16 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 5856456 - timestamp: 1765256838573 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda - sha256: 78668020064fdaa27e9ab65cd2997e2c837b564ab26ce3bf0e58a2ce1a525c6e - md5: 1b08cd684f34175e4514474793d44bcb - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc 15.2.0 he0feb66_18 - constrains: - - libstdcxx-ng ==15.2.0=*_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 5852330 - timestamp: 1771378262446 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - sha256: dff1058c76ec6b8759e41cefa2508162d00e4a5e6721aa68ec3fd10094e702dc - md5: 5794b3bdc38177caf969dabd3af08549 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc 15.2.0 he0feb66_19 - constrains: - - libstdcxx-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 5852044 - timestamp: 1778269036376 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_15.conda - sha256: 2ffaec42c561f53dcc025277043aa02e2557dc0db62bc009be4c7559a7f19f09 - md5: 20a8584ff8677ac9d724345b9d4eb757 - depends: - - libstdcxx 15.2.0 h934c35e_15 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 26905 - timestamp: 1764836222826 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_16.conda - sha256: 81f2f246c7533b41c5e0c274172d607829019621c4a0823b5c0b4a8c7028ee84 - md5: 1b3152694d236cf233b76b8c56bf0eae - depends: - - libstdcxx 15.2.0 h934c35e_16 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27300 - timestamp: 1765256885128 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_18.conda - sha256: 3c902ffd673cb3c6ddde624cdb80f870b6c835f8bf28384b0016e7d444dd0145 - md5: 6235adb93d064ecdf3d44faee6f468de - depends: - - libstdcxx 15.2.0 h934c35e_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27575 - timestamp: 1771378314494 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.10-hd0affe5_4.conda - sha256: f0356bb344a684e7616fc84675cfca6401140320594e8686be30e8ac7547aed2 - md5: 1d4c18d75c51ed9d00092a891a547a7d - depends: - - __glibc >=2.17,<3.0.a0 - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - size: 491953 - timestamp: 1770738638119 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - sha256: 2293884d59cf0436c37fc0a4bad71011a8de2a6913610d1c701a7703377c1f75 - md5: ea0da9c20bbb221b530810c3c68bbe62 - depends: - - __glibc >=2.17,<3.0.a0 - - libcap >=2.78,<2.79.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - run_exports: {} - size: 493022 - timestamp: 1780084748140 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-hd0affe5_0.conda - sha256: c5008b602cb5c819f7b52d418b3ed17e1818cbbf6705b189e7ab36bb70cce3d8 - md5: 8ee3cb7f64be0e8c4787f3a4dbe024e6 - depends: - - __glibc >=2.17,<3.0.a0 - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - purls: [] - size: 492799 - timestamp: 1773797095649 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda - sha256: e5f8c38625aa6d567809733ae04bb71c161a42e44a9fa8227abe61fa5c60ebe0 - md5: cd5a90476766d53e901500df9215e927 - depends: - - __glibc >=2.17,<3.0.a0 - - lerc >=4.0.0,<5.0a0 - - libdeflate >=1.25,<1.26.0a0 - - libgcc >=14 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - - libstdcxx >=14 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: HPND - size: 435273 - timestamp: 1762022005702 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.10-hd0affe5_4.conda - sha256: ed4d2c01fbeb1330f112f7e399408634db277d3dfb2dec1d0395f56feaa24351 - md5: 6c74fba677b61a0842cbf0f63eee683b - depends: - - __glibc >=2.17,<3.0.a0 - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - size: 144654 - timestamp: 1770738650966 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - sha256: 287d05680e49eea51b8145fbf34bc213c0618b04f32e450e9da5d715e5134e38 - md5: 89e5671a076d99516a6acd72a35b1640 - depends: - - __glibc >=2.17,<3.0.a0 - - libcap >=2.78,<2.79.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - run_exports: {} - size: 145969 - timestamp: 1780084753104 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-hd0affe5_0.conda - sha256: 1a1e367c04d66030aa93b4d33905f7f6fbb59cfc292e816fe3e9c1e8b3f4d1e2 - md5: 2c2270f93d6f9073cbf72d821dfc7d72 - depends: - - __glibc >=2.17,<3.0.a0 - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - purls: [] - size: 145087 - timestamp: 1773797108513 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda - sha256: 71c8b9d5c72473752a0bb6e91b01dd209a03916cb71f36cc6a564e3a2a132d7a - md5: e179a69edd30d75c0144d7a380b88f28 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 75995 - timestamp: 1757032240102 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.12-hb700be7_0.conda - sha256: 880b1f76b24814c9f07b33402e82fa66d5ae14738a35a943c21c4434eef2403d - md5: f0531fc1ebc0902555670e9cb0127758 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 127967 - timestamp: 1756125594973 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.13-hb700be7_0.conda - sha256: 5e4863d8cc9ccba7884f68d5b3c4b4f44a5a836ad7d3b332ac9aaaef0c0b9d45 - md5: 60adb61326a4a0072ed238f460b02029 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 132334 - timestamp: 1765872504784 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda - sha256: 3d17b7aa90610afc65356e9e6149aeac0b2df19deda73a51f0a09cf04fd89286 - md5: 56f65185b520e016d29d01657ac02c0d - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 154203 - timestamp: 1770566529700 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda - sha256: 89c84f5b26028a9d0f5c4014330703e7dff73ba0c98f90103e9cef6b43a5323c - md5: d17e3fb595a9f24fa9e149239a33475d - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libudev1 >=257.4 - license: LGPL-2.1-or-later - size: 89551 - timestamp: 1748856210075 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-h5347b49_1.conda - sha256: 030447cf827c471abd37092ab9714fde82b8222106f22fde94bc7a64e2704c40 - md5: 41f5c09a211985c3ce642d60721e7c3e - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-3-Clause - size: 40235 - timestamp: 1764790744114 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda - sha256: 1a7539cfa7df00714e8943e18de0b06cceef6778e420a5ee3a2a145773758aee - md5: db409b7c1720428638e7c0d509d3e1b5 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - size: 40311 - timestamp: 1766271528534 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42-h5347b49_0.conda - sha256: bc1b08c92626c91500fd9f26f2c797f3eb153b627d53e9c13cd167f1e12b2829 - md5: 38ffe67b78c9d4de527be8315e5ada2c - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 40297 - timestamp: 1775052476770 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda - sha256: 9b1bdce27a7e31f7d241aeecff67a1f3101d52a2b1e33ccc2cdf2613072bf81f - md5: 01bb81d12c957de066ea7362007df642 - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - license: BSD-3-Clause - license_family: BSD - run_exports: - weak: - - libuuid >=2.42.2,<3.0a0 - size: 40017 - timestamp: 1781625522462 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda - sha256: 255c7d00b54e26f19fad9340db080716bced1d8539606e2b8396c57abd40007c - md5: 25813fe38b3e541fc40007592f12bae5 - depends: - - __glibc >=2.17,<3.0.a0 - - libdrm >=2.4.125,<2.5.0a0 - - libegl >=1.7.0,<2.0a0 - - libgcc >=14 - - libgl >=1.7.0,<2.0a0 - - libglx >=1.7.0,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - wayland >=1.24.0,<2.0a0 - - wayland-protocols - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - license: MIT - license_family: MIT - size: 221308 - timestamp: 1765652453244 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda - sha256: ca494c99c7e5ecc1b4cd2f72b5584cef3d4ce631d23511184411abcbb90a21a5 - md5: b4ecbefe517ed0157c37f8182768271c - depends: - - libogg - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - libgcc >=14 - - libogg >=1.3.5,<1.4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 285894 - timestamp: 1753879378005 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.15.0-h54a6638_1.conda - sha256: bf0010d93f5b154c59bd9d3cc32168698c1d24f2904729f4693917cce5b27a9f - md5: a41a299c157cc6d0eff05e5fc298cc45 - depends: - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - intel-media-driver >=25.3.3,<25.4.0a0 - - libva >=2.22.0,<3.0a0 - license: MIT - license_family: MIT - size: 287944 - timestamp: 1757278954789 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda - sha256: 38850657dd6835613ef16b34895a54bea98bc7639db6a649c886b331635714fc - md5: 9f6b0090c3902b2c763a16f7dace7b6e - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - intel-media-driver >=26.1.2,<26.2.0a0 - - libva >=2.23.0,<3.0a0 - license: MIT - license_family: MIT - size: 287992 - timestamp: 1772980546550 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda - sha256: 8e1119977f235b488ab32d540c018d3fd1eccefc3dd3859921a0ff555d8c10d2 - md5: 10f5008f1c89a40b09711b5a9cdbd229 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: BSD-3-Clause - license_family: BSD - size: 1070048 - timestamp: 1762010217363 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.328.1-h5279c79_0.conda - sha256: bbabc5c48b63ff03f440940a11d4648296f5af81bb7630d98485405cd32ac1ce - md5: 372a62464d47d9e966b630ffae3abe73 - depends: - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxrandr >=1.5.4,<2.0a0 - constrains: - - libvulkan-headers 1.4.328.1.* - license: Apache-2.0 - license_family: APACHE - size: 197672 - timestamp: 1759972155030 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda - sha256: a68280d57dfd29e3d53400409a39d67c4b9515097eba733aa6fe00c880620e2b - md5: 31ad065eda3c2d88f8215b1289df9c89 - depends: - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxrandr >=1.5.5,<2.0a0 - constrains: - - libvulkan-headers 1.4.341.0.* - license: Apache-2.0 - license_family: APACHE - size: 199795 - timestamp: 1770077125520 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda - sha256: 3aed21ab28eddffdaf7f804f49be7a7d701e8f0e46c856d801270b470820a37b - md5: aea31d2e5b1091feca96fcfe945c3cf9 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - libwebp 1.6.0 - license: BSD-3-Clause - license_family: BSD - size: 429011 - timestamp: 1752159441324 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda - sha256: 666c0c431b23c6cec6e492840b176dde533d48b7e6fb8883f5071223433776aa - md5: 92ed62436b625154323d40d5f2f11dd7 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - pthread-stubs - - xorg-libxau >=1.0.11,<2.0a0 - - xorg-libxdmcp - license: MIT - license_family: MIT - size: 395888 - timestamp: 1727278577118 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda - sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c - md5: 5aa797f8787fe7a17d1b0821485b5adc - depends: - - libgcc-ng >=12 - license: LGPL-2.1-or-later - purls: [] - size: 100393 - timestamp: 1702724383534 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.1-hca5e8e5_0.conda - sha256: d2195b5fbcb0af1ff7b345efdf89290c279b8d1d74f325ae0ac98148c375863c - md5: 2bca1fbb221d9c3c8e3a155784bbc2e9 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - xkeyboard-config - - xorg-libxau >=1.0.12,<2.0a0 - license: MIT/X11 Derivative - license_family: MIT - size: 837922 - timestamp: 1764794163823 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-ha9997c6_0.conda - sha256: 71436e72a286ef8b57d6f4287626ff91991eb03c7bdbe835280521791efd1434 - md5: e7733bc6785ec009e47a224a71917e84 - depends: - - __glibc >=2.17,<3.0.a0 - - icu >=75.1,<76.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - libxml2 2.15.1 - license: MIT - license_family: MIT - size: 556302 - timestamp: 1761015637262 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-hca6bf5a_1.conda - sha256: 8331284bf9ae641b70cdc0e5866502dd80055fc3b9350979c74bb1d192e8e09e - md5: 3fdd8d99683da9fe279c2f4cecd1e048 - depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.1,<79.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - libxml2 2.15.1 - license: MIT - license_family: MIT - size: 555747 - timestamp: 1766327145986 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.2-hca6bf5a_0.conda - sha256: 08d2b34b49bec9613784f868209bb7c3bb8840d6cf835ff692e036b09745188c - md5: f3bc152cb4f86babe30f3a4bf0dbef69 - depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.2,<79.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - libxml2 2.15.2 - license: MIT - license_family: MIT - size: 557492 - timestamp: 1772704601644 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-h26afc86_0.conda - sha256: ec0735ae56c3549149eebd7dc22c0bed91fd50c02eaa77ff418613ddda190aa8 - md5: e512be7dc1f84966d50959e900ca121f - depends: - - __glibc >=2.17,<3.0.a0 - - icu >=75.1,<76.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libxml2-16 2.15.1 ha9997c6_0 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 45283 - timestamp: 1761015644057 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-he237659_1.conda - sha256: 047be059033c394bd32ae5de66ce389824352120b3a7c0eff980195f7ed80357 - md5: 417955234eccd8f252b86a265ccdab7f - depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.1,<79.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libxml2-16 2.15.1 hca6bf5a_1 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 45402 - timestamp: 1766327161688 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.2-he237659_0.conda - sha256: 275c324f87bda1a3b67d2f4fcc3555eeff9e228a37655aa001284a7ceb6b0392 - md5: e49238a1609f9a4a844b09d9926f2c3d - depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.2,<79.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libxml2-16 2.15.2 hca6bf5a_0 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 45968 - timestamp: 1772704614539 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda - sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 - md5: edb0dca6bc32e4f4789199455a1dbeb8 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - constrains: - - zlib 1.3.1 *_2 - license: Zlib - license_family: Other - size: 60963 - timestamp: 1727963148474 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - sha256: 55044c403570f0dc26e6364de4dc5368e5f3fc7ff103e867c487e2b5ab2bcda9 - md5: d87ff7921124eccd67248aa483c23fec - depends: - - __glibc >=2.17,<3.0.a0 - constrains: - - zlib 1.3.2 *_2 - license: Zlib - license_family: Other - purls: [] - run_exports: - weak: - - libzlib >=1.3.2,<2.0a0 - size: 63629 - timestamp: 1774072609062 -- conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-hb9d3cd8_2.conda - sha256: d652c7bd4d3b6f82b0f6d063b0d8df6f54cc47531092d7ff008e780f3261bdda - md5: 33405d2a66b1411db9f7242c8b97c9e7 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: GPL-3.0-or-later - license_family: GPL - purls: [] - size: 513088 - timestamp: 1727801714848 -- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda - sha256: 5f3aad1f3a685ed0b591faad335957dbdb1b73abfd6fc731a0d42718e0653b33 - md5: 93a4752d42b12943a355b682ee43285b - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - jinja2 >=3.0.0 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/markupsafe?source=hash-mapping - size: 26057 - timestamp: 1772445297924 -- conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda - sha256: 39c4700fb3fbe403a77d8cc27352fa72ba744db487559d5d44bf8411bb4ea200 - md5: c7f302fd11eeb0987a6a5e1f3aed6a21 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - license: LGPL-2.1-only - license_family: LGPL - size: 491140 - timestamp: 1730581373280 -- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py312hd9148b4_1.conda - sha256: 94068fd39d1a672f8799e3146a18ba4ef553f0fcccefddb3c07fbdabfd73667a - md5: 2e489969e38f0b428c39492619b5e6e5 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: Apache - purls: - - pkg:pypi/msgpack?source=hash-mapping - size: 102525 - timestamp: 1762504116832 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 - md5: 47e340acb35de30501a76c7c799c41d7 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: X11 AND BSD-3-Clause - purls: [] - size: 891641 - timestamp: 1738195959188 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - sha256: fc89f74bbe362fb29fa3c037697a89bec140b346a2469a90f7936d1d7ea4d8a3 - md5: fc21868a1a5aacc937e7a18747acb8a5 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: X11 AND BSD-3-Clause - run_exports: - weak: - - ncurses >=6.6,<7.0a0 - size: 918956 - timestamp: 1777422145199 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.3.5-py314h2b28147_0.conda - sha256: 4fa3b8b80dd848a70f679b31d74d6fb28f9c4de9cd81086aa8e10256e9de20d1 - md5: 6d2cff81447b8fe424645d7dd3bde8bf - depends: - - python - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - python_abi 3.14.* *_cp314 - constrains: - - numpy-base <0a0 - license: BSD-3-Clause - license_family: BSD - size: 8983459 - timestamp: 1763350996398 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.0-py314h2b28147_0.conda - sha256: 8a27bba4c9015dd116761480fa7ff193747dfc13fd6748ac69fdb162fcc223dc - md5: 1052857fc9d80253d2e47025cb2fab0a - depends: - - python - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libcblas >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - - python_abi 3.14.* *_cp314 - - liblapack >=3.9.0,<4.0a0 - constrains: - - numpy-base <0a0 - license: BSD-3-Clause - license_family: BSD - size: 8917806 - timestamp: 1766373894725 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.2-py314h2b28147_1.conda - sha256: 1d8377c8001c15ed12c2713b723213474b435706ab9d34ede69795d64af9e94d - md5: 4ea6b620fdf24a1a0bc4f1c7134dfafb - depends: - - python - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libcblas >=3.9.0,<4.0a0 - - python_abi 3.14.* *_cp314 - - libblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - constrains: - - numpy-base <0a0 - license: BSD-3-Clause - license_family: BSD - size: 8926994 - timestamp: 1770098474394 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.3-py312h33ff503_0.conda - sha256: 1aab7ba963affa572956b1bd8d239df52a9c7bc799c560f98bc658ab70224e10 - md5: 5930ee8a175a242b4f001b1e9e72024f - depends: - - python - - libgcc >=14 - - libstdcxx >=14 - - __glibc >=2.17,<3.0.a0 - - liblapack >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - - python_abi 3.12.* *_cp312 - - libcblas >=3.9.0,<4.0a0 - constrains: - - numpy-base <0a0 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/numpy?source=hash-mapping - size: 8757569 - timestamp: 1773839284329 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.3-hb9d3cd8_0.conda - sha256: 2254dae821b286fb57c61895f2b40e3571a070910fdab79a948ff703e1ea807b - md5: 56f8947aa9d5cf37b0b3d43b83f34192 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - opencl-headers >=2024.10.24 - license: BSD-2-Clause - license_family: BSD - size: 106742 - timestamp: 1743700382939 -- conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-h5888daf_0.conda - sha256: 2b6ce54174ec19110e1b3c37455f7cd138d0e228a75727a9bba443427da30a36 - md5: 45c3d2c224002d6d0d7769142b29f986 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - license: Apache-2.0 - license_family: APACHE - size: 55357 - timestamp: 1749853464518 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda - sha256: 3f231f2747a37a58471c82a9a8a80d92b7fece9f3fce10901a5ac888ce00b747 - md5: b28cf020fd2dead0ca6d113608683842 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - license: BSD-2-Clause - license_family: BSD - size: 731471 - timestamp: 1739400677213 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.0-h26f9b46_0.conda - sha256: a47271202f4518a484956968335b2521409c8173e123ab381e775c358c67fe6d - md5: 9ee58d5c534af06558933af3c845a780 - depends: - - __glibc >=2.17,<3.0.a0 - - ca-certificates - - libgcc >=14 - license: Apache-2.0 - license_family: Apache - size: 3165399 - timestamp: 1762839186699 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda - sha256: 44c877f8af015332a5d12f5ff0fb20ca32f896526a7d0cdb30c769df1144fb5c - md5: f61eb8cd60ff9057122a3d338b99c00f - depends: - - __glibc >=2.17,<3.0.a0 - - ca-certificates - - libgcc >=14 - license: Apache-2.0 - license_family: Apache - purls: [] - size: 3164551 - timestamp: 1769555830639 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - sha256: d48f5c22b9897c01e4dff3680f1f57ceb02711ab9c62f74339b080419dfad34b - md5: 79dd2074b5cd5c5c6b2930514a11e22d - depends: - - __glibc >=2.17,<3.0.a0 - - ca-certificates - - libgcc >=14 - license: Apache-2.0 - license_family: Apache - run_exports: - weak: - - openssl >=3.6.3,<4.0a0 - size: 3159683 - timestamp: 1781069855778 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda - sha256: 3613774ad27e48503a3a6a9d72017087ea70f1426f6e5541dbdb59a3b626eaaf - md5: 79f71230c069a287efe3a8614069ddf1 - depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - harfbuzz >=11.0.1 - - libexpat >=2.7.0,<3.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libgcc >=13 - - libglib >=2.84.2,<3.0a0 - - libpng >=1.6.49,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - license: LGPL-2.1-or-later - size: 455420 - timestamp: 1751292466873 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda - sha256: 5e6f7d161356fefd981948bea5139c5aa0436767751a6930cb1ca801ebb113ff - md5: 7a3bff861a6583f1889021facefc08b1 - depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 1222481 - timestamp: 1763655398280 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda - sha256: 43d37bc9ca3b257c5dd7bf76a8426addbdec381f6786ff441dc90b1a49143b6a - md5: c01af13bdc553d1a8fbfff6e8db075f0 - depends: - - libgcc >=14 - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - license: MIT - license_family: MIT - size: 450960 - timestamp: 1754665235234 -- conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h5253ce2_0.conda - sha256: d834fd656133c9e4eaf63ffe9a117c7d0917d86d89f7d64073f4e3a0020bd8a7 - md5: dd94c506b119130aef5a9382aed648e7 - depends: - - python - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/psutil?source=hash-mapping - size: 225545 - timestamp: 1769678155334 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 - md5: b3c17d95b5a10c6e64a21fa17573e70e - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: MIT - license_family: MIT - size: 8252 - timestamp: 1726802366959 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda - sha256: 23c98a5000356e173568dc5c5770b53393879f946f3ace716bbdefac2a8b23d2 - md5: b11a4c6bf6f6f44e5e143f759ffa2087 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - license: MIT - license_family: MIT - size: 118488 - timestamp: 1736601364156 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda - sha256: 0a0858c59805d627d02bdceee965dd84fde0aceab03a2f984325eec08d822096 - md5: b8ea447fdf62e3597cb8d2fae4eb1a90 - depends: - - __glibc >=2.17,<3.0.a0 - - dbus >=1.16.2,<2.0a0 - - libgcc >=14 - - libglib >=2.86.1,<3.0a0 - - libiconv >=1.18,<2.0a0 - - libsndfile >=1.2.2,<1.3.0a0 - - libsystemd0 >=257.10 - - libxcb >=1.17.0,<2.0a0 - constrains: - - pulseaudio 17.0 *_3 - license: LGPL-2.1-or-later - license_family: LGPL - size: 750785 - timestamp: 1763148198088 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda - sha256: a44655c1c3e1d43ed8704890a91e12afd68130414ea2c0872e154e5633a13d7e - md5: 7eccb41177e15cc672e1babe9056018e - depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.2,<6.0a0 - - libnsl >=2.0.1,<2.1.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libuuid >=2.41.3,<3.0a0 - - libxcrypt >=4.4.36 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.5,<4.0a0 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - constrains: - - python_abi 3.12.* *_cp312 - license: Python-2.0 - purls: [] - size: 31608571 - timestamp: 1772730708989 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.1-h32b2ec7_100_cp314.conda - build_number: 100 - sha256: 30d9c0997cec58298b4de04b44b4acc2bd16860ecbb8f6e623256c71820918ed - md5: b6e8431a0badd5f3e9426d0258b32e81 - depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.1,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.1,<4.0a0 - - libuuid >=2.41.2,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.4,<4.0a0 - - python_abi 3.14.* *_cp314 - - readline >=8.2,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - size: 36768932 - timestamp: 1764758363259 - python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.2-h32b2ec7_100_cp314.conda - build_number: 100 - sha256: a120fb2da4e4d51dd32918c149b04a08815fd2bd52099dad1334647984bb07f1 - md5: 1cef1236a05c3a98f68c33ae9425f656 - depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.1,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.1,<4.0a0 - - libuuid >=2.41.2,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.4,<4.0a0 - - python_abi 3.14.* *_cp314 - - readline >=8.2,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - size: 36790521 - timestamp: 1765021515427 - python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda - build_number: 101 - sha256: cb0628c5f1732f889f53a877484da98f5a0e0f47326622671396fb4f2b0cd6bd - md5: c014ad06e60441661737121d3eae8a60 - depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.2,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libuuid >=2.41.3,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.5,<4.0a0 - - python_abi 3.14.* *_cp314 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - size: 36702440 - timestamp: 1770675584356 - python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda - build_number: 100 - sha256: 6d28ac2b061179deb434d3d57afa98ffd20ec3c5d44ab8048a1ca33424b22d38 - md5: 0b9b2f83b5b600e1ac38becde8d0dd44 - depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.8.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.3,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.53.2,<4.0a0 - - libuuid >=2.42.1,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - - ncurses >=6.6,<7.0a0 - - openssl >=3.5.7,<4.0a0 - - python_abi 3.14.* *_cp314 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - run_exports: - weak: - - python_abi 3.14.* *_cp314 - noarch: - - python - size: 36717183 - timestamp: 1781255094700 - python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda - sha256: cb142bfd92f6e55749365ddc244294fa7b64db6d08c45b018ff1c658907bfcbf - md5: 15878599a87992e44c059731771591cb - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - yaml >=0.2.5,<0.3.0a0 - license: MIT - license_family: MIT - purls: - - pkg:pypi/pyyaml?source=hash-mapping - size: 198293 - timestamp: 1770223620706 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_2.conda - noarch: python - sha256: be66c1f85c3b48137200d62c12d918f4f8ad329423daef04fed292818efd3c28 - md5: 082985717303dab433c976986c674b35 - depends: - - python - - libgcc >=14 - - libstdcxx >=14 - - __glibc >=2.17,<3.0.a0 - - zeromq >=4.3.5,<4.4.0a0 - - _python_abi3_support 1.* - - cpython >=3.12 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/pyzmq?source=hash-mapping - size: 211567 - timestamp: 1771716961404 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-61.0-h192683f_0.conda - sha256: 8e0b7962cf8bec9a016cd91a6c6dc1f9ebc8e7e316b1d572f7b9047d0de54717 - md5: d487d93d170e332ab39803e05912a762 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libnl >=3.11.0,<4.0a0 - - libstdcxx >=14 - - libsystemd0 >=257.10 - - libudev1 >=257.10 - license: Linux-OpenIB - license_family: BSD - purls: [] - size: 1268666 - timestamp: 1769154883613 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - sha256: f0931894c751b22be09d7c976343a2957a14a59cfe0db04d916d1b93bd66ffcf - md5: da47d3251c0f0d16b2801afe5a77b532 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libnl >=3.11.0,<4.0a0 - - libstdcxx >=14 - - libsystemd0 >=257.13 - - libudev1 >=257.13 - license: Linux-OpenIB - license_family: BSD - run_exports: - weak: - - rdma-core >=63.0 - size: 1281605 - timestamp: 1778528449130 -- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda - sha256: 2d6d0c026902561ed77cd646b5021aef2d4db22e57a5b0178dfc669231e06d2c - md5: 283b96675859b20a825f8fa30f311446 - depends: - - libgcc >=13 - - ncurses >=6.5,<7.0a0 - license: GPL-3.0-only - license_family: GPL - size: 282480 - timestamp: 1740379431762 -- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - sha256: 12ffde5a6f958e285aa22c191ca01bbd3d6e710aa852e00618fa6ddc59149002 - md5: d7d95fc8287ea7bf33e0e7116d2b95ec - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - ncurses >=6.5,<7.0a0 - license: GPL-3.0-only - license_family: GPL - purls: [] - run_exports: - weak: - - readline >=8.3,<9.0a0 - size: 345073 - timestamp: 1765813471974 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.30.0-py312h868fb18_0.conda - sha256: 62f46e85caaba30b459da7dfcf3e5488ca24fd11675c33ce4367163ab191a42c - md5: 3ffc5a3572db8751c2f15bacf6a0e937 - depends: - - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python_abi 3.12.* *_cp312 - constrains: - - __glibc >=2.17 - license: MIT - license_family: MIT - purls: - - pkg:pypi/rpds-py?source=hash-mapping - size: 383750 - timestamp: 1764543174231 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py312h5253ce2_1.conda - sha256: dc520329bdfd356e2f464393f8ad9b8450fd5a269699907b2b8d629300c2c068 - md5: 84aa470567e2211a2f8e5c8491cdd78c - depends: - - python - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - purls: - - pkg:pypi/ruamel-yaml-clib?source=hash-mapping - size: 148221 - timestamp: 1766159515069 -- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py312h54fa4ab_0.conda - sha256: e3ad577361d67f6c078a6a7a3898bf0617b937d44dc4ccd57aa3336f2b5778dd - md5: 3e38daeb1fb05a95656ff5af089d2e4c - depends: - - __glibc >=2.17,<3.0.a0 - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - - liblapack >=3.9.0,<4.0a0 - - libstdcxx >=14 - - numpy <2.7 - - numpy >=1.23,<3 - - numpy >=1.25.2 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/scipy?source=hash-mapping - size: 17109648 - timestamp: 1771880675810 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda - sha256: 987ad072939fdd51c92ea8d3544b286bb240aefda329f9b03a51d9b7e777f9de - md5: cdd138897d94dc07d99afe7113a07bec - depends: - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libgl >=1.7.0,<2.0a0 - - sdl3 >=3.2.22,<4.0a0 - - libegl >=1.7.0,<2.0a0 - license: Zlib - size: 589145 - timestamp: 1757842881000 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.2.28-h3b84278_0.conda - sha256: 654c8a0b37f4b235cdabdd8f9ac201a73daffcda1280e0f23b53d6f9accff34b - md5: 19960bb44796feb66363ad9597242237 - depends: - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - libgcc >=14 - - dbus >=1.16.2,<2.0a0 - - libgl >=1.7.0,<2.0a0 - - xorg-libxcursor >=1.2.3,<2.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxscrnsaver >=1.2.4,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - - wayland >=1.24.0,<2.0a0 - - libvulkan-loader >=1.4.328.1,<2.0a0 - - libdrm >=2.4.125,<2.5.0a0 - - liburing >=2.12,<2.13.0a0 - - libudev1 >=257.10 - - libunwind >=1.8.3,<1.9.0a0 - - libusb >=1.0.29,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - libxkbcommon >=1.13.0,<2.0a0 - - libegl >=1.7.0,<2.0a0 - license: Zlib - size: 1939082 - timestamp: 1764713273386 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.2.30-h3b84278_0.conda - sha256: baff0dc170b83d2633093e25878d51db65a5d68200f1242db894fcd64e73a9f6 - md5: e275a47f63cca221ba9da6441c976ae2 - depends: - - libgcc >=14 - - libstdcxx >=14 - - __glibc >=2.17,<3.0.a0 - - libudev1 >=257.10 - - xorg-libxext >=1.3.6,<2.0a0 - - libxkbcommon >=1.13.1,<2.0a0 - - wayland >=1.24.0,<2.0a0 - - libegl >=1.7.0,<2.0a0 - - dbus >=1.16.2,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - - libunwind >=1.8.3,<1.9.0a0 - - libvulkan-loader >=1.4.328.1,<2.0a0 - - xorg-libxcursor >=1.2.3,<2.0a0 - - libdrm >=2.4.125,<2.5.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - xorg-libxscrnsaver >=1.2.4,<2.0a0 - - liburing >=2.13,<2.14.0a0 - - xorg-libx11 >=1.8.12,<2.0a0 - - libgl >=1.7.0,<2.0a0 - - libusb >=1.0.29,<2.0a0 - license: Zlib - size: 1938719 - timestamp: 1767236277588 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.2-hdeec2a5_0.conda - sha256: 64b982664550e01c25f8f09333c0ee54d4764a80fe8636b8aaf881fe6e8a0dbe - md5: 88a69db027a8ff59dab972a09d69a1ab - depends: - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - libgcc >=14 - - xorg-libxscrnsaver >=1.2.4,<2.0a0 - - libdrm >=2.4.125,<2.5.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - - libudev1 >=257.10 - - pulseaudio-client >=17.0,<17.1.0a0 - - xorg-libxtst >=1.2.5,<2.0a0 - - libegl >=1.7.0,<2.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - xorg-libxcursor >=1.2.3,<2.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - - liburing >=2.14,<2.15.0a0 - - libxkbcommon >=1.13.1,<2.0a0 - - libunwind >=1.8.3,<1.9.0a0 - - libusb >=1.0.29,<2.0a0 - - dbus >=1.16.2,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - libgl >=1.7.0,<2.0a0 - - xorg-libxi >=1.8.2,<2.0a0 - - wayland >=1.24.0,<2.0a0 - license: Zlib - size: 2138749 - timestamp: 1771668185803 -- conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2025.5-h3e344bc_0.conda - sha256: fd4d20f8b74c473e3579f181c40687697777be7ac617ee62866a2fe3199745d9 - md5: 6455b7f6e2c8caeb87b83cab7163bcb8 - depends: - - __glibc >=2.17,<3.0.a0 - - glslang >=16,<17.0a0 - - libgcc >=14 - - libstdcxx >=14 - - spirv-tools >=2025,<2026.0a0 - license: Apache-2.0 - license_family: Apache - size: 113361 - timestamp: 1764287965059 -- conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2025.5-h718be3e_1.conda - sha256: 0c2d6f24ee2b614ee1da4d7d99cc9944ea1ace65455a47d48d8c1f726317168a - md5: 8dc8dda113c4c568256bdd486b6e842e - depends: - - __glibc >=2.17,<3.0.a0 - - glslang >=16,<17.0a0 - - libgcc >=14 - - libstdcxx >=14 - - spirv-tools >=2026,<2027.0a0 - license: Apache-2.0 - license_family: Apache - size: 113513 - timestamp: 1770208767759 -- conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - sha256: 48f3f6a76c34b2cfe80de9ce7f2283ecb55d5ed47367ba91e8bb8104e12b8f11 - md5: 98b6c9dc80eb87b2519b97bcf7e578dd - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - size: 45829 - timestamp: 1762948049098 -- conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2025.4-hb700be7_0.conda - sha256: aa0f0fc41646ef5a825d5725a2d06659df1c1084f15155936319e1909ac9cd16 - md5: aace50912e0f7361d0d223e7f7cfa6e5 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - spirv-headers >=1.4.328.0,<1.4.328.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 2248062 - timestamp: 1759805790709 -- conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.1-hb700be7_0.conda - sha256: 003180b3a2e0c6490b1f3461cf9e0ed740b1bbf88ee4b73ee177b94bea0dc95d - md5: 8809e0bd5ec279bfe4bb6651c3ed2730 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - spirv-headers >=1.4.341.0,<1.4.341.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 2296977 - timestamp: 1770089626195 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.49-py312h5253ce2_0.conda - sha256: ab3445a03e1fe99093cac00a4f923c25e1f438cc7f7b64d254b7e4f06e52693e - md5: 0662f9f9ffb7ae91f2c095c77f18b9a5 - depends: - - python - - greenlet !=0.4.17 - - typing-extensions >=4.6.0 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - purls: - - pkg:pypi/sqlalchemy?source=hash-mapping - size: 3707065 - timestamp: 1775241332871 -- conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-3.1.2-hecca717_0.conda - sha256: 34e2e9c505cd25dba0a9311eb332381b15147cf599d972322a7c197aedfc8ce2 - md5: 9859766c658e78fec9afa4a54891d920 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: BSD-2-Clause - license_family: BSD - size: 2741200 - timestamp: 1756086702093 -- conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.0.1-hecca717_0.conda - sha256: 4a1d2005153b9454fc21c9bad1b539df189905be49e851ec62a6212c2e045381 - md5: 2a2170a3e5c9a354d09e4be718c43235 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: BSD-2-Clause - license_family: BSD - size: 2619743 - timestamp: 1769664536467 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-h8d10470_1.conda - sha256: 2e3238234ae094d5a5f7c559410ea8875351b6bac0d9d0e576bf64b732b8029e - md5: e3259be3341da4bc06c5b7a78c8bf1bd - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libhwloc >=2.12.1,<2.12.2.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 181262 - timestamp: 1762509955687 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-hb700be7_2.conda - sha256: 975710e4b7f1b13c3c30b7fbf21e22f50abe0463b6b47a231582fdedcc45c961 - md5: 8f7278ca5f7456a974992a8b34284737 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libhwloc >=2.12.2,<2.12.3.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 181329 - timestamp: 1767886632911 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - sha256: cafeec44494f842ffeca27e9c8b0c27ed714f93ac77ddadc6aaf726b5554ebac - md5: cffd3bdd58090148f4cfcd831f4b26ab - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - constrains: - - xorg-libx11 >=1.8.12,<2.0a0 - license: TCL - license_family: BSD - purls: [] - size: 3301196 - timestamp: 1769460227866 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_ha0e22de_103.conda - sha256: 1544760538a40bcd8ace2b1d8ebe3eb5807ac268641f8acdc18c69c5ebfeaf64 - md5: 86bc20552bf46075e3d92b67f089172d - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libzlib >=1.3.1,<2.0a0 - constrains: - - xorg-libx11 >=1.8.12,<2.0a0 - license: TCL - license_family: BSD - size: 3284905 - timestamp: 1763054914403 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - build_number: 103 - sha256: 43624eab22f5f29df7d6ffe914cf442f28fd559b55b290906255492826e636e8 - md5: 48a1049e710857572fc2a832aa394d9f - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libzlib >=1.3.2,<2.0a0 - constrains: - - xorg-libx11 >=1.8.13,<2.0a0 - license: TCL - run_exports: - weak: - - tk >=8.6.13,<8.7.0a0 - size: 3550916 - timestamp: 1784229071544 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.5-py312h4c3975b_0.conda - sha256: 4629b1c9139858fb08bb357df917ffc12e4d284c57ff389806bb3ae476ef4e0a - md5: 2b37798adbc54fd9e591d24679d2133a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: Apache - purls: - - pkg:pypi/tornado?source=hash-mapping - size: 859665 - timestamp: 1774358032165 -- conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.11.29-h2112641_0.conda - sha256: a5b92c2cedcaba3b877d6c4aab42853f57b6bb26f9c901cfb5aa5da03269d310 - md5: 5552b8d0f33cf86753d35da1b3ec0736 - depends: - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - constrains: - - __glibc >=2.17 - license: Apache-2.0 OR MIT - run_exports: {} - size: 20782187 - timestamp: 1784166603021 -- conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda - sha256: 3aa04ae8e9521d9b56b562376d944c3e52b69f9d2a0667f77b8953464822e125 - md5: 035da2e4f5770f036ff704fa17aace24 - depends: - - __glibc >=2.17,<3.0.a0 - - libexpat >=2.7.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 329779 - timestamp: 1761174273487 -- conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 - sha256: 175315eb3d6ea1f64a6ce470be00fa2ee59980108f246d3072ab8b977cb048a5 - md5: 6c99772d483f566d59e25037fea2c4b1 - depends: - - libgcc-ng >=12 - license: GPL-2.0-or-later - license_family: GPL - size: 897548 - timestamp: 1660323080555 -- conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 - sha256: 76c7405bcf2af639971150f342550484efac18219c0203c5ee2e38b8956fe2a0 - md5: e7f6ed84d4623d52ee581325c1587a6b - depends: - - libgcc-ng >=10.3.0 - - libstdcxx-ng >=10.3.0 - license: GPL-2.0-or-later - license_family: GPL - size: 3357188 - timestamp: 1646609687141 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.46-hb03c661_0.conda - sha256: aa03b49f402959751ccc6e21932d69db96a65a67343765672f7862332aa32834 - md5: 71ae752a748962161b4740eaff510258 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - license: MIT - license_family: MIT - size: 396975 - timestamp: 1759543819846 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-hb03c661_0.conda - sha256: 19c2bb14bec84b0e995b56b752369775c75f1589314b43733948bb5f471a6915 - md5: b56e0c8432b56decafae7e78c5f29ba5 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - xorg-libx11 >=1.8.13,<2.0a0 - license: MIT - license_family: MIT - size: 399291 - timestamp: 1772021302485 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - sha256: c12396aabb21244c212e488bbdc4abcdef0b7404b15761d9329f5a4a39113c4b - md5: fb901ff28063514abb6046c9ec2c4a45 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: MIT - license_family: MIT - size: 58628 - timestamp: 1734227592886 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - sha256: 277841c43a39f738927145930ff963c5ce4c4dacf66637a3d95d802a64173250 - md5: 1c74ff8c35dcadf952a16f752ca5aa49 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libuuid >=2.38.1,<3.0a0 - - xorg-libice >=1.1.2,<2.0a0 - license: MIT - license_family: MIT - size: 27590 - timestamp: 1741896361728 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.12-h4f16b4b_0.conda - sha256: 51909270b1a6c5474ed3978628b341b4d4472cd22610e5f22b506855a5e20f67 - md5: db038ce880f100acc74dba10302b5630 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libxcb >=1.17.0,<2.0a0 - license: MIT - license_family: MIT - size: 835896 - timestamp: 1741901112627 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda - sha256: 516d4060139dbb4de49a4dcdc6317a9353fb39ebd47789c14e6fe52de0deee42 - md5: 861fb6ccbc677bb9a9fb2468430b9c6a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libxcb >=1.17.0,<2.0a0 - license: MIT - license_family: MIT - size: 839652 - timestamp: 1770819209719 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda - sha256: 6bc6ab7a90a5d8ac94c7e300cc10beb0500eeba4b99822768ca2f2ef356f731b - md5: b2895afaf55bf96a8c8282a2e47a5de0 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - size: 15321 - timestamp: 1762976464266 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda - sha256: 832f538ade441b1eee863c8c91af9e69b356cd3e9e1350fff4fe36cc573fc91a - md5: 2ccd714aa2242315acaf0a67faea780b - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-libxfixes >=6.0.1,<7.0a0 - - xorg-libxrender >=0.9.11,<0.10.0a0 - license: MIT - license_family: MIT - size: 32533 - timestamp: 1730908305254 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda - sha256: 25d255fb2eef929d21ff660a0c687d38a6d2ccfbcbf0cc6aa738b12af6e9d142 - md5: 1dafce8548e38671bea82e3f5c6ce22f - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - size: 20591 - timestamp: 1762976546182 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.6-hb9d3cd8_0.conda - sha256: da5dc921c017c05f38a38bd75245017463104457b63a1ce633ed41f214159c14 - md5: febbab7d15033c913d53c7a2c102309d - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - license: MIT - license_family: MIT - size: 50060 - timestamp: 1727752228921 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda - sha256: 79c60fc6acfd3d713d6340d3b4e296836a0f8c51602327b32794625826bd052f - md5: 34e54f03dfea3e7a2dcf1453a85f1085 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - license: MIT - license_family: MIT - size: 50326 - timestamp: 1769445253162 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda - sha256: 83c4c99d60b8784a611351220452a0a85b080668188dce5dfa394b723d7b64f4 - md5: ba231da7fccf9ea1e768caf5c7099b84 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - license: MIT - license_family: MIT - size: 20071 - timestamp: 1759282564045 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda - sha256: 1a724b47d98d7880f26da40e45f01728e7638e6ec69f35a3e11f92acd05f9e7a - md5: 17dcc85db3c7886650b8908b183d6876 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxfixes >=6.0.1,<7.0a0 - license: MIT - license_family: MIT - size: 47179 - timestamp: 1727799254088 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.4-hb9d3cd8_0.conda - sha256: ac0f037e0791a620a69980914a77cb6bb40308e26db11698029d6708f5aa8e0d - md5: 2de7f99d6581a4a7adbff607b5c278ca - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrender >=0.9.11,<0.10.0a0 - license: MIT - license_family: MIT - size: 29599 - timestamp: 1727794874300 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda - sha256: 80ed047a5cb30632c3dc5804c7716131d767089f65877813d4ae855ee5c9d343 - md5: e192019153591938acf7322b6459d36e - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - license: MIT - license_family: MIT - size: 30456 - timestamp: 1769445263457 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda - sha256: 044c7b3153c224c6cedd4484dd91b389d2d7fd9c776ad0f4a34f099b3389f4a1 - md5: 96d57aba173e878a2089d5638016dc5e - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - license: MIT - license_family: MIT - size: 33005 - timestamp: 1734229037766 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda - sha256: 58e8fc1687534124832d22e102f098b5401173212ac69eb9fd96b16a3e2c8cb2 - md5: 303f7a0e9e0cd7d250bb6b952cecda90 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - license: MIT - license_family: MIT - size: 14412 - timestamp: 1727899730073 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda - sha256: 752fdaac5d58ed863bbf685bb6f98092fe1a488ea8ebb7ed7b606ccfce08637a - md5: 7bbe9a0cc0df0ac5f5a8ad6d6a11af2f - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxi >=1.7.10,<2.0a0 - license: MIT - license_family: MIT - size: 32808 - timestamp: 1727964811275 -- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda - sha256: 6d9ea2f731e284e9316d95fa61869fe7bbba33df7929f82693c121022810f4ad - md5: a77f85f77be52ff59391544bfe73390a - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - license: MIT - license_family: MIT - purls: [] - size: 85189 - timestamp: 1753484064210 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h41580af_10.conda - sha256: 325d370b28e2b9cc1f765c5b4cdb394c91a5d958fbd15da1a14607a28fee09f6 - md5: 755b096086851e1193f3b10347415d7c - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - krb5 >=1.22.2,<1.23.0a0 - - libsodium >=1.0.21,<1.0.22.0a0 - license: MPL-2.0 - license_family: MOZILLA - purls: [] - size: 311150 - timestamp: 1772476812121 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 - md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 - depends: - - __glibc >=2.17,<3.0.a0 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - purls: [] - run_exports: - weak: - - zstd >=1.5.7,<1.6.0a0 - size: 601375 - timestamp: 1764777111296 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - build_number: 20 - sha256: a2527b1d81792a0ccd2c05850960df119c2b6d8f5fdec97f2db7d25dc23b1068 - md5: 468fd3bb9e1f671d36c2cbc677e56f1d - depends: - - libgomp >=7.5.0 - constrains: - - openmp_impl <0.0a0 - license: BSD-3-Clause - license_family: BSD - purls: [] - run_exports: - strong: - - _openmp_mutex >=4.5 - size: 28926 - timestamp: 1770939656741 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_gnu.tar.bz2 - build_number: 16 - sha256: 3702bef2f0a4d38bd8288bbe54aace623602a1343c2cfbefd3fa188e015bebf0 - md5: 6168d71addc746e8f2b8d57dfd2edcea - depends: - - libgomp >=7.5.0 - constrains: - - openmp_impl 9999 - license: BSD-3-Clause - license_family: BSD - size: 23712 - timestamp: 1650670790230 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.1-he30d5cf_0.conda - sha256: cb8c79ff99e2e36958e088278971cfec4aeed8e44084e968c906b7bbc3cd8de1 - md5: 50a88426e78ae8eb7d52072ba2e8db21 - depends: - - libgcc >=14 - license: LGPL-2.1-or-later - license_family: GPL - size: 615491 - timestamp: 1766156819056 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.3-he30d5cf_0.conda - sha256: ea2233e2db9908c2e5f29d3ca420a546b4583253f4f70abb5494cdd676866d42 - md5: 4a98cbc4ade694520227402ff8880630 - depends: - - libgcc >=14 - license: LGPL-2.1-or-later - license_family: GPL - size: 615729 - timestamp: 1768327548407 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.9.1-hcccb83c_0.conda - sha256: ac438ce5d3d3673a9188b535fc7cda413b479f0d52536aeeac1bd82faa656ea0 - md5: cc744ac4efe5bcaa8cca51ff5b850df0 - depends: - - libgcc-ng >=12 - - libstdcxx-ng >=12 - license: BSD-2-Clause - license_family: BSD - size: 3250813 - timestamp: 1718551360260 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/attr-2.5.1-h4e544f5_1.tar.bz2 - sha256: 2c793b48e835a8fac93f1664c706442972a0206963bf8ca202e83f7f4d29a7d7 - md5: 1ef6c06fec1b6f5ee99ffe2152e53568 - depends: - - libgcc-ng >=12 - license: GPL-2.0-or-later - license_family: GPL - size: 74992 - timestamp: 1660065534958 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/backports.zstd-1.3.0-py312h3d8e7d4_0.conda - sha256: 15ca235863f67ebbfa5a3c1cf1eb3f448ad4bafa9e9d1660996d90b406c2f5ca - md5: 342f2741b222094a78db95893ecc42f9 - depends: - - python - - libgcc >=14 - - python 3.12.* *_cpython - - zstd >=1.5.7,<1.6.0a0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause AND MIT AND EPL-2.0 - purls: - - pkg:pypi/backports-zstd?source=hash-mapping - size: 243175 - timestamp: 1767044998908 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.45-default_h5f4c503_104.conda - sha256: b7694c53943941a5234406b77b168e28d92227f8e69c697edda3faf436dd26c1 - md5: 8107322440b07ab4234815368d1785a9 - depends: - - ld_impl_linux-aarch64 2.45 default_h1979696_104 - - sysroot_linux-aarch64 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - size: 4850743 - timestamp: 1764007931341 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.45-default_h5f4c503_105.conda - sha256: 7398706fe428530777a7b1e69925c94e46cd45182c52f8a84f34cd601c8d2584 - md5: 3cee44d70779b513523a9a46146da3f9 - depends: - - ld_impl_linux-aarch64 2.45 default_h1979696_105 - - sysroot_linux-aarch64 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - size: 4848132 - timestamp: 1766513201703 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.45.1-default_h5f4c503_101.conda - sha256: e90ab42a5225dc1eaa6e4e7201cd7b8ed52dad6ec46814be7e5a4039433ae85c - md5: df6e1dc38cbe5642350fa09d4a1d546b - depends: - - ld_impl_linux-aarch64 2.45.1 default_h1979696_101 - - sysroot_linux-aarch64 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - size: 4741684 - timestamp: 1770267224406 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda - sha256: eebe159bf600943552e4319ff4ce27b6a2dadf0dcc5443e76dcee9259a408e11 - md5: 58f37d76b8234c69dbf2939d511bea0b - depends: - - ld_impl_linux-aarch64 2.46.1 default_h1979696_102 - - sysroot_linux-aarch64 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - run_exports: {} - size: 4677171 - timestamp: 1784214549910 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_linux-aarch64-2.46.1-default_hf1166c9_102.conda - sha256: d41099a3fe2809a3ab3e4c718ecff4d5f8879e7949f3c8e8efa97fa06a90248c - md5: 9a340123cb7217eae51c5cae24484631 - depends: - - binutils_impl_linux-aarch64 2.46.1 default_h5f4c503_102 - license: GPL-3.0-only - license_family: GPL - run_exports: {} - size: 36196 - timestamp: 1784214578949 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.2.0-py312hac7b6a9_1.conda - sha256: aa14d1f26a1d4ed3a735281beb20129b9ba4670fed688045ac71f4119aeed7e6 - md5: d64147176625536a8024e26577c5e894 - depends: - - libgcc >=14 - - libstdcxx >=14 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - constrains: - - libbrotlicommon 1.2.0 he30d5cf_1 - license: MIT - license_family: MIT - purls: - - pkg:pypi/brotli?source=hash-mapping - size: 373800 - timestamp: 1764017545385 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_8.conda - sha256: d2a296aa0b5f38ed9c264def6cf775c0ccb0f110ae156fcde322f3eccebf2e01 - md5: 2921ac0b541bf37c69e66bd6d9a43bca - depends: - - libgcc >=14 - license: bzip2-1.0.6 - license_family: BSD - size: 192536 - timestamp: 1757437302703 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda - sha256: b3495077889dde6bb370938e7db82be545c73e8589696ad0843a32221520ad4c - md5: 840d8fc0d7b3209be93080bc20e07f2d - depends: - - libgcc >=14 - license: bzip2-1.0.6 - license_family: BSD - purls: [] - run_exports: - weak: - - bzip2 >=1.0.8,<2.0a0 - size: 192412 - timestamp: 1771350241232 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda - sha256: 675db823f3d6fb6bf747fab3b0170ba99b269a07cf6df1e49fff2f9972be9cd1 - md5: 043c13ed3a18396994be9b4fab6572ad - depends: - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libglib >=2.86.3,<3.0a0 - - libpng >=1.6.53,<1.7.0a0 - - libstdcxx >=14 - - libxcb >=1.17.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.46.4,<1.0a0 - - xorg-libice >=1.1.2,<2.0a0 - - xorg-libsm >=1.2.6,<2.0a0 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - license: LGPL-2.1-only or MPL-1.1 - size: 927045 - timestamp: 1766416003626 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h83712da_0.conda - sha256: 37cfff940d2d02259afdab75eb2dbac42cf830adadee78d3733d160a1de2cc66 - md5: cd55953a67ec727db5dc32b167201aa6 - depends: - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - freetype >=2.12.1,<3.0a0 - - icu >=75.1,<76.0a0 - - libexpat >=2.6.4,<3.0a0 - - libgcc >=13 - - libglib >=2.82.2,<3.0a0 - - libpng >=1.6.47,<1.7.0a0 - - libstdcxx >=13 - - libxcb >=1.17.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.44.2,<1.0a0 - - xorg-libice >=1.1.2,<2.0a0 - - xorg-libsm >=1.2.5,<2.0a0 - - xorg-libx11 >=1.8.11,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - license: LGPL-2.1-only or MPL-1.1 - size: 966667 - timestamp: 1741554768968 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-bindings-13.2.0-py312hdc0efb6_0.conda - sha256: 609e783783f4bb44643115665923ce225619ec5f5534099ce19a312119714fc4 - md5: 89d9c83a2a367fc5dad80bb134302d9c - depends: - - cuda-nvrtc >=13,<14.0a0 - - cuda-nvvm-impl >=13,<14.0a0 - - cuda-pathfinder >=1.1.0,<2 - - cuda-version >=13,<14.0a0 - - libcufile >=1,<2.0a0 - - libgcc >=14 - - libnvjitlink >=13.0,<14.0a0 - - libstdcxx >=14 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - constrains: - - cuda-cudart >=13,<14.0a0 - - cuda-python >=13.2.0,<13.3.0a0 - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - purls: - - pkg:pypi/cuda-bindings?source=hash-mapping - size: 3714646 - timestamp: 1773284747607 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-12.9.79-h3ae8b8a_0.conda - sha256: 3d6699fc27ffabf28a9d359b48e7b88437e4d945844718a58608627998db5d1b - md5: df78e19e5fe656631d1470aa0fcf6ced - depends: - - arm-variant * sbsa - - cuda-cudart_linux-aarch64 12.9.79 h3ae8b8a_0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=13 - - libstdcxx >=13 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23466 - timestamp: 1749218349235 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda - sha256: 7b02fe40d6a503f42e4ffe83bf2512876c7e4eb5374199b03045b0e17e14ec6f - md5: 8daff8683cfa57366f88b5a980d4bd03 - depends: - - arm-variant * sbsa - - cuda-cudart_linux-aarch64 13.3.29 h8f3c8d4_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24782 - timestamp: 1779898439985 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-12.9.79-h3ae8b8a_0.conda - sha256: d70f85411992e03494f2fe94a9852d79f366a92f40ba791611eda5551044afe9 - md5: d58cc487273764a11637456c06399ff0 - depends: - - arm-variant * sbsa - - cuda-cudart 12.9.79 h3ae8b8a_0 - - cuda-cudart-dev_linux-aarch64 12.9.79 h3ae8b8a_0 - - cuda-cudart-static 12.9.79 h3ae8b8a_0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=13 - - libstdcxx >=13 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=12.9.79,<13.0a0 - size: 23911 - timestamp: 1749218369632 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-13.3.29-h8f3c8d4_0.conda - sha256: 3ac23580a5152826def6f4ef8767ad24f38433ff47d85d8d971b9b67ee192e02 - md5: ce781c2e7b35de72a2b002d58f2e0d8f - depends: - - arm-variant * sbsa - - cuda-cudart 13.3.29 h8f3c8d4_0 - - cuda-cudart-dev_linux-aarch64 13.3.29 h8f3c8d4_0 - - cuda-cudart-static 13.3.29 h8f3c8d4_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=13.3.29,<14.0a0 - size: 25269 - timestamp: 1779898455527 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-12.9.79-h3ae8b8a_0.conda - sha256: dac33edcebbf557563a41521f67961039186efbc276903d937b32243ef3be937 - md5: 365adcddf99b81eb323698fda31d507c - depends: - - arm-variant * sbsa - - cuda-cudart-static_linux-aarch64 12.9.79 h3ae8b8a_0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=13 - - libstdcxx >=13 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23507 - timestamp: 1749218358755 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-13.3.29-h8f3c8d4_0.conda - sha256: 8f83d5e859f3ef949589b4ef2bf1eb0a99d02ad2941c6f9c0a802b96a1d65c25 - md5: a40f6427160d6394dfa189276386be91 - depends: - - arm-variant * sbsa - - cuda-cudart-static_linux-aarch64 13.3.29 h8f3c8d4_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24786 - timestamp: 1779898447855 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-12.9.86-h8f3c8d4_1.conda - sha256: e7f8d835d7bf993dcad9fba6db5af89c35b2b4f0282799b729bf6ad2c3bd896d - md5: 48187c09673a42f9930764e8170b8787 - depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 33382016 - timestamp: 1760723722396 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda - sha256: cd16532e362662c88f6bc3b009457b3d36b33ca990f0deabece6def7d44aaa72 - md5: 7147a017b16d0d7c93c53d261e0ef0b6 - depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - run_exports: {} - size: 37806494 - timestamp: 1779897383028 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-12.9.86-h8f3c8d4_1.conda - sha256: b1d1a74cbbdcf46c4ee737279df3220eb7a29393999bc96b3c1398f7de78c912 - md5: 2346ee558cbfb7b857c8353ffc2553fa - depends: - - arm-variant * sbsa - - cuda-nvrtc 12.9.86 h8f3c8d4_1 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - cuda-nvrtc-static >=12.9.86 - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-nvrtc >=12.9.86,<13.0a0 - size: 36250 - timestamp: 1760723865518 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-13.3.33-h8f3c8d4_0.conda - sha256: e4a9f008471235dc0888d0b08511145066ace6ae8666ee55335138e221e6ecd4 - md5: ef35d58c106a148ac95dc6d0474cd4ed - depends: - - arm-variant * sbsa - - cuda-nvrtc 13.3.33 h8f3c8d4_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - arm-variant * sbsa - - cuda-nvrtc-static >=13.3.33 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-nvrtc >=13.3.33,<14.0a0 - size: 38773 - timestamp: 1779897502880 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-12.9.86-he9431aa_106.conda - sha256: 97bf1688e3847090d1c4193c39ca575a67e2183d0c20ddf8bcedc0f9d9528bbc - md5: 8ace2a8121a5f733a902822290aae11c - depends: - - cuda-nvvm-dev_linux-aarch64 12.9.86.* - - cuda-nvvm-impl 12.9.86.* - - cuda-nvvm-tools 12.9.86.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 25585 - timestamp: 1771619514901 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.33-he9431aa_0.conda - sha256: cf2ee921c3e8bb70872b0e146f7809d02f45c894e12bf93537fc0523ecc370a8 - md5: b69f69843b228a650173716b23b1d834 - depends: - - cuda-nvvm-dev_linux-aarch64 13.3.33.* - - cuda-nvvm-impl 13.3.33.* - - cuda-nvvm-tools 13.3.33.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 25733 - timestamp: 1779909827964 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.73-he9431aa_0.conda - sha256: aaa45b15436cf0fe279efeddb0c8456ecbfe7b9a269ae01de725af22e88e29c2 - md5: 6b2562f71c917867830ebec5899d0aff - depends: - - cuda-nvvm-dev_linux-aarch64 13.3.73.* - - cuda-nvvm-impl 13.3.73.* - - cuda-nvvm-tools 13.3.73.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24930 - timestamp: 1782788514971 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-12.9.86-h7b14b0b_2.conda - sha256: 100accfc6f608004ddef4b9004ee5179eddbac19e7d5c4c7bd5e6e8b71bd7c5d - md5: 8e9fceb7b677be7107cc9c20f8d71d86 - depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 21601172 - timestamp: 1753975236344 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.33-h7b14b0b_0.conda - sha256: e90b28ba3cac0f00acb5090693f7aaca46884ed9bd2d6fabec2b2c2c753be795 - md5: aee27037173867115c798567ba92c876 - depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - size: 21556608 - timestamp: 1779905144993 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda - sha256: a41e62f9f3e6887a57c7e3c747b8762c60279b34e51b356df2474c0852e3cd24 - md5: 9163c2edad94dc8f1e194c41351eb383 - depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 21565754 - timestamp: 1782782874457 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-12.9.86-h7b14b0b_2.conda - sha256: f5cf91e491e150e37cd224fa648c07f6b1cd2cbfee5affba10625df7ba0b0425 - md5: 9a35dcda5573a713183f5159ec282364 - depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24411824 - timestamp: 1753975273689 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.33-h7b14b0b_0.conda - sha256: cce5ef4c36f3db60909fc5bbbe138dfbf51d237d880cea77e366db33d97cac56 - md5: 6c981201b590365bbe2fd8af4f8a1675 - depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 29031580 - timestamp: 1779905175228 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.73-h7b14b0b_0.conda - sha256: f96eb5d7c663c501a6e254e03818fa52f177dfd3a3a969a5ec71144787a95128 - md5: 9b78eff3eff8405a3c3c02ab47268409 - depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 29030637 - timestamp: 1782782902389 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-12.9.79-h16bee8c_1.conda - sha256: 6fa8a4d4548b114acd3c9849b65b5d9fcf1ca8f39cd2b792ce5167a51955100c - md5: 875bfddc9855f12e9f518ef8e44c2d85 - depends: - - arm-variant * sbsa - - cuda-cudart-dev - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23784 - timestamp: 1761098779882 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-13.3.27-h16bee8c_0.conda - sha256: edee9a24047014874cb0b324702967f7a99c0b209bee96544eb84de8714a3306 - md5: a2ea427fd6a0c3fc57d32e541b13f912 - depends: - - arm-variant * sbsa - - cuda-cudart-dev - - cuda-version >=13.3,<13.4.0a0 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 25101 - timestamp: 1779913642980 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.3-py314h4c416a3_0.conda - sha256: 431042164f0f50ce173be72d96f6a9ec069d1a4846f19ff8cf616ea98678a090 - md5: e641cbdecc93a5e243af87d198edc716 - depends: - - libgcc >=14 - - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: APACHE - size: 3701570 - timestamp: 1765651306767 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.4-py312he940de5_0.conda - sha256: 30bfb6445b8ae8022996283faa2d918393b1f0f78e37014995e1733e50df4303 - md5: 2f50ec4afc8e9f402b9041e9cee62744 + - pkg:pypi/cuda-bindings?source=hash-mapping + size: 4143685 + timestamp: 1779249651391 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-bindings-13.2.0-py312hdc0efb6_1.conda + sha256: b8784c43ccd7c61c3944b48e7751e454e8c4b9ae50cabf42696e432b2e5b6b3b + md5: c7560ec15413c9b14e46d26c2ce94fb3 depends: + - cuda-nvrtc >=13,<14.0a0 + - cuda-nvvm-impl >=13,<14.0a0 + - cuda-pathfinder >=1.1.0,<2 + - cuda-version >=13,<14.0a0 + - libcufile >=1,<2.0a0 - libgcc >=14 + - libnvfatbin + - libnvjitlink >=13.0,<14.0a0 - libstdcxx >=14 - python >=3.12,<3.13.0a0 - python >=3.12,<3.13.0a0 *_cpython - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/cython?source=hash-mapping - size: 3629503 - timestamp: 1767577211661 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.4-py314h4c416a3_0.conda - sha256: 1369b5b23d9451ae3ef678cb68678778a6ea164186bc8ebe6539a1d6fa803da8 - md5: 822c83a4ba5a12101695ba39607c338f - depends: - - libgcc >=14 - - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: APACHE - size: 3707806 - timestamp: 1767577060898 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda - sha256: 4add54f62b3fbdc7f8e1238f5e5990e16a561bed33d18e3dbc1db1d4f6cf8572 - md5: c8ec76477232c7e59f68545a1b4fb8ea - depends: - - libgcc >=14 - - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 3747072 - timestamp: 1782821625037 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda - sha256: 33fe66d025cf5bac7745196d1a3dd7a437abcf2dbce66043e9745218169f7e17 - md5: 6e5a87182d66b2d1328a96b61ca43a62 - depends: - - libgcc-ng >=12 - license: BSD-2-Clause - license_family: BSD - size: 347363 - timestamp: 1685696690003 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda - sha256: 3af801577431af47c0b72a82bb93c654f03072dece0a2a6f92df8a6802f52a22 - md5: a4b6b82427d15f0489cef0df2d82f926 - depends: - - libstdcxx >=14 - - libgcc >=14 - - libglib >=2.86.2,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - libexpat >=2.7.3,<3.0a0 - license: AFL-2.1 OR GPL-2.0-or-later - size: 480416 - timestamp: 1764536098891 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/debugpy-1.8.20-py312hf55c4e8_0.conda - sha256: c041ed2da3fd1e237972a360cb0f532a0caf66f571fdc9ec2cc07ccb48b8c665 - md5: d7ee86593223e812e41612678c26a10d - depends: - - python - - libstdcxx >=14 - - libgcc >=14 - - python 3.12.* *_cpython - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - purls: - - pkg:pypi/debugpy?source=hash-mapping - size: 2820348 - timestamp: 1769745006474 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.0.1-gpl_h62efc85_914.conda - sha256: a2816bcef9d7b072597192fcb15b851eaee1ef358c0a3890ab255070d41b64cb - md5: e9f109db13b0fad0c1f2f92d9770c8c3 - depends: - - alsa-lib >=1.2.15.3,<1.3.0a0 - - aom >=3.9.1,<3.10.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - gmp >=6.3.0,<7.0a0 - - harfbuzz >=12.3.2 - - lame >=3.100,<3.101.0a0 - - libass >=0.17.4,<0.17.5.0a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libjxl >=0.11,<1.0a0 - - liblzma >=5.8.2,<6.0a0 - - libopenvino >=2026.0.0,<2026.0.1.0a0 - - libopenvino-arm-cpu-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-auto-batch-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-auto-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-hetero-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-ir-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-onnx-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-paddle-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-pytorch-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-tensorflow-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-tensorflow-lite-frontend >=2026.0.0,<2026.0.1.0a0 - - libopus >=1.6.1,<2.0a0 - - librsvg >=2.60.2,<3.0a0 - - libstdcxx >=14 - - libvorbis >=1.3.7,<1.4.0a0 - - libvpx >=1.15.2,<1.16.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.1,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.5,<4.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2025.5,<2025.6.0a0 - - svt-av1 >=4.0.1,<4.0.2.0a0 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - size: 12035194 - timestamp: 1773008913159 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.0.1-gpl_h936a714_906.conda - sha256: b9c6d3698809316fc278f9df373b4ec3a016f6f3b9b0ccbedb0d3a828c7572a1 - md5: 2a521f179f7aa9a820fa3441e0cb2a50 - depends: - - alsa-lib >=1.2.14,<1.3.0a0 - - aom >=3.9.1,<3.10.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - gmp >=6.3.0,<7.0a0 - - harfbuzz >=12.2.0 - - lame >=3.100,<3.101.0a0 - - libass >=0.17.4,<0.17.5.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libopenvino >=2025.2.0,<2025.2.1.0a0 - - libopenvino-arm-cpu-plugin >=2025.2.0,<2025.2.1.0a0 - - libopenvino-auto-batch-plugin >=2025.2.0,<2025.2.1.0a0 - - libopenvino-auto-plugin >=2025.2.0,<2025.2.1.0a0 - - libopenvino-hetero-plugin >=2025.2.0,<2025.2.1.0a0 - - libopenvino-ir-frontend >=2025.2.0,<2025.2.1.0a0 - - libopenvino-onnx-frontend >=2025.2.0,<2025.2.1.0a0 - - libopenvino-paddle-frontend >=2025.2.0,<2025.2.1.0a0 - - libopenvino-pytorch-frontend >=2025.2.0,<2025.2.1.0a0 - - libopenvino-tensorflow-frontend >=2025.2.0,<2025.2.1.0a0 - - libopenvino-tensorflow-lite-frontend >=2025.2.0,<2025.2.1.0a0 - - libopus >=1.5.2,<2.0a0 - - librsvg >=2.60.0,<3.0a0 - - libstdcxx >=14 - - libvorbis >=1.3.7,<1.4.0a0 - - libvpx >=1.15.2,<1.16.0a0 - - libvulkan-loader >=1.4.328.1,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.1,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.4,<4.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2025.5,<2025.6.0a0 - - svt-av1 >=3.1.2,<3.1.3.0a0 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - - xorg-libx11 >=1.8.12,<2.0a0 constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - size: 12009838 - timestamp: 1765653483363 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.15.0-h8dda3cd_1.conda - sha256: fe023bb8917c8a3138af86ef537b70c8c5d60c44f93946a87d1e8bb1a6634b55 - md5: 112b71b6af28b47c624bcbeefeea685b - depends: - - freetype >=2.12.1,<3.0a0 - - libexpat >=2.6.3,<3.0a0 - - libgcc >=13 - - libuuid >=2.38.1,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 277832 - timestamp: 1730284967179 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.17.1-hba86a56_0.conda - sha256: 835aff8615dd8d8fff377679710ce81b8a2c47b6404e21a92fb349fda193a15c - md5: 0fed1ff55f4938a65907f3ecf62609db - depends: - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libuuid >=2.41.3,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 279044 - timestamp: 1771382728182 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.1-h8af1aa0_0.conda - sha256: 9f8de35e95ce301cecfe01bc9d539c7cc045146ffba55efe9733ff77ad1cfb21 - md5: 0c8f36ebd3678eed1685f0fc93fc2175 - depends: - - libfreetype 2.14.1 h8af1aa0_0 - - libfreetype6 2.14.1 hdae7a39_0 - license: GPL-2.0-only OR FTL - size: 173174 - timestamp: 1757945489158 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.2-h8af1aa0_0.conda - sha256: ecbe6e811574fba5194b29ac3a2badea5eaa060bd9fe7f5bd48a70d16ef38e5a - md5: 9cb47d7bbb36646c44d7cf1cb8047887 - depends: - - libfreetype 2.14.2 h8af1aa0_0 - - libfreetype6 2.14.2 hdae7a39_0 - license: GPL-2.0-only OR FTL - size: 173437 - timestamp: 1772756019067 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda - sha256: 1bfcd715bcb49a0b22d5d1899a22c6ff884b06f8e141eb746f3949752469a422 - md5: f3ac54914f7d3e1d68cb8d891765e5f9 - depends: - - libgcc >=14 - license: LGPL-2.1-or-later - size: 62909 - timestamp: 1757438620177 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_16.conda - sha256: 7124670911087be385d372979a31afd1e37a9d0e6de3e56efc6b8447aae31c75 - md5: 4f8b33ee4999031fc336eb0d1853a439 - depends: - - gcc_impl_linux-aarch64 15.2.0 habb1d5c_16 - track_features: - - gcc_no_conda_specs - license: BSD-3-Clause - license_family: BSD - size: 29174 - timestamp: 1765257473532 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_18.conda - sha256: 0bd812fcf81d866d75eca0fd759b001f0f39601d0f8ea9b7a888b47719491de9 - md5: e4c2c2d15fc780407d7012a529aa7d23 + - cuda-python >=13.2.0,<13.3.0a0 + - cuda-cudart >=13,<14.0a0 + license: LicenseRef-NVIDIA-SOFTWARE-LICENSE + purls: + - pkg:pypi/cuda-bindings?source=hash-mapping + size: 3866781 + timestamp: 1779249873318 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-bindings-13.2.0-py312hc128f0a_1.conda + sha256: 31113f2c14b5e549aa59863f711890e9bf442defd7af3bd6ff192ec96e5dcdf1 + md5: a17fac259dd34ef9ee1f508933614967 depends: - - gcc_impl_linux-aarch64 15.2.0 hcedddb3_18 - track_features: - - gcc_no_conda_specs - license: BSD-3-Clause - license_family: BSD - size: 29408 - timestamp: 1771378529822 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda - sha256: cd23829b5fb7f3ff5f44eab2da1a993e06bdf759b681a0a7a73bb5783755b6b3 - md5: 66dfb62e7a47e2b511f9c5ee0ff1abf3 + - cuda-nvrtc >=13,<14.0a0 + - cuda-nvvm-impl >=13,<14.0a0 + - cuda-pathfinder >=1.1.0,<2 + - cuda-version >=13,<14.0a0 + - libnvfatbin + - libnvjitlink >=13.0,<14.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - cuda-python >=13.2.0,<13.3.0a0 + - cuda-cudart >=13,<14.0a0 + license: LicenseRef-NVIDIA-SOFTWARE-LICENSE + purls: + - pkg:pypi/cuda-bindings?source=hash-mapping + size: 3509245 + timestamp: 1779249639234 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-12.9.27-ha770c72_0.conda + sha256: 2ee3b9564ca326226e5cda41d11b251482df8e7c757e333d28ec75213c75d126 + md5: 87ff6381e33b76e5b9b179a2cdd005ec depends: - - binutils_impl_linux-aarch64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_linux-aarch64 15.2.0 h55c397f_119 - - libgomp >=15.2.0 - - libsanitizer 15.2.0 he19c465_19 - - libstdcxx >=15.2.0 - - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_119 - - sysroot_linux-aarch64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 73237372 - timestamp: 1778268860495 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-habb1d5c_16.conda - sha256: 9b7e56534fa3029e0caf6dbbf4daa2d567e630672f977f01ad0c356933fb1b0d - md5: af391ca6347927b4e067a8be221d1b3a + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1150650 + timestamp: 1746189825236 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda + sha256: 51106d05567031d9b10a26bcaea95022c9ae91ce44758df5dec86d46985bef61 + md5: c7aab5efb8e8151a038f9eb271f23dcf depends: - - binutils_impl_linux-aarch64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_linux-aarch64 15.2.0 h55c397f_116 - - libgomp >=15.2.0 - - libsanitizer 15.2.0 he19c465_16 - - libstdcxx >=15.2.0 - - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_116 - - sysroot_linux-aarch64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 74461928 - timestamp: 1765257095042 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-hcedddb3_18.conda - sha256: 12919d985a6c6787872699c7a3c295dad07f4084f2d850e9c7fe592ee0a6806b - md5: 761a75d8c098913bc1186b26588051e0 + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1475805 + timestamp: 1782773759292 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-12.9.27-h579c4fd_0.conda + sha256: b4efaee8fa95b9ec97a462dc343914a138ece704895e33caa52ac55968f7adfa + md5: 71e4d87a72bf003bd05f05a502288b2a depends: - - binutils_impl_linux-aarch64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_linux-aarch64 15.2.0 h55c397f_118 - - libgomp >=15.2.0 - - libsanitizer 15.2.0 he19c465_18 - - libstdcxx >=15.2.0 - - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_118 - - sysroot_linux-aarch64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 73516504 - timestamp: 1771378256368 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_linux-aarch64-15.2.0-h0bf4bd8_27.conda - sha256: 2450913611189cc3c26062a43a97a93501159335d4d314cca5e2678fb5f4d3b6 - md5: 619b8a05f89220fa8c9536dcfeeddd5b - depends: - - gcc_impl_linux-aarch64 15.2.0.* - - binutils_linux-aarch64 - - sysroot_linux-aarch64 - license: BSD-3-Clause - license_family: BSD - run_exports: - strong: - - libgcc >=15 - size: 29074 - timestamp: 1781279974207 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.4-h90308e0_0.conda - sha256: 78a1d69c3d0da73b4d54a35001abd4e273605180d21365b4f31e9a241d9fb715 - md5: 4c8c0d2f7620467869d41f29304362dc - depends: - - libgcc >=14 - - libglib >=2.86.0,<3.0a0 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - - libpng >=1.6.50,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - size: 580454 - timestamp: 1761083738779 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.5-h90308e0_1.conda - sha256: aa95b37da0750fb93c5eeef79073b9b0d50976fa0dc02ed0301ff7bbbfc7ff36 - md5: c75ae103325db056719dd51d6525e1cd + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1149299 + timestamp: 1746189919921 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.4.1-h579c4fd_0.conda + sha256: 2f9d85d0297b0c461518e5665351d73ffc5f7c9e2aa8b6e3e1cd9498bdd31cd0 + md5: 29bc81fe5927466cd27f2e1151e8502a depends: - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - size: 584221 - timestamp: 1771532437279 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.1.0-hd1da3a6_0.conda - sha256: 1c26a898409377b4dcd0d5e26c2a5735b0178b2adcc543aeef3550d4e56a08ea - md5: 4b5eeb76eee40ba958b8f2e97088aaa7 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1480995 + timestamp: 1782773779842 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-12.9.27-h57928b3_0.conda + sha256: 681eb1d9afd596e04329a82b04734c0e37c6ecb94b3380f3a378d61983e2a8cc + md5: 8f897dca7111f3bb4ded97ba6947b186 depends: - - libgcc >=14 - - libstdcxx >=14 - - spirv-tools >=2025,<2026.0a0 - license: BSD-3-Clause - license_family: BSD - size: 1308404 - timestamp: 1764720598114 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.2.0-h124e036_1.conda - sha256: a1c0db6c226b9d80e74bdd49f604eece637489c8c71e6ae63ada8db9e2359944 - md5: 3ead7f968b529f76f972621558ed2f68 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1139649 + timestamp: 1746189858434 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.4.1-h57928b3_0.conda + sha256: cc1524d3d25991ba509aa36b43c9b30ac1cde43820a4b318dbdd729e0ff029fe + md5: 64ff59f43bc9a8838324c8527d4d509d depends: - - libgcc >=14 - - libstdcxx >=14 - - spirv-tools >=2026,<2027.0a0 - license: BSD-3-Clause - license_family: BSD - size: 1348415 - timestamp: 1770195275881 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda - sha256: a5e341cbf797c65d2477b27d99091393edbaa5178c7d69b7463bb105b0488e69 - md5: 7cbfb3a8bb1b78a7f5518654ac6725ad + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1467923 + timestamp: 1782773832153 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-12.9.86-ha770c72_2.conda + sha256: e6257534c4b4b6b8a1192f84191c34906ab9968c92680fa09f639e7846a87304 + md5: 79d280de61e18010df5997daea4743df depends: - - libgcc-ng >=12 - - libstdcxx-ng >=12 - license: GPL-2.0-or-later OR LGPL-3.0-or-later - size: 417323 - timestamp: 1718980707330 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.14-hfae3067_2.conda - sha256: c9b1781fe329e0b77c5addd741e58600f50bef39321cae75eba72f2f381374b7 - md5: 4aa540e9541cc9d6581ab23ff2043f13 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 94239 + timestamp: 1753975242354 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.73-ha770c72_0.conda + sha256: 94894c81f0257fc8a7daee9e18f885ce5e26adf1494e05b57ffb0660d59096cd + md5: 05b21494055e653903a447c506e091c8 depends: - - libgcc >=14 - - libstdcxx >=14 - license: LGPL-2.0-or-later - license_family: LGPL - size: 102400 - timestamp: 1755102000043 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/greenlet-3.3.2-py312hf55c4e8_0.conda - sha256: 0680f4359f6ae4eecd78f07f460b9bc284789df6859967d64a4eca0c25140b0b - md5: 2af59fcde8a95b7eb9f4f101ec3d3fcd + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 116550 + timestamp: 1782782846502 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-12.9.86-h579c4fd_2.conda + sha256: 1db1f3ff4b0f445ce4064eb323733f7612ce28bc879dd6849e162b1504b7474a + md5: 86be43a4154301b74f823bc6fe476629 depends: - - python - - libgcc >=14 - - libstdcxx >=14 - - python 3.12.* *_cpython - - python_abi 3.12.* *_cp312 - license: MIT - license_family: MIT - purls: - - pkg:pypi/greenlet?source=hash-mapping - size: 259597 - timestamp: 1771658392329 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_16.conda - sha256: 9cc1f68089e1ffd2a38999db424ea41dc25f1c00c09ddd4416a83e80564f2aef - md5: 1fe2507cac92f7b68a77ad8478a4be7a - depends: - - gcc 15.2.0 h24a549f_16 - - gxx_impl_linux-aarch64 15.2.0 h03e2352_16 - license: BSD-3-Clause - license_family: BSD - size: 28544 - timestamp: 1765257509084 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_18.conda - sha256: 98dbcbe55acce3bbd2a3f05d053f4b78530b44dc5595809d97c0c01315dd9df3 - md5: 838a8d3cc9ba3711bfcc831e64a19e1f - depends: - - gcc 15.2.0 h24a549f_18 - - gxx_impl_linux-aarch64 15.2.0 h03e2352_18 - license: BSD-3-Clause - license_family: BSD - size: 28780 - timestamp: 1771378557194 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_16.conda - sha256: 64eb3ff50a4c5a3f85c62aeb289d897a411ef5f5fdd5784dede18f52426155c2 - md5: f1f0e9c2459ee137fd2d0280f08d7e93 - depends: - - gcc_impl_linux-aarch64 15.2.0 habb1d5c_16 - - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_116 - - sysroot_linux-aarch64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 14627102 - timestamp: 1765257416069 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_18.conda - sha256: 1f3a0ce17bd6f9549fbbb154f18b06af705d5cb6acc876b21cd9a538e501ff82 - md5: d2b287619afd562f882f2fccfd0be03a - depends: - - gcc_impl_linux-aarch64 15.2.0 hcedddb3_18 - - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_118 - - sysroot_linux-aarch64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 15371317 - timestamp: 1771378487467 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda - sha256: afb0fc36b93539a8e43a8063c8d3e1b4bace38a5a0c3c9e1978c72792d633c62 - md5: 7214ae8a8aade7b48a2bfd8bbb4d9e79 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 94794 + timestamp: 1753975199249 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.73-h579c4fd_0.conda + sha256: f7c7c73110c0d762030165b634eafbd921200d982ee3c34d42021838bee544dc + md5: 802c7fb645cef271966164736a763523 depends: - - gcc_impl_linux-aarch64 15.2.0 h3530432_19 - - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_119 - - sysroot_linux-aarch64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 14640001 - timestamp: 1778269082840 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_linux-aarch64-15.2.0-h7e4acf5_27.conda - sha256: f4bc63d467e2c48c255bc8d2886fb11f6a8d09c1251a6f5b25628abee1768693 - md5: ea51d6df068bee183ff667f75bfdc2f6 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 116641 + timestamp: 1782782854071 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-12.9.86-h57928b3_2.conda + sha256: 2fccde18cafec3cdb6697f37c576567ac623dc69531e2a81bbc83d8a86a82d1f + md5: 569c55bd368307e48191a2ed54c64428 depends: - - gxx_impl_linux-aarch64 15.2.0.* - - gcc_linux-aarch64 ==15.2.0 h0bf4bd8_27 - - binutils_linux-aarch64 - - sysroot_linux-aarch64 - license: BSD-3-Clause - license_family: BSD - run_exports: - strong: - - libstdcxx >=15 - - libgcc >=15 - size: 27620 - timestamp: 1781279974207 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-12.2.0-he4899c9_0.conda - sha256: 5cfd74a3fbce0921af5beff93a3fe7edc5b1344d9b9668b2de1c1be932b54993 - md5: 1437bf9690976948f90175a65407b65f + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 95452 + timestamp: 1753975640812 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.73-h57928b3_0.conda + sha256: b1e55dca7962c05b3ed28025c4e650bcf11b6e775c374fe98f8bc58699b02baf + md5: 653dd441bddb625b0f12adfdf846cc14 depends: - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=75.1,<76.0a0 - - libexpat >=2.7.1,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libglib >=2.86.1,<3.0a0 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 2156041 - timestamp: 1762376447693 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-12.3.0-h1134a53_0.conda - sha256: c44b58ee4dc453469a1659c5e4c4fe306a0da65d4f7247e6df6de1cf4e607342 - md5: 60d635185d9c39e6c8dbd1771e6c7267 + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 116958 + timestamp: 1782782896721 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-12.9.79-h5888daf_0.conda + sha256: 57d1294ecfaf9dc8cdb5fc4be3e63ebc7614538bddb5de53cfd9b1b7de43aed5 + md5: cb15315d19b58bd9cd424084e58ad081 depends: - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libglib >=2.86.3,<3.0a0 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 2454001 - timestamp: 1766941218362 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-13.1.0-h1134a53_0.conda - sha256: 49074457bdc624c0c0f39bb4b9b7689ec6334127ed7d5312484908f48e9a8e20 - md5: 811bb5384d92870a3492fab4de4ff3f6 + - __glibc >=2.17,<3.0.a0 + - cuda-cudart_linux-64 12.9.79 h3f2d84a_0 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23242 + timestamp: 1749218416505 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda + sha256: 3d74819f261d77a410e8f8ddbd973446c312ec76605d60619d9b85113eca9632 + md5: 3fc21c99786b908fd7f32ea279fc9780 depends: - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.2,<79.0a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 + - __glibc >=2.17,<3.0.a0 + - cuda-cudart_linux-64 13.3.29 h376f20c_0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 2346492 - timestamp: 1773222371375 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-75.1-hf9b3779_0.conda - sha256: 813298f2e54ef087dbfc9cc2e56e08ded41de65cff34c639cc8ba4e27e4540c9 - md5: 268203e8b983fddb6412b36f2024e75c + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24659 + timestamp: 1779898425780 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-12.9.79-h3ae8b8a_0.conda + sha256: 3d6699fc27ffabf28a9d359b48e7b88437e4d945844718a58608627998db5d1b + md5: df78e19e5fe656631d1470aa0fcf6ced depends: - - libgcc-ng >=12 - - libstdcxx-ng >=12 - license: MIT - license_family: MIT - size: 12282786 - timestamp: 1720853454991 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.1-hb1525cb_0.conda - sha256: 550c581d08eefe420f9ed14148f1c1d59a3e33de78806a1b8d610d207d06374c - md5: 5eba836ceb0cccf969d9518ca884de2a + - arm-variant * sbsa + - cuda-cudart_linux-aarch64 12.9.79 h3ae8b8a_0 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23466 + timestamp: 1749218349235 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda + sha256: 7b02fe40d6a503f42e4ffe83bf2512876c7e4eb5374199b03045b0e17e14ec6f + md5: 8daff8683cfa57366f88b5a980d4bd03 depends: + - arm-variant * sbsa + - cuda-cudart_linux-aarch64 13.3.29 h8f3c8d4_0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - license: MIT - license_family: MIT - size: 12835377 - timestamp: 1766304007889 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.2-hcab7f73_0.conda - sha256: dcbaa3042084ac58685e3ef4547e4c4be9d37dc52b92ea18581288af95e48b52 - md5: 998ee7d53e32f7ab57fc35707285527e + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24782 + timestamp: 1779898439985 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-12.9.79-he0c23c2_0.conda + sha256: a30cd9adf3a70d069d4d87c5728ec16778b77071629612ca5d8513cd92d89c09 + md5: 0a243d4f000a0d2f51dd94ee9132b234 depends: - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 12851689 - timestamp: 1772208964788 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_0.conda - sha256: 49ba6aed2c6b482bb0ba41078057555d29764299bc947b990708617712ef6406 - md5: 546da38c2fa9efacf203e2ad3f987c59 + - cuda-cudart_win-64 12.9.79 he0c23c2_0 + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 170799 + timestamp: 1749218946117 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-13.3.29-hac47afa_0.conda + sha256: c1d2727ec436cdc324d4c3e5d8256ea8bc0f9a8793773033021e5476533de719 + md5: a527f7cd2eec390cc8700a0e1878a954 depends: - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - purls: [] - size: 12837286 - timestamp: 1773822650615 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda - sha256: ba4e1acdaf6c66961d6a1863c10851dde2378fa18af48de0156b9874556ca438 - md5: da55da4ed68dcac1ce28faa0a3450b65 + - cuda-cudart_win-64 13.3.29 hac47afa_0 + - cuda-version >=13.3,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 215494 + timestamp: 1779898489923 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-12.9.79-h5888daf_0.conda + sha256: 04d8235cb3cb3510c0492c3515a9d1a6053b50ef39be42b60cafb05044b5f4c6 + md5: ba38a7c3b4c14625de45784b773f0c71 + depends: + - __glibc >=2.17,<3.0.a0 + - cuda-cudart 12.9.79 h5888daf_0 + - cuda-cudart-dev_linux-64 12.9.79 h3f2d84a_0 + - cuda-cudart-static 12.9.79 h5888daf_0 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23687 + timestamp: 1749218464010 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-13.3.29-hecca717_0.conda + sha256: 050ac942737f501b5dee21c0bbfa77f4617c52269f188ab66a5e2b8b7acd0f22 + md5: e21171cc900f202b2af82f1afddbdfcf depends: + - __glibc >=2.17,<3.0.a0 + - cuda-cudart 13.3.29 hecca717_0 + - cuda-cudart-dev_linux-64 13.3.29 h376f20c_0 + - cuda-cudart-static 13.3.29 hecca717_0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - license: MIT - run_exports: - weak: - - icu >=78.3,<79.0a0 - size: 12870753 - timestamp: 1784588696185 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda - sha256: 5ce830ca274b67de11a7075430a72020c1fb7d486161a82839be15c2b84e9988 - md5: e7df0aab10b9cbb73ab2a467ebfaf8c7 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 25129 + timestamp: 1779898446163 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-12.9.79-h3ae8b8a_0.conda + sha256: d70f85411992e03494f2fe94a9852d79f366a92f40ba791611eda5551044afe9 + md5: d58cc487273764a11637456c06399ff0 depends: + - arm-variant * sbsa + - cuda-cudart 12.9.79 h3ae8b8a_0 + - cuda-cudart-dev_linux-aarch64 12.9.79 h3ae8b8a_0 + - cuda-cudart-static 12.9.79 h3ae8b8a_0 + - cuda-version >=12.9,<12.10.0a0 - libgcc >=13 - license: LGPL-2.1-or-later - purls: [] - size: 129048 - timestamp: 1754906002667 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-hfd895c2_0.conda - sha256: b53999d888dda53c506b264e8c02b5f5c8e022c781eda0718f007339e6bc90ba - md5: d9ca108bd680ea86a963104b6b3e95ca + - libstdcxx >=13 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23911 + timestamp: 1749218369632 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-13.3.29-h8f3c8d4_0.conda + sha256: 3ac23580a5152826def6f4ef8767ad24f38433ff47d85d8d971b9b67ee192e02 + md5: ce781c2e7b35de72a2b002d58f2e0d8f depends: - - keyutils >=1.6.3,<2.0a0 - - libedit >=3.1.20250104,<3.2.0a0 - - libedit >=3.1.20250104,<4.0a0 + - arm-variant * sbsa + - cuda-cudart 13.3.29 h8f3c8d4_0 + - cuda-cudart-dev_linux-aarch64 13.3.29 h8f3c8d4_0 + - cuda-cudart-static 13.3.29 h8f3c8d4_0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - - openssl >=3.5.5,<4.0a0 - license: MIT - license_family: MIT - purls: [] - size: 1517436 - timestamp: 1769773395215 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 - sha256: 2502904a42df6d94bd743f7b73915415391dd6d31d5f50cb57c0a54a108e7b0a - md5: ab05bcf82d8509b4243f07e93bada144 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 25269 + timestamp: 1779898455527 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-12.9.79-he0c23c2_0.conda + sha256: 1ee68f0ffd37889f0fc438d4da7124054b124632e1c3bc15950b9851b002473e + md5: e5bb074108bc2501f8374e80748aa181 depends: - - libgcc-ng >=12 - license: LGPL-2.0-only - license_family: LGPL - size: 604863 - timestamp: 1664997611416 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45-default_h1979696_104.conda - sha256: 7a13072581fa23f658a04f62f62c4677c57d3c9696fbc01cc954a88fc354b44d - md5: 28035705fe0c977ea33963489cd008ad + - cuda-cudart 12.9.79 he0c23c2_0 + - cuda-cudart-dev_win-64 12.9.79 he0c23c2_0 + - cuda-cudart-static 12.9.79 he0c23c2_0 + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23222 + timestamp: 1749219022963 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-13.3.29-hac47afa_0.conda + sha256: 035d753771cb6736724ae08d0f4f1bb2886c590d7e06f303eb3ef47c15d39e7e + md5: b654d915abbee1382e58e49db9884f8e depends: - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-aarch64 2.45 - license: GPL-3.0-only - license_family: GPL - size: 875534 - timestamp: 1764007911054 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45-default_h1979696_105.conda - sha256: 12e7341b89e9ea319a3b4de03d02cd988fa02b8a678f4e46779515009b5e475c - md5: 849c4cbbf8dd1d71e66c13afed1d2f12 + - cuda-cudart 13.3.29 hac47afa_0 + - cuda-cudart-dev_win-64 13.3.29 hac47afa_0 + - cuda-cudart-static 13.3.29 hac47afa_0 + - cuda-version >=13.3,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24489 + timestamp: 1779898504358 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-12.9.79-h3f2d84a_0.conda + sha256: ffe86ed0144315b276f18020d836c8ef05bf971054cf7c3eb167af92494080d5 + md5: 86e40eb67d83f1a58bdafdd44e5a77c6 depends: - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-aarch64 2.45 - license: GPL-3.0-only - license_family: GPL - size: 876257 - timestamp: 1766513180236 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_101.conda - sha256: 44527364aa333be631913451c32eb0cae1e09343827e9ce3ccabd8d962584226 - md5: 35b2ae7fadf364b8e5fb8185aaeb80e5 + - cuda-cccl_linux-64 + - cuda-cudart-static_linux-64 + - cuda-cudart_linux-64 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 389140 + timestamp: 1749218427266 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda + sha256: d95f1b404119e3f72edb7ac5dbd4443e2d7d040f7d68c3905c0dd7ad78f11311 + md5: 4165013e8d24dd61774458e6f2e36c32 depends: - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-aarch64 2.45.1 - license: GPL-3.0-only - license_family: GPL - size: 875924 - timestamp: 1770267209884 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_102.conda - sha256: 7abd913d81a9bf00abb699e8987966baa2065f5132e37e815f92d90fc6bba530 - md5: a21644fc4a83da26452a718dc9468d5f + - cuda-cccl_linux-64 + - cuda-cudart-static_linux-64 + - cuda-cudart_linux-64 + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 405020 + timestamp: 1779898430134 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-12.9.79-h3ae8b8a_0.conda + sha256: ad64a1ecfc933172dbc6407d71b1abb78dc7ffcd5cc871baee238350307a7c0c + md5: 60e07c05a51d5549bec1e7ee38849feb depends: - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-aarch64 2.45.1 - license: GPL-3.0-only - license_family: GPL - purls: [] - size: 875596 - timestamp: 1774197520746 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - sha256: 2c4901f4227b0850328ed0c69f958b30ad2cd18982f7a31c7c1f911827004d08 - md5: 489444d0acb2a579d2a002d85a08c059 + - arm-variant * sbsa + - cuda-cccl_linux-aarch64 + - cuda-cudart-static_linux-aarch64 + - cuda-cudart_linux-aarch64 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 388797 + timestamp: 1749218354725 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda + sha256: 4e15b3a139285d1e86691d5987e7bf4b9e8cbce1df0af206e0c95299a8015644 + md5: f3855f0a74455604f9950bf91ce6d846 depends: - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-aarch64 2.46.1 - license: GPL-3.0-only - license_family: GPL - run_exports: {} - size: 905305 - timestamp: 1784214534868 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.0.0-hfdc4d58_1.conda - sha256: f01df5bbf97783fac9b89be602b4d02f94353f5221acfd80c424ec1c9a8d276c - md5: 60dceb7e876f4d74a9cbd42bbbc6b9cf + - arm-variant * sbsa + - cuda-cccl_linux-aarch64 + - cuda-cudart-static_linux-aarch64 + - cuda-cudart_linux-aarch64 + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 403650 + timestamp: 1779898443931 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-12.9.79-he0c23c2_0.conda + sha256: e022d36a333420130faf6473c49f8dab54bf976cf320577ffb06db0a0797b734 + md5: 3c3e2f6b5455783fd332a072d632ea78 depends: - - libgcc >=13 - - libstdcxx >=13 - license: Apache-2.0 - license_family: Apache - size: 227184 - timestamp: 1745265544057 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda - sha256: 8957fd460c1c132c8031f65fd5f56ec3807fd71b7cab2c5e2b0937b13404ab36 - md5: d13423b06447113a90b5b1366d4da171 + - cuda-cccl_win-64 + - cuda-cudart-static_win-64 + - cuda-cudart_win-64 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1190184 + timestamp: 1749218971019 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-13.3.29-hac47afa_0.conda + sha256: f77605b230a88d089e4294b9b4d650dd4ec4841a0bec9f528b6b4a736299dcb1 + md5: d387bc63f2d520cb434489e41a33614d depends: - - libgcc >=14 - - libstdcxx >=14 - license: Apache-2.0 - license_family: Apache - size: 240444 - timestamp: 1773114901155 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20250512.1-cxx17_h201e9ed_0.conda - sha256: 28bb0a5f3177bb3b45a89d309b93bef65645671d1c97ae7bbcfa74481bf33f3c - md5: 4db30fe7ba05e2ce66595ed646064861 + - cuda-cccl_win-64 + - cuda-cudart-static_win-64 + - cuda-cudart_win-64 + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1548117 + timestamp: 1779898493787 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-12.9.79-h5888daf_0.conda + sha256: 6261e1d9af80e1ec308e3e5e2ff825d189ef922d24093beaf6efca12e67ce060 + md5: d3c4ac48f4967f09dd910d9c15d40c81 depends: + - __glibc >=2.17,<3.0.a0 + - cuda-cudart-static_linux-64 12.9.79 h3f2d84a_0 + - cuda-version >=12.9,<12.10.0a0 - libgcc >=13 - libstdcxx >=13 - constrains: - - abseil-cpp =20250512.1 - - libabseil-static =20250512.1=cxx17* - license: Apache-2.0 - license_family: Apache - size: 1327580 - timestamp: 1750194149128 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260107.1-cxx17_h6983b43_0.conda - sha256: 37675140819e10235a8ff342cb09f688f843ac390b64856d8e230700bbd7d5aa - md5: 2a19160c13e688710dd200812fc9a6d3 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23283 + timestamp: 1749218442382 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-13.3.29-hecca717_0.conda + sha256: e2596138baef66e9b7fa08329e944d3ef8cca7c3d2da28d32bc37ff7e4801d1a + md5: 3a99ba2e09c508fd8b8b0eaf6d37a376 depends: + - __glibc >=2.17,<3.0.a0 + - cuda-cudart-static_linux-64 13.3.29 h376f20c_0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - constrains: - - abseil-cpp =20260107.1 - - libabseil-static =20260107.1=cxx17* - license: Apache-2.0 - license_family: Apache - size: 1401836 - timestamp: 1770863223557 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.4-hcfe818d_0.conda - sha256: cb19ad0b8f9cb469c78d26af9c49c790e5f746bb8a348ec10b681a98f05d1dc7 - md5: 8df67d209c9f7e8d40281a4ebf8ffd6d + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24626 + timestamp: 1779898435744 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-12.9.79-h3ae8b8a_0.conda + sha256: dac33edcebbf557563a41521f67961039186efbc276903d937b32243ef3be937 + md5: 365adcddf99b81eb323698fda31d507c depends: + - arm-variant * sbsa + - cuda-cudart-static_linux-aarch64 12.9.79 h3ae8b8a_0 + - cuda-version >=12.9,<12.10.0a0 - libgcc >=13 - - libiconv >=1.18,<2.0a0 - - harfbuzz >=11.0.1 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libzlib >=1.3.1,<2.0a0 - license: ISC - size: 171287 - timestamp: 1749328949722 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-5_haddc8a3_openblas.conda - build_number: 5 - sha256: 700f3c03d0fba8e687a345404a45fbabe781c1cf92242382f62cef2948745ec4 - md5: 5afcea37a46f76ec1322943b3c4dfdc0 - depends: - - libopenblas >=0.3.30,<0.3.31.0a0 - - libopenblas >=0.3.30,<1.0a0 - constrains: - - mkl <2026 - - libcblas 3.11.0 5*_openblas - - liblapack 3.11.0 5*_openblas - - liblapacke 3.11.0 5*_openblas - - blas 2.305 openblas - license: BSD-3-Clause - license_family: BSD - size: 18369 - timestamp: 1765818610617 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-6_haddc8a3_openblas.conda - build_number: 6 - sha256: 7374c744c37786bfa4cfd30bbbad13469882e5d9f32ed792922b447b7e369554 - md5: 652bb20bb4618cacd11e17ae070f47ce - depends: - - libopenblas >=0.3.32,<0.3.33.0a0 - - libopenblas >=0.3.32,<1.0a0 - constrains: - - blas 2.306 openblas - - mkl <2026 - - liblapack 3.11.0 6*_openblas - - liblapacke 3.11.0 6*_openblas - - libcblas 3.11.0 6*_openblas - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 18682 - timestamp: 1774503047392 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda - sha256: 5fa8c163c8d776503aa68cdaf798ff9440c76a0a1c3ea84e0c43dbf1ece8af4d - md5: 8ec1d03f3000108899d1799d9964f281 - depends: - - libgcc >=14 - license: MIT - license_family: MIT - size: 80030 - timestamp: 1764017273715 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda - sha256: 494365e8f58799ea95a6e82334ef696e9c2120aecd6626121694b30a15033301 - md5: 47e5b71b77bb8b47b4ecf9659492977f - depends: - - libbrotlicommon 1.2.0 he30d5cf_1 - - libgcc >=14 - license: MIT - license_family: MIT - size: 33166 - timestamp: 1764017282936 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.2.0-he30d5cf_1.conda - sha256: f998c03257b9aa1f7464446af2cf424862f0e54258a2a588309853e45ae771df - md5: 6553a5d017fe14859ea8a4e6ea5def8f - depends: - - libbrotlicommon 1.2.0 he30d5cf_1 - - libgcc >=14 - license: MIT - license_family: MIT - size: 309304 - timestamp: 1764017292044 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.77-h68e9139_0.conda - sha256: 154eefd8f94010d89ba76a057949b9b1f75c7379bd0d19d4657c952bedcf5904 - md5: 10fe36ec0a9f7b1caae0331c9ba50f61 - depends: - - attr >=2.5.1,<2.6.0a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - size: 108542 - timestamp: 1762350753349 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.77-hf9559e3_1.conda - sha256: e04f0c4287362ea2033421c1b516d7d83c308084bcc9483b2e6038ec7c711e0a - md5: bdda58ab0358b0e9ff45fd2503b38410 + - libstdcxx >=13 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23507 + timestamp: 1749218358755 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-13.3.29-h8f3c8d4_0.conda + sha256: 8f83d5e859f3ef949589b4ef2bf1eb0a99d02ad2941c6f9c0a802b96a1d65c25 + md5: a40f6427160d6394dfa189276386be91 depends: + - arm-variant * sbsa + - cuda-cudart-static_linux-aarch64 13.3.29 h8f3c8d4_0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 109458 - timestamp: 1774335293336 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - sha256: 14b6654d942be7a68496d4e52d6aa4e217cf82005a42c20d1880eb473e34eb3a - md5: 1503ce9f8a3df149a33ccd7c300ec1d2 + - libstdcxx >=14 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24786 + timestamp: 1779898447855 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-12.9.79-he0c23c2_0.conda + sha256: 02d3ff9ec59c7f59132ffe9398746ad9422a75706e7cad19acc6c30a5c0fc763 + md5: 718879691b8119c893f587f46c734fca depends: - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - run_exports: - weak: - - libcap >=2.78,<2.79.0a0 - size: 109192 - timestamp: 1775490102029 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-5_hd72aa62_openblas.conda - build_number: 5 - sha256: 3fad5c9de161dccb4e42c8b1ae8eccb33f4ed56bccbcced9cbb0956ae7869e61 - md5: 0b2f1143ae2d0aa4c991959d0daaf256 + - cuda-cudart-static_win-64 12.9.79 he0c23c2_0 + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23249 + timestamp: 1749218998822 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-13.3.29-hac47afa_0.conda + sha256: 685533b8d9b7a65810fd86da7d2c605ddb4ba1270591d7137be995c0dbf4661b + md5: a5a881ac16787902dc51e5d7b6c870c1 depends: - - libblas 3.11.0 5_haddc8a3_openblas - constrains: - - liblapack 3.11.0 5*_openblas - - liblapacke 3.11.0 5*_openblas - - blas 2.305 openblas - license: BSD-3-Clause - license_family: BSD - size: 18371 - timestamp: 1765818618899 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-6_hd72aa62_openblas.conda - build_number: 6 - sha256: 5dd9e872cf8ebd632f31cd3a5ca6d3cb331f4d3a90bfafbe572093afeb77632b - md5: 939e300b110db241a96a1bed438c315b - depends: - - libblas 3.11.0 6_haddc8a3_openblas - constrains: - - blas 2.306 openblas - - liblapack 3.11.0 6*_openblas - - liblapacke 3.11.0 6*_openblas - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 18689 - timestamp: 1774503058069 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.14.1.1-had8bf56_1.conda - sha256: fbc1fa6b3ddf946b2999c9820310682739505df71e1e2ac513a72efb951fa3e5 - md5: ee136db5a5409dddc78eaf7658fccffe + - cuda-cudart-static_win-64 13.3.29 hac47afa_0 + - cuda-version >=13.3,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24488 + timestamp: 1779898500699 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-12.9.79-h3f2d84a_0.conda + sha256: d435f8a19b59b52ce460ee3a6bfd877288a0d1d645119a6ba60f1c3627dc5032 + md5: b87bf315d81218dd63eb46cc1eaef775 depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - cuda-version >=12.9,<12.10.0a0 - - libgcc >=14 - - libstdcxx >=14 - - rdma-core >=59.0 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 909365 - timestamp: 1761098964619 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.0.66-h4243460_0.conda - sha256: 46bd414aaac6274db9118965459a173f8339529c6d0fda53d2e167579cee1ce0 - md5: cc1766bf438c27f357c37bf0869686f1 + size: 1148889 + timestamp: 1749218381225 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda + sha256: fa920f2c2154ea2ace2d55457e43af8e7bfc2c94fa5ec7276792ad411d1011d1 + md5: 7d4fe2a79d971522b3ad68b772c197eb depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - - rdma-core >=61.0 - constrains: + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1126340 + timestamp: 1779898412056 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-12.9.79-h3ae8b8a_0.conda + sha256: d4be038bad9abf0eac1e88dc57c8db6a469db8eb5d7c281085dfbb018ef84212 + md5: 52498fedeb43bbd4c45f84a0fb722d21 + depends: - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - size: 998160 - timestamp: 1779897582676 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda - sha256: 71af687b188c5028d0788d7916adb3f80568d766bf3380b71b600f246d1b9021 - md5: 547968e609a6c1f038fd18a318f3268c + size: 1152498 + timestamp: 1749218333554 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda + sha256: efccfa33242cc65deb11312f46244da2e07ba8332352d31f0565e8243215fe09 + md5: 464a04d3d8ffcba349f4e21553dfbcdd depends: - - __glibc >=2.28,<3.0.a0 - arm-variant * sbsa - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - - rdma-core >=63.0 - constrains: - - arm-variant * sbsa license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 997204 - timestamp: 1782772368681 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-dev-1.14.1.1-he38c790_1.conda - sha256: 1d20ed52cd0a08fae11bdfba5762c50864651860f0d9f02ecf0eaed37a573a83 - md5: 7c4d86e9dd8643ed77ba3c918637bb3e + size: 1133087 + timestamp: 1779898428591 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-12.9.79-he0c23c2_0.conda + sha256: 6a3410cd7ce07955cb705801055ef129ebee1cd6390c6fe9e5f607b67c3dba36 + md5: 0dd152a1493d90356037604a865f050f depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - cuda-version >=12.9,<12.10.0a0 - - libcufile 1.14.1.1 had8bf56_1 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - libcufile-static >=1.14.1.1 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - libcufile >=1.14.1.1,<2.0a0 - size: 36798 - timestamp: 1761098993768 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-dev-1.18.1.6-he38c790_0.conda - sha256: 701b3a1c883d7237a2794a2fc827cb1823e78c0a797e61d0966178f7781db579 - md5: 9661321dc5fc9bea9ca2bdd960bc7b25 + size: 354611 + timestamp: 1749218544740 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-13.3.29-hac47afa_0.conda + sha256: c837c4eaadbca4426f93ff99b4a0f05ca199f0fb43ec0eac4bd30a2cec4257d0 + md5: 999b16444442cf6d914cecef070d13de depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - cuda-version >=13.3,<13.4.0a0 - - libcufile 1.18.1.6 h42688b2_0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - arm-variant * sbsa - - libcufile-static >=1.18.1.6 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - libcufile >=1.18.1.6,<2.0a0 - size: 43934 - timestamp: 1782772385341 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda - sha256: 48814b73bd462da6eed2e697e30c060ae16af21e9fbed30d64feaf0aad9da392 - md5: a9138815598fe6b91a1d6782ca657b0c - depends: - - libgcc >=14 - license: MIT - license_family: MIT - size: 71117 - timestamp: 1761979776756 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.125-he30d5cf_1.conda - sha256: 4e6cdb5dd37db794b88bec714b4418a0435b04d14e9f7afc8cc32f2a3ced12f2 - md5: 2079727b538f6dd16f3fa579d4c3c53f + size: 83026 + timestamp: 1779898478182 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-12.9.79-h3f2d84a_0.conda + sha256: 6cde0ace2b995b49d0db2eefb7bc30bf00ffc06bb98ef7113632dec8f8907475 + md5: 64508631775fbbf9eca83c84b1df0cae depends: - - libgcc >=14 - - libpciaccess >=0.18,<0.19.0a0 - license: MIT - license_family: MIT - size: 344548 - timestamp: 1757212128414 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda - sha256: c0b27546aa3a23d47919226b3a1635fccdb4f24b94e72e206a751b33f46fd8d6 - md5: fb640d776fc92b682a14e001980825b1 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 197249 + timestamp: 1749218394213 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda + sha256: a86028f94acf37b17ca2280734ae9dcc407cdf68a9c400102d323a3b15e52f0b + md5: 10949c6dfe9157fedb19170bd6e0b835 depends: - - ncurses - - libgcc >=13 - - ncurses >=6.5,<7.0a0 - license: BSD-2-Clause - license_family: BSD - purls: [] - size: 148125 - timestamp: 1738479808948 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_2.conda - sha256: 8962abf38a58c235611ce356b9899f6caeb0352a8bce631b0bcc59352fda455e - md5: cf105bce884e4ef8c8ccdca9fe6695e7 + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 206064 + timestamp: 1779898416941 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-12.9.79-h3ae8b8a_0.conda + sha256: 4900ff2f000a4f8a70a7bc8576469640aa6590618fa9e73c84e066e025dcb760 + md5: cc2459ad427431e089d78d760cf24437 depends: - - libglvnd 1.7.0 hd24410f_2 - license: LicenseRef-libglvnd - size: 53551 - timestamp: 1731330990477 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.3-hfae3067_0.conda - sha256: cc2581a78315418cc2e0bb2a273d37363203e79cefe78ba6d282fed546262239 - md5: b414e36fbb7ca122030276c75fa9c34a + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 212993 + timestamp: 1749218341193 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda + sha256: 15f0614bd0ae66c43148539d1c7cd4bbbd1b13aa14045a2339df5737e3d6e36e + md5: 4a7f98cadd8be6b7dcce34764fb38997 depends: - - libgcc >=14 - constrains: - - expat 2.7.3.* - license: MIT - license_family: MIT - size: 76201 - timestamp: 1763549910086 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.4-hfae3067_0.conda - sha256: 995ce3ad96d0f4b5ed6296b051a0d7b6377718f325bc0e792fbb96b0e369dad7 - md5: 57f3b3da02a50a1be2a6fe847515417d + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 222441 + timestamp: 1779898433566 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-12.9.79-he0c23c2_0.conda + sha256: 6a89a53cdbcfafa0bb55abee1b58492c6a9a28e688abe04f48f0d01649c5f3e4 + md5: 71c9c2ab52226f990f268164381d8494 depends: - - libgcc >=14 - constrains: - - expat 2.7.4.* - license: MIT - license_family: MIT - size: 76564 - timestamp: 1771259530958 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.5-hfae3067_0.conda - sha256: 6d438fc0bfdb263c24654fe49c09b31f06ec78eb709eb386392d2499af105f85 - md5: 05d1e0b30acd816a192c03dc6e164f4d + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23260 + timestamp: 1749218569458 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-13.3.29-hac47afa_0.conda + sha256: 3b858e8593d00fa36a6786d1c3d981369f84ae68d3700349dba4c1e4d779c904 + md5: f0253958e16223aabcc8b5561a6f98a7 depends: - - libgcc >=14 - constrains: - - expat 2.7.5.* - license: MIT - license_family: MIT - purls: [] - size: 76523 - timestamp: 1774719129371 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - sha256: 20a5726bc8705d91437c9e6ef83b30da64a1719b869656d20a1ee818333ea5ac - md5: fac3b65a605cd253037fdf3daf2de8d9 + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24659 + timestamp: 1779898481919 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-12.9.86-hecca717_1.conda + sha256: 68f81268c25befa9b70dc49af469ab0eb131960e3700b9a4edb46a32da343a28 + md5: 53f0062e2243b26e43ddac0b5267c6a3 depends: + - __glibc >=2.17,<3.0.a0 + - cuda-version >=12.9,<12.10.0a0 - libgcc >=14 - constrains: - - expat 2.8.1.* - license: MIT - license_family: MIT - run_exports: {} - size: 77649 - timestamp: 1781203572523 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - sha256: 3df4c539449aabc3443bbe8c492c01d401eea894603087fca2917aa4e1c2dea9 - md5: 2f364feefb6a7c00423e80dcb12db62a + - libstdcxx >=14 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 67168282 + timestamp: 1760723629347 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda + sha256: a70641e7d81694f57c7df46a17b657594393082dad667532c29df9540b7f99ca + md5: 57124a775cb937bb2bfd10f09a230430 depends: + - __glibc >=2.17,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - license: MIT - license_family: MIT + - libstdcxx >=14 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - run_exports: - weak: - - libffi >=3.5.2,<3.6.0a0 - size: 55952 - timestamp: 1769456078358 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-hd65408f_0.conda - sha256: 6c3332e78a975e092e54f87771611db81dcb5515a3847a3641021621de76caea - md5: 0c5ad486dcfb188885e3cf8ba209b97b - depends: - - libgcc >=14 - license: MIT - license_family: MIT - size: 55586 - timestamp: 1760295405021 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libflac-1.5.0-he9c94f4_1.conda - sha256: 175cdc1865c3d6becc87e96bf44010a8e14f3021600ddad59417ed36e677b1ea - md5: cbe37f1d15f60b5e5272955b55b65325 + size: 39254802 + timestamp: 1779897349474 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-12.9.86-h8f3c8d4_1.conda + sha256: e7f8d835d7bf993dcad9fba6db5af89c35b2b4f0282799b729bf6ad2c3bd896d + md5: 48187c09673a42f9930764e8170b8787 depends: + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libogg >=1.3.5,<1.4.0a0 - libstdcxx >=14 - license: BSD-3-Clause - license_family: BSD - size: 397272 - timestamp: 1764526699497 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.1-h8af1aa0_0.conda - sha256: 342c07e4be3d09d04b531c889182a11a488e7e9ba4b75f642040e4681c1e9b98 - md5: 1e61fb236ccd3d6ccaf9e91cb2d7e12d - depends: - - libfreetype6 >=2.14.1 - license: GPL-2.0-only OR FTL - size: 7753 - timestamp: 1757945484817 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.2-h8af1aa0_0.conda - sha256: 23cdb94528bb4328b6f7550906dee5080952354445d8bd96241fa7d059c4af95 - md5: 93bce8dee6a0a4906331db294ec250fe - depends: - - libfreetype6 >=2.14.2 - license: GPL-2.0-only OR FTL - size: 8108 - timestamp: 1772756012710 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.1-hdae7a39_0.conda - sha256: cedc83d9733363aca353872c3bfed2e188aa7caf57b57842ba0c6d2765652b7c - md5: 9c2f56b6e011c6d8010ff43b796aab2f - depends: - - libgcc >=14 - - libpng >=1.6.50,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - freetype >=2.14.1 - license: GPL-2.0-only OR FTL - size: 423210 - timestamp: 1757945484108 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.2-hdae7a39_0.conda - sha256: a2e9efb033f7519bbc0a54558d7c9bb96252adc22c6e09df2daee7615265fbb1 - md5: 69d1cdfdabb66464cbde17890e8be3b9 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 33382016 + timestamp: 1760723722396 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda + sha256: cd16532e362662c88f6bc3b009457b3d36b33ca990f0deabece6def7d44aaa72 + md5: 7147a017b16d0d7c93c53d261e0ef0b6 depends: + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - freetype >=2.14.2 - license: GPL-2.0-only OR FTL - size: 423372 - timestamp: 1772756012086 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_15.conda - sha256: ff184dbe54493b663eab2d62fa0b5a689eb84bec6401fcaeb44265c7f31ae4c6 - md5: cfdf8700e69902a113f2611e3cc09b55 - depends: - - _openmp_mutex >=4.5 - constrains: - - libgcc-ng ==15.2.0=*_15 - - libgomp 15.2.0 h8acb6b2_15 - license: GPL-3.0-only WITH GCC-exception-3.1 - size: 621200 - timestamp: 1764836146613 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_16.conda - sha256: 44bfc6fe16236babb271e0c693fe7fd978f336542e23c9c30e700483796ed30b - md5: cf9cd6739a3b694dcf551d898e112331 - depends: - - _openmp_mutex >=4.5 - constrains: - - libgomp 15.2.0 h8acb6b2_16 - - libgcc-ng ==15.2.0=*_16 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 620637 - timestamp: 1765256938043 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_18.conda - sha256: 43df385bedc1cab11993c4369e1f3b04b4ca5d0ea16cba6a0e7f18dbc129fcc9 - md5: 552567ea2b61e3a3035759b2fdb3f9a6 - depends: - - _openmp_mutex >=4.5 - constrains: - - libgcc-ng ==15.2.0=*_18 - - libgomp 15.2.0 h8acb6b2_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - libstdcxx >=14 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 622900 - timestamp: 1771378128706 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - sha256: 4592b096e553f67799ae70d4b6167eeda3ec74587d68c7aecbf4e7b1df136681 - md5: f35b3f52d0a2ec4ffe3c89ba135cdb9a + size: 37806494 + timestamp: 1779897383028 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-12.9.86-hac47afa_1.conda + sha256: d90ef446ac859db26286a5d39d39333c4e4cee31ba5042b5c7922bd25de531f6 + md5: d68b5d96a53c80dc3dbbd8f7c3b8106d depends: - - _openmp_mutex >=4.5 - constrains: - - libgomp 15.2.0 h8acb6b2_19 - - libgcc-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 622462 - timestamp: 1778268755949 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_15.conda - sha256: 80e6135b5b0083ad6f0f00b8368d666fb148923fe2d3ab7d8cdca3eaf575eeff - md5: ad92990dc6f608f412a01540a7c9510e + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 58467504 + timestamp: 1760723834711 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda + sha256: 7306b27c3a70cf1c35d4d200c1936037c9d6484322a39fac1967439a20585003 + md5: ab010d7a1be0e140b65f6bf8473180fb depends: - - libgcc 15.2.0 h8acb6b2_15 - license: GPL-3.0-only WITH GCC-exception-3.1 - size: 26927 - timestamp: 1764836155568 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_16.conda - sha256: 22d7e63a00c880bd14fbbc514ec6f553b9325d705f08582e9076c7e73c93a2e1 - md5: 3e54a6d0f2ff0172903c0acfda9efc0e + - cuda-version >=13.3,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 35152509 + timestamp: 1779897499641 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-12.9.86-h69a702a_6.conda + sha256: 5c70d91e6d30eb6000ea036558a20fd0b1bc13cdd2c04fd5dbf94d9caa0a7fbc + md5: 704956f67e44ddf046565ead01f9efcd depends: - - libgcc 15.2.0 h8acb6b2_16 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27356 - timestamp: 1765256948637 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_18.conda - sha256: 83bb0415f59634dccfa8335d4163d1f6db00a27b36666736f9842b650b92cf2f - md5: 4feebd0fbf61075a1a9c2e9b3936c257 + - cuda-nvvm-dev_linux-64 12.9.86.* + - cuda-nvvm-impl 12.9.86.* + - cuda-nvvm-tools 12.9.86.* + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 25475 + timestamp: 1771619493286 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.73-h69a702a_0.conda + sha256: d57adacdd922ee66e1b8c15aa07a7555819a24a6286f7e748d12018dad51141e + md5: 4e0f9af8d9a275dbd97763eeb50f4d7b depends: - - libgcc 15.2.0 h8acb6b2_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 27568 - timestamp: 1771378136019 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_16.conda - sha256: 02fa489a333ee4bb5483ae6bf221386b67c25d318f2f856237821a7c9333d5be - md5: 776cca322459d09aad229a49761c0654 + - cuda-nvvm-dev_linux-64 13.3.73.* + - cuda-nvvm-impl 13.3.73.* + - cuda-nvvm-tools 13.3.73.* + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24732 + timestamp: 1782788494281 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-12.9.86-he9431aa_106.conda + sha256: 97bf1688e3847090d1c4193c39ca575a67e2183d0c20ddf8bcedc0f9d9528bbc + md5: 8ace2a8121a5f733a902822290aae11c depends: - - libgfortran5 15.2.0 h1b7bec0_16 - constrains: - - libgfortran-ng ==15.2.0=*_16 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27314 - timestamp: 1765256989755 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_18.conda - sha256: 7dcd7dff2505d56fd5272a6e712ec912f50a46bf07dc6873a7e853694304e6e4 - md5: 41f261f5e4e2e8cbd236c2f1f15dae1b + - cuda-nvvm-dev_linux-aarch64 12.9.86.* + - cuda-nvvm-impl 12.9.86.* + - cuda-nvvm-tools 12.9.86.* + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 25585 + timestamp: 1771619514901 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.73-he9431aa_0.conda + sha256: aaa45b15436cf0fe279efeddb0c8456ecbfe7b9a269ae01de725af22e88e29c2 + md5: 6b2562f71c917867830ebec5899d0aff depends: - - libgfortran5 15.2.0 h1b7bec0_18 - constrains: - - libgfortran-ng ==15.2.0=*_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 27587 - timestamp: 1771378169244 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_16.conda - sha256: bde541944566254147aab746e66014682e37a259c9a57a0516cf5d05ec343d14 - md5: 87b4ffedaba8b4d675479313af74f612 + - cuda-nvvm-dev_linux-aarch64 13.3.73.* + - cuda-nvvm-impl 13.3.73.* + - cuda-nvvm-tools 13.3.73.* + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24930 + timestamp: 1782788514971 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-12.9.86-h719f0c7_6.conda + sha256: 020a5bb67a35654f391d21b170ba763f95b7f133fec5678d69e676559dcd5653 + md5: b162c7fb8b19f9102bd5f801d7f58ca2 depends: - - libgcc >=15.2.0 - constrains: - - libgfortran 15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 1485817 - timestamp: 1765256963205 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_18.conda - sha256: 85347670dfb4a8d4c13cd7cae54138dcf2b1606b6bede42eef5507bf5f9660c6 - md5: 574d88ce3348331e962cfa5ed451b247 + - cuda-nvvm-dev_win-64 12.9.86.* + - cuda-nvvm-impl 12.9.86.* + - cuda-nvvm-tools 12.9.86.* + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 26007 + timestamp: 1771619504675 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.73-h719f0c7_0.conda + sha256: 0695be0be2ef990ad821d4f1e481c275c717fd77f790a9fca50557771d1c3da4 + md5: 681a2be43dcc68156ed403872cefa25e depends: - - libgcc >=15.2.0 - constrains: - - libgfortran 15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 1486341 - timestamp: 1771378148102 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_2.conda - sha256: 3e954380f16255d1c8ae5da3bd3044d3576a0e1ac2e3c3ff2fe8f2f1ad2e467a - md5: 0d00176464ebb25af83d40736a2cd3bb - depends: - - libglvnd 1.7.0 hd24410f_2 - - libglx 1.7.0 hd24410f_2 - license: LicenseRef-libglvnd - size: 145442 - timestamp: 1731331005019 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.86.3-hf53f6bf_0.conda - sha256: 35f4262131e4d42514787fdc3d45c836e060e18fcb2441abd9dd8ecd386214f4 - md5: f226b9798c6c176d2a94eea1350b3b6b + - cuda-nvvm-dev_win-64 13.3.73.* + - cuda-nvvm-impl 13.3.73.* + - cuda-nvvm-tools 13.3.73.* + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 25400 + timestamp: 1782788559176 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-12.9.86-ha770c72_2.conda + sha256: 522722dcaffd133e0c7500c69dc70e21ac34d6762dcbaabfe847439f944028f0 + md5: 7b386291414c7eea113d25ac28a33772 depends: - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 - constrains: - - glib 2.86.3 *_0 - license: LGPL-2.1-or-later - size: 4041779 - timestamp: 1765221790843 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.86.4-hf53f6bf_1.conda - sha256: afc503dbd04a5bf2709aa9d8318a03a8c4edb389f661ff280c3494bfef4341ec - md5: 4ac4372fc4d7f20630a91314cdac8afd + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27096 + timestamp: 1753975261562 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda + sha256: 64859da589e9d4512b564d813273407b30a4213238f787ef958b84a7960cf469 + md5: ad71cad219a0ba0234e5592a279e8b3f depends: - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 - constrains: - - glib 2.86.4 *_1 - license: LGPL-2.1-or-later - size: 4512186 - timestamp: 1771863220969 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_2.conda - sha256: 57ec3898a923d4bcc064669e90e8abfc4d1d945a13639470ba5f3748bd3090da - md5: 9e115653741810778c9a915a2f8439e7 - license: LicenseRef-libglvnd - size: 152135 - timestamp: 1731330986070 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_2.conda - sha256: 6591af640cb05a399fab47646025f8b1e1a06a0d4bbb4d2e320d6629b47a1c61 - md5: 1d4269e233636148696a67e2d30dad2a + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27969 + timestamp: 1782782853086 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-12.9.86-h579c4fd_2.conda + sha256: 5f27299818ecef44d6cf46a99465671744f6074c14618b5f8491a03a62942a7f + md5: c59b036058d7bf78ac0a99618c321e85 depends: - - libglvnd 1.7.0 hd24410f_2 - - xorg-libx11 >=1.8.9,<2.0a0 - license: LicenseRef-libglvnd - size: 77736 - timestamp: 1731330998960 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_15.conda - sha256: d76cbb7e76af310828c74396a78c59a3b305431da25c9337e420bb441d2e8ca0 - md5: 0719da240fd6086c34c4c30080329806 - license: GPL-3.0-only WITH GCC-exception-3.1 - size: 587301 - timestamp: 1764836050907 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_16.conda - sha256: 0a9d77c920db691eb42b78c734d70c5a1d00b3110c0867cfff18e9dd69bc3c29 - md5: 4d2f224e8186e7881d53e3aead912f6c - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 587924 - timestamp: 1765256821307 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_18.conda - sha256: fc716f11a6a8525e27a5d332ef6a689210b0d2a4dd1133edc0f530659aa9faa6 - md5: 4faa39bf919939602e594253bd673958 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 588060 - timestamp: 1771378040807 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - sha256: 2370ef0ffcbae5bede3c4bf136add4abc257245eb91f724c99bb4a43116c5a83 - md5: c5e8a379c4a2ec2aea4ba22758c001d9 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: - strong: - - _openmp_mutex >=4.5 - size: 587387 - timestamp: 1778268674393 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.12.1-default_ha470c98_1003.conda - sha256: f0d2fdf4480bac454ac4585fbb8283dde72b8140e6767f9f0009bbf4aedd2db6 - md5: da82e5681665613cd336ee8a7b7b87de + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27218 + timestamp: 1753975206503 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.73-h579c4fd_0.conda + sha256: 38718cc1669374cbc6442d727c0fa7f90d9a5d11c4c8d32ea75da309d28eadb1 + md5: 8326b68628d6d40a0cab0f6751d6a6d8 depends: - - libgcc >=14 - - libstdcxx >=14 - - libxml2 - - libxml2-16 >=2.14.6 - license: BSD-3-Clause - license_family: BSD - size: 2465783 - timestamp: 1765090029212 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.12.2-default_ha470c98_1000.conda - sha256: e87cf64d87c7706403507df7329f5b597c3b487f4c72ef53ef899e38983ea70e - md5: c8b05c85ae962a993d9b7d6c9d10571e + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27935 + timestamp: 1782782857355 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-12.9.86-h57928b3_2.conda + sha256: 455dbf0ec81efdbd40c0387d82c77689721f6d34b6e7694ca0d51bad9392eddc + md5: 23f7e70c03eabd2139b5e659c8e188b4 depends: - - libgcc >=14 - - libstdcxx >=14 - - libxml2 - - libxml2-16 >=2.14.6 - license: BSD-3-Clause - license_family: BSD - size: 2467105 - timestamp: 1765103804193 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.3.0-h81d0cf9_1.conda - sha256: a6a441692b27606f8ef64ee9e6a0c72c615c2e25b01c282ee080ee8f97861943 - md5: d5b93534e24e7c15792b3f336c52af07 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27284 + timestamp: 1753975714790 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.73-h57928b3_0.conda + sha256: 400fa3aa271496bd173a3bb93a0ec8819fc73c795223156b14dcab9a7d0a7fda + md5: 7ff0ccae277707c5cb50965f84fee4e0 depends: - - libgcc >=14 - - libstdcxx >=14 - license: Apache-2.0 OR BSD-3-Clause - size: 1180000 - timestamp: 1758894754411 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda - sha256: 1473451cd282b48d24515795a595801c9b65b567fe399d7e12d50b2d6cdb04d9 - md5: 5a86bf847b9b926f3a4f203339748d78 + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27987 + timestamp: 1782782907080 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-12.9.86-h4bc722e_2.conda + sha256: f4d34556174e4faa9d374ba2244707082870e1bbc1bb441ad3d9d2cea37da6af + md5: 82125dd3c0c4aa009faa00e2829b93d8 depends: - - libgcc >=14 - license: LGPL-2.1-only - size: 791226 - timestamp: 1754910975665 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.2-he30d5cf_0.conda - sha256: 84064c7c53a64291a585d7215fe95ec42df74203a5bf7615d33d49a3b0f08bb6 - md5: 5109d7f837a3dfdf5c60f60e311b041f + - __glibc >=2.17,<3.0.a0 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 21425520 + timestamp: 1753975283188 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda + sha256: 41f356d6c38af4d2be789b13697469eb2eb61fc7aaf2765ae8dc5845587a36f7 + md5: e9fa0c38f175daa97354d21e74603588 depends: - - libgcc >=14 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib - size: 691818 - timestamp: 1762094728337 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.11.2-h71be66a_0.conda - sha256: 880d6a176e0fed5f3a8b1db034f6ee59dab1622d0ab03ea1298ddd9d42f6fa5d - md5: 0f640337bf465aa7b663a6ba399d4fc4 + - __glibc >=2.17,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 + - libgcc >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 22429305 + timestamp: 1782782861319 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-12.9.86-h7b14b0b_2.conda + sha256: 100accfc6f608004ddef4b9004ee5179eddbac19e7d5c4c7bd5e6e8b71bd7c5d + md5: 8e9fceb7b677be7107cc9c20f8d71d86 depends: - - libgcc >=14 - - libstdcxx >=14 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - - libhwy >=1.3.0,<1.4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 1489440 - timestamp: 1770801995062 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-5_h88aeb00_openblas.conda - build_number: 5 - sha256: 692222d186d3ffbc99eaf04b5b20181fd26aee1edec1106435a0a755c57cce86 - md5: 88d1e4133d1182522b403e9ba7435f04 - depends: - - libblas 3.11.0 5_haddc8a3_openblas - constrains: - - liblapacke 3.11.0 5*_openblas - - blas 2.305 openblas - - libcblas 3.11.0 5*_openblas - license: BSD-3-Clause - license_family: BSD - size: 18392 - timestamp: 1765818627104 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-6_h88aeb00_openblas.conda - build_number: 6 - sha256: 67472a3cb761ff95527387ea0367883a22f9fbda1283b9880e5ad644fafd0735 - md5: e23a27b52fb320687239e2c5ae4d7540 - depends: - - libblas 3.11.0 6_haddc8a3_openblas - constrains: - - blas 2.306 openblas - - liblapacke 3.11.0 6*_openblas - - libcblas 3.11.0 6*_openblas - license: BSD-3-Clause - license_family: BSD + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 21601172 + timestamp: 1753975236344 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda + sha256: a41e62f9f3e6887a57c7e3c747b8762c60279b34e51b356df2474c0852e3cd24 + md5: 9163c2edad94dc8f1e194c41351eb383 + depends: + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 + - libgcc >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 18702 - timestamp: 1774503068721 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.1-h86ecc28_2.conda - sha256: 498ea4b29155df69d7f20990a7028d75d91dbea24d04b2eb8a3d6ef328806849 - md5: 7d362346a479256857ab338588190da0 + size: 21565754 + timestamp: 1782782874457 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-12.9.86-h2466b09_2.conda + sha256: 7b995ea653816b129bae6e4ee92898824a39fe82227472537bf75ac6ece7e955 + md5: d8cea7bc32045bde718d0b1ceb595445 depends: - - libgcc >=13 - constrains: - - xz 5.8.1.* - license: 0BSD - size: 125103 - timestamp: 1749232230009 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.2-he30d5cf_0.conda - sha256: 843c46e20519651a3e357a8928352b16c5b94f4cd3d5481acc48be2e93e8f6a3 - md5: 96944e3c92386a12755b94619bae0b35 + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 31168 + timestamp: 1753975780038 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda + sha256: 923a4ce23f1b4c9d733ad3b776de0569d51ec0a036935ee699d136d388684eae + md5: 1218693a2f626407453930c7af8d188d depends: - - libgcc >=14 - constrains: - - xz 5.8.2.* - license: 0BSD + - cuda-version >=13.3,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 125916 - timestamp: 1768754941722 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - sha256: d61962b9cd54c3554361550203c64d5b65b71e3058a285b66e4b04b9769f0a5c - md5: 76298a9e6d71ee6e832a8d0d7373b261 + size: 32375 + timestamp: 1782782913178 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-12.9.86-h4bc722e_2.conda + sha256: 45f5e881ed0d973132a5475a0b5c066db6e748ef3a831a14dba8374b252e0067 + md5: f9af26e4079adcd72688a8e8dbecb229 depends: - - libgcc >=14 - constrains: - - xz 5.8.3.* - license: 0BSD - run_exports: - weak: - - liblzma >=5.8.3,<6.0a0 - size: 126102 - timestamp: 1775828008518 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-h86ecc28_0.conda - sha256: ef8697f934c80b347bf9d7ed45650928079e303bad01bd064995b0e3166d6e7a - md5: 78cfed3f76d6f3f279736789d319af76 + - __glibc >=2.17,<3.0.a0 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24246736 + timestamp: 1753975332907 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.73-h4bc722e_0.conda + sha256: f853f097a67a197608fafc193ab877393c7735b1da2364572172cc9eff262775 + md5: d5c9cf56873f461074420e70970604a9 depends: - - libgcc >=13 - license: BSD-2-Clause - license_family: BSD - size: 114064 - timestamp: 1748393729243 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - sha256: 57c0dd12d506e84541c4e877898bd2a59cca141df493d34036f18b2751e0a453 - md5: 7b9813e885482e3ccb1fa212b86d7fd0 + - __glibc >=2.17,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 + - libgcc >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 29734373 + timestamp: 1782782895477 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-12.9.86-h7b14b0b_2.conda + sha256: f5cf91e491e150e37cd224fa648c07f6b1cd2cbfee5affba10625df7ba0b0425 + md5: 9a35dcda5573a713183f5159ec282364 depends: - - libgcc >=14 - license: BSD-2-Clause - license_family: BSD - run_exports: {} - size: 114056 - timestamp: 1769482343003 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - sha256: 2e603bf640738511faf80de284daa031f0e67de66b77bed7d0da1045ef062abf - md5: bb24d3dd7d028b70f0bb5f6d6e1329c0 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24411824 + timestamp: 1753975273689 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.73-h7b14b0b_0.conda + sha256: f96eb5d7c663c501a6e254e03818fa52f177dfd3a3a969a5ec71144787a95128 + md5: 9b78eff3eff8405a3c3c02ab47268409 depends: - - libgcc >=13 - license: LGPL-2.1-or-later - license_family: LGPL - purls: [] - run_exports: - weak: - - libnl >=3.11.0,<4.0a0 - size: 768716 - timestamp: 1731846931826 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h86ecc28_1.conda - sha256: c0dc4d84198e3eef1f37321299e48e2754ca83fd12e6284754e3cb231357c3a5 - md5: d5d58b2dc3e57073fe22303f5fed4db7 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 + - libgcc >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 29030637 + timestamp: 1782782902389 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-12.9.86-h2466b09_2.conda + sha256: 5692a559206420f77e376a598329db966da762ad574866f9cc80a447d26ac49c + md5: 25e269101d3eb39715a48998bc04289e depends: - - libgcc >=13 - license: LGPL-2.1-only - license_family: GPL - purls: [] - size: 34831 - timestamp: 1750274211000 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-12.9.82-h8f3c8d4_1.conda - sha256: 049ef83fb49c800369a410a9b27287aca2364ebdb6263d553db09f0b45aac3b5 - md5: f7ebe6ae68c9722674d3474110eae245 + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 40286977 + timestamp: 1753975898550 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.73-h2466b09_0.conda + sha256: b06b40a782cae69f4c208bb64a83da6603d83b3ea7eb4b77a70d806189dedb98 + md5: 119e34d79508b512d33235312fdaff7d + depends: + - cuda-version >=13.3,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 45302858 + timestamp: 1782782927290 +- conda: ../cuda_pathfinder + name: cuda-pathfinder + version: 1.5.6 + build: pyh4616a5c_0 + subdir: noarch + variants: + target_platform: noarch + depends: + - python >=3.10 + - python * + license: Apache-2.0 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.6.0-pyhc364b38_0.conda + sha256: a949bc139e9bc53d9d6dd0fe18b587f3ed49e870fe5994c7b6ae424d698f00cd + md5: d154eea5563eb45f05031ef90fed6518 + depends: + - python >=3.10 + - cuda-version >=12.0,<14 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/cuda-pathfinder?source=hash-mapping + size: 46398 + timestamp: 1784649204190 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-12.9.79-h7938cbb_1.conda + sha256: 4f679dfbf2bf2d17abb507f31b0176c0e3572337b5005b9e36179948a53988ac + md5: 90d09865fb37d11d510444e34ebe6a09 depends: - - arm-variant * sbsa + - cuda-cudart-dev - cuda-version >=12.9,<12.10.0a0 - - libgcc >=14 - - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 770989 - timestamp: 1761098866337 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_0.conda - sha256: a811726bc62a3e1952672aa0917166f8123e0ff2c182b9346384f8e962184530 - md5: 3ace0e6476f8c17381dc3b391c3c5049 + size: 23668 + timestamp: 1761098836058 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-13.3.27-h7938cbb_0.conda + sha256: 716eb13fe58332ed1d5079edae720177da0aeb3bb51cb5a05072385faa8dd704 + md5: a251ae89c6c9a7f5e8a39adc9a3041bd depends: - - arm-variant * sbsa + - cuda-cudart-dev - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - constrains: + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 25007 + timestamp: 1779913616712 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-12.9.79-h16bee8c_1.conda + sha256: 6fa8a4d4548b114acd3c9849b65b5d9fcf1ca8f39cd2b792ce5167a51955100c + md5: 875bfddc9855f12e9f518ef8e44c2d85 + depends: - arm-variant * sbsa + - cuda-cudart-dev + - cuda-version >=12.9,<12.10.0a0 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 459700 - timestamp: 1779897643320 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_1.conda - sha256: 5a5f13012bde038ad880d7af1514cc9fb6aa50dbffd69ab57e9b20914a3a5e59 - md5: c27b87f23e6381ebbb7f899bdfbe159c + size: 23784 + timestamp: 1761098779882 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-13.3.27-h16bee8c_0.conda + sha256: edee9a24047014874cb0b324702967f7a99c0b209bee96544eb84de8714a3306 + md5: a2ea427fd6a0c3fc57d32e541b13f912 depends: - arm-variant * sbsa + - cuda-cudart-dev - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 constrains: - arm-variant * sbsa license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 458764 - timestamp: 1782920269581 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-12.9.86-h8f3c8d4_2.conda - sha256: d5ff36f46250069a23b18d557052c6656f40a002333885e8c5332071e873b48e - md5: e318a6573fea150226d5f417d1c0807a + size: 25101 + timestamp: 1779913642980 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-12.9.79-h57928b3_1.conda + sha256: e2ea70bfd20decd9e8401b5388693e1fd8e25a120580338a22b8b890f4933520 + md5: 57d6f85f552878de71f8136cc6d2ab16 depends: - - arm-variant * sbsa - - cuda-version >=12,<12.10.0a0 - - libgcc >=14 - - libstdcxx >=14 + - cuda-cudart-dev + - cuda-version >=12.9,<12.10.0a0 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 30323952 - timestamp: 1760723774770 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda - sha256: 4b1519898eceba923e11b5ae3588af886ce57a7ba3336ffd900320dfe156e457 - md5: cb19b7f9f8c0b6ee98e8a390b54c5a92 + size: 24150 + timestamp: 1761098813665 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-13.3.27-h57928b3_0.conda + sha256: 51e619f0151a0b109671abfc6daa7761e17054f7d570c2e50dc7141745dd633c + md5: 024766ae1ca6cbe87200bf11d9643039 depends: - - arm-variant * sbsa - - cuda-version >=13,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 + - cuda-cudart-dev + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 25690 + timestamp: 1779913686281 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda + sha256: 5f5f428031933f117ff9f7fcc650e6ea1b3fef5936cf84aa24af79167513b656 + md5: b6d5d7f1c171cbd228ea06b556cfa859 constrains: - - arm-variant * sbsa + - cudatoolkit 12.9|12.9.* + - __cuda >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 21578 + timestamp: 1746134436166 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + sha256: bd8ee668f416bdd0f6548b2413550ae83d3834665a5be869a2daf99233ec526e + md5: 0fd72afdcc74560b80eb74b78767c454 + constrains: + - __cuda >=13 + - cudatoolkit 13.3|13.3.* license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - run_exports: {} - size: 29975854 - timestamp: 1779897817336 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda - sha256: 2c1b7c59badc2fd6c19b6926eabfce906c996068d38c2972bd1cfbe943c07420 - md5: 319df383ae401c40970ee4e9bc836c7a + size: 22083 + timestamp: 1779891651771 +- conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhcf101f3_2.conda + sha256: bb47aec5338695ff8efbddbc669064a3b10fe34ad881fb8ad5d64fbfa6910ed1 + md5: 4c2a8fef270f6c69591889b93f9f55c1 depends: - - libgcc >=13 + - python >=3.10 + - python license: BSD-3-Clause license_family: BSD - size: 220653 - timestamp: 1745826021156 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.30-pthreads_h9d3fd7e_4.conda - sha256: 794a7270ea049ec931537874cd8d2de0ef4b3cef71c055cfd8b4be6d2f4228b0 - md5: 11d7d57b7bdd01da745bbf2b67020b2e + size: 14778 + timestamp: 1764466758386 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cyrus-sasl-2.1.28-hac629b4_1.conda + sha256: 7684da83306bb69686c0506fb09aa7074e1a55ade50c3a879e4e5df6eebb1009 + md5: af491aae930edc096b58466c51c4126c depends: - - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - constrains: - - openblas >=0.3.30,<0.3.31.0a0 - license: BSD-3-Clause + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=13 + - libntlm >=1.8,<2.0a0 + - libstdcxx >=13 + - libxcrypt >=4.4.36 + - openssl >=3.5.5,<4.0a0 + license: BSD-3-Clause-Attribution license_family: BSD - size: 4959359 - timestamp: 1763114173544 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.32-pthreads_h9d3fd7e_0.conda - sha256: 51fcf5eb1fc43bfeca5bf3aa3f51546e92e5a92047ba47146dcea555142e30f8 - md5: 5d2ce5cf40443d055ec6d33840192265 + size: 210103 + timestamp: 1771943128249 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cyrus-sasl-2.1.28-h6598af7_1.conda + sha256: 0606296a3b0cc757229dd97db8c6dc0f77e54f975f89ae63c36fb01e2a2abe61 + md5: f4fbf4001970e3e58984281a12c99969 depends: - - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - constrains: - - openblas >=0.3.32,<0.3.33.0a0 - license: BSD-3-Clause + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=13 + - libntlm + - libstdcxx >=13 + - libxcrypt >=4.4.36 + - openssl >=3.5.5,<4.0a0 + license: BSD-3-Clause-Attribution license_family: BSD - purls: [] - size: 5122134 - timestamp: 1774471612323 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2025.2.0-hcd21e76_1.conda - sha256: f5c7a24d9918b1f637ca11a7c0b5594e14469ccc5b1f3bafcd248df252d2bdfb - md5: 76baf6bb7a63e310210d91595e245d24 + size: 224450 + timestamp: 1771943147365 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py312h68e6be4_0.conda + sha256: 66b599f2bcd23ebcf6616947ec43e9f4d8d1d4f91462ebb9545d847d8d40013e + md5: 72177815525d6c5e684fc3ea3978b9c7 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2021.13.0 - size: 5535917 - timestamp: 1753203182299 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.0.0-h1915271_1.conda - sha256: 6f8558cc4ee4d490db88640e71d3f79fa7552701d91c09ad6f1371dadb9bd3f1 - md5: c8ff442d02723939711a726d9ff71eac + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/cython?source=hash-mapping + size: 3752839 + timestamp: 1782821659817 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda + sha256: f0210259007f573e38f7b8037be9b36e53aa0906b786e9f1f931e0a24f8a18e6 + md5: 0e6a14f60b561b2fff81d325b4dc8283 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 license: Apache-2.0 license_family: APACHE - size: 5742222 - timestamp: 1772721263739 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2025.2.0-hcd21e76_1.conda - sha256: 018a0ea563bc2e91efee8a07f7b2ff769cd66d03d1c466c8bb7407075023ac85 - md5: 794c3f49774bd710aec2b0602ae38313 + size: 3819412 + timestamp: 1782821647528 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py312hbda70bc_0.conda + sha256: 8e82a6164887243b8e1b2065cacdd0caff29abf8205aa0473476c4fb20da917c + md5: 57c5731af8ac35cdb4d767975d2a4357 depends: - libgcc >=14 - - libopenvino 2025.2.0 hcd21e76_1 - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2021.13.0 - size: 9257629 - timestamp: 1753203203327 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.0.0-h1915271_1.conda - sha256: 8fff4375f324bdf8a3fe20c489710b692340007b7af2da1d14f6832990c24891 - md5: ef26404d824453138bf0a12a8bb033df + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/cython?source=hash-mapping + size: 3657323 + timestamp: 1782821628383 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda + sha256: 4add54f62b3fbdc7f8e1238f5e5990e16a561bed33d18e3dbc1db1d4f6cf8572 + md5: c8ec76477232c7e59f68545a1b4fb8ea depends: - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + size: 3747072 + timestamp: 1782821625037 +- conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py312hd245ac3_0.conda + sha256: 5f01023be770526fa98f429405efb5027e4c51747181c18905e8fff05091fe43 + md5: 9a08c4b3f82b0fc612a38bce9aa7a4ca + depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: APACHE - size: 10237615 - timestamp: 1772721303162 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2025.2.0-h3890994_1.conda - sha256: 59a159c547fca34e8a0c600fcca428793da2ad4ecef0f47b58f1ea16d756c521 - md5: ad9768777a654205fa46aed8a829bd7e + purls: + - pkg:pypi/cython?source=hash-mapping + size: 3299961 + timestamp: 1782821762725 +- conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda + sha256: 8900c3a11e71521ed7400265a36686c4ed3973b937658c1f58cc74b707a1c173 + md5: 596f6f1a842a246dbe778dce002d0ca5 + depends: + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + size: 3338147 + timestamp: 1782821777709 +- conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda + sha256: 22053a5842ca8ee1cf8e1a817138cdb5e647eb2c46979f84153f6ad7bde73020 + md5: 418c6ca5929a611cbd69204907a83995 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 760229 + timestamp: 1685695754230 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda + sha256: 33fe66d025cf5bac7745196d1a3dd7a437abcf2dbce66043e9745218169f7e17 + md5: 6e5a87182d66b2d1328a96b61ca43a62 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 347363 + timestamp: 1685696690003 +- conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda + sha256: 2aa2083c9c186da7d6f975ccfbef654ed54fff27f4bc321dbcd12cee932ec2c4 + md5: ed2c27bda330e3f0ab41577cf8b9b585 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: BSD-2-Clause + license_family: BSD + size: 618643 + timestamp: 1685696352968 +- conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda + sha256: 8bb557af1b2b7983cf56292336a1a1853f26555d9c6cecf1e5b2b96838c9da87 + md5: ce96f2f470d39bd96ce03945af92e280 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 + - libglib >=2.86.2,<3.0a0 + - libexpat >=2.7.3,<3.0a0 + license: AFL-2.1 OR GPL-2.0-or-later + size: 447649 + timestamp: 1764536047944 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda + sha256: 3af801577431af47c0b72a82bb93c654f03072dece0a2a6f92df8a6802f52a22 + md5: a4b6b82427d15f0489cef0df2d82f926 + depends: + - libstdcxx >=14 + - libgcc >=14 + - libglib >=2.86.2,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - libexpat >=2.7.3,<3.0a0 + license: AFL-2.1 OR GPL-2.0-or-later + size: 480416 + timestamp: 1764536098891 +- conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py312h8285ef7_0.conda + sha256: b8dbe25820064a099f315bbb8f45f5bac3fddb63e96af3cbf0c93a830733ef34 + md5: e6778419a1851f6e15820558abddfa04 depends: + - python + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libopenvino 2025.2.0 hcd21e76_1 - libstdcxx >=14 - - tbb >=2021.13.0 - size: 111599 - timestamp: 1753203233477 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.0.0-h3d5001d_1.conda - sha256: da7926f66318e539c9f20c2f5f3719a5ba663c6b9d5471e5223d290450219748 - md5: 5e984d6405a8f8529d7429f28a7f285e + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/debugpy?source=compressed-mapping + size: 2821960 + timestamp: 1780390159181 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/debugpy-1.8.21-py312hf55c4e8_0.conda + sha256: 9d8a3442fae659629980c972b5f7ba8c2d339d233bd1de38ae72faf244cdc3a9 + md5: 228761e2c5f069dc8445337bd4abe097 depends: + - python - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 + - python 3.12.* *_cpython - libstdcxx >=14 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 111064 - timestamp: 1772721336786 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2025.2.0-h3890994_1.conda - sha256: 3353f616cf72dad02d974698a74fa89eb5ff1beeaa64cebcdd1f87c52d2a0516 - md5: 4cec7bb2362ece08d0d1799f1ed4fbe7 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/debugpy?source=compressed-mapping + size: 2791691 + timestamp: 1780390168122 +- conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.21-py312ha1a9051_0.conda + sha256: a41f403ca4b7b0c001140ac7a39fce1c0494ba95e8359f7a47590ed4377728a2 + md5: 5628287239c9ef6df2d66dc143f7c8dd + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/debugpy?source=hash-mapping + size: 3995148 + timestamp: 1780390185301 +- conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + sha256: 430bd9d731b265f0bedb3183ac3ecfaa1656390c092b6e864ff8cc1229843c8c + md5: 61dcf784d59ef0bd62c57d982b154ace + depends: + - python >=3.10 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/decorator?source=compressed-mapping + size: 16102 + timestamp: 1779115228886 +- conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.6.0-pyhd8ed1ab_0.conda + sha256: 446d5d68b2e76ed4afbd23fdde580b242e4fd309006fc246181437942ef1fac7 + md5: 788c6a27890b964b6980d062d593c5da depends: - - libgcc >=14 - - libopenvino 2025.2.0 hcd21e76_1 - - libstdcxx >=14 - - tbb >=2021.13.0 - size: 235379 - timestamp: 1753203244808 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.0.0-h3d5001d_1.conda - sha256: 20f1958e160c64f3d207f1dbdb6960cc5642070a472bebffc0d587b2f6429033 - md5: 573b3f5ec3963e0153501a2676660ee4 + - domdf-python-tools >=2.2.0 + - python >=3.10 + - tinycss2 >=1.2.1 + license: MIT + license_family: MIT + purls: + - pkg:pypi/dict2css?source=hash-mapping + size: 16157 + timestamp: 1779358557191 +- conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda + sha256: fa5966bb1718bbf6967a85075e30e4547901410cc7cb7b16daf68942e9a94823 + md5: 24c1ca34138ee57de72a943237cde4cc depends: - - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libstdcxx >=14 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 236010 - timestamp: 1772721351244 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2025.2.0-he07c6df_1.conda - sha256: 97f6a555d73d96efe26521527ce4e4c6ea49e46d5e5fd07a5e535e7de34bb6b5 - md5: 00d0206cb4358182c856700e1c1dae8b + - python >=3.9 + license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 + purls: + - pkg:pypi/docutils?source=hash-mapping + size: 402700 + timestamp: 1733217860944 +- conda: https://conda.anaconda.org/conda-forge/noarch/domdf-python-tools-3.10.0-pyhff2d567_0.conda + sha256: e7a7121de51caa332e73a0a7345d78fb514a8460311347be5d8eba0738c66c31 + md5: 0254332c3957f0ae09a58670c2d7ea01 depends: - - libgcc >=14 - - libopenvino 2025.2.0 hcd21e76_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - size: 187747 - timestamp: 1753203256494 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.0.0-he07c6df_1.conda - sha256: 3778ea3887c9a9300761e3f39ce86976746a35aa1392a4b76e4e4d3ce9e095b4 - md5: 74bd299545a1fe23439bf6e071ed9710 + - importlib-metadata >=3.6.0 + - importlib-resources >=3.0.0 + - natsort >=7.0.1 + - python >=3.9 + - typing-extensions >=3.7.4.1 + license: MIT + license_family: MIT + purls: + - pkg:pypi/domdf-python-tools?source=hash-mapping + size: 96253 + timestamp: 1739444562482 +- conda: https://conda.anaconda.org/conda-forge/linux-64/double-conversion-3.4.0-hecca717_0.conda + sha256: 40cdd1b048444d3235069d75f9c8e1f286db567f6278a93b4f024e5642cfaecc + md5: dbe3ec0f120af456b3477743ffd99b74 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 - license_family: APACHE - size: 202574 - timestamp: 1772721365749 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2025.2.0-he07c6df_1.conda - sha256: 935341a98e129d3fd792609de5e85b959c3b31661d1a95c2a655771611383a05 - md5: f86c16f077043c9b1e87dbc07bf5ec42 + license: BSD-3-Clause + license_family: BSD + size: 71809 + timestamp: 1765193127016 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/double-conversion-3.4.0-hfae3067_0.conda + sha256: a636dfd17adc2a859cbdfce97e449e338b02a9f099c6dc0941c9f26bf448cca9 + md5: 9fd794eaf983eabf975ead524540b4be depends: - libgcc >=14 - - libopenvino 2025.2.0 hcd21e76_1 - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - size: 195451 - timestamp: 1753203267888 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.0.0-he07c6df_1.conda - sha256: 5d191b9d29fb2bbaca95bcd7325fbc3329c1049eccda4b84cfd79c64d4b6dc83 - md5: 0946447f9717222c95c24f958d73dba9 + license: BSD-3-Clause + license_family: BSD + size: 71905 + timestamp: 1765194538141 +- conda: https://conda.anaconda.org/conda-forge/win-64/double-conversion-3.4.0-hac47afa_0.conda + sha256: 09e30a170e0da3e9847d449b594b5e55e6ae2852edd3a3680e05753a5e015605 + md5: 3d3caf4ccc6415023640af4b1b33060a depends: - - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 - license_family: APACHE - size: 185648 - timestamp: 1772721380070 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2025.2.0-h07d5dce_1.conda - sha256: 576c1ba122fb58d1c0ea6540d5480809196a884d3e56c05ab49b97ccc99e2c90 - md5: f8d90a982f95366614c568eac3157a90 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + size: 70943 + timestamp: 1765193243911 +- conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhcf101f3_1.conda + sha256: 6a9ca88e9cb9410fbc2a3ec8ef8fa691bfd69541b652cd9e6ec1accf02f07cb1 + md5: 2c4a76362cf961db49bc9dbd8707dcef depends: - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libopenvino 2025.2.0 hcd21e76_1 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libstdcxx >=14 - size: 1530030 - timestamp: 1753203281815 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.0.0-h558496d_1.conda - sha256: 9496ef9b24c3dcf3dda58a11360095fdd427d828d33705a1d9b90a4f1a5783c3 - md5: 55e11d3e2f930299df66be96928e432d + - pygments >=2.6.1 + - python >=3.10 + - typing-extensions >=3.7.4.3 + - python + constrains: + - sphinx >=3.4.0 + - sphinx-toolbox >=2.16.0 + license: LGPL-3.0-or-later + license_family: LGPL + purls: + - pkg:pypi/enum-tools?source=hash-mapping + size: 31183 + timestamp: 1777266899521 +- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + sha256: ee6cf346d017d954255bbcbdb424cddea4d14e4ed7e9813e429db1d795d01144 + md5: 8e662bd460bda79b1ea39194e3c4c9ab depends: - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 1665115 - timestamp: 1772721394860 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2025.2.0-h07d5dce_1.conda - sha256: b080ca352d8d4526b73815bdbdb12ba5caf5de4621c10e9ad41eac73a7a6a713 - md5: 098597aa6f19b2851f295f47c7105658 + - python >=3.10 + - typing_extensions >=4.6.0 + license: MIT and PSF-2.0 + purls: + - pkg:pypi/exceptiongroup?source=hash-mapping + size: 21333 + timestamp: 1763918099466 +- conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + sha256: 210c8165a58fdbf16e626aac93cc4c14dbd551a01d1516be5ecad795d2422cad + md5: ff9efb7f7469aed3c4a8106ffa29593c depends: - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libopenvino 2025.2.0 hcd21e76_1 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libstdcxx >=14 - size: 674194 - timestamp: 1753203295461 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.0.0-h558496d_1.conda - sha256: 9e04b6c6b370e46bee7306afc9bc76e725042e981102f4c7b6b697b061c7324a - md5: d26f5d445e0545ce674b11f496dba1a0 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/executing?source=hash-mapping + size: 30753 + timestamp: 1756729456476 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h54862ce_904.conda + sha256: 35accb6f0fe430d89ca22e240ea3c7d964c23acfba637d40807dbf9207c96fbd + md5: 5cfeaeb36151f58c6166eb30eaa7d06a depends: - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 + - __glibc >=2.17,<3.0.a0 + - alsa-lib >=1.2.16.1,<1.3.0a0 + - aom >=3.14.1,<3.15.0a0 + - bzip2 >=1.0.8,<2.0a0 + - dav1d >=1.2.1,<1.2.2.0a0 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + - gmp >=6.3.0,<7.0a0 + - lame >=3.100,<3.101.0a0 + - libass >=0.17.5,<0.17.6.0a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 + - libharfbuzz >=14.2.1 + - libiconv >=1.18,<2.0a0 + - libjxl >=0.12.0,<0.13.0a0 + - liblzma >=5.8.3,<6.0a0 + - libopenvino >=2026.2.1,<2026.2.2.0a0 + - libopenvino-auto-batch-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-auto-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-hetero-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-intel-cpu-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-intel-gpu-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-intel-npu-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-ir-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-onnx-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-paddle-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-pytorch-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-tensorflow-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-tensorflow-lite-frontend >=2026.2.1,<2026.2.2.0a0 + - libopus >=1.6.1,<2.0a0 + - libplacebo >=7.360.1,<7.361.0a0 + - librsvg >=2.62.3,<3.0a0 - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 631754 - timestamp: 1772721411589 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2025.2.0-hfae3067_1.conda - sha256: 0dddd3e274c156a2b8ced3009444d99c04d75ab50a748968b94d3890b6dfab65 - md5: d00d92fbb31f8f9dc2cfb78f44286925 + - libva >=2.24.1,<3.0a0 + - libvorbis >=1.3.7,<1.4.0a0 + - libvpl >=2.16.0,<2.17.0a0 + - libvpx >=1.15.2,<1.16.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - openh264 >=2.6.0,<2.6.1.0a0 + - openssl >=3.5.7,<4.0a0 + - pulseaudio-client >=17.0,<17.1.0a0 + - sdl2 >=2.32.56,<3.0a0 + - shaderc >=2026.3,<2026.4.0a0 + - svt-av1 >=4.2.0,<4.2.1.0a0 + - x264 >=1!164.3095,<1!165 + - x265 >=3.5,<3.6.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + constrains: + - __cuda >=12.8 + license: GPL-2.0-or-later + license_family: GPL + size: 13046477 + timestamp: 1784313887787 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_h1992ac7_904.conda + sha256: 44a1d8beb071b4b14689444df0487bb5c1794ccc33ccb606e91a7153fcabdb5a + md5: d1f5b8f8342d1858f550d86709dd77d6 depends: + - alsa-lib >=1.2.16.1,<1.3.0a0 + - aom >=3.14.1,<3.15.0a0 + - bzip2 >=1.0.8,<2.0a0 + - dav1d >=1.2.1,<1.2.2.0a0 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + - gmp >=6.3.0,<7.0a0 + - lame >=3.100,<3.101.0a0 + - libass >=0.17.5,<0.17.6.0a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 - - libopenvino 2025.2.0 hcd21e76_1 + - libharfbuzz >=14.2.1 + - libiconv >=1.18,<2.0a0 + - libjxl >=0.12.0,<0.13.0a0 + - liblzma >=5.8.3,<6.0a0 + - libopenvino >=2026.2.1,<2026.2.2.0a0 + - libopenvino-arm-cpu-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-auto-batch-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-auto-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-hetero-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-ir-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-onnx-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-paddle-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-pytorch-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-tensorflow-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-tensorflow-lite-frontend >=2026.2.1,<2026.2.2.0a0 + - libopus >=1.6.1,<2.0a0 + - libplacebo >=7.360.1,<7.361.0a0 + - librsvg >=2.62.3,<3.0a0 - libstdcxx >=14 - size: 1123835 - timestamp: 1753203307507 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.0.0-hfae3067_1.conda - sha256: e62d016274d9aeae8033a37cd742162637ca37cd10a5d436934c2709c58240f2 - md5: 0fd361e9e722e741146d818284feca74 + - libvorbis >=1.3.7,<1.4.0a0 + - libvpx >=1.15.2,<1.16.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - openh264 >=2.6.0,<2.6.1.0a0 + - openssl >=3.5.7,<4.0a0 + - pulseaudio-client >=17.0,<17.1.0a0 + - sdl2 >=2.32.56,<3.0a0 + - shaderc >=2026.3,<2026.4.0a0 + - svt-av1 >=4.2.0,<4.2.1.0a0 + - x264 >=1!164.3095,<1!165 + - x265 >=3.5,<3.6.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + constrains: + - __cuda >=12.8 + license: GPL-2.0-or-later + license_family: GPL + size: 12735298 + timestamp: 1784313834215 +- conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_he504192_904.conda + sha256: a31772d389fa14ca3eec690a4f07b8308116302392a48f6affab01cbcaa97e23 + md5: 9a9e4bdb63c2a32c82f97c168c9602a3 depends: - - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 1091266 - timestamp: 1772721428223 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2025.2.0-h38473e3_1.conda - sha256: fcdb5623415c9f5d8c8635f579e5706647e2c97b543ebba621b5b31df096de3d - md5: b42a48c1052c5b576170212c2a834614 + - aom >=3.14.1,<3.15.0a0 + - bzip2 >=1.0.8,<2.0a0 + - dav1d >=1.2.1,<1.2.2.0a0 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + - lame >=4.0,<4.1.0a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libharfbuzz >=14.2.1 + - libiconv >=1.18,<2.0a0 + - libjxl >=0.12.0,<0.13.0a0 + - liblzma >=5.8.3,<6.0a0 + - libopus >=1.6.1,<2.0a0 + - librsvg >=2.62.3,<3.0a0 + - libvorbis >=1.3.7,<1.4.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - openh264 >=2.6.0,<2.6.1.0a0 + - openssl >=3.5.7,<4.0a0 + - sdl2 >=2.32.56,<3.0a0 + - shaderc >=2026.3,<2026.4.0a0 + - svt-av1 >=4.2.0,<4.2.1.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - x264 >=1!164.3095,<1!165 + - x265 >=3.5,<3.6.0a0 + constrains: + - __cuda >=12.8 + license: GPL-2.0-or-later + license_family: GPL + size: 11022986 + timestamp: 1784315529510 +- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.0-pyhd8ed1ab_0.conda + sha256: 6a06e1c22da45e25f757901ffff25906731459109be183319c7f1a5a662c0b9a + md5: ac3366aa3754b212f91588b1ae3e54dc depends: - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libopenvino 2025.2.0 hcd21e76_1 - - libprotobuf >=6.31.1,<6.31.2.0a0 - - libstdcxx >=14 - - snappy >=1.2.2,<1.3.0a0 - size: 1224816 - timestamp: 1753203320621 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.0.0-h2cb6e3c_1.conda - sha256: f4ecfddd9583fa475e2e637ac9226b6ae20482abda53bf4339a29407e6c05cb3 - md5: f2c28f19267bfcdf9ec9ed4406a89d0b + - python >=3.10 + license: Unlicense + purls: + - pkg:pypi/filelock?source=compressed-mapping + size: 77187 + timestamp: 1784663191506 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b + md5: 0c96522c6bdaed4b1566d11387caaf45 + license: BSD-3-Clause + license_family: BSD + size: 397370 + timestamp: 1566932522327 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c + md5: 34893075a5c9e55cdafac56607368fc6 + license: OFL-1.1 + license_family: Other + size: 96530 + timestamp: 1620479909603 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 + md5: 4d59c254e01d9cde7957100457e2d5fb + license: OFL-1.1 + license_family: Other + size: 700814 + timestamp: 1620479612257 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 + md5: 49023d73832ef61042f6a237cb2687e7 + license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 + license_family: Other + size: 1620504 + timestamp: 1727511233259 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.2-h27c8c51_0.conda + sha256: d77a47bc2b340b997c680241751e581672d1d0377a680eaf0b19026f013f56b7 + md5: 3c702747058a5d0af93fe71e559327f3 depends: - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - - snappy >=1.2.2,<1.3.0a0 - license: Apache-2.0 - license_family: APACHE - size: 1184078 - timestamp: 1772721443833 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2025.2.0-hfae3067_1.conda - sha256: cd4651c37e45fe6779a32ebfb3000fb3e9742409cd9bd0ac141c130b2f8f8d56 - md5: 274b11e7ed763c4964a6b6d2130ec1cb + - libuuid >=2.42.2,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + license: MIT + size: 292684 + timestamp: 1784754430789 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.2-hba86a56_0.conda + sha256: 12e49d4bcc7b57ebcb51e199921604ec6218c6a09d345449b2bc7772fe5061b7 + md5: 4c3b60329dd9fbd20940b28d6f45f4a1 depends: + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 - - libopenvino 2025.2.0 hcd21e76_1 - - libstdcxx >=14 - size: 456714 - timestamp: 1753203333676 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.0.0-hfae3067_1.conda - sha256: b0f32488fd11cd8ed563ad01934360df383f720a2adecf6d36aa3ea2565baab7 - md5: 0a160f00a4050e3bf4749129750d0303 + - libuuid >=2.42.2,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + license: MIT + size: 305564 + timestamp: 1784754428554 +- conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.2-hd47e2ca_0.conda + sha256: 3263ba9ad9e78a927964c76e0b2b4c745d279394928f4d381272b771ec816235 + md5: 8a2cb80ec7f2a366dd53b48403844154 depends: - - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 428895 - timestamp: 1772721459028 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.5.2-h86ecc28_0.conda - sha256: c887543068308fb0fd50175183a3513f60cd8eb1defc23adc3c89769fde80d48 - md5: 44b2cfec6e1b94723a960f8a5e6206ae + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libiconv >=1.18,<2.0a0 + - libintl >=0.22.5,<1.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + size: 216273 + timestamp: 1784754573317 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61 + md5: fee5683a3f04bd15cbd8318b096a27ab depends: - - libgcc >=13 + - fonts-conda-forge license: BSD-3-Clause license_family: BSD - size: 357115 - timestamp: 1744331282621 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda - sha256: 059214f037fa5e51080f5aced39466993b2311a01d871086bd6d2a59bfbf59b5 - md5: c781f98ca7b987f968369bc768b2cd55 + size: 3667 + timestamp: 1566974674465 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 + md5: a7970cd949a077b7cb9696379d338681 depends: - - libgcc >=14 + - font-ttf-ubuntu + - font-ttf-inconsolata + - font-ttf-dejavu-sans-mono + - font-ttf-source-code-pro license: BSD-3-Clause license_family: BSD - size: 383586 - timestamp: 1768497303687 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.18-h86ecc28_0.conda - sha256: 7641dfdfe9bda7069ae94379e9924892f0b6604c1a016a3f76b230433bb280f2 - md5: 5044e160c5306968d956c2a0a2a440d6 + size: 4059 + timestamp: 1762351264405 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonttools-4.63.0-pyh7db6752_0.conda + sha256: c9752235f1ff7061d834e5e4a3d0adf71ebeeff2b3fad82dab607edce7f70c91 + md5: 0509ee74d95e5b98eb6fe2a47760e399 depends: - - libgcc >=13 + - brotli + - munkres + - python >=3.10 + - unicodedata2 >=15.1.0 + track_features: + - fonttools_no_compile license: MIT license_family: MIT - size: 29512 - timestamp: 1749901899881 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.53-h1abf092_0.conda - sha256: 31c2b22aa4cb2b8d1456ad5aa92d1b95a8db234572cd29772c58e0b0c5be8823 - md5: 7591d867dbcba9eb7fb5e88a5f756591 + size: 846038 + timestamp: 1778770337113 +- conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda + sha256: c934c385889c7836f034039b43b05ccfa98f53c900db03d8411189892ced090b + md5: 8462b5322567212beeb025f3519fb3e2 depends: - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: zlib-acknowledgement - size: 340043 - timestamp: 1764981067899 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.55-h1abf092_0.conda - sha256: c7378c6b79de4d571d00ad1caf0a4c19d43c9c94077a761abb6ead44d891f907 - md5: be4088903b94ea297975689b3c3aeb27 + - libfreetype 2.14.3 ha770c72_0 + - libfreetype6 2.14.3 h73754d4_0 + license: GPL-2.0-only OR FTL + size: 173839 + timestamp: 1774298173462 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.3-h8af1aa0_1.conda + sha256: 1112c56bc19cbce233b30d9d31ce8eb6fcc100c9baa5145315aaa1e3a25b5178 + md5: 5e8e88bfb3fbb0df0f9f8bb890721e07 + depends: + - libfreetype 2.14.3 h8af1aa0_1 + - libfreetype6 2.14.3 hdae7a39_1 + license: GPL-2.0-only OR FTL + size: 174060 + timestamp: 1780933507786 +- conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda + sha256: a0e419e96146159f12344c870dca608d11bca36841f228092b986ffc2e1e0f02 + md5: e77293b32225b136a8be300f93d0e89f + depends: + - libfreetype 2.14.3 h57928b3_1 + - libfreetype6 2.14.3 hdbac1cb_1 + - zlib + license: GPL-2.0-only OR FTL + size: 185584 + timestamp: 1780934817461 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda + sha256: 858283ff33d4c033f4971bf440cebff217d5552a5222ba994c49be990dacd40d + md5: f9f81ea472684d75b9dd8d0b328cf655 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: zlib-acknowledgement - size: 340156 - timestamp: 1770691477245 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.31.1-h2cf3c76_2.conda - sha256: e1bfa4ee03ddfa3a5e347d6796757a373878b2f277ed48dbc32412b05e16e776 - md5: 8eb7b485dcbb81166e340a07ccb40e67 + license: LGPL-2.1-or-later + size: 61244 + timestamp: 1757438574066 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda + sha256: 1bfcd715bcb49a0b22d5d1899a22c6ff884b06f8e141eb746f3949752469a422 + md5: f3ac54914f7d3e1d68cb8d891765e5f9 depends: - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 + license: LGPL-2.1-or-later + size: 62909 + timestamp: 1757438620177 +- conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda + sha256: 15011071ee56c216ffe276c8d734427f1f893f275ef733f728d13f610ed89e6e + md5: c27bd87e70f970010c1c6db104b88b18 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-or-later + size: 64394 + timestamp: 1757438741305 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h0dff253_19.conda + sha256: 54a0d9ee655ba83b78b7a796f12224b26c24943d8970559ecc47ccd6c2b0fa72 + md5: 18ec2ee87e4f532afa459ce8ea9a6b02 + depends: + - conda-gcc-specs + - gcc_impl_linux-64 15.2.0 he0086c7_19 license: BSD-3-Clause license_family: BSD - size: 4465754 - timestamp: 1760550264433 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.31.1-h2cf3c76_4.conda - sha256: 27c496b35b0a40fba1cc0cf836f313e4a302975cce81d7997f76f66894f276d9 - md5: d6e6b7bbbe4f3b5348322afc928ffbeb + size: 29561 + timestamp: 1778269371353 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_19.conda + sha256: 3d75b775f6ab3977b2b72b9940806603158d10d60ff3e66930a59b74c4305219 + md5: 6b596ff6f13f6e46365d2182c6ea1e53 depends: - - libabseil * cxx17* - - libabseil >=20250512.1,<20250513.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 + - gcc_impl_linux-aarch64 15.2.0 h3530432_19 + track_features: + - gcc_no_conda_specs license: BSD-3-Clause license_family: BSD - size: 4218080 - timestamp: 1766315327959 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.33.5-h1f88751_0.conda - sha256: f68780642c215b93f4991c43d88ab0af8a08e66826e68affc65b8905cc21d86b - md5: 7f4a589ae616399b7e375053e82a3b12 + size: 29538 + timestamp: 1778269115054 +- conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-h6123e3b_19.conda + sha256: 7f8ee38e98ecc50818a509d794abcd4f1dbbe3d154cdc3e4dba6eeb6cbe75faa + md5: 64a4036e06e497afe50d690c63906e38 depends: - - libabseil * cxx17* - - libabseil >=20260107.0,<20260108.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 + - gcc_impl_win-64 15.2.0 h062b9a2_19 + track_features: + - gcc_no_conda_specs license: BSD-3-Clause license_family: BSD - size: 3465308 - timestamp: 1769748410724 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.60.0-h8171147_0.conda - sha256: b6cb38e95a447a04e624b6070981899e18c03f71915476fe024dadf384f48f15 - md5: 7e4a8318e73ba685615f90bff926bfe4 - depends: - - cairo >=1.18.4,<2.0a0 - - gdk-pixbuf >=2.44.3,<3.0a0 - - libgcc >=14 - - libglib >=2.86.0,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - constrains: - - __glibc >=2.17 - license: LGPL-2.1-or-later - size: 2995492 - timestamp: 1759335330016 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.60.2-h8171147_0.conda - sha256: d02d3b23aa58d7767b820289b5b50653e73d70ae32f6ee5b88f63c5c5d96c2de - md5: 1d6f1aff501c8104f7292ab787d65f15 - depends: - - cairo >=1.18.4,<2.0a0 - - gdk-pixbuf >=2.44.5,<3.0a0 - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - constrains: - - __glibc >=2.17 - license: LGPL-2.1-or-later - size: 4016799 - timestamp: 1771406266442 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_16.conda - sha256: 71be6819f928574caf929aa4764a69e3df0429d686a4c5d6a8985b4c2c14b965 - md5: 4e30740acf8527cc06ca6a8d81432536 + size: 1199452 + timestamp: 1778273446640 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda + sha256: a48400ec4b73369c1c59babe4ad35821b63a88bba0ec40a80cea5f8c53a26b83 + md5: e3be72048d3c4a78b8e27ec48ba06252 depends: + - binutils_impl_linux-64 >=2.45 - libgcc >=15.2.0 + - libgcc-devel_linux-64 15.2.0 hcc6f6b0_119 + - libgomp >=15.2.0 + - libsanitizer 15.2.0 h90f66d4_19 - libstdcxx >=15.2.0 + - libstdcxx-devel_linux-64 15.2.0 hd446a21_119 + - sysroot_linux-64 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 7460968 - timestamp: 1765257008136 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_18.conda - sha256: 10c42c4e12972088cf0d5f57393f83e6727ad31bdb38ae46935641861f394698 - md5: 589c6fc3e744df871bbbf703f1e6ce98 + size: 81180457 + timestamp: 1778269124617 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda + sha256: cd23829b5fb7f3ff5f44eab2da1a993e06bdf759b681a0a7a73bb5783755b6b3 + md5: 66dfb62e7a47e2b511f9c5ee0ff1abf3 depends: + - binutils_impl_linux-aarch64 >=2.45 - libgcc >=15.2.0 + - libgcc-devel_linux-aarch64 15.2.0 h55c397f_119 + - libgomp >=15.2.0 + - libsanitizer 15.2.0 he19c465_19 - libstdcxx >=15.2.0 + - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_119 + - sysroot_linux-aarch64 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 7164557 - timestamp: 1771378185265 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - sha256: 8115604f113fe2b7be95b2d22183a4dda5779c1cc6db4b826af800581498b4b3 - md5: 95210a1edbd7fc6e12afc9f8276f450a + size: 73237372 + timestamp: 1778268860495 +- conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-h062b9a2_19.conda + sha256: 9a1087fc15253a923d6c4f3a313285b1ad7f5e8c849f24086bc0696b9383313b + md5: 04354147d91b3ac936a4f410af5e1d0f depends: + - binutils_impl_win-64 >=2.45 - libgcc >=15.2.0 + - libgcc-devel_win-64 15.2.0 hbb59886_119 + - libgomp >=15.2.0 - libstdcxx >=15.2.0 + - libstdcxx-devel_win-64 15.2.0 h0a72980_119 + - m2w64-sysroot_win-64 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - run_exports: - weak: - - libsanitizer 15.2.0 - size: 7067965 - timestamp: 1778268796086 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda - sha256: f0b6844c09cdec608ca504bd97c5d64a5596a25f66ad806381f9d63dfc89e432 - md5: 362bc94148039b77c6a42b1f7e7ef537 + size: 62130152 + timestamp: 1778273122806 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.7-h2b0a6b4_0.conda + sha256: 1c22e37f9d7e06e9e0582ee5a55c2ddd19ea75f71f44eb13b56f504ef5c37aa5 + md5: 5d355db3e937086e22cf4cb5fe19787c depends: - - lame >=3.100,<3.101.0a0 - - libflac >=1.5.0,<1.6.0a0 + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libogg >=1.3.5,<1.4.0a0 - - libopus >=1.5.2,<2.0a0 - - libstdcxx >=14 - - libvorbis >=1.3.7,<1.4.0a0 - - mpg123 >=1.32.9,<1.33.0a0 + - libglib >=2.88.2,<3.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - liblzma >=5.8.3,<6.0a0 + - libpng >=1.6.58,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 license: LGPL-2.1-or-later license_family: LGPL - size: 406978 - timestamp: 1765181892661 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.21-h80f16a2_3.conda - sha256: d6112f3a7e7ffcd726ce653724f979b528cb8a19675fc06016a5d360ef94e9a4 - md5: 9e1fe4202543fa5b6ab58dbf12d34ced - depends: - - libgcc >=14 - license: ISC - purls: [] - size: 272649 - timestamp: 1772479384085 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.51.1-h022381a_0.conda - sha256: e394dd772b71dbcd653d078f3aacf6e26e3478bd6736a687ab86e463a2f153a8 - md5: 233efdd411317d2dc5fde72464b3df7a - depends: - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: blessing - size: 939207 - timestamp: 1764359457549 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.51.1-h10b116e_1.conda - sha256: f80893874d5ba5ac754b2d65ec392c46841bfe57bd89499aa0e1965c720babbd - md5: 9fd37e702b4e7c85462fe79baf13974d - depends: - - icu >=78.1,<79.0a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: blessing - size: 943924 - timestamp: 1766319577347 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.52.0-h10b116e_0.conda - sha256: 1ddaf91b44fae83856276f4cb7ce544ffe41d4b55c1e346b504c6b45f19098d6 - md5: 77891484f18eca74b8ad83694da9815e - depends: - - icu >=78.2,<79.0a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: blessing - purls: [] - size: 952296 - timestamp: 1772818881550 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda - sha256: a835400072fb638fb582ee9fc2271169da84cbcad664d28b852610201116027e - md5: 2cd50877f494b34383af22560ced8b04 + size: 581631 + timestamp: 1782591374199 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.7-h90308e0_0.conda + sha256: f406e0b58a51da8648b100316c7b5893e5585256b67eb410126e2357a901f0d2 + md5: 6b26b46bbc0761e0f256699eab75202d depends: - - icu >=78.3,<79.0a0 - libgcc >=14 - - libzlib >=1.3.2,<2.0a0 - license: blessing - run_exports: - weak: - - libsqlite >=3.53.3,<4.0a0 - size: 968420 - timestamp: 1782519054102 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_15.conda - sha256: f6347ce1d1a8a9ecfa16fc118594b0a5cab9194a8dcc7e79cd02a7497822d1d2 - md5: 2873f805cdabcf33b880b19077cf6180 - depends: - - libgcc 15.2.0 h8acb6b2_15 - constrains: - - libstdcxx-ng ==15.2.0=*_15 - license: GPL-3.0-only WITH GCC-exception-3.1 - size: 5540090 - timestamp: 1764836183565 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_16.conda - sha256: 4db11a903707068ae37aa6909511c68e9af6a2e97890d1b73b0a8d87cb74aba9 - md5: 52d9df8055af3f1665ba471cce77da48 - depends: - - libgcc 15.2.0 h8acb6b2_16 - constrains: - - libstdcxx-ng ==15.2.0=*_16 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 5541149 - timestamp: 1765256980783 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_18.conda - sha256: 31fdb9ffafad106a213192d8319b9f810e05abca9c5436b60e507afb35a6bc40 - md5: f56573d05e3b735cb03efeb64a15f388 - depends: - - libgcc 15.2.0 h8acb6b2_18 - constrains: - - libstdcxx-ng ==15.2.0=*_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 5541411 - timestamp: 1771378162499 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - sha256: 1dadc45e599f510dd5f97141dddcdbb9844d9f1430c1f3a38075cf1c58f87b4e - md5: 543fbc8d71f2a0baf04cf88ce96cb8bb - depends: - - libgcc 15.2.0 h8acb6b2_19 - constrains: - - libstdcxx-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 5546559 - timestamp: 1778268777463 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_15.conda - sha256: 73d026540bd2ec75186bc82c164fbfa51cbe44c4c27ed64b57bf52b10f6f3d63 - md5: 7a99de7c14096347968d1fd574b46bb2 - depends: - - libstdcxx 15.2.0 hef695bb_15 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 26977 - timestamp: 1764836231696 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_16.conda - sha256: dd5c813ae5a4dac6fa946352674e0c21b1847994a717ef67bd6cc77bc15920be - md5: 20b7f96f58ccbe8931c3a20778fb3b32 - depends: - - libstdcxx 15.2.0 hef695bb_16 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27376 - timestamp: 1765257033344 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_18.conda - sha256: 035a31cde134e706e30029a837a31f729ad32b7c5bca023271dfe91a8ba6c896 - md5: 699d294376fe18d80b7ce7876c3a875d - depends: - - libstdcxx 15.2.0 hef695bb_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27645 - timestamp: 1771378204663 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.10-hf9559e3_4.conda - sha256: 95bb4c430e8ca666a4c67b7951f03fbee5a5258b1d29c2a26bf56c86fe32c010 - md5: 96e731e9cf876fb2d8882093c0f24630 + - libglib >=2.88.2,<3.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - liblzma >=5.8.3,<6.0a0 + - libpng >=1.6.58,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + size: 588681 + timestamp: 1782593151876 +- conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.7-h1f5b9c4_0.conda + sha256: 4965bf7c84c9b7c970f1f7bc475962e43441018cf9551682a4a22960c5090588 + md5: 5daba86dbe8072c7e49f74013ef308cd depends: - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 + - libglib >=2.88.2,<3.0a0 + - libintl >=0.22.5,<1.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - liblzma >=5.8.3,<6.0a0 + - libpng >=1.6.58,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: LGPL-2.1-or-later - size: 517911 - timestamp: 1770738680829 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hf9559e3_0.conda - sha256: b38e9777b3231dfda62f2d127aac8091d990b5c45814a2b9d2e382f42f73a895 - md5: ffd5411606e65767354fe153371cc63a + license_family: LGPL + size: 579329 + timestamp: 1782591520147 +- conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.88.2-h395db07_0.conda + sha256: b67107959a71dbf9f5c2e95511f18095d9ac6f0001f0de4a1b6e14282162989e + md5: 7d203837b88a2255b32dca555d37ca50 depends: - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 + - python * + - packaging + - libglib ==2.88.2 h7ce1215_0 + - glib-tools ==2.88.2 h74ecf4c_0 + - libintl-devel + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libintl >=0.22.5,<1.0a0 license: LGPL-2.1-or-later - purls: [] - size: 516600 - timestamp: 1773797150163 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - sha256: 7938befc6a09d9f829663ea134b01bea78dabe08d928e9a7caa68e2d726e03c5 - md5: d8981d39a52ab992a033a68927da47e0 + size: 75973 + timestamp: 1782463965040 +- conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.88.2-h74ecf4c_0.conda + sha256: c604b6ca42c6271f281b1c0616e0d50bd800f8fc913a91a2753c2551b3b6b16c + md5: 63c615f0c525ee64f72e557e583b6257 depends: - - libcap >=2.78,<2.79.0a0 - - libgcc >=14 + - libglib ==2.88.2 h7ce1215_0 + - libffi + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libintl >=0.22.5,<1.0a0 license: LGPL-2.1-or-later - run_exports: {} - size: 515284 - timestamp: 1780084773602 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda - sha256: 7ff79470db39e803e21b8185bc8f19c460666d5557b1378d1b1e857d929c6b39 - md5: 8c6fd84f9c87ac00636007c6131e457d + size: 251644 + timestamp: 1782463965040 +- conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda + sha256: 3c9b6a90937a96ad27d160304cdbe5e9961db613aba2b84ff673429f0c61d48e + md5: d175cb2c14104728ada04883786a309d depends: - - lerc >=4.0.0,<5.0a0 - - libdeflate >=1.25,<1.26.0a0 + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - libstdcxx >=14 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: HPND - size: 488407 - timestamp: 1762022048105 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.10-hf9559e3_4.conda - sha256: 18098716de78ab49566c862a5bf1f89e0e064a4fc0f31ad08b60b7774cfdb60e - md5: a9bcd3f70036640538e8187e4c594cbf + - spirv-tools >=2026,<2027.0a0 + license: BSD-3-Clause + license_family: BSD + size: 1366082 + timestamp: 1777747028121 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.3.0-h124e036_0.conda + sha256: bae4806f4076cf9f91089fbeae7c9357ce4348df3657c25b249ac4487beed230 + md5: c0045dffcc3660ecd1b9123df377796f depends: - - libcap >=2.77,<2.78.0a0 - libgcc >=14 - license: LGPL-2.1-or-later - size: 157130 - timestamp: 1770738690431 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hf9559e3_0.conda - sha256: 4946526f7723cb0f5a4dc830381ea48f455f9aebd456655cac99df70cd0d9567 - md5: b3a73b94483260f38dcbb489ee20c6d9 + - libstdcxx >=14 + - spirv-tools >=2026,<2027.0a0 + license: BSD-3-Clause + license_family: BSD + size: 1359428 + timestamp: 1777747105441 +- conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.3.0-h294ba9c_0.conda + sha256: d80276b89d8aeab6ff0d8d7d4b9af336b368fc0b8fa28ea8cde6f6f2aa07bacf + md5: 7d6fed8a6ebeeebd6362790e22e56bb3 depends: - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - purls: [] - size: 156357 - timestamp: 1773797159424 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - sha256: 1963dbd5a5c08390db2321dd2fa5c9df45c0fe68701fce4f9c36141155b4de13 - md5: 67728797901490baae52b3ce8d738d34 + - spirv-tools >=2026,<2027.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + size: 5074630 + timestamp: 1777747167205 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda + sha256: 309cf4f04fec0c31b6771a5809a1909b4b3154a2208f52351e1ada006f4c750c + md5: c94a5994ef49749880a8139cf9afcbe1 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: GPL-2.0-or-later OR LGPL-3.0-or-later + size: 460055 + timestamp: 1718980856608 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda + sha256: a5e341cbf797c65d2477b27d99091393edbaa5178c7d69b7463bb105b0488e69 + md5: 7cbfb3a8bb1b78a7f5518654ac6725ad depends: - - libcap >=2.78,<2.79.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - run_exports: {} - size: 156922 - timestamp: 1780084778404 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libunwind-1.8.3-h6470e1d_0.conda - sha256: 86c013d522975b76e16a74341bfcb22f6ec2e9b8b87ec3e15380f46c435eaa7b - md5: 5d8191a950e492a06dc29b491dd5f7c5 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: GPL-2.0-or-later OR LGPL-3.0-or-later + size: 417323 + timestamp: 1718980707330 +- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + sha256: 885fa7d1d7e2ad9ed0a700ee0d81ceb49de278253082d517959b22d6336eecce + md5: cf09e9fc938518e91d0706572cadf17a depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - libstdcxx >=14 - license: MIT - license_family: MIT - size: 94555 - timestamp: 1757032278900 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.12-hfefdfc9_0.conda - sha256: 43daf21754c0d8618c2fcc1ac1cad8740f9a107358cc31d8619554463f366609 - md5: 63a654dceff75b84fe8ff32ddb66b7fe + license: LGPL-2.0-or-later + license_family: LGPL + size: 100054 + timestamp: 1780454302233 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.15-hfae3067_0.conda + sha256: 3e529c517a76a1f4497c51eeedeeb927d33f732dcdb48055a020a83eb3e4e95c + md5: 4db044857ab1d09b2e8f0013c65387c1 depends: - libgcc >=14 - libstdcxx >=14 - license: MIT - license_family: MIT - size: 129619 - timestamp: 1756126369793 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.13-hfefdfc9_0.conda - sha256: 3f4fa6a4972884ee6f09d14fb17773cd936646dc6d9e197f58e45421b2566e5f - md5: 74a5a557d5e8f60afaaa083f717105a8 + license: LGPL-2.0-or-later + license_family: LGPL + size: 103119 + timestamp: 1780455096710 +- conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + sha256: 88b6601f8edae59834b59b521e293ff3b58361dc1603240f5a8328c24e6936ad + md5: ff9a9bfe791f56b0227597a7651a6af0 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.0-or-later + license_family: LGPL + size: 97308 + timestamp: 1780454389458 +- conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.3-py312h8285ef7_0.conda + sha256: 05737bdd9fb853712cf8eb78254c164ba0532f25b4e7ac1f2dfa316deafd7617 + md5: 314154aa48cbc025e5bb442ff8f25266 depends: + - python - libgcc >=14 + - __glibc >=2.17,<3.0.a0 - libstdcxx >=14 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 134026 - timestamp: 1765873930570 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.14-hfefdfc9_0.conda - sha256: 7584dc478a34e50c5dc0e0ceac4cb9819ff352bc3a5d0cbb001b974dab9a0967 - md5: 9d32167817a5a85724e8524436559229 + purls: + - pkg:pypi/greenlet?source=compressed-mapping + size: 266770 + timestamp: 1782524633116 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/greenlet-3.5.3-py312hf55c4e8_0.conda + sha256: 11e72ccb751760b79bc089462424de08ff7d8ae50783beb147752d7765e6b0b8 + md5: 3e52ffa31a05f99c1f63fe6c26d2cba9 depends: + - python - libgcc >=14 - libstdcxx >=14 + - python 3.12.* *_cpython + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 155011 - timestamp: 1770567701524 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libusb-1.0.29-h06eaf92_0.conda - sha256: a60aae6b529cd7caa7842f9781ef95b93014e618f71fb005e404af434d76a33f - md5: 9a86e7473e16fe25c5c47f6c1376ac82 - depends: - - libgcc >=13 - - libudev1 >=257.4 - license: LGPL-2.1-or-later - size: 93129 - timestamp: 1748856228398 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.41.2-h1022ec0_1.conda - sha256: 3113c857e36779d94cf9a18236a710ceca0e94230b3bfeba0d134f33ee8c9ecd - md5: 15b2cc72b9b05bcb141810b1bada654f - depends: - - libgcc >=14 - license: BSD-3-Clause - size: 43415 - timestamp: 1764790752623 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.41.3-h1022ec0_0.conda - sha256: c37a8e89b700646f3252608f8368e7eb8e2a44886b92776e57ad7601fc402a11 - md5: cf2861212053d05f27ec49c3784ff8bb - depends: - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - size: 43453 - timestamp: 1766271546875 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42-h1022ec0_0.conda - sha256: 7d427edf58c702c337bf62bc90f355b7fc374a65fd9f70ea7a490f13bb76b1b9 - md5: a0b5de740d01c390bdbb46d7503c9fab + purls: + - pkg:pypi/greenlet?source=hash-mapping + size: 270807 + timestamp: 1782524634026 +- conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.3-py312ha1a9051_0.conda + sha256: 806ff227539efccc4209460dbd9c270591ff95c1c94cc052b263fb6e49aa9b7e + md5: ff42a2f2261fe3045335268428eabf86 depends: - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 43567 - timestamp: 1775052485727 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - sha256: 7663489f97c104ae3814db10f384932c74b439f3c1fd4247e4fe3599830c090a - md5: 58fa42bc4bc71fc329889497ec15effb + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/greenlet?source=hash-mapping + size: 247893 + timestamp: 1782524686478 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_19.conda + sha256: b00817919d7b2d68e3299031c5332855576ae086ac80032aa0a78b7f6f12dae4 + md5: 327876a856b3a45001cfb9a855efa65f depends: - - libgcc >=14 + - gcc 15.2.0 h0dff253_19 + - gxx_impl_linux-64 15.2.0 hda75c37_19 license: BSD-3-Clause license_family: BSD - run_exports: - weak: - - libuuid >=2.42.2,<3.0a0 - size: 43248 - timestamp: 1781625528371 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvorbis-1.3.7-h7ac5ae9_2.conda - sha256: 066708ca7179a1c6e5639d015de7ed6e432b93ad50525843db67d57eb1ba1faf - md5: 9d099329070afe52d797462ca7bf35f3 + size: 28945 + timestamp: 1778269389494 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_19.conda + sha256: 23e75a54b9ff48563a3be38c1d17232cf3d95fcddc938852b33090aea6d22505 + md5: e528c6fa3071fcad03ba0e530217fbe9 depends: - - libogg - - libstdcxx >=14 - - libgcc >=14 - - libogg >=1.3.5,<1.4.0a0 + - gcc 15.2.0 h24a549f_19 + - gxx_impl_linux-aarch64 15.2.0 h03e2352_19 license: BSD-3-Clause license_family: BSD - size: 289391 - timestamp: 1753879417231 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvpx-1.15.2-hfae3067_0.conda - sha256: 4b60838eee9bda276f4b75906745d8f98f74c4b40d741050e07b2a96fcaf753f - md5: dd61430bfc5499c75422afdd0fe0a1bb + size: 29003 + timestamp: 1778269132414 +- conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_19.conda + sha256: 53d60a36476fbe46f495f3d12b986a8e80d28367a05caccdb8d517a7309faf7c + md5: c03b67785fe6fd200ffb9caccde2be18 depends: - - libgcc >=14 - - libstdcxx >=14 + - gcc 15.2.0 h6123e3b_19 + - gxx_impl_win-64 15.2.0 h22fd5bf_19 license: BSD-3-Clause license_family: BSD - size: 1296382 - timestamp: 1762012332100 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.328.1-h8b8848b_0.conda - sha256: f1b32481c65008087c64dec21cc141dec9b80921ff2a3f5571c24c8f531b18ea - md5: e5a3ff3a266b68398bd28ed1d4363e65 + size: 824523 + timestamp: 1778273529902 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda + sha256: 3f5288346b9fe233352443b3c2e31f1fde845e39d3e96475fc05ec2e782af158 + md5: 9d41f3899b512199af0a4bb939b83e21 depends: - - libstdcxx >=14 - - libgcc >=14 - - xorg-libxrandr >=1.5.4,<2.0a0 - - xorg-libx11 >=1.8.12,<2.0a0 - constrains: - - libvulkan-headers 1.4.328.1.* - license: Apache-2.0 - license_family: APACHE - size: 214593 - timestamp: 1759972148472 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.341.0-h8b8848b_0.conda - sha256: 92a92589f4f787201bc5091990001f61515fa794fa4f0fb15f0ca50f3cc330cc - md5: 06bb91a87fb97ea09398d2e121e00c39 + - gcc_impl_linux-64 15.2.0 he0086c7_19 + - libstdcxx-devel_linux-64 15.2.0 hd446a21_119 + - sysroot_linux-64 + - tzdata + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 16356816 + timestamp: 1778269332159 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda + sha256: afb0fc36b93539a8e43a8063c8d3e1b4bace38a5a0c3c9e1978c72792d633c62 + md5: 7214ae8a8aade7b48a2bfd8bbb4d9e79 depends: - - libstdcxx >=14 - - libgcc >=14 - - xorg-libxrandr >=1.5.5,<2.0a0 - - xorg-libx11 >=1.8.12,<2.0a0 - constrains: - - libvulkan-headers 1.4.341.0.* - license: Apache-2.0 - license_family: APACHE - size: 217655 - timestamp: 1770077141862 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda - sha256: b03700a1f741554e8e5712f9b06dd67e76f5301292958cd3cb1ac8c6fdd9ed25 - md5: 24e92d0942c799db387f5c9d7b81f1af + - gcc_impl_linux-aarch64 15.2.0 h3530432_19 + - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_119 + - sysroot_linux-aarch64 + - tzdata + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 14640001 + timestamp: 1778269082840 +- conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_19.conda + sha256: 2f3b16794653b12a4aebe9e8073f51dd5f8ff1c82b40585434d1a7f32ff0a558 + md5: 816b9049907b42a6a4ec655aebe67d3c depends: - - libgcc >=14 - constrains: - - libwebp 1.6.0 - license: BSD-3-Clause - license_family: BSD - size: 359496 - timestamp: 1752160685488 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda - sha256: 461cab3d5650ac6db73a367de5c8eca50363966e862dcf60181d693236b1ae7b - md5: cd14ee5cca2464a425b1dbfc24d90db2 + - gcc_impl_win-64 15.2.0 h062b9a2_19 + - libstdcxx-devel_win-64 15.2.0 h0a72980_119 + - m2w64-sysroot_win-64 + - tzdata + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 14813951 + timestamp: 1778273408391 +- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 + md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 depends: - - libgcc >=13 - - pthread-stubs - - xorg-libxau >=1.0.11,<2.0a0 - - xorg-libxdmcp + - python >=3.10 + - hyperframe >=6.1,<7 + - hpack >=4.1,<5 + - python license: MIT license_family: MIT - size: 397493 - timestamp: 1727280745441 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda - sha256: 6b46c397644091b8a26a3048636d10b989b1bf266d4be5e9474bf763f828f41f - md5: b4df5d7d4b63579d081fd3a4cf99740e - depends: - - libgcc-ng >=12 - license: LGPL-2.1-or-later - purls: [] - size: 114269 - timestamp: 1702724369203 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.1-h3c6a4c8_0.conda - sha256: 37e4aa45b71c35095a01835bd42fa37c08218fec44eb2c6bf4b9e2826b0351d4 - md5: 22c1ce28d481e490f3635c1b6a2bb23f + purls: + - pkg:pypi/h2?source=hash-mapping + size: 95967 + timestamp: 1756364871835 +- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-ha770c72_1.conda + sha256: 853beec89ff91cbbf630f1d305b69153eb28a3cb78af95ddc1fb4d30e524c6f4 + md5: 72e956a71241633d8c80aa198fd08784 depends: - - libgcc >=14 - - libstdcxx >=14 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - xkeyboard-config - - xorg-libxau >=1.0.12,<2.0a0 - license: MIT/X11 Derivative + - libharfbuzz-devel 14.2.1 h17a8019_1 + license: MIT license_family: MIT - size: 863646 - timestamp: 1764794352540 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.1-h79dcc73_1.conda - sha256: c76951407554d69dd348151f91cc2dc164efbd679b4f4e77deb2f9aa6eba3c12 - md5: e42758e7b065c34fd1b0e5143752f970 + size: 11039 + timestamp: 1782800611635 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h8af1aa0_1.conda + sha256: 57b157674ecee4d16e2873a3624095b4ed1859ce8c574b161e0d9c1723788733 + md5: 41198d1dd71d97c1507e6bd17edd10c7 depends: - - icu >=78.1,<79.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - libxml2 2.15.1 + - libharfbuzz-devel 14.2.1 h3a99ef3_1 license: MIT license_family: MIT - size: 599721 - timestamp: 1766327134458 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.1-h8591a01_0.conda - sha256: 7a13450bce2eeba8f8fb691868b79bf0891377b707493a527bd930d64d9b98af - md5: e7177c6fbbf815da7b215b4cc3e70208 + size: 11079 + timestamp: 1782800518091 +- conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h57928b3_1.conda + sha256: c8bf564f2c415b82f056eff98b8967fb75c86821398998f20289397b5acf1ef7 + md5: e706de885f817f9832c56f1c9ad7ce71 depends: - - icu >=75.1,<76.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - libxml2 2.15.1 + - libharfbuzz-devel 14.2.1 h03b5201_1 license: MIT license_family: MIT - size: 597078 - timestamp: 1761015734476 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.2-h79dcc73_0.conda - sha256: da6b2ebbcecc158200d90be39514e4e902971628029b35b7f6ad57270659c5d9 - md5: e3ec9079759d35b875097d6a9a69e744 + size: 11542 + timestamp: 1782801047786 +- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda + sha256: fdcea5d7cb314485d3907192ef024c704311548c5b0cbeb390cd1951051e29d2 + md5: b395909221b9bd1df066e5930e18855b depends: - - icu >=78.2,<79.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - libxml2 2.15.2 + - python >=3.10 license: MIT license_family: MIT - size: 598438 - timestamp: 1772704671710 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.1-h788dabe_0.conda - sha256: db0a568e0853ee38b7a4db1cb4ee76e57fe7c32ccb1d5b75f6618a1041d3c6e4 - md5: a0e7779b7625b88e37df9bd73f0638dc + purls: + - pkg:pypi/hpack?source=compressed-mapping + size: 32884 + timestamp: 1782283986153 +- conda: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyhd8ed1ab_2.conda + sha256: 8027e436ad59e2a7392f6036392ef9d6c223798d8a1f4f12d5926362def02367 + md5: cf25bfddbd3bc275f3d3f9936cee1dd3 depends: - - icu >=75.1,<76.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libxml2-16 2.15.1 h8591a01_0 - - libzlib >=1.3.1,<2.0a0 + - python >=3.9 + - six >=1.9 + - webencodings license: MIT license_family: MIT - size: 47192 - timestamp: 1761015739999 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.1-h825857f_1.conda - sha256: 9fe997c3e5a8207161d093a5d73f586ae46dc319cb054220086395e150dd1469 - md5: eb4665cdf78fd02d4abc4edf8c15b7b9 + purls: + - pkg:pypi/html5lib?source=hash-mapping + size: 94853 + timestamp: 1734075276288 +- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 + md5: 8e6923fc12f1fe8f8c4e5c9f343256ac depends: - - icu >=78.1,<79.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libxml2-16 2.15.1 h79dcc73_1 - - libzlib >=1.3.1,<2.0a0 + - python >=3.9 license: MIT license_family: MIT - size: 47725 - timestamp: 1766327143205 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.2-h825857f_0.conda - sha256: 3e51e1952cb60c8107094b6b78473d91ff49d428ad4bef6806124b383e8fe29c - md5: 19de96909ee1198e2853acd8aba89f6c + purls: + - pkg:pypi/hyperframe?source=hash-mapping + size: 17397 + timestamp: 1737618427549 +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_1.conda + sha256: c054e32ac4c14426006edf9d01981dc564559b4065af7c13c26be904e1babf04 + md5: 3c7763347873f07adfd87e8001b5b1d1 depends: - - icu >=78.2,<79.0a0 + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libxml2-16 2.15.2 h79dcc73_0 - - libzlib >=1.3.1,<2.0a0 + - libstdcxx >=14 license: MIT license_family: MIT - size: 47837 - timestamp: 1772704681112 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda - sha256: 5a2c1eeef69342e88a98d1d95bff1603727ab1ff4ee0e421522acd8813439b84 - md5: 08aad7cbe9f5a6b460d0976076b6ae64 - depends: - - libgcc >=13 - constrains: - - zlib 1.3.1 *_2 - license: Zlib - license_family: Other - size: 66657 - timestamp: 1727963199518 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - sha256: eb111e32e5a7313a5bf799c7fb2419051fa2fe7eff74769fac8d5a448b309f7f - md5: 502006882cf5461adced436e410046d1 - constrains: - - zlib 1.3.2 *_2 - license: Zlib - license_family: Other - purls: [] - run_exports: - weak: - - libzlib >=1.3.2,<2.0a0 - size: 69833 - timestamp: 1774072605429 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/make-4.4.1-h2a6d0cb_2.conda - sha256: d243aea768e6fa360b7eda598340f43d2a41c9fc169d9f97f505410be68815f8 - md5: 5983ffb12d09efc45c4a3b74cd890137 + size: 12709032 + timestamp: 1784588496729 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda + sha256: ba4e1acdaf6c66961d6a1863c10851dde2378fa18af48de0156b9874556ca438 + md5: da55da4ed68dcac1ce28faa0a3450b65 depends: - - libgcc >=13 - license: GPL-3.0-or-later - license_family: GPL + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT purls: [] - size: 528318 - timestamp: 1727801707353 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.3-py312hd077ced_1.conda - sha256: 5919bf53e9f74ee1c6ce35ce13a7cd92741d45385c2d0b3eae48b01c0f11f41a - md5: 1fecdd103b37427ba6041b9b03d657ea + size: 12870753 + timestamp: 1784588696185 +- conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_1.conda + sha256: 61f16ae57ee8956d5c1f69e703f7abaebb972d0def1edc5704d7198430398295 + md5: e3232ea6dafd9f12663f860a3194d6dc depends: - - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - jinja2 >=3.0.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 14346784 + timestamp: 1784588850918 +- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + sha256: c75632ea624aa450a394f570749420c5a2e0997d0216bc29d5d45b0f39df0426 + md5: 577b04680ae422adb86fc60d7b940659 + depends: + - python >=3.10 + - python license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/markupsafe?source=hash-mapping - size: 26305 - timestamp: 1772446326927 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda - sha256: d65d5a00278544639ba4f99887154be00a1f57afb0b34d80b08e5cba40a17072 - md5: cdf140c7690ab0132106d3bc48bce47d + - pkg:pypi/idna?source=compressed-mapping + size: 163869 + timestamp: 1781620148226 +- conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda + sha256: 5a047f9eac290e679b4e6f6f4cbfcc5acdfbf031a4f06824d4ddb590cdbb850b + md5: 92617c2ba2847cca7a6ed813b6f4ab79 depends: - - libgcc >=13 - - libstdcxx >=13 - license: LGPL-2.1-only - license_family: LGPL - size: 558708 - timestamp: 1730581372400 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/msgpack-python-1.1.2-py312h4f740d2_1.conda - sha256: 54d29951b12731bbcd01b914f101566fc00da060151e11c295b8eb698d219897 - md5: fa2dab79048dfea842cb4f6eac8301fb + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/imagesize?source=hash-mapping + size: 15729 + timestamp: 1773752188889 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + sha256: 43e2a5497cad1598ff88a3e69f69bc88b7b8f141fa63c60eab5db296317318b8 + md5: ffc17e785d64e12fc311af9184221839 depends: - - libgcc >=14 - - libstdcxx >=14 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 + - python >=3.10 + - zipp >=3.20 + - python license: Apache-2.0 - license_family: Apache + license_family: APACHE purls: - - pkg:pypi/msgpack?source=hash-mapping - size: 99305 - timestamp: 1762504246142 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda - sha256: 91cfb655a68b0353b2833521dc919188db3d8a7f4c64bea2c6a7557b24747468 - md5: 182afabe009dc78d8b73100255ee6868 + - pkg:pypi/importlib-metadata?source=compressed-mapping + size: 34766 + timestamp: 1779714582554 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda + sha256: 6a2f86ef0965605d742b5b94229bf8b829258d0a9f640e3651901cc72ef9a0a5 + md5: e3bffa82b874f8b9a2631bddb3869529 depends: - - libgcc >=13 - license: X11 AND BSD-3-Clause + - importlib_resources >=7.1.0,<7.1.1.0a0 + - python >=3.10 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 926034 - timestamp: 1738196018799 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda - sha256: 369db85c5cd8d99dde364ce70725d76511d9c8199e5b820c740414091bf5bcca - md5: b2a43456aa56fe80c2477a5094899eff + size: 10354 + timestamp: 1776068852701 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda + sha256: a563a51aa522998172838e867e6dedcf630bc45796e8612f5a1f6d73e9c8125a + md5: 0ba6225c279baf7ea9473a62ea0ec9ae depends: - - libgcc >=14 - license: X11 AND BSD-3-Clause - run_exports: - weak: - - ncurses >=6.6,<7.0a0 - size: 960036 - timestamp: 1777422174534 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.3.5-py314haac167e_0.conda - sha256: e7015a79fb2d8d0573ae1b55db71792292285a86111ccf2683872db848734db8 - md5: ea4652f80053fb52748bc10e0b401b2f + - python >=3.10 + - zipp >=3.1.0 + constrains: + - importlib-resources >=7.1.0,<7.1.1.0a0 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/importlib-resources?source=hash-mapping + size: 34809 + timestamp: 1776068839274 +- conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 + md5: 9614359868482abba1bd15ce465e3c42 depends: - - python + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/iniconfig?source=hash-mapping + size: 13387 + timestamp: 1760831448842 +- conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda + sha256: bc231d69eb6663db0e09738fb916c5e5507147cf1ac60f364f964004e0b29bab + md5: 10909406c1b0e4b57f9f4f0eb0999af8 + depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - python 3.14.* *_cp314 - libstdcxx >=14 + license: MIT + license_family: MIT + size: 1013714 + timestamp: 1774422680665 +- conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda + sha256: 7cbd7fda22db70c64af64c9173434a4ede58e4f220bda52a044e469aa94c65cb + md5: aaf7c3db8c7c4533deb5449d3ba1c51f + depends: + - __glibc >=2.17,<3.0.a0 + - intel-gmmlib >=22.10.0,<23.0a0 - libgcc >=14 - - python_abi 3.14.* *_cp314 - - liblapack >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - constrains: - - numpy-base <0a0 - license: BSD-3-Clause - license_family: BSD - size: 7815328 - timestamp: 1763351321550 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.0-py314haac167e_0.conda - sha256: ce4e1758c8c5130fc0041dc3a128963927b73d90032baf4c87d4260c2b6dae07 - md5: 52129e44a0e5a8e1b388ce5cb03e8027 + - libstdcxx >=14 + - libva >=2.23.0,<3.0a0 + license: MIT + license_family: MIT + size: 8782375 + timestamp: 1776080148587 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh6dadd2b_0.conda + sha256: e3ff0b3d5db5c31830030406f50ac2c9a5c31b86f1c2cef87a6042f0a4c77eb7 + md5: dd5c51d5c42381ba4a2e0ce32e02ba17 depends: + - __win + - comm >=0.1.1 + - debugpy >=1.6.5 + - ipython >=7.23.1 + - jupyter_client >=8.9.0 + - jupyter_core >=5.1,!=6.0.* + - matplotlib-inline >=0.1 + - nest-asyncio2 >=1.7.0 + - packaging >=22 + - psutil >=5.7 + - python >=3.10 + - pyzmq >=25 + - tornado >=6.4.1 + - traitlets >=5.4.0 - python - - libstdcxx >=14 - - libgcc >=14 - - python 3.14.* *_cp314 - - liblapack >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - - python_abi 3.14.* *_cp314 constrains: - - numpy-base <0a0 + - appnope >=0.1.2 license: BSD-3-Clause license_family: BSD - size: 8001251 - timestamp: 1766373967611 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.2-py314haac167e_1.conda - sha256: 1e1366e700156cbddc4daae0fec34a72b74105ba45f9c144f777120552924747 - md5: 98ef547c85356475adb2197965c716b6 + purls: + - pkg:pypi/ipykernel?source=hash-mapping + size: 138046 + timestamp: 1781101760172 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda + sha256: 305ad9226363ff5f259c404dd9a7508183a2e150739b2adc43db7d817234da66 + md5: 2b47a10e4d98334f8171ff60aea05ff3 depends: + - __linux + - comm >=0.1.1 + - debugpy >=1.6.5 + - ipython >=7.23.1 + - jupyter_client >=8.9.0 + - jupyter_core >=5.1,!=6.0.* + - matplotlib-inline >=0.1 + - nest-asyncio2 >=1.7.0 + - packaging >=22 + - psutil >=5.7 + - python >=3.10 + - pyzmq >=25 + - tornado >=6.4.1 + - traitlets >=5.4.0 - python - - python 3.14.* *_cp314 - - libstdcxx >=14 - - libgcc >=14 - - libcblas >=3.9.0,<4.0a0 - - python_abi 3.14.* *_cp314 - - libblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 constrains: - - numpy-base <0a0 + - appnope >=0.1.2 license: BSD-3-Clause license_family: BSD - size: 8006259 - timestamp: 1770098510476 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.3-py312h6615c27_0.conda - sha256: 9e30d173e3a16714c009957aa69f2ec982b603585be6adabdedc51a213f8c308 - md5: c5b98ed4e80a53e18cd67f7cbbb2e091 + purls: + - pkg:pypi/ipykernel?source=compressed-mapping + size: 138635 + timestamp: 1781101665847 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.15.0-pyh53cf698_0.conda + sha256: d9fa14ec35119901bf702a9a3e8a5570daef2aada7d03878e4c24d9de912302b + md5: 2f4ea7f616b30363d8dde5cc15e7af2e depends: + - __unix + - decorator >=5.1.0 + - ipython_pygments_lexers >=1.0.0 + - jedi >=0.18.2 + - matplotlib-inline >=0.1.6 + - prompt-toolkit >=3.0.41,<3.1.0 + - psutil >=7 + - pygments >=2.14.0 + - python >=3.11 + - stack_data >=0.6.0 + - traitlets >=5.13.0 + - typing_extensions >=4.6 + - pexpect >4.6 - python - - libstdcxx >=14 - - libgcc >=14 - - python 3.12.* *_cpython - - liblapack >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - numpy-base <0a0 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/numpy?source=hash-mapping - size: 7841597 - timestamp: 1773839274579 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h0564a2a_0.conda - sha256: 3b7a519e3b7d7721a0536f6cba7f1909b878c71962ee67f02242958314748341 - md5: 0abed5d78c07a64e85c54f705ba14d30 + - pkg:pypi/ipython?source=compressed-mapping + size: 658801 + timestamp: 1782482716877 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.15.0-pyhe2676ad_0.conda + sha256: c3df12e766572060be653933aae5f6a09ccebfa86cff3b10b9b880ace29088d9 + md5: a4c278221ad4da75ba1637f8d230e658 depends: - - libgcc >=13 - - libstdcxx >=13 - license: BSD-2-Clause + - __win + - decorator >=5.1.0 + - ipython_pygments_lexers >=1.0.0 + - jedi >=0.18.2 + - matplotlib-inline >=0.1.6 + - prompt-toolkit >=3.0.41,<3.1.0 + - psutil >=7 + - pygments >=2.14.0 + - python >=3.11 + - stack_data >=0.6.0 + - traitlets >=5.13.0 + - typing_extensions >=4.6 + - colorama >=0.4.4 + - python + license: BSD-3-Clause license_family: BSD - size: 774512 - timestamp: 1739400731652 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.0-h8e36d6e_0.conda - sha256: 8dd3b4c31fe176a3e51c5729b2c7f4c836a2ce3bd5c82082dc2a503ba9ee0af3 - md5: 7624c6e01aecba942e9115e0f5a2af9d - depends: - - ca-certificates - - libgcc >=14 - license: Apache-2.0 - license_family: Apache - size: 3705625 - timestamp: 1762841024958 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.1-h546c87b_1.conda - sha256: 7f8048c0e75b2620254218d72b4ae7f14136f1981c5eb555ef61645a9344505f - md5: 25f5885f11e8b1f075bccf4a2da91c60 - depends: - - ca-certificates - - libgcc >=14 - license: Apache-2.0 - license_family: Apache - purls: [] - size: 3692030 - timestamp: 1769557678657 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda - sha256: da4a5df42614166b69c2f6d8602fc1425f7aaa699f77c3bafb5c7fe69b3d9fb7 - md5: fa6260b3e6eababf6ca85a7eb3336383 - depends: - - ca-certificates - - libgcc >=14 - license: Apache-2.0 - license_family: Apache - run_exports: - weak: - - openssl >=3.6.3,<4.0a0 - size: 3704664 - timestamp: 1781069675555 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-he55ef5b_0.conda - sha256: dd36cd5b6bc1c2988291a6db9fa4eb8acade9b487f6f1da4eaa65a1eebb0a12d - md5: a22cc88bf6059c9bcc158c94c9aab5b8 - depends: - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - harfbuzz >=11.0.1 - - libexpat >=2.7.0,<3.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libgcc >=13 - - libglib >=2.84.2,<3.0a0 - - libpng >=1.6.49,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - license: LGPL-2.1-or-later - size: 468811 - timestamp: 1751293869070 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda - sha256: 04df2cee95feba440387f33f878e9f655521e69f4be33a0cd637f07d3d81f0f9 - md5: 1a30c42e32ca0ea216bd0bfe6f842f0b + purls: + - pkg:pypi/ipython?source=hash-mapping + size: 657739 + timestamp: 1782482745122 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + sha256: 894682a42a7d659ae12878dbcb274516a7031bbea9104e92f8e88c1f2765a104 + md5: bd80ba060603cc228d9d81c257093119 depends: - - bzip2 >=1.0.8,<2.0a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 + - pygments + - python >=3.9 license: BSD-3-Clause license_family: BSD - size: 1166552 - timestamp: 1763655534263 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda - sha256: e6b0846a998f2263629cfeac7bca73565c35af13251969f45d385db537a514e4 - md5: 1587081d537bd4ae77d1c0635d465ba5 + purls: + - pkg:pypi/ipython-pygments-lexers?source=hash-mapping + size: 13993 + timestamp: 1737123723464 +- conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda + sha256: 744143551c1c7b528b82533fb641b9d7db20b2203abc4c2635c387fa6c089fc3 + md5: c2b3d37aa1411031126036ee76a8a861 depends: - - libgcc >=14 - - libstdcxx >=14 - - libgcc >=14 - license: MIT - license_family: MIT - size: 357913 - timestamp: 1754665583353 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-7.2.2-py312hd41f8a7_0.conda - sha256: ea2f332dde5f428c506816d39063705c40767a350f54c22fde89b74aac878355 - md5: 4efa924b35ea429f3ded10ddae9d5fb3 + - python >=3.10 + - parso >=0.8.6,<0.9.0 + - python + license: Apache-2.0 AND MIT + purls: + - pkg:pypi/jedi?source=compressed-mapping + size: 2715215 + timestamp: 1782251948616 +- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + sha256: fc9ca7348a4f25fed2079f2153ecdcf5f9cf2a0bc36c4172420ca09e1849df7b + md5: 04558c96691bed63104678757beb4f8d depends: + - markupsafe >=2.0 + - python >=3.10 - python - - python 3.12.* *_cpython - - libgcc >=14 - - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/psutil?source=hash-mapping - size: 230283 - timestamp: 1769678159757 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda - sha256: 977dfb0cb3935d748521dd80262fe7169ab82920afd38ed14b7fee2ea5ec01ba - md5: bb5a90c93e3bac3d5690acf76b4a6386 + - pkg:pypi/jinja2?source=hash-mapping + size: 120685 + timestamp: 1764517220861 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + sha256: db973a37d75db8e19b5f44bbbdaead0c68dde745407f281e2a7fe4db74ec51d7 + md5: ada41c863af263cc4c5fcbaff7c3e4dc depends: - - libgcc >=13 + - attrs >=22.2.0 + - jsonschema-specifications >=2023.3.6 + - python >=3.10 + - referencing >=0.28.4 + - rpds-py >=0.25.0 + - python license: MIT license_family: MIT - size: 8342 - timestamp: 1726803319942 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda - sha256: adc17205a87e064508d809fe5542b7cf49f9b9a458418f8448e2fc895fcd04f3 - md5: 53e14f45d38558aa2b9a15b07416e472 + purls: + - pkg:pypi/jsonschema?source=hash-mapping + size: 82356 + timestamp: 1767839954256 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + sha256: 0a4f3b132f0faca10c89fdf3b60e15abb62ded6fa80aebfc007d05965192aa04 + md5: 439cd0f567d697b20a8f45cb70a1005a depends: - - libgcc >=13 - - libstdcxx >=13 + - python >=3.10 + - referencing >=0.31.0 + - python license: MIT license_family: MIT - size: 113424 - timestamp: 1737355438448 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda - sha256: bb55db0dfe120f6063ad3ac74524b37c0bf92c6002cc059c31a5506f96a67f22 - md5: 8d73cfc699cd0a5ed2ea04bfb73eee0a + purls: + - pkg:pypi/jsonschema-specifications?source=hash-mapping + size: 19236 + timestamp: 1757335715225 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-cache-1.0.1-pyhff2d567_0.conda + sha256: 054d397dd45ed08bffb0976702e553dfb0d0b0a477da9cff36e2ea702e928f48 + md5: b0ee650829b8974202a7abe7f8b81e5a depends: - - dbus >=1.16.2,<2.0a0 - - libgcc >=14 - - libglib >=2.86.1,<3.0a0 - - libiconv >=1.18,<2.0a0 - - libsndfile >=1.2.2,<1.3.0a0 - - libsystemd0 >=257.10 - - libxcb >=1.17.0,<2.0a0 - constrains: - - pulseaudio 17.0 *_3 - license: LGPL-2.1-or-later - license_family: LGPL - size: 760306 - timestamp: 1763148231117 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.12.13-h91f4b29_0_cpython.conda - sha256: 61933478813f5fd96c89a00dd964201b0266d71d2e3bc4dd5679354056e46948 - md5: 8aed8fdbbc03a5c9f455d20ce75a9dce + - attrs + - click + - importlib-metadata + - nbclient >=0.2 + - nbformat + - python >=3.9 + - pyyaml + - sqlalchemy >=1.3.12,<3 + - tabulate + license: MIT + license_family: MIT + purls: + - pkg:pypi/jupyter-cache?source=hash-mapping + size: 31236 + timestamp: 1731777189586 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda + sha256: 48b18974cc93b2c0d2681563237034e521f51d1878f0bbc6a5a67ca31b1608a6 + md5: 49440e66df843bee2273937e8032ec43 depends: - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-aarch64 >=2.36.1 - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.2,<6.0a0 - - libnsl >=2.0.1,<2.1.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libuuid >=2.41.3,<3.0a0 - - libxcrypt >=4.4.36 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.5,<4.0a0 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - constrains: - - python_abi 3.12.* *_cp312 - license: Python-2.0 - purls: [] - size: 13757191 - timestamp: 1772728951853 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.1-hb06a95a_100_cp314.conda - build_number: 100 - sha256: 482bc557d2a5b13a854a2fb8abdcfcef527640720fabdccb9421fa109e4cb4b8 - md5: 440084d3af1aab4e196a4198988d3c24 + - jupyter_core >=5.1 + - python >=3.10 + - python-dateutil >=2.8.2 + - pyzmq >=25.0 + - tornado >=6.4.1 + - traitlets >=5.3 + - typing_extensions >=4.13.0 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/jupyter-client?source=compressed-mapping + size: 117954 + timestamp: 1781019994076 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda + sha256: ed709a6c25b731e01563521ef338b93986cd14b5bc17f35e9382000864872ccc + md5: a8db462b01221e9f5135be466faeb3e0 depends: - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-aarch64 >=2.36.1 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.1,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.1,<4.0a0 - - libuuid >=2.41.2,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.4,<4.0a0 - - python_abi 3.14.* *_cp314 - - readline >=8.2,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - size: 37149339 - timestamp: 1764757159033 - python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.2-hb06a95a_100_cp314.conda - build_number: 100 - sha256: 41adf6ee7a953ef4f35551a4a910a196b0a75e1ded458df5e73ef321863cb3f2 - md5: 432459e6961a5bc4cfe7cd080aee721a + - __win + - pywin32 + - platformdirs >=2.5 + - python >=3.10 + - traitlets >=5.3 + - python + constrains: + - pywin32 >=300 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/jupyter-core?source=hash-mapping + size: 64679 + timestamp: 1760643889625 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda + sha256: 1d34b80e5bfcd5323f104dbf99a2aafc0e5d823019d626d0dce5d3d356a2a52a + md5: b38fe4e78ee75def7e599843ef4c1ab0 depends: - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-aarch64 >=2.36.1 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.1,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.1,<4.0a0 - - libuuid >=2.41.2,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.4,<4.0a0 - - python_abi 3.14.* *_cp314 - - readline >=8.2,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - size: 37217543 - timestamp: 1765020325291 - python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.3-hb06a95a_101_cp314.conda - build_number: 101 - sha256: 87e9dff5646aba87cecfbc08789634c855871a7325169299d749040b0923a356 - md5: 205011b36899ff0edf41b3db0eda5a44 + - __unix + - python + - platformdirs >=2.5 + - python >=3.10 + - traitlets >=5.3 + - python + constrains: + - pywin32 >=300 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/jupyter-core?source=hash-mapping + size: 65503 + timestamp: 1760643864586 +- conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda + sha256: 41557eeadf641de6aeae49486cef30d02a6912d8da98585d687894afd65b356a + md5: 86d9cba083cd041bfbf242a01a7a1999 + constrains: + - sysroot_linux-64 ==2.28 + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later + license_family: GPL + size: 1278712 + timestamp: 1765578681495 +- conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda + sha256: 5d224bf4df9bac24e69de41897c53756108c5271a0e5d2d2f66fd4e2fbc1d84b + md5: bb3b7cad9005f2cbf9d169fb30263f3e + constrains: + - sysroot_linux-aarch64 ==2.28 + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later + license_family: GPL + size: 1248134 + timestamp: 1765578613607 +- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + sha256: 0960d06048a7185d3542d850986d807c6e37ca2e644342dd0c72feefcf26c2a4 + md5: b38117a3c920364aff79f870c984b4a3 depends: - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-aarch64 >=2.36.1 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.2,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libuuid >=2.41.3,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.5,<4.0a0 - - python_abi 3.14.* *_cp314 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - size: 37305578 - timestamp: 1770674395875 - python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda - build_number: 100 - sha256: dd56fd95db3cb49a69fbe41df80afc8bd5214daa829bcd3930de80f0408ba5eb - md5: 416c74941d13d9f2b9e68b1a900f7f50 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + purls: [] + size: 134088 + timestamp: 1754905959823 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda + sha256: 5ce830ca274b67de11a7075430a72020c1fb7d486161a82839be15c2b84e9988 + md5: e7df0aab10b9cbb73ab2a467ebfaf8c7 depends: - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-aarch64 >=2.36.1 - - libexpat >=2.8.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.3,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.53.2,<4.0a0 - - libuuid >=2.42.1,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - - ncurses >=6.6,<7.0a0 - - openssl >=3.5.7,<4.0a0 - - python_abi 3.14.* *_cp314 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - run_exports: - weak: - - python_abi 3.14.* *_cp314 - noarch: - - python - size: 34900936 - timestamp: 1781254861576 - python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.3-py312ha4530ae_1.conda - sha256: 0ba02720b470150a8c6261a86ea4db01dcf121e16a3e3978a84e965d3fe9c39a - md5: 47018c13dbb26186b577fd8bd1823a44 + - libgcc >=13 + license: LGPL-2.1-or-later + purls: [] + size: 129048 + timestamp: 1754906002667 +- conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.5.0-py314h97ea11e_0.conda + sha256: e3488ea4a336f29e57de8f282bf40c0505cfc482e03004615e694b48e7d9c79f + md5: 7397e418cab519b8d789936cf2dde6f6 depends: + - python + - libstdcxx >=14 - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - - yaml >=0.2.5,<0.3.0a0 - license: MIT - license_family: MIT - purls: - - pkg:pypi/pyyaml?source=hash-mapping - size: 192182 - timestamp: 1770223431156 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-27.1.0-py312hdf0a211_2.conda - noarch: python - sha256: afdff66cb54e22d0d2c682731e08bb8f319dfd93f3cdcff4a4640cb5a8ae2460 - md5: 130d781798bb24a0b86290e65acd50d8 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + size: 77363 + timestamp: 1773067048780 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/kiwisolver-1.5.0-py314h4702e76_0.conda + sha256: 06e4be177958444f4f047380656611cbc467e36d1e3318add141397ce4cc24ef + md5: cae18ed89f7f6dc0adc0aafe4c47bf3d depends: - python - libstdcxx >=14 - libgcc >=14 - - zeromq >=4.3.5,<4.4.0a0 - - _python_abi3_support 1.* - - cpython >=3.12 + - python_abi 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pyzmq?source=hash-mapping - size: 212585 - timestamp: 1771716963309 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-61.0-h1f0f388_0.conda - sha256: 1c69fab2e833080d48f24d5ac06ea6745c470a8ef779d526bd1edd846184da7e - md5: 58f1eb9b507e3e098091840c6f1f9c11 + size: 83264 + timestamp: 1773067330528 +- conda: https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.5.0-py314hf309875_0.conda + sha256: 37cbc49fd7255532d09fb3bc9cc699554693e632fa90678a9b3d0ed12557d0d7 + md5: 0508c8dabeab91311e5c59b5e3f6d278 + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + size: 73330 + timestamp: 1773067062280 +- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbde042b_1.conda + sha256: 9b07046870772f28740e3f6149f09ff222843733087a33c5540b169c6289652d + md5: 54157a1c8c0bb70f62dd0b17fba7e7f2 depends: + - __glibc >=2.17,<3.0.a0 + - keyutils >=1.6.3,<2.0a0 + - libedit >=3.1.20250104,<3.2.0a0 + - libedit >=3.1.20250104,<4.0a0 - libgcc >=14 - - libnl >=3.11.0,<4.0a0 - libstdcxx >=14 - - libsystemd0 >=257.10 - - libudev1 >=257.10 - license: Linux-OpenIB - license_family: BSD + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT purls: [] - size: 1341616 - timestamp: 1769154919140 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - sha256: 89dc4066bf0a2ee8e0cdeb6b6e8884c2c36c9a82855a438a0720ee59297fae3e - md5: 94e99208cc8828d5953fac098814a0e9 + size: 1388990 + timestamp: 1781859420533 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-h2fb54aa_1.conda + sha256: b644718416a22b5d57c1194ea7207b7f8d33d6a2b42775763782d76cd7457aea + md5: 5fd2304064ef6199d1f91ec60ee7b820 depends: + - keyutils >=1.6.3,<2.0a0 + - libedit >=3.1.20250104,<3.2.0a0 + - libedit >=3.1.20250104,<4.0a0 - libgcc >=14 - - libnl >=3.11.0,<4.0a0 - libstdcxx >=14 - - libsystemd0 >=257.13 - - libudev1 >=257.13 - license: Linux-OpenIB - license_family: BSD - run_exports: - weak: - - rdma-core >=63.0 - size: 1351719 - timestamp: 1778528506759 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.2-h8382b9d_2.conda - sha256: 54bed3a3041befaa9f5acde4a37b1a02f44705b7796689574bcf9d7beaad2959 - md5: c0f08fc2737967edde1a272d4bf41ed9 - depends: - - libgcc >=13 - - ncurses >=6.5,<7.0a0 - license: GPL-3.0-only - license_family: GPL - size: 291806 - timestamp: 1740380591358 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - sha256: fe695f9d215e9a2e3dd0ca7f56435ab4df24f5504b83865e3d295df36e88d216 - md5: 3d49cad61f829f4f0e0611547a9cda12 + - openssl >=3.5.7,<4.0a0 + license: MIT + license_family: MIT + purls: [] + size: 1518484 + timestamp: 1781859412954 +- conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda + sha256: c55745796e762ba9e817ab1fc0f21f1a049e202f90fa762df39578f37923f6c2 + md5: 00335c2c4a98656554771aaf6f1a7400 depends: - - libgcc >=14 - - ncurses >=6.5,<7.0a0 - license: GPL-3.0-only - license_family: GPL + - openssl >=3.5.7,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT purls: [] - run_exports: - weak: - - readline >=8.3,<9.0a0 - size: 357597 - timestamp: 1765815673644 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rpds-py-0.30.0-py312h75d7d99_0.conda - sha256: 51e7d33b71b30ac5ceab09cc35521eccdaf4e3897ca4c6eda1059fb82a91b285 - md5: 85212b0e327723285cc36efddd25e03d + size: 750320 + timestamp: 1781859644591 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 + sha256: aad2a703b9d7b038c0f745b853c6bb5f122988fe1a7a096e0e606d9cbec4eaab + md5: a8832b479f93521a9e7b5b743803be51 depends: - - python + - libgcc-ng >=12 + license: LGPL-2.0-only + license_family: LGPL + size: 508258 + timestamp: 1664996250081 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 + sha256: 2502904a42df6d94bd743f7b73915415391dd6d31d5f50cb57c0a54a108e7b0a + md5: ab05bcf82d8509b4243f07e93bada144 + depends: + - libgcc-ng >=12 + license: LGPL-2.0-only + license_family: LGPL + size: 604863 + timestamp: 1664997611416 +- conda: https://conda.anaconda.org/conda-forge/win-64/lame-4.0-h4a41cd3_0.conda + sha256: ed10e660e52e7180cef2e2e90d912c21b8e84fed4f0bccf03dfd42a79b113846 + md5: fe5aa7c5c8c387db5fadce4d814a8d04 + depends: + - mpg123 >=1.32.9,<1.33.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.0-only + license_family: LGPL + size: 357834 + timestamp: 1783769697203 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda + sha256: 112b5b9462572d970f4abd2912f76a25ee7db158b1e7260163d91dd8a630db84 + md5: 8b3ce45e929cd8e8e5f4d18586b56d8b + depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - python_abi 3.12.* *_cp312 - constrains: - - __glibc >=2.17 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/rpds-py?source=hash-mapping - size: 380599 - timestamp: 1764543504405 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ruamel.yaml.clib-0.2.15-py312hd41f8a7_1.conda - sha256: 0183f9c738abe70a9e292342877932eefc6a60dcfad7c58d6b0df77236052e17 - md5: 1c284baa9b7c47ccca48d776c7c93893 + size: 251971 + timestamp: 1780211695895 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_1.conda + sha256: ed213207bbf11663181941e0931caa9ce748f0544688e8e0fbcf330bca279389 + md5: 9183fda4be2b4ee5760cdb8e540439c8 depends: - - python - libgcc >=14 - - python 3.12.* *_cpython - - python_abi 3.12.* *_cp312 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/ruamel-yaml-clib?source=hash-mapping - size: 147242 - timestamp: 1766159546485 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/scipy-1.17.1-py312he5b0e10_0.conda - sha256: 24e608c0c94865f40df5201175b921068a297663bcc56e538970003ddf964b59 - md5: bc10849473fe9b8c95f1a07a396baf26 + size: 296564 + timestamp: 1780211834883 +- conda: https://conda.anaconda.org/conda-forge/win-64/lcms2-2.19.1-hf2c6c5f_1.conda + sha256: 5ed63a32639a130564a870becb679fd52dfb816666a61ed3c023917389010480 + md5: 1df4012c8a2478699d07bc26af66d41e depends: - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 523194 + timestamp: 1780211799997 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda + sha256: 27d83f1188cd19bcb7754a078b3fa7f4cfb8527f8eb2fde54dd01fc529d1adec + md5: 449500f2c089da11c40f5c21312e3e07 + depends: + - __glibc >=2.17,<3.0.a0 + - zstd >=1.5.7,<1.6.0a0 + constrains: + - binutils_impl_linux-64 2.46.1 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 745303 + timestamp: 1784214507189 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda + sha256: 2c4901f4227b0850328ed0c69f958b30ad2cd18982f7a31c7c1f911827004d08 + md5: 489444d0acb2a579d2a002d85a08c059 + depends: + - zstd >=1.5.7,<1.6.0a0 + constrains: + - binutils_impl_linux-aarch64 2.46.1 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 905305 + timestamp: 1784214534868 +- conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.46.1-default_hfd38196_102.conda + sha256: e3cb27be096acab3c8d5ed36961e291e3e6e9c2323dd3fd565623a4c093e931c + md5: 179ed4e90a5c9560bebb28292a726f12 + depends: + - zstd >=1.5.7,<1.6.0a0 + constrains: + - binutils_impl_win-64 2.46.1 + license: GPL-3.0-only + license_family: GPL + size: 896485 + timestamp: 1784214548635 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda + sha256: f84cb54782f7e9cea95e810ea8fef186e0652d0fa73d3009914fa2c1262594e1 + md5: a752488c68f2e7c456bcbd8f16eec275 + depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - - liblapack >=3.9.0,<4.0a0 - libstdcxx >=14 - - numpy <2.7 - - numpy >=1.23,<3 - - numpy >=1.25.2 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/scipy?source=hash-mapping - size: 16675045 - timestamp: 1771881005471 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda - sha256: 47f4ef4cd2313906840f146b18fee95c2a3a4fa9bd0afdb2d519e6c0aa8ca2ed - md5: 54747a3f3c468c5f446c78974c8c1234 + license: Apache-2.0 + license_family: Apache + size: 261513 + timestamp: 1773113328888 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda + sha256: 8957fd460c1c132c8031f65fd5f56ec3807fd71b7cab2c5e2b0937b13404ab36 + md5: d13423b06447113a90b5b1366d4da171 depends: - - libstdcxx >=14 - libgcc >=14 - - sdl3 >=3.2.22,<4.0a0 - - libgl >=1.7.0,<2.0a0 - - libegl >=1.7.0,<2.0a0 - license: Zlib - size: 597756 - timestamp: 1757842928996 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.2.28-h3d544e7_0.conda - sha256: 0074820265c6210833bad8d1961f78286e0d614eb0965d70f91094209ad3e8ad - md5: 2ceab22e66c471475aa8f04af986d55a - depends: - libstdcxx >=14 - - libgcc >=14 - - libxkbcommon >=1.13.0,<2.0a0 - - libegl >=1.7.0,<2.0a0 - - libudev1 >=257.10 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - - dbus >=1.16.2,<2.0a0 - - xorg-libxcursor >=1.2.3,<2.0a0 - - libdrm >=2.4.125,<2.5.0a0 - - libgl >=1.7.0,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - libvulkan-loader >=1.4.328.1,<2.0a0 - - libusb >=1.0.29,<2.0a0 - - wayland >=1.24.0,<2.0a0 - - liburing >=2.12,<2.13.0a0 - - libunwind >=1.8.3,<1.9.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - license: Zlib - size: 1929093 - timestamp: 1764713313724 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.2.30-h3d544e7_0.conda - sha256: 64011fb1b88a16bb36bc520acdcf408a8c94a3a6ebf1b3efed16a8f173027e92 - md5: a9dec18b073d69a966793c1b8e39127c + license: Apache-2.0 + license_family: Apache + size: 240444 + timestamp: 1773114901155 +- conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda + sha256: 45df58fca800b552b17c3914cc9ab0d55a82c5172d72b5c44a59c710c06c5473 + md5: 54b231d595bc1ff9bff668dd443ee012 depends: - - libstdcxx >=14 - - libgcc >=14 - - libvulkan-loader >=1.4.328.1,<2.0a0 - - xorg-libxcursor >=1.2.3,<2.0a0 - - libxkbcommon >=1.13.1,<2.0a0 - - libusb >=1.0.29,<2.0a0 - - libegl >=1.7.0,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - - libunwind >=1.8.3,<1.9.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - libdrm >=2.4.125,<2.5.0a0 - - wayland >=1.24.0,<2.0a0 - - dbus >=1.16.2,<2.0a0 - - liburing >=2.13,<2.14.0a0 - - libudev1 >=257.10 - - libgl >=1.7.0,<2.0a0 - - xorg-libx11 >=1.8.12,<2.0a0 - license: Zlib - size: 1928569 - timestamp: 1767236340915 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.2-had2c13b_0.conda - sha256: 17aad2e3439d6d778bf995134f37e442a8420adc740457f43d647d4dbf0b10fe - md5: c667298eebd2296ace8cb07dbbba95c0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + size: 172395 + timestamp: 1773113455582 +- conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.29.0-hb700be7_0.conda + sha256: d87cfc5eaa08eefff97d891ecb49faa958fcfc32a425767796269c4100d4e516 + md5: f3c3bc77c96af553f761af0e78bc8d9d depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - libstdcxx >=14 - - xorg-libxi >=1.8.2,<2.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libxkbcommon >=1.13.1,<2.0a0 - - wayland >=1.24.0,<2.0a0 - - libegl >=1.7.0,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - libgl >=1.7.0,<2.0a0 - - xorg-libxtst >=1.2.5,<2.0a0 - - libudev1 >=257.10 - - pulseaudio-client >=17.0,<17.1.0a0 - - libusb >=1.0.29,<2.0a0 - - xorg-libxcursor >=1.2.3,<2.0a0 - - libdrm >=2.4.125,<2.5.0a0 - - xorg-libxscrnsaver >=1.2.4,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - - libunwind >=1.8.3,<1.9.0a0 - - liburing >=2.14,<2.15.0a0 - - dbus >=1.16.2,<2.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - license: Zlib - size: 2136476 - timestamp: 1771668207211 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2025.5-h8c88b8f_0.conda - sha256: a8d6b35ecae1d9605e7944b6b5562b5d857355cc7be493b13fee550f7169fb40 - md5: 3a720e8647ebfff1322d81beb8a8be95 + license: MIT + license_family: MIT + size: 875773 + timestamp: 1780142086148 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h7b12aa8_1.conda + sha256: 32933de2d4fa6e6ffd949052815b49cb65a0649ad70007155c533ab97ea8cefd + md5: c4393db381bffa0a83a8d9e47b238106 depends: - - glslang >=16,<17.0a0 + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - libstdcxx >=14 - - spirv-tools >=2025,<2026.0a0 + constrains: + - abseil-cpp =20260526.0 + - libabseil-static =20260526.0=cxx17* license: Apache-2.0 license_family: Apache - size: 115395 - timestamp: 1764287938541 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2025.5-hfeb5c2c_1.conda - sha256: bf3f47847832e33acbcb7a1aba948f3b574979ad2a91f2ebdc9fc685c09433db - md5: 8268bdcd82d8f9abcb7f0fd6a9568ba4 + size: 1437712 + timestamp: 1780524559298 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260526.0-cxx17_h6983b43_1.conda + sha256: 51f53ae6266889f0972a10c2773465da5554fdf55ac15b9dea3e7f77520022d9 + md5: d8637f7cc7143fe4ad2eceac8e8cf033 depends: - - glslang >=16,<17.0a0 - libgcc >=14 - libstdcxx >=14 - - spirv-tools >=2026,<2027.0a0 + constrains: + - abseil-cpp =20260526.0 + - libabseil-static =20260526.0=cxx17* license: Apache-2.0 license_family: Apache - size: 115498 - timestamp: 1770208786806 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda - sha256: a8a79c53852fb07286407907402caa5a96b6e22b518c4f010be40647f9ee3726 - md5: 3dec912091fb88614afa0af2712c1362 + size: 1457025 + timestamp: 1780524543286 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.5-h434b012_0.conda + sha256: 24d4b59a0267e1c159c3af82df106b42faeefccceba3c489044c93abf113c503 + md5: c1cb4d6e8a6e3f724740dee5346fc8b4 depends: - libgcc >=14 - - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libzlib >=1.3.2,<2.0a0 + - fribidi >=1.0.16,<2.0a0 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + - libiconv >=1.18,<2.0a0 + - harfbuzz >=14.2.1 + license: ISC + size: 154964 + timestamp: 1782298715788 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.5-hac26362_0.conda + sha256: e6029ed8232ea197f54ffffb7701b85ae1ee2850d44699d9554fadb95c578bd7 + md5: 00b2bb0ddef69e0fe6d42aff08abeaec + depends: - libgcc >=14 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.16,<2.0a0 + - libiconv >=1.18,<2.0a0 + - harfbuzz >=14.2.1 + - libzlib >=1.3.2,<2.0a0 + license: ISC + size: 178938 + timestamp: 1782298717792 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda + build_number: 8 + sha256: b2da6bfd72a1c9cb143ccf64bf5b28790cb4eb58bd1cb978f6537b2322f7d48b + md5: 00fc660ab1b2f5ca07e92b4900d10c79 + depends: + - libopenblas >=0.3.33,<0.3.34.0a0 + - libopenblas >=0.3.33,<1.0a0 + constrains: + - blas 2.308 openblas + - mkl <2027 + - libcblas 3.11.0 8*_openblas + - liblapack 3.11.0 8*_openblas + - liblapacke 3.11.0 8*_openblas license: BSD-3-Clause license_family: BSD - size: 47096 - timestamp: 1762948094646 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2025.4-hfefdfc9_0.conda - sha256: 8132f3e06572896a4d9f672c5cb989c08bda2855e45eac95eed7012cfc5e5428 - md5: 6cbec31663722c23b6b4b217f6846e3c + purls: [] + size: 18804 + timestamp: 1779859100675 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda + build_number: 8 + sha256: c897399c943168c646f659952f73a9154f9122d7e9b151649dbe075dfdcd484b + md5: 8b44dad125760faa2b3925f5a6e3112d depends: - - libgcc >=14 - - libstdcxx >=14 + - libopenblas >=0.3.33,<0.3.34.0a0 + - libopenblas >=0.3.33,<1.0a0 constrains: - - spirv-headers >=1.4.328.0,<1.4.328.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 2511309 - timestamp: 1759805874123 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.1-hfefdfc9_0.conda - sha256: 841a7df4b73a13a148410e677b1bf07ed81bd181cc686278d64d65e033f4a06a - md5: ad8208c6618a543687d754dc57876091 + - libcblas 3.11.0 8*_openblas + - liblapack 3.11.0 8*_openblas + - mkl <2027 + - blas 2.308 openblas + - liblapacke 3.11.0 8*_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18843 + timestamp: 1779859042591 +- conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda + build_number: 8 + sha256: 43a87b59e6d4c68d80b2e4de487b1b54d66fe1f9a06636909b5a5ab9eae27269 + md5: 4a0ce24b1a946ff77ae9eaa7ef015a33 depends: - - libgcc >=14 - - libstdcxx >=14 + - mkl >=2026.0.0,<2027.0a0 constrains: - - spirv-headers >=1.4.341.0,<1.4.341.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 2255599 - timestamp: 1770089690097 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sqlalchemy-2.0.49-py312h2fc9c67_0.conda - sha256: ded6744a827bef2644547ebb30453dfb367e76b9b38d70be5934cee586aad5a0 - md5: a4bfb5442cfc73af95ff3b61ee5a880d + - libcblas 3.11.0 8*_mkl + - liblapacke 3.11.0 8*_mkl + - blas 2.308 mkl + - liblapack 3.11.0 8*_mkl + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 68103 + timestamp: 1779859688049 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda + sha256: 318f36bd49ca8ad85e6478bd8506c88d82454cc008c1ac1c6bf00a3c42fa610e + md5: 72c8fd1af66bd67bf580645b426513ed depends: - - python - - greenlet !=0.4.17 - - typing-extensions >=4.6.0 + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/sqlalchemy?source=hash-mapping - size: 3711633 - timestamp: 1775241583240 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-3.1.2-hfae3067_0.conda - sha256: e4b482062da7cf259f21465274a0f3613d1dbd8ea649aca6072625f5038ac40d - md5: 7602d3004ed53b3f8e5e0e04e5de4de7 + size: 79965 + timestamp: 1764017188531 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda + sha256: 5fa8c163c8d776503aa68cdaf798ff9440c76a0a1c3ea84e0c43dbf1ece8af4d + md5: 8ec1d03f3000108899d1799d9964f281 depends: - libgcc >=14 - - libstdcxx >=14 - license: BSD-2-Clause + license: MIT + license_family: MIT + size: 80030 + timestamp: 1764017273715 +- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda + sha256: 5097303c2fc8ebf9f9ea9731520aa5ce4847d0be41764edd7f6dee2100b82986 + md5: 444b0a45bbd1cb24f82eedb56721b9c4 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 82042 + timestamp: 1764017799966 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda + sha256: 12fff21d38f98bc446d82baa890e01fd82e3b750378fedc720ff93522ffb752b + md5: 366b40a69f0ad6072561c1d09301c886 + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + size: 34632 + timestamp: 1764017199083 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda + sha256: 494365e8f58799ea95a6e82334ef696e9c2120aecd6626121694b30a15033301 + md5: 47e5b71b77bb8b47b4ecf9659492977f + depends: + - libbrotlicommon 1.2.0 he30d5cf_1 + - libgcc >=14 + license: MIT + license_family: MIT + size: 33166 + timestamp: 1764017282936 +- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda + sha256: 3239ce545cf1c32af6fffb7fc7c75cb1ef5b6ea8221c66c85416bb2d46f5cccb + md5: 450e3ae947fc46b60f1d8f8f318b40d4 + depends: + - libbrotlicommon 1.2.0 hfd05255_1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 34449 + timestamp: 1764017851337 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda + sha256: a0c15c79997820bbd3fbc8ecf146f4fe0eca36cc60b62b63ac6cf78857f1dd0d + md5: 4ffbb341c8b616aa2494b6afb26a0c5f + depends: + - __glibc >=2.17,<3.0.a0 + - libbrotlicommon 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + size: 298378 + timestamp: 1764017210931 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.2.0-he30d5cf_1.conda + sha256: f998c03257b9aa1f7464446af2cf424862f0e54258a2a588309853e45ae771df + md5: 6553a5d017fe14859ea8a4e6ea5def8f + depends: + - libbrotlicommon 1.2.0 he30d5cf_1 + - libgcc >=14 + license: MIT + license_family: MIT + size: 309304 + timestamp: 1764017292044 +- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda + sha256: 3226df6b7df98734440739f75527d585d42ca2bfe912fbe8d1954c512f75341a + md5: ccd93cfa8e54fd9df4e83dbe55ff6e8c + depends: + - libbrotlicommon 1.2.0 hfd05255_1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 252903 + timestamp: 1764017901735 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda + sha256: cc8c9fc6ddf0fbd3d1275b558ae9abad6cda23bced268732e2da21a87bb358cd + md5: f9f17eab7f3df1c6fd4b1a548a2f683a + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: BSD-3-Clause license_family: BSD - size: 2106252 - timestamp: 1756090698097 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.0.1-hfae3067_0.conda - sha256: 6518e4575e83e38b07460f504b6467124f9a16e4d368af42ca54a69603002078 - md5: 943fcd76194904358b2587d627ee6388 + purls: [] + size: 124335 + timestamp: 1775488792584 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda + sha256: 14b6654d942be7a68496d4e52d6aa4e217cf82005a42c20d1880eb473e34eb3a + md5: 1503ce9f8a3df149a33ccd7c300ec1d2 depends: - libgcc >=14 - - libstdcxx >=14 - license: BSD-2-Clause + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 109192 + timestamp: 1775490102029 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda + build_number: 8 + sha256: 1a2bc77bb26520255904a3d9b1f40e6bf0bf9d8d3405c7709dd162282820915a + md5: 33a413f1095f8325e5c30fde3b0d2445 + depends: + - libblas 3.11.0 8_h4a7cf45_openblas + constrains: + - blas 2.308 openblas + - liblapacke 3.11.0 8*_openblas + - liblapack 3.11.0 8*_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18778 + timestamp: 1779859107964 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda + build_number: 8 + sha256: 3ba039f0705022939d90e36c1ed2fcbafd7f5bb77563e3702202ae796b32f4d2 + md5: 76242b7ad6e43809afa8671dd609b4ed + depends: + - libblas 3.11.0 8_haddc8a3_openblas + constrains: + - liblapack 3.11.0 8*_openblas + - liblapacke 3.11.0 8*_openblas + - blas 2.308 openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18817 + timestamp: 1779859049133 +- conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_h2a3cdd5_mkl.conda + build_number: 8 + sha256: 2a5b6555b481df4603e44cba49a6ef727584fd2f3c5235dd4bcb3028fffbdfb5 + md5: 09f1d8e4d2675d34ad2acb115211d10c + depends: + - libblas 3.11.0 8_h8455456_mkl + constrains: + - liblapacke 3.11.0 8*_mkl + - blas 2.308 mkl + - liblapack 3.11.0 8*_mkl + license: BSD-3-Clause license_family: BSD - size: 2042800 - timestamp: 1769668627820 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2022.3.0-h0eac15c_1.conda - sha256: 3fd3d1ba6b81c5edee8d8fa0d2757f7ba3bf4d4a8ecc68f515c90e737eaa02e4 - md5: eda1e9439d903e3fdd7ff9e086da2018 + purls: [] + size: 68443 + timestamp: 1779859701498 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp22.1-22.1.8-default_h6c227bf_3.conda + sha256: ccb8bd0a8f2d57675b6a60dabb0cc8becb35c2748ac4ec920d7f7625b93c16d8 + md5: 864e6d29ec7378b89ff5b5c9c629099e depends: + - libstdcxx >=14 - libgcc >=14 - - libhwloc >=2.12.1,<2.12.2.0a0 + - __glibc >=2.17,<3.0.a0 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + size: 24175081 + timestamp: 1782358841320 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libclang-cpp22.1-22.1.8-default_h0cc847a_3.conda + sha256: 16ff2afd00acf94320dcfacc7124bbb67ae542d48e5c5ac74627e8690df10dfa + md5: 483b80c996ae6e15317459ebd71d7033 + depends: - libstdcxx >=14 - license: Apache-2.0 + - libgcc >=14 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception license_family: APACHE - size: 144223 - timestamp: 1762511489745 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2022.3.0-hfefdfc9_2.conda - sha256: 2e875ba342c2cde6301b088cd6471f67e44d961bd292abcdfa6ba3fc32506935 - md5: 4d424acd246a5ba42512c097139ed0a0 + size: 24213552 + timestamp: 1782358853037 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-22.1.8-default_h9692865_3.conda + sha256: b90ed8467a692788477c06bc0359fac52ed5651d801ddef189ba4b7ecf3ce38c + md5: 2a913525f4201f1adab2711fcf6f89b3 depends: + - libclang-cpp22.1 ==22.1.8 default_h6c227bf_3 + - libstdcxx >=14 - libgcc >=14 - - libhwloc >=2.12.2,<2.12.3.0a0 + - __glibc >=2.17,<3.0.a0 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + size: 14283567 + timestamp: 1782358841320 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libclang13-22.1.8-default_hd92691d_3.conda + sha256: ef4c63c93751dd2582c4f72d9558faaec68eb26d149406373d5af8e509008c48 + md5: baa5eb601eacb3cc438aad5b343d9b61 + depends: + - libclang-cpp22.1 ==22.1.8 default_h0cc847a_3 - libstdcxx >=14 - license: Apache-2.0 + - libgcc >=14 + - libllvm22 >=22.1.8,<22.2.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + size: 14311328 + timestamp: 1782358853037 +- conda: https://conda.anaconda.org/conda-forge/win-64/libclang13-22.1.8-default_hf735972_3.conda + sha256: 34a25466769d1233d8f36a78d5f9f40279bae3fc4b70852acbd04b159ac4d183 + md5: c45c5a60b68368f62415941c1d9f0ab7 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libzlib >=1.3.2,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception license_family: APACHE - size: 144746 - timestamp: 1767888618836 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda - sha256: e25c314b52764219f842b41aea2c98a059f06437392268f09b03561e4f6e5309 - md5: 7fc6affb9b01e567d2ef1d05b84aa6ed + size: 34917944 + timestamp: 1782358781159 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.14.1.1-hbc026e6_1.conda + sha256: 5fa43e8a8d335fc0c3a6aeb2e7b0debc7d8495b8a60a56ac30f23b0e852ab74a + md5: cab1818eada3952ed09c8dcbb7c26af7 depends: + - __glibc >=2.17,<3.0.a0 + - cuda-version >=12.9,<12.10.0a0 - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - constrains: - - xorg-libx11 >=1.8.12,<2.0a0 - license: TCL - license_family: BSD + - libstdcxx >=14 + - rdma-core >=59.0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 969845 + timestamp: 1761098818759 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda + sha256: 72b9c44d6d33c6d384ddaef755e717c781782cbcb32cfba454a8d8084f02ac55 + md5: 434bbefad502f7a9f7eaf7558c645d75 + depends: + - __glibc >=2.28,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 + - libgcc >=14 + - libstdcxx >=14 + - rdma-core >=63.0 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 3368666 - timestamp: 1769464148928 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h561c983_103.conda - sha256: 154e73f6269f92ad5257aa2039278b083998fd19d371e150f307483fb93c07ae - md5: 631db4799bc2bfe4daccf80bb3cbc433 + size: 1117538 + timestamp: 1782772352403 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.14.1.1-had8bf56_1.conda + sha256: fbc1fa6b3ddf946b2999c9820310682739505df71e1e2ac513a72efb951fa3e5 + md5: ee136db5a5409dddc78eaf7658fccffe depends: - - libgcc >=13 - - libzlib >=1.3.1,<2.0a0 - constrains: - - xorg-libx11 >=1.8.12,<2.0a0 - license: TCL - license_family: BSD - size: 3333495 - timestamp: 1763059192223 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda - build_number: 103 - sha256: cd51fbda051a9f3679d10ef4a94cd1ff38c10533b82845dadce8ba87245ba4ce - md5: 89e78452e06563964e419059ee45584a + - __glibc >=2.28,<3.0.a0 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=14 + - libstdcxx >=14 + - rdma-core >=59.0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 909365 + timestamp: 1761098964619 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda + sha256: 71af687b188c5028d0788d7916adb3f80568d766bf3380b71b600f246d1b9021 + md5: 547968e609a6c1f038fd18a318f3268c depends: + - __glibc >=2.28,<3.0.a0 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - libzlib >=1.3.2,<2.0a0 + - libstdcxx >=14 + - rdma-core >=63.0 constrains: - - xorg-libx11 >=1.8.13,<2.0a0 - license: TCL - run_exports: - weak: - - tk >=8.6.13,<8.7.0a0 - size: 3683040 - timestamp: 1784229053797 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.5.5-py312hefbd42c_0.conda - sha256: 36c363ba31390875a7b024899077268b7fd55fe35e8f9190b5154c4f5032a99b - md5: 9bd0a2e992f86149013b0a5c50a912c9 + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 997204 + timestamp: 1782772368681 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda + sha256: 205c4f19550f3647832ec44e35e6d93c8c206782bdd620c1d7cf66237580ff9c + md5: 49c553b47ff679a6a1e9fc80b9c5a2d4 depends: + - __glibc >=2.17,<3.0.a0 + - krb5 >=1.22.2,<1.23.0a0 - libgcc >=14 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - libstdcxx >=14 + - libzlib >=1.3.1,<2.0a0 license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/tornado?source=hash-mapping - size: 859168 - timestamp: 1774359394755 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/uv-0.11.29-hbe9c82f_0.conda - sha256: f17967c3ed7ad0b92ca97a7abfdf3e556d91649cbd74a1dd35962a333cfbed78 - md5: ef5ef192c6e6f74b6b1271b248336104 + size: 4518030 + timestamp: 1770902209173 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcups-2.3.3-h4f2b762_6.conda + sha256: 41b04f995c9f63af8c4065a35931e46cbc2fdd6b9bf7e4c19f90d53cbb2bc8e5 + md5: 67828c963b17db7dc989fe5d509ef04a depends: + - krb5 >=1.22.2,<1.23.0a0 - libgcc >=14 - libstdcxx >=14 - constrains: - - __glibc >=2.17 - license: Apache-2.0 OR MIT - run_exports: {} - size: 20306087 - timestamp: 1784166394558 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.24.0-h4f8a99f_1.conda - sha256: d94af8f287db764327ac7b48f6c0cd5c40da6ea2606afd34ac30671b7c85d8ee - md5: f6966cb1f000c230359ae98c29e37d87 - depends: - - libexpat >=2.7.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 331480 - timestamp: 1761174368396 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 - sha256: b48f150db8c052c197691c9d76f59e252d3a7f01de123753d51ebf2eed1cf057 - md5: 0efaf807a0b5844ce5f605bd9b668281 - depends: - - libgcc-ng >=12 - license: GPL-2.0-or-later - license_family: GPL - size: 1000661 - timestamp: 1660324722559 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 - sha256: cb2227f2441499900bdc0168eb423d7b2056c8fd5a3541df4e2d05509a88c668 - md5: 786853760099c74a1d4f0da98dd67aea - depends: - - libgcc-ng >=10.3.0 - - libstdcxx-ng >=10.3.0 - license: GPL-2.0-or-later - license_family: GPL - size: 1018181 - timestamp: 1646610147365 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.46-he30d5cf_0.conda - sha256: c440a757d210e84c7f315ac3b034266980a8b4c986600649d296b9198b5b4f5e - md5: 9524f30d9dea7dd5d6ead43a8823b6c2 + - libzlib >=1.3.1,<2.0a0 + license: Apache-2.0 + license_family: Apache + size: 4553739 + timestamp: 1770903929794 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda + sha256: aa8e8c4be9a2e81610ddf574e05b64ee131fab5e0e3693210c9d6d2fba32c680 + md5: 6c77a605a7a689d17d4819c0f8ac9a00 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 license: MIT license_family: MIT - size: 396706 - timestamp: 1759543850920 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.47-he30d5cf_0.conda - sha256: ec7ff9dffbd41faa31a30fa0724699f05bca000d57c745a195ecdb56888a8605 - md5: 4ac707a4279972357712af099cd1ae50 + size: 73490 + timestamp: 1761979956660 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda + sha256: 48814b73bd462da6eed2e697e30c060ae16af21e9fbed30d64feaf0aad9da392 + md5: a9138815598fe6b91a1d6782ca657b0c depends: - libgcc >=14 - - xorg-libx11 >=1.8.13,<2.0a0 license: MIT license_family: MIT - size: 399629 - timestamp: 1772021320967 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda - sha256: a2ba1864403c7eb4194dacbfe2777acf3d596feae43aada8d1b478617ce45031 - md5: c8d8ec3e00cd0fd8a231789b91a7c5b7 - depends: - - libgcc >=13 - license: MIT - license_family: MIT - size: 60433 - timestamp: 1734229908988 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda - sha256: b86a819cd16f90c01d9d81892155126d01555a20dabd5f3091da59d6309afd0a - md5: 2d1409c50882819cb1af2de82e2b7208 - depends: - - libgcc >=13 - - libuuid >=2.38.1,<3.0a0 - - xorg-libice >=1.1.2,<2.0a0 - license: MIT - license_family: MIT - size: 28701 - timestamp: 1741897678254 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.12-hca56bd8_0.conda - sha256: 452977d8ad96f04ec668ba74f46e70a53e00f99c0e0307956aeca75894c8131d - md5: 3df132f0048b9639bc091ef22937c111 + size: 71117 + timestamp: 1761979776756 +- conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda + sha256: 834e4881a18b690d5ec36f44852facd38e13afe599e369be62d29bd675f107ee + md5: e77030e67343e28b084fabd7db0ce43e depends: - - libgcc >=13 - - libxcb >=1.17.0,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 864850 - timestamp: 1741901264068 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda - sha256: cf886160e2ff580d77f7eb8ec1a77c41c2c5b05343e329bc35f0ddf40b8d92ab - md5: 22dd10425ef181e80e130db50675d615 + size: 156818 + timestamp: 1761979842440 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.4.0-ha23c83e_0.conda + sha256: cea351b57c30d70e288b53ea69a1dcf6b750992f5d7717a7fc364072fa1209e7 + md5: 4377d220f09344452b227d699cacce4f depends: - libgcc >=14 - - libxcb >=1.17.0,<2.0a0 + - __glibc >=2.17,<3.0.a0 + constrains: + - __glibc >=2.17 license: MIT license_family: MIT - size: 869058 - timestamp: 1770819244991 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxau-1.0.12-he30d5cf_1.conda - sha256: e9f6e931feeb2f40e1fdbafe41d3b665f1ab6cb39c5880a1fcf9f79a3f3c84a5 - md5: 1c246e1105000c3660558459e2fd6d43 + size: 404998 + timestamp: 1784281566921 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.4.0-hf71c8f5_0.conda + sha256: d12c0db93410085c827587352f05b24ba56ac786285752a4b2aba59309b09832 + md5: 318831d864fbd3a513d71bb0db5ff9e6 depends: - libgcc >=14 + constrains: + - __glibc >=2.17 license: MIT license_family: MIT - size: 16317 - timestamp: 1762977521691 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxcursor-1.2.3-h86ecc28_0.conda - sha256: c5d3692520762322a9598e7448492309f5ee9d8f3aff72d787cf06e77c42507f - md5: f2054759c2203d12d0007005e1f1296d + size: 408693 + timestamp: 1784281571706 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda + sha256: 7d3187c11b7ae66c5595a8afd5a7ce352a490527fdf6614cab129bc7f2c16ba3 + md5: d8d16b9b32a3c5df7e5b3350e2cbe058 depends: - - libgcc >=13 - - xorg-libx11 >=1.8.9,<2.0a0 - - xorg-libxfixes >=6.0.1,<7.0a0 - - xorg-libxrender >=0.9.11,<0.10.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpciaccess >=0.19,<0.20.0a0 license: MIT license_family: MIT - size: 34596 - timestamp: 1730908388714 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda - sha256: 128d72f36bcc8d2b4cdbec07507542e437c7d67f677b7d77b71ed9eeac7d6df1 - md5: bff06dcde4a707339d66d45d96ceb2e2 + size: 311505 + timestamp: 1778975798004 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.127-he30d5cf_0.conda + sha256: 2a941ffcd6b09380344c2cb5b198d2743ce4fc30ec9a5c8c83e53368d8015aef + md5: 987d35ad350bb552a30f3d314f6c7655 depends: - libgcc >=14 + - libpciaccess >=0.19,<0.20.0a0 license: MIT license_family: MIT - size: 21039 - timestamp: 1762979038025 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.6-h57736b2_0.conda - sha256: 8e216b024f52e367463b4173f237af97cf7053c77d9ce3e958bc62473a053f71 - md5: bd1e86dd8aa3afd78a4bfdb4ef918165 + size: 345283 + timestamp: 1778975814771 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + sha256: d789471216e7aba3c184cd054ed61ce3f6dac6f87a50ec69291b9297f8c18724 + md5: c277e0a4d549b03ac1e9d6cbbe3d017b depends: + - ncurses + - __glibc >=2.17,<3.0.a0 - libgcc >=13 - - xorg-libx11 >=1.8.9,<2.0a0 - license: MIT - license_family: MIT - size: 50746 - timestamp: 1727754268156 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda - sha256: db2188bc0d844d4e9747bac7f6c1d067e390bd769c5ad897c93f1df759dc5dba - md5: fb42b683034619915863d68dd9df03a3 + - ncurses >=6.5,<7.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 134676 + timestamp: 1738479519902 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda + sha256: c0b27546aa3a23d47919226b3a1635fccdb4f24b94e72e206a751b33f46fd8d6 + md5: fb640d776fc92b682a14e001980825b1 depends: - - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - license: MIT - license_family: MIT - size: 52409 - timestamp: 1769446753771 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda - sha256: 8cb9c88e25c57e47419e98f04f9ef3154ad96b9f858c88c570c7b91216a64d0e - md5: e8b4056544341daf1d415eaeae7a040c + - ncurses + - libgcc >=13 + - ncurses >=6.5,<7.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 148125 + timestamp: 1738479808948 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda + sha256: 9a25ea93e8272785405a21d30f84e620befb1d545f6dfaae18f06103b5df0443 + md5: 75e9f795be506c96dd43cb09c7c8d557 depends: - - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - license: MIT - license_family: MIT - size: 20704 - timestamp: 1759284028146 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.2-h57736b2_0.conda - sha256: 7b587407ecb9ccd2bbaf0fb94c5dbdde4d015346df063e9502dc0ce2b682fb5e - md5: eeee3bdb31c6acde2b81ad1b8c287087 + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_3 + license: LicenseRef-libglvnd + size: 46500 + timestamp: 1779728188901 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_3.conda + sha256: b987d3874edfcd9c7ddca86c003cb04ae51160a72c173a24cd46ab9eeb8886ab + md5: ec017f25e5d01ef9dd81e95ff73ff051 depends: - - libgcc >=13 - - xorg-libx11 >=1.8.9,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxfixes >=6.0.1,<7.0a0 - license: MIT - license_family: MIT - size: 48197 - timestamp: 1727801059062 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.4-h86ecc28_0.conda - sha256: b2588a2b101d1b0a4e852532c8b9c92c59ef584fc762dd700567bdbf8cd00650 - md5: dd3e74283a082381aa3860312e3c721e + - libglvnd 1.7.0 hd24410f_3 + license: LicenseRef-libglvnd + size: 54600 + timestamp: 1779728234591 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-devel-1.7.0-ha4b6fd6_3.conda + sha256: e4b46919c9bb65930bce238bd2736110ed7b8c30e5cd5394e4e1edb48de54843 + md5: 5bc6d55503483aabe8a90c5e7f49a2a4 depends: - - libgcc >=13 - - xorg-libx11 >=1.8.9,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrender >=0.9.11,<0.10.0a0 - license: MIT - license_family: MIT - size: 30197 - timestamp: 1727794957221 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda - sha256: 9f5196665a8d72f4f119c40dcc4bafeb0b540b102cc7b8b299c2abf599e7919f - md5: 1f64c613f0b8d67e9fb0e165d898fb6b + - __glibc >=2.17,<3.0.a0 + - libegl 1.7.0 ha4b6fd6_3 + - libgl-devel 1.7.0 ha4b6fd6_3 + - xorg-libx11 + license: LicenseRef-libglvnd + size: 31718 + timestamp: 1779728222280 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-devel-1.7.0-hd24410f_3.conda + sha256: 2b5ae66aa91215e915df3c520fed85a17231a067339b54f0594d93689b684c86 + md5: 8ebac3af4a69a9a41c16442a65bf3ac4 + depends: + - libegl 1.7.0 hd24410f_3 + - libgl-devel 1.7.0 hd24410f_3 + - xorg-libx11 + license: LicenseRef-libglvnd + size: 31552 + timestamp: 1779728260736 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda + sha256: 16feffd9ddbbe5b718515d38ee376c685ba95491cd901244e24671d20b952a77 + md5: b24d3c612f71e7aa74158d92106318b2 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - license: MIT - license_family: MIT - size: 31122 - timestamp: 1769445286951 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda - sha256: ffd77ee860c9635a28cfda46163dcfe9224dc6248c62404c544ae6b564a0be1f - md5: ae2c2dd0e2d38d249887727db2af960e - depends: - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 + constrains: + - expat 2.8.1.* license: MIT license_family: MIT - size: 33649 - timestamp: 1734229123157 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxscrnsaver-1.2.4-h86ecc28_0.conda - sha256: ab88b1533e7498baeb00cbda50c899a6fe73eaee14df32c57b8ad3f2a0b3cc26 - md5: 7a0a04defd4399a93936f06fcfac5531 + purls: [] + size: 77856 + timestamp: 1781203599810 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda + sha256: 20a5726bc8705d91437c9e6ef83b30da64a1719b869656d20a1ee818333ea5ac + md5: fac3b65a605cd253037fdf3daf2de8d9 depends: - - libgcc >=13 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 + - libgcc >=14 + constrains: + - expat 2.8.1.* license: MIT license_family: MIT - size: 15720 - timestamp: 1750007336692 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda - sha256: 6eaffce5a34fc0a16a21ddeaefb597e792a263b1b0c387c1ce46b0a967d558e1 - md5: c05698071b5c8e0da82a282085845860 + purls: [] + size: 77649 + timestamp: 1781203572523 +- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda + sha256: 1a54d874addda73b6f7164d5f3905821277a1831bcc05edd74b3085391688571 + md5: ccc490c81ffe14181861beac0e8f3169 depends: - - libgcc >=13 - - xorg-libx11 >=1.8.9,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxi >=1.7.10,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - expat 2.8.1.* license: MIT license_family: MIT - size: 33786 - timestamp: 1727964907993 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h80f16a2_3.conda - sha256: 66265e943f32ce02396ad214e27cb35f5b0490b3bd4f064446390f9d67fa5d88 - md5: 032d8030e4a24fe1f72c74423a46fb88 + purls: [] + size: 71631 + timestamp: 1781203724164 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda + sha256: 31f19b6a88ce40ebc0d5a992c131f57d919f73c0b92cd1617a5bec83f6e961e6 + md5: a360c33a5abe61c07959e449fa1453eb depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 license: MIT license_family: MIT purls: [] - size: 88088 - timestamp: 1753484092643 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-hc0523f8_10.conda - sha256: 32f77d565687a8241ebfb66fe630dcb197efc84f6a8b59df8260b1191b7deb2c - md5: ac79d51c73c8fbe6ef6e9067191b7f1a + size: 58592 + timestamp: 1769456073053 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda + sha256: 3df4c539449aabc3443bbe8c492c01d401eea894603087fca2917aa4e1c2dea9 + md5: 2f364feefb6a7c00423e80dcb12db62a depends: - libgcc >=14 - - libstdcxx >=14 - - libsodium >=1.0.21,<1.0.22.0a0 - - krb5 >=1.22.2,<1.23.0a0 - license: MPL-2.0 - license_family: MOZILLA - purls: [] - size: 350773 - timestamp: 1772476818466 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - sha256: 569990cf12e46f9df540275146da567d9c618c1e9c7a0bc9d9cfefadaed20b75 - md5: c3655f82dcea2aa179b291e7099c1fcc - depends: - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD + license: MIT + license_family: MIT purls: [] - run_exports: - weak: - - zstd >=1.5.7,<1.6.0a0 - size: 614429 - timestamp: 1764777145593 -- conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 - md5: aaa2a381ccc56eac91d63b6c1240312f + size: 55952 + timestamp: 1769456078358 +- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda + sha256: 59d01f2dfa8b77491b5888a5ab88ff4e1574c9359f7e229da254cdfe27ddc190 + md5: 720b39f5ec0610457b725eb3f396219a depends: - - cpython - - python-gil + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT purls: [] - size: 8191 - timestamp: 1744137672556 -- conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda - sha256: 1307719f0d8ee694fc923579a39c0621c23fdaa14ccdf9278a5aac5665ac58e9 - md5: 74ac5069774cdbc53910ec4d631a3999 + size: 45831 + timestamp: 1769456418774 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda + sha256: e755e234236bdda3d265ae82e5b0581d259a9279e3e5b31d745dc43251ad64fb + md5: 47595b9d53054907a00d95e4d47af1d6 depends: - - pygments - - python >=3.9 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - libogg >=1.3.5,<1.4.0a0 + - libstdcxx >=14 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/accessible-pygments?source=hash-mapping - size: 1326096 - timestamp: 1734956217254 -- conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - sha256: 6c4456a138919dae9edd3ac1a74b6fbe5fd66c05675f54df2f8ab8c8d0cc6cea - md5: 1fd9696649f65fd6611fcdb4ffec738a + size: 424563 + timestamp: 1764526740626 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libflac-1.5.0-he9c94f4_1.conda + sha256: 175cdc1865c3d6becc87e96bf44010a8e14f3021600ddad59417ed36e677b1ea + md5: cbe37f1d15f60b5e5272955b55b65325 depends: - - python >=3.10 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - libogg >=1.3.5,<1.4.0a0 + - libstdcxx >=14 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/alabaster?source=hash-mapping - size: 18684 - timestamp: 1733750512696 -- conda: https://conda.anaconda.org/conda-forge/noarch/apeye-1.4.1-pyhd8ed1ab_1.conda - sha256: b554d2d2fc869a5955ebb3e5c8aea5e13ec49363b782b08e1802e29c91beaebf - md5: 0f2a7ba1dfc3b6117cfd864d25fa86ce + size: 397272 + timestamp: 1764526699497 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda + sha256: 38f014a7129e644636e46064ecd6b1945e729c2140e21d75bb476af39e692db2 + md5: e289f3d17880e44b633ba911d57a321b depends: - - apeye-core >=1.0.0b2 - - domdf-python-tools >=2.6.0 - - platformdirs >=2.3.0 - - python >=3.9 - - requests >=2.24.0 + - libfreetype6 >=2.14.3 + license: GPL-2.0-only OR FTL + size: 8049 + timestamp: 1774298163029 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_1.conda + sha256: db75d0fc080992dc67db8e24d7bb2a2f2a0b25bfce8870fa45a82a4b5f6111a2 + md5: a13e600f9d18488b1fd1257344dbfdaa + depends: + - libfreetype6 >=2.14.3 + license: GPL-2.0-only OR FTL + size: 8381 + timestamp: 1780933505754 +- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda + sha256: 035d0c67bf9f7a16f4a1764f420c120f1a995d071bb265fcc66ef688ef709d7b + md5: e45b52fb9a81c9e2708465a706e05952 + depends: + - libfreetype6 >=2.14.3 + license: GPL-2.0-only OR FTL + size: 8711 + timestamp: 1780934891782 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda + sha256: 16f020f96da79db1863fcdd8f2b8f4f7d52f177dd4c58601e38e9182e91adf1d + md5: fb16b4b69e3f1dcfe79d80db8fd0c55d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 constrains: - - cachecontrol >=0.12.6 - license: LGPL-3.0-or-later - license_family: LGPL - purls: - - pkg:pypi/apeye?source=hash-mapping - size: 95690 - timestamp: 1738250335247 -- conda: https://conda.anaconda.org/conda-forge/noarch/apeye-core-1.1.5-pyhd8ed1ab_1.conda - sha256: 3ee9787c3876c2ffb4b3c77ac73c0b28d67d18a376f4c952643cac95020a2a14 - md5: b60c08c6a0cbb505016075bb9e484e56 + - freetype >=2.14.3 + license: GPL-2.0-only OR FTL + size: 384575 + timestamp: 1774298162622 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_1.conda + sha256: 34fe8276befd6c42956c4acd969caeddbdc7ea8e6ed054b8388709b6c3e94ba4 + md5: 426cc33f8745ce11a73baf73db3954a7 depends: - - domdf-python-tools >=2.6.0 - - idna >=2.5 - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/apeye-core?source=hash-mapping - size: 94258 - timestamp: 1738681346787 -- conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - sha256: 0658cac65071ace5beded633851681e6f0b381040c8ce313bbe2a0ab410c5072 - md5: b7d6244b9c7a660f10336645e73c2cd2 - license: BSD-3-Clause - license_family: BSD + - libgcc >=14 + - libpng >=1.6.58,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - freetype >=2.14.3 + license: GPL-2.0-only OR FTL + size: 424236 + timestamp: 1780933505195 +- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + sha256: 0bbd19c9f7c4d0232b31892e6a4d1f82b8d19d1b84d89725f1f491b336447758 + md5: 4e4d54f9f98383d977ba56ef39ebf46d + depends: + - libpng >=1.6.58,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - freetype >=2.14.3 + license: GPL-2.0-only OR FTL + size: 340411 + timestamp: 1780934813224 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + sha256: 8e0a3b5e41272e5678499b5dfc4cddb673f9e935de01eb0767ce857001229f46 + md5: 57736f29cc2b0ec0b6c2952d3f101b6a + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + constrains: + - libgcc-ng ==15.2.0=*_19 + - libgomp 15.2.0 he0feb66_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - run_exports: - strong: - - arm-variant * sbsa - size: 7126 - timestamp: 1742928603302 -- conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - sha256: ee4da0f3fe9d59439798ee399ef3e482791e48784873d546e706d0935f9ff010 - md5: 9673a61a297b00016442e022d689faa6 + size: 1041084 + timestamp: 1778269013026 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda + sha256: 4592b096e553f67799ae70d4b6167eeda3ec74587d68c7aecbf4e7b1df136681 + md5: f35b3f52d0a2ec4ffe3c89ba135cdb9a depends: - - python >=3.10 + - _openmp_mutex >=4.5 constrains: - - astroid >=2,<5 - license: Apache-2.0 - license_family: Apache - purls: - - pkg:pypi/asttokens?source=hash-mapping - size: 28797 - timestamp: 1763410017955 -- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - sha256: 1b6124230bb4e571b1b9401537ecff575b7b109cc3a21ee019f65e083b8399ab - md5: c6b0543676ecb1fb2d7643941fe375f2 + - libgomp 15.2.0 h8acb6b2_19 + - libgcc-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 622462 + timestamp: 1778268755949 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + sha256: 80e80ef5e31b00b12539db3c5aaecde60dab91381abfc1060e323d5c3b016dce + md5: cc5d690fc1c629038f13c68e88e65f44 depends: - - python >=3.10 - - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/attrs?source=hash-mapping - size: 64927 - timestamp: 1773935801332 -- conda: https://conda.anaconda.org/conda-forge/noarch/autodocsumm-0.2.15-pyhd8ed1ab_0.conda - sha256: 21cb40c7c5f47bf54d2722b1ab3c91f747ef2b80ba16ece058755371e5c6385b - md5: e51977d5fe34698e26a20950b8b449e6 + - _openmp_mutex >=4.5 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - msys2-conda-epoch <0.0a0 + - libgcc-ng ==15.2.0=*_19 + - libgomp 15.2.0 h8ee18e1_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 821854 + timestamp: 1778273037795 +- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda + sha256: 38a557eba305468ac1f90ac85e50d8defd76141cb0b8a43b2fc1aca71dd5d5f2 + md5: 683fcb168e1df9a21fa80d5aa2d9330b + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 3095909 + timestamp: 1778268932148 +- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda + sha256: fe600a63a39281e6994e27fe79360cd6bd8e576c3ce1af32ce8673b011f46c21 + md5: 18ad0f0b94071d91fa962a1bf3983a78 + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 2353893 + timestamp: 1778268665954 +- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_119.conda + sha256: 5ea9053e6c903e1ebba35e478df14f9f0fd520ad9dadc944ca5697688d621e97 + md5: 8b4a82e71682c1de2b0839023d6e3133 + depends: + - m2-conda-epoch + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 2419170 + timestamp: 1778272969212 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + sha256: 9dcf54adfaa5e861123c2da4f2f0451a685464ea7e5a41ad91cf67b31d658d98 + md5: 331ee9b72b9dff570d56b1302c5ab37d + depends: + - libgcc 15.2.0 he0feb66_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27694 + timestamp: 1778269016987 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda + sha256: 1137f93f477f56199ded24117430045a0c02cbe8b10031beac3b9ad2138539d3 + md5: 770cf892e5530f43e63cadc673e85653 + depends: + - libgcc 15.2.0 h8acb6b2_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27738 + timestamp: 1778268759211 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + sha256: 561a42758ef25b9ce308c4e2cf56daee4f06138385a17e29a492cd928e00be6f + md5: 42bf7eca1a951735fa06c0e3c0d5c8e6 + depends: + - libgfortran5 15.2.0 h68bc16d_19 + constrains: + - libgfortran-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27655 + timestamp: 1778269042954 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda + sha256: e5ad94be72634233510b33ba792a3339921bd468f0b8bc6961ea05eded251d9b + md5: c7a5b5decf969ead5ecada83654164cf + depends: + - libgfortran5 15.2.0 h1b7bec0_19 + constrains: + - libgfortran-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27728 + timestamp: 1778268784621 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + sha256: 057978bb69fea29ed715a9b98adf71015c31baecc4aeb2bfc20d4fd5d83579d4 + md5: 85072b0ad177c966294f129b7c04a2d5 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=15.2.0 + constrains: + - libgfortran 15.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 2483673 + timestamp: 1778269025089 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda + sha256: af8e9bdcaa77f133a8ee4c1ef57ef564d9c45aa262abf9f5ef9b50eb99d96407 + md5: 779dbb494de6d3d6477cab52eb34285a + depends: + - libgcc >=15.2.0 + constrains: + - libgfortran 15.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 1487244 + timestamp: 1778268767295 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + sha256: ec353b3076ed8e357ed961d0e9ff6997491cade0e603de5bd18a2e301ac78ebd + md5: f25206d7322c0e9648e8b83694d143ab + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_3 + - libglx 1.7.0 ha4b6fd6_3 + license: LicenseRef-libglvnd + size: 133469 + timestamp: 1779728207669 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_3.conda + sha256: 05c75a2034bdbca29bab467d02ad770ed5e524e4f0670432258f2d8487c95348 + md5: 6e893c36f31502dd195d3d58f455fdbd + depends: + - libglvnd 1.7.0 hd24410f_3 + - libglx 1.7.0 hd24410f_3 + license: LicenseRef-libglvnd + size: 148112 + timestamp: 1779728248678 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda + sha256: 41d7d864ad1f199bdb06ff6cc3931455c8af62f1d2071a08c6fa08affbcb678f + md5: 63e43d278ee5084813fe3c2edf4834ce + depends: + - __glibc >=2.17,<3.0.a0 + - libgl 1.7.0 ha4b6fd6_3 + - libglx-devel 1.7.0 ha4b6fd6_3 + license: LicenseRef-libglvnd + size: 115664 + timestamp: 1779728218325 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-devel-1.7.0-hd24410f_3.conda + sha256: b7483884e5e8df362f113d7d7694f0a37ecf6409f1acaaa889f312688917c067 + md5: 3a0adce33b3b8a52c76389db1edfec1b + depends: + - libgl 1.7.0 hd24410f_3 + - libglx-devel 1.7.0 hd24410f_3 + license: LicenseRef-libglvnd + size: 116084 + timestamp: 1779728257534 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.2-h0d30a3d_0.conda + sha256: 4bee10e62796f01e4fa2b5849135b1cc061337fe9cf5eb9bd79e9664922ae0e4 + md5: 889febc66cd9e4190f80ef9718fa239b + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libiconv >=1.18,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - libffi >=3.5.2,<3.6.0a0 + - pcre2 >=10.47,<10.48.0a0 + constrains: + - glib >2.66 + license: LGPL-2.1-or-later + size: 4754220 + timestamp: 1782463895250 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.2-h96a7f82_0.conda + sha256: 6a13152a81513117b8d41bf64dea56c731d877bcced5a24fab738e3c0f9ac58c + md5: 31d404d8c0755d0f9062a4459f5a1084 depends: - - python >=3.7 - - sphinx >=2.2,<10.0 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/autodocsumm?source=hash-mapping - size: 20495 - timestamp: 1774600916594 -- conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - sha256: a14a9ad02101aab25570543a59c5193043b73dc311a25650134ed9e6cb691770 - md5: f1976ce927373500cc19d3c0b2c85177 + - libgcc >=14 + - libffi >=3.5.2,<3.6.0a0 + - pcre2 >=10.47,<10.48.0a0 + - libzlib >=1.3.2,<2.0a0 + - libiconv >=1.18,<2.0a0 + constrains: + - glib >2.66 + license: LGPL-2.1-or-later + size: 4943441 + timestamp: 1782464048865 +- conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.2-h7ce1215_0.conda + sha256: 20d4a182b8aa1d71b331579fae281bb3ccb1a199257ce15fadc53786031a7408 + md5: 5be116480ef34a5646894d7f7cd7ae41 depends: - - python >=3.10 - - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libintl >=0.22.5,<1.0a0 + - libzlib >=1.3.2,<2.0a0 + - libiconv >=1.18,<2.0a0 + - pcre2 >=10.47,<10.48.0a0 + - libffi >=3.5.2,<3.6.0a0 constrains: - - pytz >=2015.7 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/babel?source=hash-mapping - size: 7684321 - timestamp: 1772555330347 -- conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - sha256: bf1e71c3c0a5b024e44ff928225a0874fc3c3356ec1a0b6fe719108e6d1288f6 - md5: 5267bef8efea4127aacd1f4e1f149b6e + - glib >2.66 + license: LGPL-2.1-or-later + size: 4518265 + timestamp: 1782463965040 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + sha256: e019ebe4e3f5cdf23e2f5e58ddf7ade27988c53820115b17b98f218ebcc87748 + md5: eb83f3f8cecc3e9bff9e250817fc69b6 depends: - - python >=3.10 - - soupsieve >=1.2 - - typing-extensions - license: MIT - license_family: MIT - purls: - - pkg:pypi/beautifulsoup4?source=hash-mapping - size: 90399 - timestamp: 1764520638652 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-h4c7d964_0.conda - sha256: 686a13bd2d4024fc99a22c1e0e68a7356af3ed3304a8d3ff6bb56249ad4e82f0 - md5: f98fb7db808b94bc1ec5b0e62f9f1069 + - __glibc >=2.17,<3.0.a0 + license: LicenseRef-libglvnd + size: 133586 + timestamp: 1779728183422 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_3.conda + sha256: ca124e53765a2b123e0ca6ce809c7caf188bb26e5fe125b69099378276d5e66f + md5: a2ad848c0aab2e326c6af08ea20502f4 + license: LicenseRef-libglvnd + size: 146645 + timestamp: 1779728228274 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + sha256: 2f74713c9ca408ea84e88a30a9028153e7b553e8bb42e06139eac9a753c27da9 + md5: ec3c4350aa0261bf7f87b8ca15c8e80e depends: - - __win - license: ISC - size: 152827 - timestamp: 1762967310929 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-hbd8a1cb_0.conda - sha256: b986ba796d42c9d3265602bc038f6f5264095702dd546c14bc684e60c385e773 - md5: f0991f0f84902f6b6009b4d2350a83aa + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_3 + - xorg-libx11 >=1.8.13,<2.0a0 + license: LicenseRef-libglvnd + size: 76586 + timestamp: 1779728199059 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_3.conda + sha256: 2698b415b9f7b692cd64e34db623e1a6e54ed54e78b0b4e5d4ea6762791e9118 + md5: 338faf34b78d053841098c0528699e34 depends: - - __unix - license: ISC - size: 152432 - timestamp: 1762967197890 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.1.4-h4c7d964_0.conda - sha256: 4ddcb01be03f85d3db9d881407fb13a673372f1b9fac9c836ea441893390e049 - md5: 84d389c9eee640dda3d26fc5335c67d8 + - libglvnd 1.7.0 hd24410f_3 + - xorg-libx11 >=1.8.13,<2.0a0 + license: LicenseRef-libglvnd + size: 76704 + timestamp: 1779728242753 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda + sha256: a17ae2d4cb2de04a20882ae14ec3cc1958e868a4dec81e3d7eca30115ee50e94 + md5: 16b6330783ce0d1ae8d22782173b32c9 depends: - - __win - license: ISC - size: 147139 - timestamp: 1767500904211 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.1.4-hbd8a1cb_0.conda - sha256: b5974ec9b50e3c514a382335efa81ed02b05906849827a34061c496f4defa0b2 - md5: bddacf101bb4dd0e51811cb69c7790e2 + - __glibc >=2.17,<3.0.a0 + - libglx 1.7.0 ha4b6fd6_3 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-xorgproto + license: LicenseRef-libglvnd + size: 27363 + timestamp: 1779728211402 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-devel-1.7.0-hd24410f_3.conda + sha256: b30433c4f56bec0a7d9d288e0a456ed280183e32f3f4880ada2189fc12804a52 + md5: 3da9719866b95bddcad86c8aec6a8ba2 depends: - - __unix - license: ISC - size: 146519 - timestamp: 1767500828366 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda - sha256: 37950019c59b99585cee5d30dbc2cc9696ed4e11f5742606a4db1621ed8f94d6 - md5: f001e6e220355b7f87403a4d0e5bf1ca + - libglx 1.7.0 hd24410f_3 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-xorgproto + license: LicenseRef-libglvnd + size: 27651 + timestamp: 1779728252006 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + sha256: 5abe4ab9d93f6c9757d654f1969ae2267d4505315c1f2f8fe705fd60af084f1b + md5: faac990cb7aedc7f3a2224f2c9b0c26c depends: - - __win - license: ISC + - __glibc >=2.17,<3.0.a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 603817 + timestamp: 1778268942614 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + sha256: 2370ef0ffcbae5bede3c4bf136add4abc257245eb91f724c99bb4a43116c5a83 + md5: c5e8a379c4a2ec2aea4ba22758c001d9 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 147734 - timestamp: 1772006322223 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - sha256: 67cc7101b36421c5913a1687ef1b99f85b5d6868da3abbf6ec1a4181e79782fc - md5: 4492fd26db29495f0ba23f146cd5638d + size: 587387 + timestamp: 1778268674393 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + sha256: 4dc958ced2fc7f42bc675b07e2c9abe3e150875ffdf62ca551d94fc6facf1fd7 + md5: f1147651e3fdd585e2f442c0c2fc8f2d depends: - - __unix - license: ISC + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - msys2-conda-epoch <0.0a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 147413 - timestamp: 1772006283803 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda - sha256: 7f458e4a82514d7bebbfef23d92817794a16aaf1c748a15f04870d4fb49aeab2 - md5: b9696b2cf00dfeec138c70cee38ed192 + size: 664640 + timestamp: 1778272979661 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.2.1-h17a8019_1.conda + sha256: 821c315f6b5171aa89e735be2ad84e74eb3f898fc7610ee36cfecd95dfa789e8 + md5: fb4669c3990b94ea32fbb81f433e9aa6 depends: - - __win - license: ISC - run_exports: {} - size: 129352 - timestamp: 1781709016515 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - sha256: f8e3c730fa14ee3f170493779f06522c4acf89169f43db4f039727709b6419cf - md5: a9965dd99f683c5f444428f896635716 + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.15,<2.0a0 + - icu >=78.3,<79.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libgcc >=14 + - libglib >=2.88.2,<3.0a0 + - libpng >=1.6.58,<1.7.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + size: 1297668 + timestamp: 1782800580119 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-14.2.1-h3a99ef3_1.conda + sha256: ae1d16dd62f626c4dab1240a49f6b04e14e4f30140e5fb26bb835821dba114b6 + md5: 655cedd9626545089b9e9ead153cf619 depends: - - __unix - license: ISC - run_exports: {} - size: 128866 - timestamp: 1781708962055 -- conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.3-pyha770c72_0.conda - sha256: ec791bb6f1ef504411f87b28946a7ae63ed1f3681cefc462cf1dfdaf0790b6a9 - md5: 241ef6e3db47a143ac34c21bfba510f1 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.15,<2.0a0 + - icu >=78.3,<79.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libgcc >=14 + - libglib >=2.88.2,<3.0a0 + - libpng >=1.6.58,<1.7.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + size: 1334601 + timestamp: 1782800489368 +- conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.2.1-h03b5201_1.conda + sha256: 634a64cf43f1ce5a4139334bcdbde54d6854ae33d881ae1774377965e21051a5 + md5: 005469a341088900ca235892d3154c24 depends: - - msgpack-python >=0.5.2,<2.0.0 - - python >=3.9 - - requests >=2.16.0 - license: Apache-2.0 - license_family: Apache - purls: - - pkg:pypi/cachecontrol?source=hash-mapping - size: 23868 - timestamp: 1746103006628 -- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - sha256: a6b118fd1ed6099dc4fc03f9c492b88882a780fadaef4ed4f93dc70757713656 - md5: 765c4d97e877cdbbb88ff33152b86125 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.15,<2.0a0 + - icu >=78.3,<79.0a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libglib >=2.88.2,<3.0a0 + - libpng >=1.6.58,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 1008194 + timestamp: 1782801000396 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.2.1-h17a8019_1.conda + sha256: 6d8e793042affd18ca1784b7794fab14d16f54f984777ce6ab86bacaa465ab0d + md5: 99cf21100441e51272f1cd6fe0632a20 depends: - - python >=3.10 - license: ISC - purls: - - pkg:pypi/certifi?source=hash-mapping - size: 151445 - timestamp: 1772001170301 -- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda - sha256: 3f9483d62ce24ecd063f8a5a714448445dc8d9e201147c46699fc0033e824457 - md5: a9167b9571f3baa9d448faa2139d1089 + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - freetype + - graphite2 >=1.3.15,<2.0a0 + - icu >=78.3,<79.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libgcc >=14 + - libglib >=2.88.2,<3.0a0 + - libharfbuzz 14.2.1 h17a8019_1 + - libpng >=1.6.58,<1.7.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + size: 1970690 + timestamp: 1782800603897 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-devel-14.2.1-h3a99ef3_1.conda + sha256: 866b0132df7d080a7b2e3c44e4c79723f007db6c035b1e751612d29db698859b + md5: b6762f2c0386ba4606d5b2cba1e41ca8 depends: - - python >=3.10 + - cairo >=1.18.4,<2.0a0 + - freetype + - graphite2 >=1.3.15,<2.0a0 + - icu >=78.3,<79.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libgcc >=14 + - libglib >=2.88.2,<3.0a0 + - libharfbuzz 14.2.1 h3a99ef3_1 + - libpng >=1.6.58,<1.7.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/charset-normalizer?source=hash-mapping - size: 58872 - timestamp: 1775127203018 -- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyh8f84b5b_1.conda - sha256: 38cfe1ee75b21a8361c8824f5544c3866f303af1762693a178266d7f198e8715 - md5: ea8a6c3256897cc31263de9f455e25d9 + size: 2050496 + timestamp: 1782800511879 +- conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-14.2.1-h03b5201_1.conda + sha256: d04bac65245bf76ae23a18148b941d8215085d38a6d391971966ccda8a996b99 + md5: de077ebf9cbc0c1da6510fdf1bbc6baa depends: - - python >=3.10 - - __unix - - python - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/click?source=hash-mapping - size: 97676 - timestamp: 1764518652276 -- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyha7b4d00_1.conda - sha256: c3bc9a49930fa1c3383a1485948b914823290efac859a2587ca57a270a652e08 - md5: 6cd3ccc98bacfcc92b2bd7f236f01a7e + - cairo >=1.18.4,<2.0a0 + - freetype + - glib + - graphite2 >=1.3.15,<2.0a0 + - icu >=78.3,<79.0a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libglib >=2.88.2,<3.0a0 + - libharfbuzz 14.2.1 h03b5201_1 + - libpng >=1.6.58,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 321750 + timestamp: 1782801035822 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + sha256: 5041d295813dfb84652557839825880aae296222ab725972285c5abe3b6e4288 + md5: c197985b58bc813d26b42881f0021c82 depends: - - python >=3.10 - - colorama - - __win - - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/click?source=hash-mapping - size: 96620 - timestamp: 1764518654675 -- conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 - md5: 962b9857ee8e7018c22f2776ffa0b2d7 + size: 2436378 + timestamp: 1770953868164 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda + sha256: 88888d99e81c93e7331f2eb0fec08b3c4a47a1bfa1c88b3e641f6568569b6261 + md5: 974183f6420938051e2f3208922d057f depends: - - python >=3.9 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/colorama?source=hash-mapping - size: 27011 - timestamp: 1733218222191 -- conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - sha256: 576a44729314ad9e4e5ebe055fbf48beb8116b60e58f9070278985b2b634f212 - md5: 2da13f2b299d8e1995bafbbe9689a2f7 + size: 2453519 + timestamp: 1770953713701 +- conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + sha256: 2ee12e37223dfcd0acd050c80a91150c482b6e2899198521e1800dce66662467 + md5: 6a01c986e30292c715038d2788aa1385 depends: - - python >=3.9 - - python + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - libxml2 + - libxml2-16 >=2.14.6 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/comm?source=hash-mapping - size: 14690 - timestamp: 1753453984907 -- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.12.13-py312hd8ed1ab_0.conda - noarch: generic - sha256: d3e9bbd7340199527f28bbacf947702368f31de60c433a16446767d3c6aaf6fe - md5: f54c1ffb8ecedb85a8b7fcde3a187212 - depends: - - python >=3.12,<3.13.0a0 - - python_abi * *_cp312 - license: Python-2.0 purls: [] - size: 46463 - timestamp: 1772728929620 -- conda: https://conda.anaconda.org/conda-forge/noarch/cssutils-2.11.1-pyhd8ed1ab_0.conda - sha256: b9006cbd28ed63a6461717cb9234e1d1f39441d9db0493f55ee0ca72f3577833 - md5: 99cf98eea444365238fb6ee8f518ef19 - depends: - - more-itertools - - python >=3.9 - license: LGPL-3.0-only - license_family: LGPL - purls: - - pkg:pypi/cssutils?source=hash-mapping - size: 284664 - timestamp: 1747322864144 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-12.9.27-ha770c72_0.conda - sha256: 2ee3b9564ca326226e5cda41d11b251482df8e7c757e333d28ec75213c75d126 - md5: 87ff6381e33b76e5b9b179a2cdd005ec + size: 2396128 + timestamp: 1770954127918 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h3a9caae_0.conda + sha256: 02ab5e50c3921e88ad4dd0bc8f3fe282d2d7d03a20203d3281954b94641deb3d + md5: 9544a7225c8366ea2c397aad5fb53470 depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1150650 - timestamp: 1746189825236 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.3.1-ha770c72_0.conda - sha256: 66d95390d49b989f550ede42dfb3f6e82b6b729493f0843e13cd041a91682730 - md5: 56501e8a53d75afef7a2e3ca723d7569 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 OR BSD-3-Clause + size: 1431901 + timestamp: 1784325535334 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h9b45113_0.conda + sha256: 6583ca6181e2c70367a62951fb7e82fd63048ab667af3c254ca3ba35a8ea2a0c + md5: 321d06ae401d0f7face5326d78f84fc8 depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 1472271 - timestamp: 1779895496841 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda - sha256: 51106d05567031d9b10a26bcaea95022c9ae91ce44758df5dec86d46985bef61 - md5: c7aab5efb8e8151a038f9eb271f23dcf + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 OR BSD-3-Clause + size: 947179 + timestamp: 1784325595902 +- conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h2419aca_0.conda + sha256: ade3e4e8e09051bad9c75ea9e96b09e3c635216c409c87c369e6f8566a528cb1 + md5: 430378e206cf5a148fc8da7603b2466e depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1475805 - timestamp: 1782773759292 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-12.9.27-h579c4fd_0.conda - sha256: b4efaee8fa95b9ec97a462dc343914a138ece704895e33caa52ac55968f7adfa - md5: 71e4d87a72bf003bd05f05a502288b2a + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 OR BSD-3-Clause + size: 564121 + timestamp: 1784325614001 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + sha256: c467851a7312765447155e071752d7bf9bf44d610a5687e32706f480aad2833f + md5: 915f5995e94f60e9a4826e0b0920ee88 depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1149299 - timestamp: 1746189919921 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.3.1-h579c4fd_0.conda - sha256: f35385d6e5aca20274ae3d97f7859dae903b61ed5353ed68595d234beb774dfe - md5: e4cee0d90174186e1bdc9e01d6c66b90 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: LGPL-2.1-only + size: 790176 + timestamp: 1754908768807 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda + sha256: 1473451cd282b48d24515795a595801c9b65b567fe399d7e12d50b2d6cdb04d9 + md5: 5a86bf847b9b926f3a4f203339748d78 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 1481900 - timestamp: 1779895522474 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.4.1-h579c4fd_0.conda - sha256: 2f9d85d0297b0c461518e5665351d73ffc5f7c9e2aa8b6e3e1cd9498bdd31cd0 - md5: 29bc81fe5927466cd27f2e1151e8502a + - libgcc >=14 + license: LGPL-2.1-only + size: 791226 + timestamp: 1754910975665 +- conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + sha256: 0dcdb1a5f01863ac4e8ba006a8b0dc1a02d2221ec3319b5915a1863254d7efa7 + md5: 64571d1dd6cdcfa25d0664a5950fdaa2 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1480995 - timestamp: 1782773779842 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-12.9.27-h57928b3_0.conda - sha256: 681eb1d9afd596e04329a82b04734c0e37c6ecb94b3380f3a378d61983e2a8cc - md5: 8f897dca7111f3bb4ded97ba6947b186 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-only + purls: [] + size: 696926 + timestamp: 1754909290005 +- conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda + sha256: c7e4600f28bcada8ea81456a6530c2329312519efcf0c886030ada38976b0511 + md5: 2cf0cf76cc15d360dfa2f17fd6cf9772 depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1139649 - timestamp: 1746189858434 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.3.1-h57928b3_0.conda - sha256: d730af2f1553511eab97a43522cae5c71ed618c65821084571a2d0655a426f4b - md5: 48f0b2f8be52ff044598069b4753f5bc + - libiconv >=1.17,<2.0a0 + license: LGPL-2.1-or-later + size: 95568 + timestamp: 1723629479451 +- conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_3.conda + sha256: be1f3c48bc750bca7e68955d57180dfd826d6f9fa7eb32994f6cb61b813f9a6a + md5: 7537784e9e35399234d4007f45cdb744 depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 1462453 - timestamp: 1779895589763 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.4.1-h57928b3_0.conda - sha256: cc1524d3d25991ba509aa36b43c9b30ac1cde43820a4b318dbdd729e0ff029fe - md5: 64ff59f43bc9a8838324c8527d4d509d + - libiconv >=1.17,<2.0a0 + - libintl 0.22.5 h5728263_3 + license: LGPL-2.1-or-later + size: 40746 + timestamp: 1723629745649 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_0.conda + sha256: 716332fd31b3808da7a4235a05212a9e9da05e854864c3def2dea0b5d2bf7610 + md5: 466badda5536d85ddc63ee9404f29735 depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1467923 - timestamp: 1782773832153 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-12.9.86-ha770c72_2.conda - sha256: e6257534c4b4b6b8a1192f84191c34906ab9968c92680fa09f639e7846a87304 - md5: 79d280de61e18010df5997daea4743df + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + size: 652868 + timestamp: 1783731886811 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.2.0-he30d5cf_0.conda + sha256: da3e45974c1f23c76264d6358463861236862052ca156e34b502ef3c27e36fb8 + md5: de0780a3690bffe75ac3fa70db84596d depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 94239 - timestamp: 1753975242354 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.33-ha770c72_0.conda - sha256: bd3381629964d1d00245ae9e4a7918c35e4967d216a34aad013f0ce387065b05 - md5: 0c95fd4e823baffe0f8885f4eef00ce7 + - libgcc >=14 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + size: 714602 + timestamp: 1783731816001 +- conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_0.conda + sha256: 3d6635efa9497b9c5ba7957df8067c0a980d5cb10a6ea136931809eb410f8a99 + md5: cf219146d5bf2fee5907409ff9f5ac89 depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 116655 - timestamp: 1779905079263 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.73-ha770c72_0.conda - sha256: 94894c81f0257fc8a7daee9e18f885ce5e26adf1494e05b57ffb0660d59096cd - md5: 05b21494055e653903a447c506e091c8 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + size: 991057 + timestamp: 1783731990693 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-h174a0a3_1.conda + sha256: 1811d6c6558fbfe89326616c207cc7584032b60bc6f4329d2a76b961e2936a15 + md5: 1fff55640e1f12d7606965915be37bbb depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 116550 - timestamp: 1782782846502 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - sha256: 1db1f3ff4b0f445ce4064eb323733f7612ce28bc879dd6849e162b1504b7474a - md5: 86be43a4154301b74f823bc6fe476629 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libhwy >=1.4.0,<1.5.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + license: BSD-3-Clause + license_family: BSD + size: 1849836 + timestamp: 1783146019356 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.12.0-hbae46ee_1.conda + sha256: 476f42670da6c1ad30d0cc830a9ef995975c14075d626e261c8dd1dd0db41558 + md5: e89355bfbc02eeeb0798ac4304968d65 depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 94794 - timestamp: 1753975199249 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.33-h579c4fd_0.conda - sha256: 129008eb8a49e1c0edbb4ba33855f46aab879b975fc427c5990c945fd371d89e - md5: b865ed5c0162925511f48e5a425e42bb + - libgcc >=14 + - libstdcxx >=14 + - libhwy >=1.4.0,<1.5.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + license: BSD-3-Clause + license_family: BSD + size: 2176891 + timestamp: 1783146026809 +- conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.12.0-h932607e_1.conda + sha256: 141310ec747808be57ba9e7501fcfab75b260803233dd9ba818fb85f6080aad9 + md5: adb20d060513fe9655d28a780bafafaa depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 116665 - timestamp: 1779905122757 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - sha256: f7c7c73110c0d762030165b634eafbd921200d982ee3c34d42021838bee544dc - md5: 802c7fb645cef271966164736a763523 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libhwy >=1.4.0,<1.5.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + license: BSD-3-Clause + license_family: BSD + size: 1199695 + timestamp: 1783146089449 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + build_number: 8 + sha256: 168e327d737059553e15cc6ec36d76b9bbb3931c2a7721555fd68b4c9348b247 + md5: 809be8ba8712c77bc7d44c2d99390dc4 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 116641 - timestamp: 1782782854071 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-12.9.86-h57928b3_2.conda - sha256: 2fccde18cafec3cdb6697f37c576567ac623dc69531e2a81bbc83d8a86a82d1f - md5: 569c55bd368307e48191a2ed54c64428 + - libblas 3.11.0 8_h4a7cf45_openblas + constrains: + - blas 2.308 openblas + - libcblas 3.11.0 8*_openblas + - liblapacke 3.11.0 8*_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18790 + timestamp: 1779859115086 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda + build_number: 8 + sha256: d269a684afa0b2fdb44d6b60167f854f30410cdb5ee49a7275c026f6b10c8d05 + md5: 3af3f2aa755abc5e91351114ae214f55 depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 95452 - timestamp: 1753975640812 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.33-h57928b3_0.conda - sha256: ed73e5072b9f4e603bb43f30988dde675174c38e45ce8120a39e6125283b3563 - md5: 7207fca55f102141c1e038577a153c1e + - libblas 3.11.0 8_haddc8a3_openblas + constrains: + - libcblas 3.11.0 8*_openblas + - liblapacke 3.11.0 8*_openblas + - blas 2.308 openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18828 + timestamp: 1779859055749 +- conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda + build_number: 8 + sha256: 44999ed04bc0a56de44ee0ac8bd5b3702efd411a8b29491c0e3d3deb8619c94e + md5: d584799b920ecae9b75a2b70743a3de7 depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 117452 - timestamp: 1779905164275 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.73-h57928b3_0.conda - sha256: b1e55dca7962c05b3ed28025c4e650bcf11b6e775c374fe98f8bc58699b02baf - md5: 653dd441bddb625b0f12adfdf846cc14 + - libblas 3.11.0 8_h8455456_mkl + constrains: + - libcblas 3.11.0 8*_mkl + - liblapacke 3.11.0 8*_mkl + - blas 2.308 mkl + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 81027 + timestamp: 1779859714698 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm22-22.1.8-hf7376ad_1.conda + sha256: e9b5f301d6b001a9b8ce782157f56b75c92c4fbc9eba95dc6345c1139251d13b + md5: 298bb2483fc7d15396147cf1c1465359 depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 116958 - timestamp: 1782782896721 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-12.9.79-h3f2d84a_0.conda - sha256: ffe86ed0144315b276f18020d836c8ef05bf971054cf7c3eb167af92494080d5 - md5: 86e40eb67d83f1a58bdafdd44e5a77c6 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 44320272 + timestamp: 1781788728739 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libllvm22-22.1.8-hfd2ba90_1.conda + sha256: dc943f1730a27f5fb36682c9852f7196f671c3a9df4a0a7a8f7ba665637c9151 + md5: 6fc7875f99e39c80dca8fcdc60e6559e depends: - - cuda-cccl_linux-64 - - cuda-cudart-static_linux-64 - - cuda-cudart_linux-64 - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=12.9.79,<13.0a0 - size: 389140 - timestamp: 1749218427266 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - sha256: d95f1b404119e3f72edb7ac5dbd4443e2d7d040f7d68c3905c0dd7ad78f11311 - md5: 4165013e8d24dd61774458e6f2e36c32 + - libgcc >=14 + - libstdcxx >=14 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 43302008 + timestamp: 1781785783993 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + sha256: ec30e52a3c1bf7d0425380a189d209a52baa03f22fb66dd3eb587acaa765bd6d + md5: b88d90cad08e6bc8ad540cb310a761fb depends: - - cuda-cccl_linux-64 - - cuda-cudart-static_linux-64 - - cuda-cudart_linux-64 - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=13.3.29,<14.0a0 - size: 405020 - timestamp: 1779898430134 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-12.9.79-h3ae8b8a_0.conda - sha256: ad64a1ecfc933172dbc6407d71b1abb78dc7ffcd5cc871baee238350307a7c0c - md5: 60e07c05a51d5549bec1e7ee38849feb + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - xz 5.8.3.* + license: 0BSD + purls: [] + size: 113478 + timestamp: 1775825492909 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda + sha256: d61962b9cd54c3554361550203c64d5b65b71e3058a285b66e4b04b9769f0a5c + md5: 76298a9e6d71ee6e832a8d0d7373b261 depends: - - arm-variant * sbsa - - cuda-cccl_linux-aarch64 - - cuda-cudart-static_linux-aarch64 - - cuda-cudart_linux-aarch64 - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=12.9.79,<13.0a0 - size: 388797 - timestamp: 1749218354725 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda - sha256: 4e15b3a139285d1e86691d5987e7bf4b9e8cbce1df0af206e0c95299a8015644 - md5: f3855f0a74455604f9950bf91ce6d846 + - libgcc >=14 + constrains: + - xz 5.8.3.* + license: 0BSD + purls: [] + size: 126102 + timestamp: 1775828008518 +- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + sha256: d636d1a25234063642f9c531a7bb58d84c1c496411280a36ea000bd122f078f1 + md5: 8f83619ab1588b98dd99c90b0bfc5c6d depends: - - arm-variant * sbsa - - cuda-cccl_linux-aarch64 - - cuda-cudart-static_linux-aarch64 - - cuda-cudart_linux-aarch64 - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=13.3.29,<14.0a0 - size: 403650 - timestamp: 1779898443931 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-12.9.79-he0c23c2_0.conda - sha256: e022d36a333420130faf6473c49f8dab54bf976cf320577ffb06db0a0797b734 - md5: 3c3e2f6b5455783fd332a072d632ea78 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - xz 5.8.3.* + license: 0BSD + purls: [] + size: 106486 + timestamp: 1775825663227 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda + sha256: fe171ed5cf5959993d43ff72de7596e8ac2853e9021dec0344e583734f1e0843 + md5: 2c21e66f50753a083cbe6b80f38268fa + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: BSD-2-Clause + license_family: BSD + size: 92400 + timestamp: 1769482286018 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda + sha256: 57c0dd12d506e84541c4e877898bd2a59cca141df493d34036f18b2751e0a453 + md5: 7b9813e885482e3ccb1fa212b86d7fd0 depends: - - cuda-cccl_win-64 - - cuda-cudart-static_win-64 - - cuda-cudart_win-64 - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=12.9.79,<13.0a0 - size: 1190184 - timestamp: 1749218971019 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-13.3.29-hac47afa_0.conda - sha256: f77605b230a88d089e4294b9b4d650dd4ec4841a0bec9f528b6b4a736299dcb1 - md5: d387bc63f2d520cb434489e41a33614d + - libgcc >=14 + license: BSD-2-Clause + license_family: BSD + size: 114056 + timestamp: 1769482343003 +- conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + sha256: 40dcd0b9522a6e0af72a9db0ced619176e7cfdb114855c7a64f278e73f8a7514 + md5: e4a9fc2bba3b022dad998c78856afe47 depends: - - cuda-cccl_win-64 - - cuda-cudart-static_win-64 - - cuda-cudart_win-64 - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1548117 - timestamp: 1779898493787 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-12.9.79-h3f2d84a_0.conda - sha256: d435f8a19b59b52ce460ee3a6bfd877288a0d1d645119a6ba60f1c3627dc5032 - md5: b87bf315d81218dd63eb46cc1eaef775 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-2-Clause + license_family: BSD + size: 89411 + timestamp: 1769482314283 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda + sha256: ba7c5d294e3d80f08ac5a39564217702d1a752e352e486210faff794ac5001b4 + md5: db63358239cbe1ff86242406d440e44a depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1148889 - timestamp: 1749218381225 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda - sha256: fa920f2c2154ea2ace2d55457e43af8e7bfc2c94fa5ec7276792ad411d1011d1 - md5: 7d4fe2a79d971522b3ad68b772c197eb + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 741323 + timestamp: 1731846827427 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda + sha256: 2e603bf640738511faf80de284daa031f0e67de66b77bed7d0da1045ef062abf + md5: bb24d3dd7d028b70f0bb5f6d6e1329c0 depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1126340 - timestamp: 1779898412056 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-12.9.79-h3ae8b8a_0.conda - sha256: d4be038bad9abf0eac1e88dc57c8db6a469db8eb5d7c281085dfbb018ef84212 - md5: 52498fedeb43bbd4c45f84a0fb722d21 + - libgcc >=13 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 768716 + timestamp: 1731846931826 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + sha256: 927fe72b054277cde6cb82597d0fcf6baf127dcbce2e0a9d8925a68f1265eef5 + md5: d864d34357c3b65a4b731f78c0801dc4 depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1152498 - timestamp: 1749218333554 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda - sha256: efccfa33242cc65deb11312f46244da2e07ba8332352d31f0565e8243215fe09 - md5: 464a04d3d8ffcba349f4e21553dfbcdd + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-only + license_family: GPL + purls: [] + size: 33731 + timestamp: 1750274110928 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h86ecc28_1.conda + sha256: c0dc4d84198e3eef1f37321299e48e2754ca83fd12e6284754e3cb231357c3a5 + md5: d5d58b2dc3e57073fe22303f5fed4db7 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1133087 - timestamp: 1779898428591 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-12.9.79-he0c23c2_0.conda - sha256: 6a3410cd7ce07955cb705801055ef129ebee1cd6390c6fe9e5f607b67c3dba36 - md5: 0dd152a1493d90356037604a865f050f + - libgcc >=13 + license: LGPL-2.1-only + license_family: GPL + purls: [] + size: 34831 + timestamp: 1750274211 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libntlm-1.8-hb9d3cd8_0.conda + sha256: 3b3f19ced060013c2dd99d9d46403be6d319d4601814c772a3472fe2955612b0 + md5: 7c7927b404672409d9917d49bff5f2d6 depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 354611 - timestamp: 1749218544740 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-13.3.29-hac47afa_0.conda - sha256: c837c4eaadbca4426f93ff99b4a0f05ca199f0fb43ec0eac4bd30a2cec4257d0 - md5: 999b16444442cf6d914cecef070d13de + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-or-later + size: 33418 + timestamp: 1734670021371 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libntlm-1.4-hf897c2e_1002.tar.bz2 + sha256: 0e303d7a8845391bd1634efb65dc9d9b82b5608ebeb32fb77a56d1ed696d2eee + md5: 835c7c4137821de5c309f4266a51ba89 depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 83026 - timestamp: 1779898478182 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-12.9.79-h3f2d84a_0.conda - sha256: 6cde0ace2b995b49d0db2eefb7bc30bf00ffc06bb98ef7113632dec8f8907475 - md5: 64508631775fbbf9eca83c84b1df0cae + - libgcc-ng >=9.3.0 + license: LGPL-2.1-or-later + size: 39449 + timestamp: 1609781865660 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-12.9.82-hecca717_2.conda + sha256: e044659e3a7e0a3168951fe8c4d7ad0e3b243211037d326d4e62540c75ce010a + md5: 1812ac6d93b3d1079881ccac0615e273 depends: - - cuda-version >=12.9,<12.10.0a0 + - __glibc >=2.17,<3.0.a0 + - cuda-version >=12,<12.10.0a0 + - libgcc >=14 + - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 197249 - timestamp: 1749218394213 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - sha256: a86028f94acf37b17ca2280734ae9dcc407cdf68a9c400102d323a3b15e52f0b - md5: 10949c6dfe9157fedb19170bd6e0b835 + size: 818431 + timestamp: 1782920268840 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_1.conda + sha256: 2f4f4824d6eb16693fa04aca1f872b64df48445e26e8a357dc538bf9825c25fa + md5: df0f2d96a171e8f843d4f03fa3d8d3d9 depends: + - __glibc >=2.17,<3.0.a0 - cuda-version >=13.3,<13.4.0a0 + - libgcc >=14 + - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 206064 - timestamp: 1779898416941 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-12.9.79-h3ae8b8a_0.conda - sha256: 4900ff2f000a4f8a70a7bc8576469640aa6590618fa9e73c84e066e025dcb760 - md5: cc2459ad427431e089d78d760cf24437 + purls: [] + size: 470857 + timestamp: 1782920237017 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-12.9.82-h8f3c8d4_2.conda + sha256: 11a041920935c01fce0cc351f5db4157a3154e9a1aa3cfec29a707fb44c9a112 + md5: 230f26daf9cfcf4a4185c0c6f9cbdcb2 depends: - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 + - cuda-version >=12,<12.10.0a0 + - libgcc >=14 + - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 212993 - timestamp: 1749218341193 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - sha256: 15f0614bd0ae66c43148539d1c7cd4bbbd1b13aa14045a2339df5737e3d6e36e - md5: 4a7f98cadd8be6b7dcce34764fb38997 + size: 771344 + timestamp: 1782920321153 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_1.conda + sha256: 5a5f13012bde038ad880d7af1514cc9fb6aa50dbffd69ab57e9b20914a3a5e59 + md5: c27b87f23e6381ebbb7f899bdfbe159c depends: - arm-variant * sbsa - cuda-version >=13.3,<13.4.0a0 + - libgcc >=14 + - libstdcxx >=14 + constrains: + - arm-variant * sbsa license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 222441 - timestamp: 1779898433566 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-12.9.79-he0c23c2_0.conda - sha256: 6a89a53cdbcfafa0bb55abee1b58492c6a9a28e688abe04f48f0d01649c5f3e4 - md5: 71c9c2ab52226f990f268164381d8494 + purls: [] + size: 458764 + timestamp: 1782920269581 +- conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-12.9.82-hac47afa_2.conda + sha256: 31b31c81575656d967722ca5d795a414b069ce618714422fb2b6890583ad83e2 + md5: 24695ab1ce33e2fda666dab89c1a23f0 depends: - - cuda-version >=12.9,<12.10.0a0 + - cuda-version >=12,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23260 - timestamp: 1749218569458 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-13.3.29-hac47afa_0.conda - sha256: 3b858e8593d00fa36a6786d1c3d981369f84ae68d3700349dba4c1e4d779c904 - md5: f0253958e16223aabcc8b5561a6f98a7 + size: 345191 + timestamp: 1782920356823 +- conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_1.conda + sha256: 2aef341d28724fbdc03ca41af624304be24ad1fa44ba874d498a4cbff69c227e + md5: 2e2cbaab71b7fe4ae89ddea62e16adbf depends: - cuda-version >=13.3,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24659 - timestamp: 1779898481919 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-12.9.86-ha770c72_2.conda - sha256: 522722dcaffd133e0c7500c69dc70e21ac34d6762dcbaabfe847439f944028f0 - md5: 7b386291414c7eea113d25ac28a33772 - depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27096 - timestamp: 1753975261562 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.33-ha770c72_0.conda - sha256: a7eada853603adf6bed7022384b2b4ddb6d27b348a23a271f75caefa141ea954 - md5: b1b8dcad428089c6ddc16e0f4ac2631d + purls: [] + size: 360699 + timestamp: 1782920315550 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-12.9.86-hecca717_2.conda + sha256: 3b1c851f4fc42d347ce1c1606bdd195343a47f121e0fceb7a1f1e5aa1d497da9 + md5: 3461b0f2d5cbb7973d361f9e85241d98 depends: - - cuda-version >=13.3,<13.4.0a0 + - __glibc >=2.17,<3.0.a0 + - cuda-version >=12,<12.10.0a0 + - libgcc >=14 + - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 28476 - timestamp: 1779905085657 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda - sha256: 64859da589e9d4512b564d813273407b30a4213238f787ef958b84a7960cf469 - md5: ad71cad219a0ba0234e5592a279e8b3f + size: 30515495 + timestamp: 1760723776293 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda + sha256: f5d0aed3cfb504239fac6e03e994f36c34725acba5382adc516cbfdd6993a959 + md5: 2795538ca415afd5d35aec7c6cd2e385 depends: - - cuda-version >=13.3,<13.4.0a0 + - __glibc >=2.17,<3.0.a0 + - cuda-version >=13,<13.4.0a0 + - libgcc >=14 + - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27969 - timestamp: 1782782853086 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - sha256: 5f27299818ecef44d6cf46a99465671744f6074c14618b5f8491a03a62942a7f - md5: c59b036058d7bf78ac0a99618c321e85 + purls: [] + size: 31168008 + timestamp: 1779897778168 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-12.9.86-h8f3c8d4_2.conda + sha256: d5ff36f46250069a23b18d557052c6656f40a002333885e8c5332071e873b48e + md5: e318a6573fea150226d5f417d1c0807a depends: - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 + - cuda-version >=12,<12.10.0a0 + - libgcc >=14 + - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27218 - timestamp: 1753975206503 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.33-h579c4fd_0.conda - sha256: 68c76156498287e1fcffd5d0fb2a83b99b570e3efacf2e9416dfc9a356384738 - md5: 89a0f306085d404e6e774edc5d812679 + size: 30323952 + timestamp: 1760723774770 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda + sha256: 4b1519898eceba923e11b5ae3588af886ce57a7ba3336ffd900320dfe156e457 + md5: cb19b7f9f8c0b6ee98e8a390b54c5a92 depends: - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 + - cuda-version >=13,<13.4.0a0 + - libgcc >=14 + - libstdcxx >=14 + constrains: + - arm-variant * sbsa license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 28720 - timestamp: 1779905125664 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - sha256: 38718cc1669374cbc6442d727c0fa7f90d9a5d11c4c8d32ea75da309d28eadb1 - md5: 8326b68628d6d40a0cab0f6751d6a6d8 + purls: [] + size: 29975854 + timestamp: 1779897817336 +- conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-12.9.86-hac47afa_2.conda + sha256: adf35938c9ecd77d27c87ef870f7710ee422933ad95d1aac136ff39e7af0551f + md5: feaee6b1ab0e7ed9152dc88e1b0eeddd depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 + - cuda-version >=12,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27935 - timestamp: 1782782857355 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-12.9.86-h57928b3_2.conda - sha256: 455dbf0ec81efdbd40c0387d82c77689721f6d34b6e7694ca0d51bad9392eddc - md5: 23f7e70c03eabd2139b5e659c8e188b4 + size: 27343190 + timestamp: 1760724535115 +- conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda + sha256: 90d9e0eec8aca30a7592d137c68f755bf743e1be43b38657751beadb06b443c2 + md5: a1067e24336c586bf64b47206c5bd8b5 depends: - - cuda-version >=12.9,<12.10.0a0 + - cuda-version >=13,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27284 - timestamp: 1753975714790 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.33-h57928b3_0.conda - sha256: 295a4555e021ec3d4a35009a46b9a190c24e33f27e54e2575472c332fd52f204 - md5: c437c34990ce67cd1defa7f98a674417 + purls: [] + size: 28928043 + timestamp: 1779897886674 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda + sha256: ffb066ddf2e76953f92e06677021c73c85536098f1c21fcd15360dbc859e22e4 + md5: 68e52064ed3897463c0e958ab5c8f91b depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 28779 - timestamp: 1779905174253 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.73-h57928b3_0.conda - sha256: 400fa3aa271496bd173a3bb93a0ec8819fc73c795223156b14dcab9a7d0a7fda - md5: 7ff0ccae277707c5cb50965f84fee4e0 + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + license: BSD-3-Clause + license_family: BSD + size: 218500 + timestamp: 1745825989535 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda + sha256: 2c1b7c59badc2fd6c19b6926eabfce906c996068d38c2972bd1cfbe943c07420 + md5: 319df383ae401c40970ee4e9bc836c7a depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27987 - timestamp: 1782782907080 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.5.2-pyhc364b38_0.conda - sha256: 8d1c8a686dd0b1b131eb6dd91aaf35b9cd9c256e26bfebe702683c32bee82798 - md5: 63c7ba46fbfc291fab512005c1753041 + - libgcc >=13 + license: BSD-3-Clause + license_family: BSD + size: 220653 + timestamp: 1745826021156 +- conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda + sha256: c63e5fb169dbd192aacdcee6e37235407f106b8ca9c9036942a25e0366cbc73c + md5: b67ed8c9ca072695ff482e50d888a523 depends: - - python >=3.10 - - cuda-version >=12.0,<14 - - python - license: Apache-2.0 - purls: - - pkg:pypi/cuda-pathfinder?source=hash-mapping - size: 44855 - timestamp: 1775517790256 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda - sha256: 5f5f428031933f117ff9f7fcc650e6ea1b3fef5936cf84aa24af79167513b656 - md5: b6d5d7f1c171cbd228ea06b556cfa859 - constrains: - - cudatoolkit 12.9|12.9.* - - __cuda >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 21578 - timestamp: 1746134436166 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - sha256: bd8ee668f416bdd0f6548b2413550ae83d3834665a5be869a2daf99233ec526e - md5: 0fd72afdcc74560b80eb74b78767c454 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - ucrt >=10.0.20348.0 + license: BSD-3-Clause + license_family: BSD + size: 35040 + timestamp: 1745826086628 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda + sha256: 3d9aa85648e5e18a6d66db98b8c4317cc426721ad7a220aa86330d1ccedc8903 + md5: 2d3278b721e40468295ca755c3b84070 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 constrains: - - __cuda >=13 - - cudatoolkit 13.3|13.3.* - license: LicenseRef-NVIDIA-End-User-License-Agreement + - openblas >=0.3.33,<0.3.34.0a0 + license: BSD-3-Clause + license_family: BSD purls: [] - run_exports: {} - size: 22083 - timestamp: 1779891651771 -- conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda - sha256: c17c6b9937c08ad63cb20a26f403a3234088e57d4455600974a0ce865cb14017 - md5: 9ce473d1d1be1cc3810856a48b3fab32 + size: 5931919 + timestamp: 1776993658641 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda + sha256: b018ecfb05e75a8eea3f21f6b5c5c2a54b5178bdcf19e2e2df2735740214a8c8 + md5: 58a66cd95e9692f08abe89f55a6f3f12 depends: - - python >=3.9 - license: BSD-2-Clause + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + constrains: + - openblas >=0.3.33,<0.3.34.0a0 + license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/decorator?source=hash-mapping - size: 14129 - timestamp: 1740385067843 -- conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.3.0.post1-pyhd8ed1ab_1.conda - sha256: 3aa044441dcea3afb935a48a075b59ed14dabb7ee6e019a757ff68d6b13c0a36 - md5: 103dc54172d3083adcda6bf8f1addcf3 - depends: - - cssutils >=2.2.0 - - domdf-python-tools >=2.2.0 - - python >=3.9 - license: MIT - license_family: MIT - purls: - - pkg:pypi/dict2css?source=hash-mapping - size: 13700 - timestamp: 1738250096666 -- conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - sha256: fa5966bb1718bbf6967a85075e30e4547901410cc7cb7b16daf68942e9a94823 - md5: 24c1ca34138ee57de72a943237cde4cc + purls: [] + size: 5121336 + timestamp: 1776993423004 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopengl-1.7.0-ha4b6fd6_3.conda + sha256: 90777039b48529283df5f16383fc399866024257a8bd93de583f4730db1ab30a + md5: c2bd8055a2e2dce7a7f32cfd02101fb6 depends: - - python >=3.9 - license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 - purls: - - pkg:pypi/docutils?source=hash-mapping - size: 402700 - timestamp: 1733217860944 -- conda: https://conda.anaconda.org/conda-forge/noarch/domdf-python-tools-3.10.0-pyhff2d567_0.conda - sha256: e7a7121de51caa332e73a0a7345d78fb514a8460311347be5d8eba0738c66c31 - md5: 0254332c3957f0ae09a58670c2d7ea01 + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_3 + license: LicenseRef-libglvnd + size: 51767 + timestamp: 1779728204026 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopengl-1.7.0-hd24410f_3.conda + sha256: 9b964590b23c0a0357850653e09ab0d3f840ac5d0068ff927a61b5f00d6dbf65 + md5: 86958137ec1885e2da78804996c99d5f depends: - - importlib-metadata >=3.6.0 - - importlib-resources >=3.0.0 - - natsort >=7.0.1 - - python >=3.9 - - typing-extensions >=3.7.4.1 - license: MIT - license_family: MIT - purls: - - pkg:pypi/domdf-python-tools?source=hash-mapping - size: 96253 - timestamp: 1739444562482 -- conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhd8ed1ab_0.conda - sha256: 07f06106f9c15d36dff4694d1191e7c0f42273f175ad8d7abbffd347dfe33d4c - md5: 8b259cc3194c36e0235f873c6dae9eef + - libglvnd 1.7.0 hd24410f_3 + license: LicenseRef-libglvnd + size: 58759 + timestamp: 1779728245599 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.1-h1f0fae8_1.conda + sha256: 7941fb9ba8c3a5a0a2401dc4120e8fcb561b96d928c43374eb93f545019a2858 + md5: ea41753f926f73966629d81fdf20ec6f depends: - - pygments >=2.6.1 - - python >=3.9 - - typing-extensions >=3.7.4.3 - constrains: - - sphinx >=3.4.0 - - sphinx-toolbox >=2.16.0 - license: LGPL-3.0-or-later - license_family: LGPL - purls: - - pkg:pypi/enum-tools?source=hash-mapping - size: 24762 - timestamp: 1744913087216 -- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - sha256: ee6cf346d017d954255bbcbdb424cddea4d14e4ed7e9813e429db1d795d01144 - md5: 8e662bd460bda79b1ea39194e3c4c9ab + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + size: 6823841 + timestamp: 1782219077259 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.1-h9a8427e_1.conda + sha256: b1b0553cfa613bffa8bed04b3a880d651cc08ffe565e07362c3071597069c4d4 + md5: e18fa81e8db0a20a8d5385902c12ce7c depends: - - python >=3.10 - - typing_extensions >=4.6.0 - license: MIT and PSF-2.0 - purls: - - pkg:pypi/exceptiongroup?source=hash-mapping - size: 21333 - timestamp: 1763918099466 -- conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - sha256: 210c8165a58fdbf16e626aac93cc4c14dbd551a01d1516be5ecad795d2422cad - md5: ff9efb7f7469aed3c4a8106ffa29593c + - libgcc >=14 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + size: 5984918 + timestamp: 1782213524008 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.1-h9a8427e_1.conda + sha256: 72d90363b68266a9dc704008032e1f9acb91e080212e89dc189ea8135b199781 + md5: 2641ed1135e1316f5dd6f9512bcd6845 depends: - - python >=3.10 - license: MIT - license_family: MIT - purls: - - pkg:pypi/executing?source=hash-mapping - size: 30753 - timestamp: 1756729456476 -- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.25.2-pyhd8ed1ab_0.conda - sha256: dddea9ec53d5e179de82c24569d41198f98db93314f0adae6b15195085d5567f - md5: f58064cec97b12a7136ebb8a6f8a129b + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + size: 10313623 + timestamp: 1782213543505 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.1-h7e124b3_1.conda + sha256: 3ac14d36fa890840ae8474b8a9f0a094b8542fd8fbc409faf3d465c68f20aff0 + md5: 5698a64698e14e8a2e9e16f8f0de0e2e depends: - - python >=3.10 - license: Unlicense - purls: - - pkg:pypi/filelock?source=hash-mapping - size: 25845 - timestamp: 1773314012590 -- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b - md5: 0c96522c6bdaed4b1566d11387caaf45 - license: BSD-3-Clause - license_family: BSD - size: 397370 - timestamp: 1566932522327 -- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c - md5: 34893075a5c9e55cdafac56607368fc6 - license: OFL-1.1 - license_family: Other - size: 96530 - timestamp: 1620479909603 -- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 - md5: 4d59c254e01d9cde7957100457e2d5fb - license: OFL-1.1 - license_family: Other - size: 700814 - timestamp: 1620479612257 -- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 - md5: 49023d73832ef61042f6a237cb2687e7 - license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 - license_family: Other - size: 1620504 - timestamp: 1727511233259 -- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61 - md5: fee5683a3f04bd15cbd8318b096a27ab + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + size: 114628 + timestamp: 1782219097820 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.1-he6b9e7b_1.conda + sha256: 523247ab847e3e71ae213311491d5cc0bbb26f2c39ad4c71df9179c1b469e39f + md5: 55060a39fb1c4f7b4c6f3c514879790b + depends: + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libstdcxx >=14 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + size: 111073 + timestamp: 1782213572597 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.1-h7e124b3_1.conda + sha256: 499a472fc7b598ad3753b8f2afe60eb5a277d48eca9362e8aca094b2862587a7 + md5: 2ce088ef09292930d4cb3262ce7e144d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + size: 250912 + timestamp: 1782219111223 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.1-he6b9e7b_1.conda + sha256: 803cf60b354ba780fffe509d013e2603bee30e2a3496cbb772105cdde60f99b5 + md5: ea0cea8d43d94d3118533f2f89e71cd4 + depends: + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libstdcxx >=14 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + size: 238031 + timestamp: 1782213582645 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.1-hd41364c_1.conda + sha256: bec24379598a4405de171ad151945e79743c6bd049aceabf190b753c3f7a11da + md5: 02e71250f7ca786c4b183d0a39ef63ab + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + license: Apache-2.0 + license_family: APACHE + size: 215488 + timestamp: 1782219123433 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.1-he07c6df_1.conda + sha256: 5d216b218170b78e5513d6cef1b76aeebb4b517579a8d98af06a2cf4b2de7050 + md5: ba98371ee8a8122294c44381b4a128d9 + depends: + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + license: Apache-2.0 + license_family: APACHE + size: 207050 + timestamp: 1782213592772 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.1-h1f0fae8_1.conda + sha256: eecc040a7838752a2dff9b4435a4c59bbc67b83e0c880457935b968206cb20b5 + md5: 7288f979a74cfe3fd4b32d8a0dc7baa4 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + size: 13637410 + timestamp: 1782219135415 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.1-h1f0fae8_1.conda + sha256: a47442ce578b022e19a306f963536a108cc79385f4e09d57a14a849b6a864604 + md5: c0a258b12f0c18c476b8344dbd6db8d5 depends: - - fonts-conda-forge - license: BSD-3-Clause - license_family: BSD - size: 3667 - timestamp: 1566974674465 -- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 - md5: a7970cd949a077b7cb9696379d338681 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + - ocl-icd >=2.3.4,<3.0a0 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + size: 12367381 + timestamp: 1782219178219 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.1-h1f0fae8_1.conda + sha256: 45a91feb68ccce90ad0fa86520572233ca20be56deae0c920f86133d020ad1e8 + md5: c214b149e108e92672e0ee097ebe16f7 depends: - - font-ttf-ubuntu - - font-ttf-inconsolata - - font-ttf-dejavu-sans-mono - - font-ttf-source-code-pro - license: BSD-3-Clause - license_family: BSD - size: 4059 - timestamp: 1762351264405 -- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 - md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 + - __glibc >=2.17,<3.0.a0 + - level-zero >=1.29.0,<2.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + size: 2630818 + timestamp: 1782219217519 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.1-hd41364c_1.conda + sha256: ebeba9a3ac9505ee69b556865b7d1b9fbbad01ca1ebe6a4249ff62c3dc677b47 + md5: 2d946aebcf06e9ba438880987050e975 depends: - - python >=3.10 - - hyperframe >=6.1,<7 - - hpack >=4.1,<5 - - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/h2?source=hash-mapping - size: 95967 - timestamp: 1756364871835 -- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda - sha256: 6ad78a180576c706aabeb5b4c8ceb97c0cb25f1e112d76495bff23e3779948ba - md5: 0a802cb9888dd14eeefc611f05c40b6e + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + license: Apache-2.0 + license_family: APACHE + size: 201061 + timestamp: 1782219232657 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.1-he07c6df_1.conda + sha256: 20fe9837f7ef18faca2f6fa0c722fcfd3cf363444b2d0835c7e3a1c8a6a4bbff + md5: 6141a1a2540c990df35ee4c35d6ee4d1 depends: - - python >=3.9 - license: MIT - license_family: MIT - purls: - - pkg:pypi/hpack?source=hash-mapping - size: 30731 - timestamp: 1737618390337 -- conda: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyhd8ed1ab_2.conda - sha256: 8027e436ad59e2a7392f6036392ef9d6c223798d8a1f4f12d5926362def02367 - md5: cf25bfddbd3bc275f3d3f9936cee1dd3 + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + license: Apache-2.0 + license_family: APACHE + size: 196276 + timestamp: 1782213602819 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.1-h607c73d_1.conda + sha256: 7b105c0102356352d6d9518a112ff6343dab6b8f32c837809117cd26cbf006df + md5: 3bd3599825189418ea14b2c9da3a6d87 depends: - - python >=3.9 - - six >=1.9 - - webencodings - license: MIT - license_family: MIT - purls: - - pkg:pypi/html5lib?source=hash-mapping - size: 94853 - timestamp: 1734075276288 -- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 - md5: 8e6923fc12f1fe8f8c4e5c9f343256ac + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libprotobuf >=7.35.1,<7.35.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + size: 1944558 + timestamp: 1782219246849 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.1-h6fc7987_1.conda + sha256: f4f0ffdc53e266cd66e019525fdcabb5544bd89b043b12cf73d37e7128dd32ec + md5: 284180cfb8d20ce6218531fdff158315 depends: - - python >=3.9 - license: MIT - license_family: MIT - purls: - - pkg:pypi/hyperframe?source=hash-mapping - size: 17397 - timestamp: 1737618427549 -- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda - sha256: ae89d0299ada2a3162c2614a9d26557a92aa6a77120ce142f8e0109bbf0342b0 - md5: 53abe63df7e10a6ba605dc5f9f961d36 + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libprotobuf >=7.35.1,<7.35.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + size: 1770837 + timestamp: 1782213614201 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.1-h607c73d_1.conda + sha256: af45c03d41ebe0b48c28b68be31ee919cb801ac5077164808a66db515ad6a316 + md5: 91e198085bff9d8fa02d4d947f026ba8 depends: - - python >=3.10 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/idna?source=hash-mapping - size: 50721 - timestamp: 1760286526795 -- conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda - sha256: 5a047f9eac290e679b4e6f6f4cbfcc5acdfbf031a4f06824d4ddb590cdbb850b - md5: 92617c2ba2847cca7a6ed813b6f4ab79 + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libprotobuf >=7.35.1,<7.35.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + size: 690240 + timestamp: 1782219261154 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.1-h6fc7987_1.conda + sha256: 5ab86f5cad02ff69d87776ddf9bad2c45c84f38579a8cf16464c03436d4c2362 + md5: b45b927c4d1b1128badee6e44146fd62 depends: - - python >=3.10 - license: MIT - license_family: MIT - purls: - - pkg:pypi/imagesize?source=hash-mapping - size: 15729 - timestamp: 1773752188889 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - sha256: c18ab120a0613ada4391b15981d86ff777b5690ca461ea7e9e49531e8f374745 - md5: 63ccfdc3a3ce25b027b8767eb722fca8 + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libprotobuf >=7.35.1,<7.35.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + size: 645700 + timestamp: 1782213626352 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.1-hecca717_1.conda + sha256: e6353874a36143ffb7db7ec2c3767fd5e3434a8eeff41a569bc46e68259f668f + md5: 152d6694f1d05b53319b8376cdd811e4 depends: - - python >=3.9 - - zipp >=3.20 - - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 license: Apache-2.0 license_family: APACHE - size: 34641 - timestamp: 1747934053147 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - sha256: 82ab2a0d91ca1e7e63ab6a4939356667ef683905dea631bc2121aa534d347b16 - md5: 080594bf4493e6bae2607e65390c520a + size: 1226625 + timestamp: 1782219274006 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.1-hfae3067_1.conda + sha256: 6a45d6ec341451dacbb7fa379de9a4d13e613fba6d15f7597c5e8dd529c73382 + md5: a82793a12b99b1d04ce77ebe0fd62e51 depends: - - python >=3.10 - - zipp >=3.20 - - python + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libstdcxx >=14 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/importlib-metadata?source=hash-mapping - size: 34387 - timestamp: 1773931568510 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda - sha256: a99a3dafdfff2bb648d2b10637c704400295cb2ba6dc929e2d814870cf9f6ae5 - md5: e376ea42e9ae40f3278b0f79c9bf9826 - depends: - - importlib_resources >=6.5.2,<6.5.3.0a0 - - python >=3.9 + size: 1129309 + timestamp: 1782213636874 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.1-h21c0c73_1.conda + sha256: cffe112815b8eb57528fdfdf8b39f6a0915884291147dab5bc2066d2bf123031 + md5: 89d2455ec2f065786856b0cd2ac1c0c6 + depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libprotobuf >=7.35.1,<7.35.2.0a0 + - libstdcxx >=14 + - snappy >=1.2.2,<1.3.0a0 license: Apache-2.0 license_family: APACHE - purls: [] - size: 9724 - timestamp: 1736252443859 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda - sha256: acc1d991837c0afb67c75b77fdc72b4bf022aac71fedd8b9ea45918ac9b08a80 - md5: c85c76dc67d75619a92f51dfbce06992 + size: 1284650 + timestamp: 1782219287644 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.1-h9dfe790_1.conda + sha256: cef784d6f72292993c06acc368c157f2093a48acf8556cdbdb6ecedf268e5b42 + md5: 535057ced1e60c5038e9adc80a0b2103 depends: - - python >=3.9 - - zipp >=3.1.0 - constrains: - - importlib-resources >=6.5.2,<6.5.3.0a0 + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libprotobuf >=7.35.1,<7.35.2.0a0 + - libstdcxx >=14 + - snappy >=1.2.2,<1.3.0a0 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/importlib-resources?source=hash-mapping - size: 33781 - timestamp: 1736252433366 -- conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 - md5: 9614359868482abba1bd15ce465e3c42 + size: 1215232 + timestamp: 1782213648342 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.1-hecca717_1.conda + sha256: 142e7b24173ca8c32dbdb29c60f33a56ffb21a4ed733c9d6ab160c3a213ff52e + md5: c1a50f20847df0a8cb462138153ab46f depends: - - python >=3.10 - license: MIT - license_family: MIT - purls: - - pkg:pypi/iniconfig?source=hash-mapping - size: 13387 - timestamp: 1760831448842 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.2.0-pyh6dadd2b_1.conda - sha256: 9cdadaeef5abadca4113f92f5589db19f8b7df5e1b81cb0225f7024a3aedefa3 - md5: b3a7d5842f857414d9ae831a799444dd + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + size: 501906 + timestamp: 1782219300706 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.1-hfae3067_1.conda + sha256: 656276bd4072859725a47516c5954a91b408dd65a0d2d3f923964634a29d0ded + md5: 04e867fd452233f43885090c1533af28 depends: - - __win - - comm >=0.1.1 - - debugpy >=1.6.5 - - ipython >=7.23.1 - - jupyter_client >=8.8.0 - - jupyter_core >=5.1,!=6.0.* - - matplotlib-inline >=0.1 - - nest-asyncio >=1.4 - - packaging >=22 - - psutil >=5.7 - - python >=3.10 - - pyzmq >=25 - - tornado >=6.4.1 - - traitlets >=5.4.0 - - python - constrains: - - appnope >=0.1.2 + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + size: 468695 + timestamp: 1782213660401 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda + sha256: f1061a26213b9653bbb8372bfa3f291787ca091a9a3060a10df4d5297aad74fd + md5: 2446ac1fe030c2aa6141386c1f5a6aed + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/ipykernel?source=hash-mapping - size: 132382 - timestamp: 1770566174387 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.2.0-pyha191276_1.conda - sha256: b77ed58eb235e5ad80e742b03caeed4bbc2a2ef064cb9a2deee3b75dfae91b2a - md5: 8b267f517b81c13594ed68d646fd5dcb + size: 324993 + timestamp: 1768497114401 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda + sha256: 059214f037fa5e51080f5aced39466993b2311a01d871086bd6d2a59bfbf59b5 + md5: c781f98ca7b987f968369bc768b2cd55 depends: - - __linux - - comm >=0.1.1 - - debugpy >=1.6.5 - - ipython >=7.23.1 - - jupyter_client >=8.8.0 - - jupyter_core >=5.1,!=6.0.* - - matplotlib-inline >=0.1 - - nest-asyncio >=1.4 - - packaging >=22 - - psutil >=5.7 - - python >=3.10 - - pyzmq >=25 - - tornado >=6.4.1 - - traitlets >=5.4.0 - - python - constrains: - - appnope >=0.1.2 + - libgcc >=14 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/ipykernel?source=hash-mapping - size: 133644 - timestamp: 1770566133040 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhccfa634_0.conda - sha256: a0d3e4c8e4d7b3801377a03de32951f68d77dd1bfe25082c7915f4e6b0aaa463 - md5: 3734e3b6618ea6e04ad08678d8ed7a45 + size: 383586 + timestamp: 1768497303687 +- conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda + sha256: c3678f111866235b44fa65265966abae7d90b6387178f1459afaedcee8b4a997 + md5: 0ed21da5b6e3a0393e05762b3cce2878 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: BSD-3-Clause + license_family: BSD + size: 307373 + timestamp: 1768497136248 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + sha256: f41721636a7c2e51bc2c642e1127955ab9c81145470714fdaac44d4d09e4af41 + md5: 33082e13b4769b48cfeb648e15bfe3fc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + size: 29147 + timestamp: 1773533027610 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.19-he30d5cf_0.conda + sha256: 5d26d751b7cc4b66e28ed1ae75900956600aaa5c5d874d5a8cf106d3aff834d3 + md5: 462239e256bc180c9c45dd049ba797ee + depends: + - libgcc >=14 + license: MIT + license_family: MIT + size: 30294 + timestamp: 1773533057559 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-hc50b9dd_1.conda + sha256: 7fa90c06b81559cb56ea7806a6696fb4902a1acc20bbaff1bd3a4a75b3ffa0d5 + md5: 4a750e2ae0d52d003bb1e3421581585e + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libdovi >=3.4.0,<4.0a0 + - lcms2 >=2.19.1,<3.0a0 + - shaderc >=2026.3,<2026.4.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + license: LGPL-2.1-or-later + size: 550759 + timestamp: 1784287829706 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-ha018e38_1.conda + sha256: 22fe6a6f34b6910c23cdaac21166cddd70ff385ced7aa45322b70c736fcae4c3 + md5: 6a8214555c597ce831d41d63f3fd3f71 + depends: + - libstdcxx >=14 + - libgcc >=14 + - shaderc >=2026.3,<2026.4.0a0 + - libdovi >=3.4.0,<4.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - lcms2 >=2.19.1,<3.0a0 + license: LGPL-2.1-or-later + size: 565641 + timestamp: 1784287829183 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + sha256: 377cfe037f3eeb3b1bf3ad333f724a64d32f315ee1958581fc671891d63d3f89 + md5: eba48a68a1a2b9d3c0d9511548db85db + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.2,<2.0a0 + license: zlib-acknowledgement + size: 317729 + timestamp: 1776315175087 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda + sha256: 483eaa53da40a6a3e558709d9f7b1ca388735364ae21a1ba58cf942514649c92 + md5: f51503ac45a4888bce71af9027a2ecc9 + depends: + - libgcc >=14 + - libzlib >=1.3.2,<2.0a0 + license: zlib-acknowledgement + size: 341202 + timestamp: 1776315188425 +- conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + sha256: 218913aeee391460bd0e341b834dbd9c6fa6ae0a4276c0c300266cc99a816a28 + md5: 52f1280563f3b48b5f75414cd2d15dd1 + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libzlib >=1.3.2,<2.0a0 + license: zlib-acknowledgement + size: 385227 + timestamp: 1776315248638 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-18.4-hd5a49e9_1.conda + sha256: f7232cb79a31f5a5bcd499aea930b469cde8b96d26db9541022493fd274d2a6e + md5: 6c9103e7ea739a3bb3505da49a4708c1 depends: - - __win - - decorator >=5.1.0 - - ipython_pygments_lexers >=1.0.0 - - jedi >=0.18.2 - - matplotlib-inline >=0.1.6 - - prompt-toolkit >=3.0.41,<3.1.0 - - pygments >=2.14.0 - - python >=3.12 - - stack_data >=0.6.0 - - traitlets >=5.13.0 - - colorama >=0.4.4 - - python - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/ipython?source=hash-mapping - size: 648954 - timestamp: 1774610078420 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhecfbec7_0.conda - sha256: 932044bd893f7adce6c9b384b96a72fd3804cc381e76789398c2fae900f21df7 - md5: b293210beb192c3024683bf6a998a0b8 + - __glibc >=2.17,<3.0.a0 + - icu >=78.3,<79.0a0 + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=14 + - openldap >=2.6.13,<2.7.0a0 + - openssl >=3.5.7,<4.0a0 + license: PostgreSQL + size: 2709008 + timestamp: 1782580447454 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpq-18.4-hccacd55_1.conda + sha256: 8badce81df7b86fde16ad28dea9d5d65ebe318d6eb48865d10fbd4bd296cd152 + md5: aa592f45ebe4bb5a4dd228fdf006b617 depends: - - __unix - - decorator >=5.1.0 - - ipython_pygments_lexers >=1.0.0 - - jedi >=0.18.2 - - matplotlib-inline >=0.1.6 - - prompt-toolkit >=3.0.41,<3.1.0 - - pygments >=2.14.0 - - python >=3.12 - - stack_data >=0.6.0 - - traitlets >=5.13.0 - - pexpect >4.6 - - python - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/ipython?source=hash-mapping - size: 649967 - timestamp: 1774609994657 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - sha256: 894682a42a7d659ae12878dbcb274516a7031bbea9104e92f8e88c1f2765a104 - md5: bd80ba060603cc228d9d81c257093119 + - icu >=78.3,<79.0a0 + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=14 + - openldap >=2.6.13,<2.7.0a0 + - openssl >=3.5.7,<4.0a0 + license: PostgreSQL + size: 2911832 + timestamp: 1782580350945 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h2840a7c_2.conda + sha256: b5ac3938186516c1091b96414c34f90255da2a3bbd736a0712b22bbf4b5ebf02 + md5: 729db8acaadb9a5e5bb2dc3d9ac84ae4 depends: - - pygments - - python >=3.9 + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/ipython-pygments-lexers?source=hash-mapping - size: 13993 - timestamp: 1737123723464 -- conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda - sha256: 92c4d217e2dc68983f724aa983cca5464dcb929c566627b26a2511159667dba8 - md5: a4f4c5dc9b80bc50e0d3dc4e6e8f1bd9 - depends: - - parso >=0.8.3,<0.9.0 - - python >=3.9 - license: Apache-2.0 AND MIT - purls: - - pkg:pypi/jedi?source=hash-mapping - size: 843646 - timestamp: 1733300981994 -- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - sha256: fc9ca7348a4f25fed2079f2153ecdcf5f9cf2a0bc36c4172420ca09e1849df7b - md5: 04558c96691bed63104678757beb4f8d + size: 3774596 + timestamp: 1783168720126 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-7.35.1-h30ec8a2_2.conda + sha256: df3cd7057c4a1d229bff2c9060c03425a42fb12d7d7e7fe985f63907c9e88922 + md5: b9c3b50124bf5fd1ff3ed97ee55f6266 depends: - - markupsafe >=2.0 - - python >=3.10 - - python + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 + - libgcc >=14 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jinja2?source=hash-mapping - size: 120685 - timestamp: 1764517220861 -- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - sha256: db973a37d75db8e19b5f44bbbdaead0c68dde745407f281e2a7fe4db74ec51d7 - md5: ada41c863af263cc4c5fcbaff7c3e4dc + size: 3597785 + timestamp: 1783168080031 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libraqm-0.10.5-h6406941_1.conda + sha256: 7c9e562842f193f772ef0ba681f238a2d9e5ef637588b6e46eb30cc6aa1940c8 + md5: fa63517815747363c41b439ff9301db1 depends: - - attrs >=22.2.0 - - jsonschema-specifications >=2023.3.6 - - python >=3.10 - - referencing >=0.28.4 - - rpds-py >=0.25.0 - - python + - __glibc >=2.28,<3.0.a0 + - libgcc >=14 + - libharfbuzz >=14.2.1 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - fribidi >=1.0.16,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/jsonschema?source=hash-mapping - size: 82356 - timestamp: 1767839954256 -- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - sha256: 0a4f3b132f0faca10c89fdf3b60e15abb62ded6fa80aebfc007d05965192aa04 - md5: 439cd0f567d697b20a8f45cb70a1005a + size: 29441 + timestamp: 1782807076031 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libraqm-0.10.5-hd2f8911_1.conda + sha256: b287b67ba86d625bdaae919bac0a62ca6f5bc61509f034003df3c6b40f584a92 + md5: bf7fa2b700ba2c7b682aec5db14043c7 depends: - - python >=3.10 - - referencing >=0.31.0 - - python + - libgcc >=14 + - __glibc >=2.28,<3.0.a0 + - fribidi >=1.0.16,<2.0a0 + - libharfbuzz >=14.2.1 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 license: MIT license_family: MIT - purls: - - pkg:pypi/jsonschema-specifications?source=hash-mapping - size: 19236 - timestamp: 1757335715225 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-cache-1.0.1-pyhff2d567_0.conda - sha256: 054d397dd45ed08bffb0976702e553dfb0d0b0a477da9cff36e2ea702e928f48 - md5: b0ee650829b8974202a7abe7f8b81e5a + size: 29528 + timestamp: 1782807084739 +- conda: https://conda.anaconda.org/conda-forge/win-64/libraqm-0.10.5-h50d6d30_1.conda + sha256: 79ca55f7202daa560bffafcf7aef435e48618fe91a5243b8e4a6ed4edfbe63bc + md5: e5ab537cdd3462f26be2803209142913 depends: - - attrs - - click - - importlib-metadata - - nbclient >=0.2 - - nbformat - - python >=3.9 - - pyyaml - - sqlalchemy >=1.3.12,<3 - - tabulate + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libharfbuzz >=14.2.1 + - fribidi >=1.0.16,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/jupyter-cache?source=hash-mapping - size: 31236 - timestamp: 1731777189586 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.8.0-pyhcf101f3_0.conda - sha256: e402bd119720862a33229624ec23645916a7d47f30e1711a4af9e005162b84f3 - md5: 8a3d6d0523f66cf004e563a50d9392b3 - depends: - - jupyter_core >=5.1 - - python >=3.10 - - python-dateutil >=2.8.2 - - pyzmq >=25.0 - - tornado >=6.4.1 - - traitlets >=5.3 - - python - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/jupyter-client?source=hash-mapping - size: 112785 - timestamp: 1767954655912 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda - sha256: ed709a6c25b731e01563521ef338b93986cd14b5bc17f35e9382000864872ccc - md5: a8db462b01221e9f5135be466faeb3e0 + size: 29296 + timestamp: 1782807186901 +- conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + sha256: 5571bd8239d71961d4e3ce972f865b3ea95a91ce0b53d5749fe2dd24254ddbda + md5: 492c8d9b1c564c2e948b6cb4ba0f8261 depends: - - __win - - pywin32 - - platformdirs >=2.5 - - python >=3.10 - - traitlets >=5.3 - - python + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.18.0,<3.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.44.6,<3.0a0 + - harfbuzz >=14.2.0 + - libgcc >=14 + - libglib >=2.88.1,<3.0a0 + - libxml2-16 >=2.14.6 + - pango >=1.56.4,<2.0a0 constrains: - - pywin32 >=300 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/jupyter-core?source=hash-mapping - size: 64679 - timestamp: 1760643889625 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - sha256: 1d34b80e5bfcd5323f104dbf99a2aafc0e5d823019d626d0dce5d3d356a2a52a - md5: b38fe4e78ee75def7e599843ef4c1ab0 + - __glibc >=2.17 + license: LGPL-2.1-or-later + size: 3476570 + timestamp: 1780450632624 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.62.3-hf685517_0.conda + sha256: c95ac70755863d8522c1115b54afca86148ea25366b616aa84c993c2ca54b9ce + md5: 38209cc04b3e3e5624c534bc703e6939 depends: - - __unix - - python - - platformdirs >=2.5 - - python >=3.10 - - traitlets >=5.3 - - python - constrains: - - pywin32 >=300 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/jupyter-core?source=hash-mapping - size: 65503 - timestamp: 1760643864586 -- conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - sha256: 41557eeadf641de6aeae49486cef30d02a6912d8da98585d687894afd65b356a - md5: 86d9cba083cd041bfbf242a01a7a1999 - constrains: - - sysroot_linux-64 ==2.28 - license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later - license_family: GPL - run_exports: {} - size: 1278712 - timestamp: 1765578681495 -- conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - sha256: 5d224bf4df9bac24e69de41897c53756108c5271a0e5d2d2f66fd4e2fbc1d84b - md5: bb3b7cad9005f2cbf9d169fb30263f3e + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.18.0,<3.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.44.6,<3.0a0 + - harfbuzz >=14.2.0 + - libgcc >=14 + - libglib >=2.88.1,<3.0a0 + - libxml2-16 >=2.14.6 + - pango >=1.56.4,<2.0a0 constrains: - - sysroot_linux-aarch64 ==2.28 - license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later - license_family: GPL - run_exports: {} - size: 1248134 - timestamp: 1765578613607 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_116.conda - sha256: 48d7d8dded34100d9065d1c0df86a11ab2cd8ddfd1590512b304527ed25b6d93 - md5: e67832fdbf2382757205bb4b38800643 + - __glibc >=2.17 + license: LGPL-2.1-or-later + size: 3052373 + timestamp: 1780456154830 +- conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.62.3-h15cfe45_0.conda + sha256: 6f678be6074b79fe754660d16857a6edba73dd197ad92086250dc38c11b179ab + md5: 3fffc63af7b943cde57aa72f5ffe6048 depends: - - __unix + - cairo >=1.18.4,<2.0a0 + - gdk-pixbuf >=2.44.6,<3.0a0 + - harfbuzz >=14.2.0 + - libglib >=2.88.1,<3.0a0 + - libxml2-16 >=2.14.6 + - pango >=1.56.4,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-or-later + size: 3361405 + timestamp: 1780451179155 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda + sha256: 7a58892a52739ce4c0f7109de9e91b4353104748eb04fc6441d88e8af444ba99 + md5: 67eef12ce33f7ff99900c212d7076fc2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=15.2.0 + - libstdcxx >=15.2.0 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 3094906 - timestamp: 1765256682321 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_118.conda - sha256: af69fc5852908d26e5b630b270982ac792506551dd6af1614bf0370dd5ab5746 - md5: 5d3a96d55f1be45fef88ee23155effd9 + size: 7930689 + timestamp: 1778269054623 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda + sha256: 8115604f113fe2b7be95b2d22183a4dda5779c1cc6db4b826af800581498b4b3 + md5: 95210a1edbd7fc6e12afc9f8276f450a depends: - - __unix + - libgcc >=15.2.0 + - libstdcxx >=15.2.0 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 3085932 - timestamp: 1771378098166 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda - sha256: 38a557eba305468ac1f90ac85e50d8defd76141cb0b8a43b2fc1aca71dd5d5f2 - md5: 683fcb168e1df9a21fa80d5aa2d9330b + size: 7067965 + timestamp: 1778268796086 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda + sha256: 57cb5f92110324c04498b96563211a1bca6a74b2918b1e8df578bfed03cc32e4 + md5: 067590f061c9f6ea7e61e3b2112ed6b3 + depends: + - __glibc >=2.17,<3.0.a0 + - lame >=3.100,<3.101.0a0 + - libflac >=1.5.0,<1.6.0a0 + - libgcc >=14 + - libogg >=1.3.5,<1.4.0a0 + - libopus >=1.5.2,<2.0a0 + - libstdcxx >=14 + - libvorbis >=1.3.7,<1.4.0a0 + - mpg123 >=1.32.9,<1.33.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + size: 355619 + timestamp: 1765181778282 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda + sha256: f0b6844c09cdec608ca504bd97c5d64a5596a25f66ad806381f9d63dfc89e432 + md5: 362bc94148039b77c6a42b1f7e7ef537 + depends: + - lame >=3.100,<3.101.0a0 + - libflac >=1.5.0,<1.6.0a0 + - libgcc >=14 + - libogg >=1.3.5,<1.4.0a0 + - libopus >=1.5.2,<2.0a0 + - libstdcxx >=14 + - libvorbis >=1.3.7,<1.4.0a0 + - mpg123 >=1.32.9,<1.33.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + size: 406978 + timestamp: 1765181892661 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-h280c20c_1.conda + sha256: b677bbf1c339d894757c3dcfbb2f88649e499e4991d70ae09a1466da9a6c92d6 + md5: 965e4d531b588b2e42f66fd8e48b056c depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 3095909 - timestamp: 1778268932148 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_116.conda - sha256: 594e4f22a4b6aae1bca5e22ea3a075c070642ca4c27c53e0c0973926ca711e09 - md5: 8ba6e9b5866b6a5429ca5d9fa12bc964 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: ISC + purls: [] + size: 269272 + timestamp: 1779163468406 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.22-h80f16a2_1.conda + sha256: 36fb7afb28fecb8d678611e05a96b1e135510369b7fe5e353e407308ef1f6796 + md5: 5cb9cebc948d70e6e7c81670f911dab3 depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 2343262 - timestamp: 1765256811670 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_118.conda - sha256: 661e29553769ceb5874eb1ed6c00263fcd36fac9f5fe0fee65d5e5cac3187ff3 - md5: 42284981c315916d916fb3156b8d5b9e + - libgcc >=14 + license: ISC + purls: [] + size: 283426 + timestamp: 1779163468728 +- conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_1.conda + sha256: de45b71224da77a1c3a7dd48d8885eb957c9f05455d4f0828463293e7144330f + md5: 7d5abf7ca1bd00b43d273f44d93d05dc depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 2364690 - timestamp: 1771378032404 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda - sha256: fe600a63a39281e6994e27fe79360cd6bd8e576c3ce1af32ce8673b011f46c21 - md5: 18ad0f0b94071d91fa962a1bf3983a78 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: ISC + purls: [] + size: 280234 + timestamp: 1779164124739 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda + sha256: 365376f4815e5e80def2b3462a2419708b7c292da0da85278386c2618621fff4 + md5: 4aed8e657e9ff156bdbe849b4df44389 depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 2353893 - timestamp: 1778268665954 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_116.conda - sha256: ffffa7c4e12ea0bb70d188eb003809c0579be974c721f0b53345e4e466857fa8 - md5: 83cd21fa27411b91a3ec02ceb9f4d0ca + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.2,<2.0a0 + license: blessing + purls: [] + size: 962119 + timestamp: 1782519076616 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda + sha256: a835400072fb638fb582ee9fc2271169da84cbcad664d28b852610201116027e + md5: 2cd50877f494b34383af22560ced8b04 depends: - - m2-conda-epoch - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 2420086 - timestamp: 1765260357692 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_118.conda - sha256: e43ffa48a88a7d77a0dc0d3ccfa3acc55702e9d964e8564e86927f5a389a6c51 - md5: 1e020780767f809769807a442f5d6f6a + - icu >=78.3,<79.0a0 + - libgcc >=14 + - libzlib >=1.3.2,<2.0a0 + license: blessing + purls: [] + size: 968420 + timestamp: 1782519054102 +- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + sha256: 692dfb73a22c873656d5e393b8f1e2b019a3c8a6486c97cb6900552e64e38c25 + md5: 051f1b2228e7517a2ef8cca5146c8967 depends: - - m2-conda-epoch + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: blessing + purls: [] + size: 1315909 + timestamp: 1782519131898 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + sha256: dff1058c76ec6b8759e41cefa2508162d00e4a5e6721aa68ec3fd10094e702dc + md5: 5794b3bdc38177caf969dabd3af08549 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc 15.2.0 he0feb66_19 + constrains: + - libstdcxx-ng ==15.2.0=*_19 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 2422242 - timestamp: 1771382108271 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_116.conda - sha256: cb331c51739cc68257c7d7eef0e29c355b46b2d72f630854506dbc99240057c1 - md5: 2730e07e576ffbd7bf13f8de34835d41 + purls: [] + size: 5852044 + timestamp: 1778269036376 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda + sha256: 1dadc45e599f510dd5f97141dddcdbb9844d9f1430c1f3a38075cf1c58f87b4e + md5: 543fbc8d71f2a0baf04cf88ce96cb8bb depends: - - __unix + - libgcc 15.2.0 h8acb6b2_19 + constrains: + - libstdcxx-ng ==15.2.0=*_19 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 20763949 - timestamp: 1765256724565 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_118.conda - sha256: 138ee40ba770abf4556ee9981879da9e33299f406a450831b48c1c397d7d0833 - md5: a50630d1810916fc252b2152f1dc9d6d + purls: [] + size: 5546559 + timestamp: 1778268777463 +- conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_19.conda + sha256: 39e3ccf4fa64e24196e57ca34387bdd8f7c749bf3beab1a849244e6923c288d2 + md5: fff457de671788d3df3d5cb246caec3e depends: - - __unix + - libgcc 15.2.0 h8ee18e1_19 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - libstdcxx-ng ==15.2.0=*_19 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 20669511 - timestamp: 1771378139786 + size: 6461114 + timestamp: 1778273060138 - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda sha256: a2385f3611d5cd25378f9cf2367183320731709c067ddd08d43330d3170f15b8 md5: bcfe7eae40158c3e355d2f9d3ed41230 @@ -12155,27 +8637,8 @@ packages: - __unix license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - run_exports: {} size: 20765069 timestamp: 1778268963689 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_116.conda - sha256: 06be0d20cb3784e1d625f316f26962085dd14f74e166bd668ee9c089b5fa3efa - md5: 48cfd02ec4f1308109e5daaccb99aa30 - depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 17639950 - timestamp: 1765256847600 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_118.conda - sha256: 52afca5e24e0bbc840cf9c28b440dea2cebc4500e97084a38cdd27fdc8a3e57c - md5: 99ea26f70c5e380294e760e8bdbaddff - depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 17628403 - timestamp: 1771378058765 - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda sha256: 6f7ceee16070781b7d642a37a35ffdf09c66796d3df105c919526210ce220443 md5: 61da34d67f58dd4cf16683f6cdcb06c8 @@ -12183,4194 +8646,4579 @@ packages: - __unix license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - run_exports: {} size: 17627362 timestamp: 1778268687968 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_116.conda - sha256: 40fce07ecab2b8d4777021e22fbae2f8ab39b5d1713ae3999efae225cd19c5ba - md5: 53a797061ae48ff2bd1956c7abc20776 - depends: - - m2-conda-epoch - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 12310259 - timestamp: 1765260383723 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_118.conda - sha256: 0b27331f127c6c10017442cc98c483aa868298102e98aae70ad86b9a5ae0029e - md5: b7a331c07d140e476fee0c70c9696e87 - depends: - - m2-conda-epoch - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 11729036 - timestamp: 1771382135681 -- conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - sha256: fb0ffe6b3c25189038c29abbd1fac2522d87fe2775a09e5f5088e5542dc3309b - md5: 9676d2a30fa3ffa4e5350041d0993758 - depends: - - m2-conda-epoch - - mingw-w64-ucrt-x86_64-crt-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 - - mingw-w64-ucrt-x86_64-headers-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 - - mingw-w64-ucrt-x86_64-windows-default-manifest - - mingw-w64-ucrt-x86_64-winpthreads-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 - - ucrt - size: 8421 - timestamp: 1759768559974 -- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda - sha256: 7b1da4b5c40385791dbc3cc85ceea9fad5da680a27d5d3cb8bfaa185e304a89e - md5: 5b5203189eb668f042ac2b0826244964 - depends: - - mdurl >=0.1,<1 - - python >=3.10 - license: MIT - license_family: MIT - purls: - - pkg:pypi/markdown-it-py?source=hash-mapping - size: 64736 - timestamp: 1754951288511 -- conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda - sha256: 9d690334de0cd1d22c51bc28420663f4277cfa60d34fa5cad1ce284a13f1d603 - md5: 00e120ce3e40bad7bfc78861ce3c4a25 - depends: - - python >=3.10 - - traitlets - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/matplotlib-inline?source=hash-mapping - size: 15175 - timestamp: 1761214578417 -- conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.5.0-pyhd8ed1ab_0.conda - sha256: 123cc004e2946879708cdb6a9eff24acbbb054990d6131bb94bca7a374ebebfc - md5: 1997a083ef0b4c9331f9191564be275e - depends: - - markdown-it-py >=2.0.0,<5.0.0 - - python >=3.10 - license: MIT - license_family: MIT - purls: - - pkg:pypi/mdit-py-plugins?source=hash-mapping - size: 43805 - timestamp: 1754946862113 -- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 - md5: 592132998493b3ff25fd7479396e8351 - depends: - - python >=3.9 - license: MIT - license_family: MIT - purls: - - pkg:pypi/mdurl?source=hash-mapping - size: 14465 - timestamp: 1733255681319 -- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - sha256: de3e42149b498c16bfb485b7729f4ca0fe392be576a2a10ff702d661799b1df3 - md5: 44ffa6d68699ec9321f6d48d75bdc726 - depends: - - m2-conda-epoch - - mingw-w64-ucrt-x86_64-headers-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 - constrains: - - mingw-w64-ucrt-x86_64-winpthreads-git 12.0.0.r4.gg4f2fc60ca.* - license: ZPL-2.1 - size: 5663635 - timestamp: 1759768458961 -- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - sha256: 1add86481f35163215e7076e6f06f22aa9f1f9345a5fff5cb07bc846c13fbec7 - md5: cab7b807024204893ef5bb1860d91408 - depends: - - m2-conda-epoch - constrains: - - mingw-w64-ucrt-x86_64-crt-git 12.0.0.r4.gg4f2fc60ca.* - - mingw-w64-ucrt-x86_64-winpthreads-git 12.0.0.r4.gg4f2fc60ca.* - license: ZPL-2.1 AND LGPL-2.1-or-later - size: 7089846 - timestamp: 1759768412123 -- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda - sha256: 5b0df4e0ba8487ffd59f60c34c5dbb9e001ecd2c5d2c66ba88eada40bfa3ecb8 - md5: 1d6b5c96d7e3cce773519d7d1a4482f0 - depends: - - __win - constrains: - - m2w64-sysroot_win-64 >=12.0.0.r0 - license: FSFAP - size: 7412 - timestamp: 1717486007140 -- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - sha256: 828abb111286940473c4c665fc8ab300d28920f5af83b32295e8bf2256a8f342 - md5: ba0eeff6a5c62b83c771bb392e22dbb4 - depends: - - m2-conda-epoch - - mingw-w64-ucrt-x86_64-headers-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 - constrains: - - mingw-w64-ucrt-x86_64-crt-git 12.0.0.r4.gg4f2fc60ca.* - license: MIT AND BSD-3-Clause-Clear - size: 123916 - timestamp: 1759768539535 -- conda: https://conda.anaconda.org/conda-forge/noarch/more-itertools-11.0.1-pyhcf101f3_0.conda - sha256: af8f30fb9542f48167fedbe1ab14230bfb82245cd4338b70c30dd55729714472 - md5: 6fbedd565de86ec83bc96531ee3ab856 - depends: - - python >=3.10 - - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/more-itertools?source=hash-mapping - size: 71354 - timestamp: 1775153285920 -- conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - sha256: 6ed158e4e5dd8f6a10ad9e525631e35cee8557718f83de7a4e3966b1f772c4b1 - md5: e9c622e0d00fa24a6292279af3ab6d06 - depends: - - python >=3.9 - license: MIT - license_family: MIT - purls: - - pkg:pypi/mypy-extensions?source=hash-mapping - size: 11766 - timestamp: 1745776666688 -- conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.4.0-pyhcf101f3_0.conda - sha256: c81d0c8c74c3da66808f8da09d8e48f2af2d173d357d45239defaf466838edba - md5: da07c7b1588ad0a44118d28aeb31b6a6 - depends: - - importlib-metadata - - ipykernel - - ipython - - jupyter-cache >=0.5 - - myst-parser >=1.0.0 - - nbclient - - nbformat >=5.0 - - python >=3.10 - - pyyaml - - sphinx >=5 - - typing_extensions - - python - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/myst-nb?source=hash-mapping - size: 68766 - timestamp: 1772587444587 -- conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.0.0-pyhd8ed1ab_0.conda - sha256: f352d594d968acd31052c5f894ae70718be56481ffa9c304fdfcbe78ddf66eb1 - md5: a65e2c3c764766f0b28a3ac5052502a6 - depends: - - docutils >=0.20,<0.23 - - jinja2 - - markdown-it-py >=4.0.0,<4.1.0 - - mdit-py-plugins >=0.5,<0.6 - - python >=3.11 - - pyyaml - - sphinx >=8,<10 - license: MIT - license_family: MIT - purls: - - pkg:pypi/myst-parser?source=hash-mapping - size: 73535 - timestamp: 1768942892170 -- conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - sha256: aeb1548eb72e4f198e72f19d242fb695b35add2ac7b2c00e0d83687052867680 - md5: e941e85e273121222580723010bd4fa2 - depends: - - python >=3.9 - - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/natsort?source=hash-mapping - size: 39262 - timestamp: 1770905275632 -- conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.4-pyhd8ed1ab_0.conda - sha256: 1b66960ee06874ddceeebe375d5f17fb5f393d025a09e15b830ad0c4fffb585b - md5: 00f5b8dafa842e0c27c1cd7296aa4875 +- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_119.conda + sha256: deea115b736d7fe4acbf15c928fc26def84e30211f09a7aac6bed9940862b6e6 + md5: 928d9a3adb00850a4b5a888683c29465 depends: - - jupyter_client >=6.1.12 - - jupyter_core >=4.12,!=5.0.* - - nbformat >=5.1 - - python >=3.8 - - traitlets >=5.4 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/nbclient?source=hash-mapping - size: 28473 - timestamp: 1766485646962 -- conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - sha256: 7a5bd30a2e7ddd7b85031a5e2e14f290898098dc85bea5b3a5bf147c25122838 - md5: bbe1963f1e47f594070ffe87cdf612ea + - m2-conda-epoch + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 11634599 + timestamp: 1778272991364 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda + sha256: 0672b6b6e1791c92e8eccad58081a99d614fcf82bca5841f9dfa3c3e658f83b9 + md5: e5ce228e579726c07255dbf90dc62101 depends: - - jsonschema >=2.6 - - jupyter_core >=4.12,!=5.0.* - - python >=3.9 - - python-fastjsonschema >=2.15 - - traitlets >=5.1 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/nbformat?source=hash-mapping - size: 100945 - timestamp: 1733402844974 -- conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda - sha256: bb7b21d7fd0445ddc0631f64e66d91a179de4ba920b8381f29b9d006a42788c0 - md5: 598fd7d4d0de2455fb74f56063969a97 + - libstdcxx 15.2.0 h934c35e_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 27776 + timestamp: 1778269074600 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_19.conda + sha256: 56b5ec297a988961486694f1c598889c3a697d77a0b42b8cea3faaa12e9bd360 + md5: c82ed61c3ec470c5ec624580e6ba16e4 depends: - - python >=3.9 - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/nest-asyncio?source=hash-mapping - size: 11543 - timestamp: 1733325673691 -- conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.10.0-pyhcf101f3_0.conda - sha256: 482d94fce136c4352b18c6397b9faf0a3149bfb12499ab1ffebad8db0cb6678f - md5: 3aa4b625f20f55cf68e92df5e5bf3c39 + - libstdcxx 15.2.0 hef695bb_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 27803 + timestamp: 1778268813278 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda + sha256: 2293884d59cf0436c37fc0a4bad71011a8de2a6913610d1c701a7703377c1f75 + md5: ea0da9c20bbb221b530810c3c68bbe62 depends: - - python >=3.10 - - sphinx >=6 - - tomli >=1.1.0 - - python - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/numpydoc?source=hash-mapping - size: 65801 - timestamp: 1764715638266 -- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 - md5: 58335b26c38bf4a20f399384c33cbcf9 + - __glibc >=2.17,<3.0.a0 + - libcap >=2.78,<2.79.0a0 + - libgcc >=14 + license: LGPL-2.1-or-later + purls: [] + size: 493022 + timestamp: 1780084748140 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda + sha256: 7938befc6a09d9f829663ea134b01bea78dabe08d928e9a7caa68e2d726e03c5 + md5: d8981d39a52ab992a033a68927da47e0 depends: - - python >=3.8 - - python - license: Apache-2.0 - license_family: APACHE - size: 62477 - timestamp: 1745345660407 -- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - sha256: c1fc0f953048f743385d31c468b4a678b3ad20caffdeaa94bed85ba63049fd58 - md5: b76541e68fea4d511b1ac46a28dcd2c6 + - libcap >=2.78,<2.79.0a0 + - libgcc >=14 + license: LGPL-2.1-or-later + purls: [] + size: 515284 + timestamp: 1780084773602 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-h9d88235_0.conda + sha256: b31346e1c01ab40a170e91147092ee8fd92b1dee3c66ee47ef025571c879b159 + md5: c1fcb4a88bc15a9f77ad8d27d7af1df9 depends: - - python >=3.8 - - python - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/packaging?source=compressed-mapping - size: 72010 - timestamp: 1769093650580 -- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - sha256: 3906abfb6511a3bb309e39b9b1b7bc38f50a723971de2395489fd1f379255890 - md5: 4c06a92e74452cfa53623a81592e8934 + - __glibc >=2.17,<3.0.a0 + - lerc >=4.1.0,<5.0a0 + - libdeflate >=1.25,<1.26.0a0 + - libgcc >=14 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - liblzma >=5.8.3,<6.0a0 + - libstdcxx >=14 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: HPND + size: 452337 + timestamp: 1783084902636 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.2-hdb009f0_0.conda + sha256: ef1006578ef7e3f7c420e89d87846213ceb3fdcef2626af2558cbede53d36839 + md5: 20166e2297c1cac346b544d5f6197440 depends: - - python >=3.8 - - python - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 91574 - timestamp: 1777103621679 -- conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.6-pyhcf101f3_0.conda - sha256: 42b2d77ccea60752f3aa929a6413a7835aaacdbbde679f2f5870a744fa836b94 - md5: 97c1ce2fffa1209e7afb432810ec6e12 + - lerc >=4.1.0,<5.0a0 + - libdeflate >=1.25,<1.26.0a0 + - libgcc >=14 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - liblzma >=5.8.3,<6.0a0 + - libstdcxx >=14 + - libwebp-base >=1.6.0,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + license: HPND + size: 508982 + timestamp: 1783084925965 +- conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_0.conda + sha256: ec6d66308a6d6abaf3225f2f185113e6172e77eb0fa8622af982d7a5d6d47a2c + md5: e83f459471905a04ebe15e21d063c49d depends: - - python >=3.10 - - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/parso?source=hash-mapping - size: 82287 - timestamp: 1770676243987 -- conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - sha256: 202af1de83b585d36445dc1fda94266697341994d1a3328fabde4989e1b3d07a - md5: d0d408b1f18883a944376da5cf8101ea + - lerc >=4.1.0,<5.0a0 + - libdeflate >=1.25,<1.26.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: HPND + size: 1014598 + timestamp: 1783085017197 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda + sha256: 287d05680e49eea51b8145fbf34bc213c0618b04f32e450e9da5d715e5134e38 + md5: 89e5671a076d99516a6acd72a35b1640 depends: - - ptyprocess >=0.5 - - python >=3.9 - license: ISC - purls: - - pkg:pypi/pexpect?source=hash-mapping - size: 53561 - timestamp: 1733302019362 -- conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.0.1-pyh8b19718_0.conda - sha256: 8e1497814a9997654ed7990a79c054ea5a42545679407acbc6f7e809c73c9120 - md5: 67bdec43082fd8a9cffb9484420b39a2 + - __glibc >=2.17,<3.0.a0 + - libcap >=2.78,<2.79.0a0 + - libgcc >=14 + license: LGPL-2.1-or-later + purls: [] + size: 145969 + timestamp: 1780084753104 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda + sha256: 1963dbd5a5c08390db2321dd2fa5c9df45c0fe68701fce4f9c36141155b4de13 + md5: 67728797901490baae52b3ce8d738d34 depends: - - python >=3.10,<3.13.0a0 - - setuptools - - wheel - license: MIT - license_family: MIT - purls: - - pkg:pypi/pip?source=hash-mapping - size: 1181790 - timestamp: 1770270305795 -- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.4-pyhcf101f3_0.conda - sha256: 0289f0a38337ee201d984f8f31f11f6ef076cfbbfd0ab9181d12d9d1d099bf46 - md5: 82c1787f2a65c0155ef9652466ee98d6 + - libcap >=2.78,<2.79.0a0 + - libgcc >=14 + license: LGPL-2.1-or-later + purls: [] + size: 156922 + timestamp: 1780084778404 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda + sha256: 71c8b9d5c72473752a0bb6e91b01dd209a03916cb71f36cc6a564e3a2a132d7a + md5: e179a69edd30d75c0144d7a380b88f28 depends: - - python >=3.10 - - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 license: MIT license_family: MIT - purls: - - pkg:pypi/platformdirs?source=hash-mapping - size: 25646 - timestamp: 1773199142345 -- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - sha256: e14aafa63efa0528ca99ba568eaf506eb55a0371d12e6250aaaa61718d2eb62e - md5: d7585b6550ad04c8c5e21097ada2888e + size: 75995 + timestamp: 1757032240102 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libunwind-1.8.3-h6470e1d_0.conda + sha256: 86c013d522975b76e16a74341bfcb22f6ec2e9b8b87ec3e15380f46c435eaa7b + md5: 5d8191a950e492a06dc29b491dd5f7c5 depends: - - python >=3.9 - - python + - libgcc >=14 + - libstdcxx >=14 license: MIT license_family: MIT - purls: - - pkg:pypi/pluggy?source=hash-mapping - size: 25877 - timestamp: 1764896838868 -- conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda - sha256: 4817651a276016f3838957bfdf963386438c70761e9faec7749d411635979bae - md5: edb16f14d920fb3faf17f5ce582942d6 - depends: - - python >=3.10 - - wcwidth - constrains: - - prompt_toolkit 3.0.52 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/prompt-toolkit?source=hash-mapping - size: 273927 - timestamp: 1756321848365 -- conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - sha256: a7713dfe30faf17508ec359e0bc7e0983f5d94682492469bd462cdaae9c64d83 - md5: 7d9daffbb8d8e0af0f769dbbcd173a54 - depends: - - python >=3.9 - license: ISC - purls: - - pkg:pypi/ptyprocess?source=hash-mapping - size: 19457 - timestamp: 1733302371990 -- conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - sha256: 71bd24600d14bb171a6321d523486f6a06f855e75e547fa0cb2a0953b02047f0 - md5: 3bfdfb8dbcdc4af1ae3f9a8eb3948f04 + size: 94555 + timestamp: 1757032278900 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda + sha256: 3d17b7aa90610afc65356e9e6149aeac0b2df19deda73a51f0a09cf04fd89286 + md5: 56f65185b520e016d29d01657ac02c0d depends: - - python >=3.9 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 license: MIT license_family: MIT - purls: - - pkg:pypi/pure-eval?source=hash-mapping - size: 16668 - timestamp: 1733569518868 -- conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - sha256: 6d8f03c13d085a569fde931892cded813474acbef2e03381a1a87f420c7da035 - md5: 46830ee16925d5ed250850503b5dc3a8 + size: 154203 + timestamp: 1770566529700 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.14-hfefdfc9_0.conda + sha256: 7584dc478a34e50c5dc0e0ceac4cb9819ff352bc3a5d0cbb001b974dab9a0967 + md5: 9d32167817a5a85724e8524436559229 depends: - - python >=3.9 + - libgcc >=14 + - libstdcxx >=14 license: MIT license_family: MIT - size: 25766 - timestamp: 1733236452235 -- conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.17.0-pyhcf101f3_0.conda - sha256: 03ae7063dd18f070cf28a441dd86ea476c20ff7fc174d8365a476a650a6ae20f - md5: c09bb5f9960ff1cd334c5573b5ad79c2 + size: 155011 + timestamp: 1770567701524 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda + sha256: 89c84f5b26028a9d0f5c4014330703e7dff73ba0c98f90103e9cef6b43a5323c + md5: d17e3fb595a9f24fa9e149239a33475d depends: - - accessible-pygments - - babel - - beautifulsoup4 - - docutils !=0.17.0 - - pygments >=2.7 - - python >=3.10 - - sphinx >=7.0 - - typing_extensions - - python - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/pydata-sphinx-theme?source=hash-mapping - size: 1655347 - timestamp: 1775308781489 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.11-pyhd8ed1ab_0.conda - sha256: 471cc2e244e5ffdd909d4c46219d59b3ba1e7fe9bd7e99c6c64382d4939f63a3 - md5: 1cf39bf57f0b038b12dffce5a4b27e14 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libudev1 >=257.4 + license: LGPL-2.1-or-later + size: 89551 + timestamp: 1748856210075 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libusb-1.0.29-h06eaf92_0.conda + sha256: a60aae6b529cd7caa7842f9781ef95b93014e618f71fb005e404af434d76a33f + md5: 9a86e7473e16fe25c5c47f6c1376ac82 + depends: + - libgcc >=13 + - libudev1 >=257.4 + license: LGPL-2.1-or-later + size: 93129 + timestamp: 1748856228398 +- conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda + sha256: 9837f8e8de20b6c9c033561cd33b4554cd551b217e3b8d2862b353ed2c23d8b8 + md5: a656b2c367405cd24988cf67ff2675aa depends: - - ffmpeg >=4.0.0 - - freetype - - python >=3.10 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - ucrt >=10.0.20348.0 + license: LGPL-2.1-or-later + size: 118204 + timestamp: 1748856290542 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + sha256: 9b1bdce27a7e31f7d241aeecff67a1f3101d52a2b1e33ccc2cdf2613072bf81f + md5: 01bb81d12c957de066ea7362007df642 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 license: BSD-3-Clause license_family: BSD - size: 724353 - timestamp: 1762495207513 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - sha256: 638d74a3a5f62f0c2deca8edb796835c1a5f14f0f1771aad63e3b3b7f65993b4 - md5: 98c2b80f5741f63f6ca5b6119c56eeaf + purls: [] + size: 40017 + timestamp: 1781625522462 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda + sha256: 7663489f97c104ae3814db10f384932c74b439f3c1fd4247e4fe3599830c090a + md5: 58fa42bc4bc71fc329889497ec15effb depends: - - ffmpeg >=4.0.0 - - freetype - - python >=3.10 + - libgcc >=14 license: BSD-3-Clause license_family: BSD - size: 725938 - timestamp: 1770169149613 -- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - sha256: 5577623b9f6685ece2697c6eb7511b4c9ac5fb607c9babc2646c811b428fd46a - md5: 6b6ece66ebcae2d5f326c77ef2c5a066 + purls: [] + size: 43248 + timestamp: 1781625528371 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.24.1-he1eb515_0.conda + sha256: 16a76abbb4fd1de4516ac4a3d06cbf1f561bc8049ca72b04dcac395eee74d017 + md5: eb1b7f8bfdea40eef150c4a1d37df09e depends: - - python >=3.9 - license: BSD-2-Clause - license_family: BSD - size: 889287 - timestamp: 1750615908735 -- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - sha256: cf70b2f5ad9ae472b71235e5c8a736c9316df3705746de419b59d442e8348e86 - md5: 16c18772b340887160c79a6acc022db0 + - __glibc >=2.17,<3.0.a0 + - libdrm >=2.4.127,<2.5.0a0 + - libegl >=1.7.0,<2.0a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libglx >=1.7.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - wayland >=1.25.0,<2.0a0 + - wayland-protocols + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + license: MIT + license_family: MIT + size: 222717 + timestamp: 1783519315031 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda + sha256: ca494c99c7e5ecc1b4cd2f72b5584cef3d4ce631d23511184411abcbb90a21a5 + md5: b4ecbefe517ed0157c37f8182768271c depends: - - python >=3.10 - license: BSD-2-Clause + - libogg + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libogg >=1.3.5,<1.4.0a0 + license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pygments?source=hash-mapping - size: 893031 - timestamp: 1774796815820 -- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - sha256: d016e04b0e12063fbee4a2d5fbb9b39a8d191b5a0042f0b8459188aedeabb0ca - md5: e2fd202833c4a981ce8a65974fe4abd1 + size: 285894 + timestamp: 1753879378005 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvorbis-1.3.7-h7ac5ae9_2.conda + sha256: 066708ca7179a1c6e5639d015de7ed6e432b93ad50525843db67d57eb1ba1faf + md5: 9d099329070afe52d797462ca7bf35f3 depends: - - __win - - python >=3.9 - - win_inet_pton + - libogg + - libstdcxx >=14 + - libgcc >=14 + - libogg >=1.3.5,<1.4.0a0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pysocks?source=hash-mapping - size: 21784 - timestamp: 1733217448189 -- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 - md5: 461219d1a5bd61342293efa2c0c90eac + size: 289391 + timestamp: 1753879417231 +- conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda + sha256: 429124709c73b2e8fae5570bdc6b42f5418a7551ba72e591bb960b752e87b365 + md5: 42a8a56c60882da5d451aa95b8455111 depends: - - __unix - - python >=3.9 + - libogg + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libogg >=1.3.5,<1.4.0a0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pysocks?source=hash-mapping - size: 21085 - timestamp: 1733217331982 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - sha256: 9e749fb465a8bedf0184d8b8996992a38de351f7c64e967031944978de03a520 - md5: 2b694bad8a50dc2f712f5368de866480 + size: 243401 + timestamp: 1753879416570 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda + sha256: 38850657dd6835613ef16b34895a54bea98bc7639db6a649c886b331635714fc + md5: 9f6b0090c3902b2c763a16f7dace7b6e depends: - - pygments >=2.7.2 - - python >=3.10 - - iniconfig >=1.0.1 - - packaging >=22 - - pluggy >=1.5,<2 - - tomli >=1 - - colorama >=0.4 - - exceptiongroup >=1 - - python - constrains: - - pytest-faulthandler >=2 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - intel-media-driver >=26.1.2,<26.2.0a0 + - libva >=2.23.0,<3.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/pytest?source=hash-mapping - size: 299581 - timestamp: 1765062031645 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - sha256: 2f2229415a6e5387c1faaedf442ea8c07471cb2bf5ad1007b9cfb83ea85ca29a - md5: 0e7294ed4af8b833fcd2c101d647c3da + size: 287992 + timestamp: 1772980546550 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda + sha256: 8e1119977f235b488ab32d540c018d3fd1eccefc3dd3859921a0ff555d8c10d2 + md5: 10f5008f1c89a40b09711b5a9cdbd229 depends: - - py-cpuinfo - - pytest >=8.1 - - python >=3.10 - license: BSD-2-Clause + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: BSD-3-Clause license_family: BSD - size: 43976 - timestamp: 1762716480208 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - sha256: bd1953e4bc20ffd52cfee41b27b3a781ca6e281004d0dd59e2dd60b0192c7a86 - md5: 203b5d3f85a47940f7ec6b6e1747786e + size: 1070048 + timestamp: 1762010217363 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvpx-1.15.2-hfae3067_0.conda + sha256: 4b60838eee9bda276f4b75906745d8f98f74c4b40d741050e07b2a96fcaf753f + md5: dd61430bfc5499c75422afdd0fe0a1bb depends: - - importlib-metadata >=3.6.0 - - pytest - - python >=3.6 - license: MIT - license_family: MIT - size: 14133 - timestamp: 1692131735622 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - sha256: cea7b0555c22a734d732f98a3b256646f3d82d926a35fa2bfd16f11395abd83b - md5: 9e8871313f26d8b6f0232522b3bc47a5 + - libgcc >=14 + - libstdcxx >=14 + license: BSD-3-Clause + license_family: BSD + size: 1296382 + timestamp: 1762012332100 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda + sha256: a68280d57dfd29e3d53400409a39d67c4b9515097eba733aa6fe00c880620e2b + md5: 31ad065eda3c2d88f8215b1289df9c89 depends: - - pytest >=5 - - python >=3.9 - license: MPL-2.0 - license_family: MOZILLA - size: 10537 - timestamp: 1744061283541 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 - md5: 5b8d21249ff20967101ffa321cab24e8 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxrandr >=1.5.5,<2.0a0 + constrains: + - libvulkan-headers 1.4.341.0.* + license: Apache-2.0 + license_family: APACHE + size: 199795 + timestamp: 1770077125520 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.341.0-h8b8848b_0.conda + sha256: 92a92589f4f787201bc5091990001f61515fa794fa4f0fb15f0ca50f3cc330cc + md5: 06bb91a87fb97ea09398d2e121e00c39 depends: - - python >=3.9 - - six >=1.5 - - python + - libstdcxx >=14 + - libgcc >=14 + - xorg-libxrandr >=1.5.5,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + constrains: + - libvulkan-headers 1.4.341.0.* license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/python-dateutil?source=hash-mapping - size: 233310 - timestamp: 1751104122689 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - sha256: df9aa74e9e28e8d1309274648aac08ec447a92512c33f61a8de0afa9ce32ebe8 - md5: 23029aae904a2ba587daba708208012f + size: 217655 + timestamp: 1770077141862 +- conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda + sha256: 0f0965edca8b255187604fc7712c53fe9064b31a1845a7dfb2b63bf660de84a7 + md5: 804880b2674119b84277d6c16b01677d depends: - - python >=3.9 - - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + constrains: + - libvulkan-headers 1.4.341.0.* + license: Apache-2.0 + license_family: APACHE + size: 282251 + timestamp: 1770077165680 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda + sha256: 3aed21ab28eddffdaf7f804f49be7a7d701e8f0e46c856d801270b470820a37b + md5: aea31d2e5b1091feca96fcfe945c3cf9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - libwebp 1.6.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/fastjsonschema?source=hash-mapping - size: 244628 - timestamp: 1755304154927 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda - sha256: 97327b9509ae3aae28d27217a5d7bd31aff0ab61a02041e9c6f98c11d8a53b29 - md5: 32780d6794b8056b78602103a04e90ef - depends: - - cpython 3.12.13.* - - python_abi * *_cp312 - license: Python-2.0 - purls: [] - size: 46449 - timestamp: 1772728979370 -- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - build_number: 8 - sha256: 80677180dd3c22deb7426ca89d6203f1c7f1f256f2d5a94dc210f6e758229809 - md5: c3efd25ac4d74b1584d2f7a57195ddf1 + size: 429011 + timestamp: 1752159441324 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda + sha256: b03700a1f741554e8e5712f9b06dd67e76f5301292958cd3cb1ac8c6fdd9ed25 + md5: 24e92d0942c799db387f5c9d7b81f1af + depends: + - libgcc >=14 constrains: - - python 3.12.* *_cpython + - libwebp 1.6.0 license: BSD-3-Clause license_family: BSD - purls: [] - size: 6958 - timestamp: 1752805918820 -- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - build_number: 8 - sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5 - md5: 0539938c55b6b1a59b560e843ad864a4 + size: 359496 + timestamp: 1752160685488 +- conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda + sha256: 7b6316abfea1007e100922760e9b8c820d6fc19df3f42fb5aca684cfacb31843 + md5: f9bbae5e2537e3b06e0f7310ba76c893 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 constrains: - - python 3.14.* *_cp314 + - libwebp 1.6.0 license: BSD-3-Clause license_family: BSD - run_exports: {} - size: 6989 - timestamp: 1752805904792 -- conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - sha256: 0577eedfb347ff94d0f2fa6c052c502989b028216996b45c7f21236f25864414 - md5: 870293df500ca7e18bedefa5838a22ab - depends: - - attrs >=22.2.0 - - python >=3.10 - - rpds-py >=0.7.0 - - typing_extensions >=4.4.0 - - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/referencing?source=hash-mapping - size: 51788 - timestamp: 1760379115194 -- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.1-pyhcf101f3_0.conda - sha256: c0249bc4bf4c0e8e06d0e7b4d117a5d593cc4ab2144d5006d6d47c83cb0af18e - md5: 10afbb4dbf06ff959ad25a92ccee6e59 + size: 279176 + timestamp: 1752159543911 +- conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + sha256: 0fccf2d17026255b6e10ace1f191d0a2a18f2d65088fd02430be17c701f8ffe0 + md5: 8a86073cf3b343b87d03f41790d8b4e5 depends: - - python >=3.10 - - certifi >=2023.5.7 - - charset-normalizer >=2,<4 - - idna >=2.5,<4 - - urllib3 >=1.26,<3 - - python + - ucrt constrains: - - chardet >=3.0.2,<6 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/requests?source=hash-mapping - size: 63712 - timestamp: 1774894783063 -- conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - sha256: b48bebe297a63ae60f52e50be328262e880702db4d9b4e86731473ada459c2a1 - md5: 06ad944772941d5dae1e0d09848d8e49 + - pthreads-win32 <0.0a0 + - msys2-conda-epoch <0.0a0 + license: MIT AND BSD-3-Clause-Clear + purls: [] + size: 36621 + timestamp: 1759768399557 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda + sha256: 666c0c431b23c6cec6e492840b176dde533d48b7e6fb8883f5071223433776aa + md5: 92ed62436b625154323d40d5f2f11dd7 depends: - - python >=3.10 - - ruamel.yaml.clib >=0.2.15 - - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - pthread-stubs + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxdmcp license: MIT license_family: MIT - purls: - - pkg:pypi/ruamel-yaml?source=hash-mapping - size: 98448 - timestamp: 1767538149184 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-80.9.0-pyhff2d567_0.conda - sha256: 972560fcf9657058e3e1f97186cc94389144b46dbdf58c807ce62e83f977e863 - md5: 4de79c071274a53dcaf2a8c749d1499e + size: 395888 + timestamp: 1727278577118 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda + sha256: 461cab3d5650ac6db73a367de5c8eca50363966e862dcf60181d693236b1ae7b + md5: cd14ee5cca2464a425b1dbfc24d90db2 depends: - - python >=3.9 + - libgcc >=13 + - pthread-stubs + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxdmcp license: MIT license_family: MIT - size: 748788 - timestamp: 1748804951958 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - sha256: 82088a6e4daa33329a30bc26dc19a98c7c1d3f05c0f73ce9845d4eab4924e9e1 - md5: 8e194e7b992f99a5015edbd4ebd38efd + size: 397493 + timestamp: 1727280745441 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxcb-1.17.0-h0e4246c_0.conda + sha256: 08dec73df0e161c96765468847298a420933a36bc4f09b50e062df8793290737 + md5: a69bbf778a462da324489976c84cfc8c depends: - - python >=3.10 + - libgcc >=13 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - pthread-stubs + - ucrt >=10.0.20348.0 + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxdmcp license: MIT license_family: MIT - purls: - - pkg:pypi/setuptools?source=hash-mapping - size: 639697 - timestamp: 1773074868565 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - sha256: 48a9f96016505debadfc67f06de7ac548decbc38d327409b24b0432ef6f16335 - md5: 6bf6acbab2499830180ec88c3aff2fa4 + size: 1208687 + timestamp: 1727279378819 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c + md5: 5aa797f8787fe7a17d1b0821485b5adc depends: - - python >=3.10 - license: MIT + - libgcc-ng >=12 + license: LGPL-2.1-or-later + purls: [] + size: 100393 + timestamp: 1702724383534 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda + sha256: 6b46c397644091b8a26a3048636d10b989b1bf266d4be5e9474bf763f828f41f + md5: b4df5d7d4b63579d081fd3a4cf99740e + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + purls: [] + size: 114269 + timestamp: 1702724369203 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda + sha256: 046f2ff4acebd8729fac03e99c8c307dfb48b6a32894ba8c11576e78f6e76e43 + md5: dc8b067e22b414172bedd8e3f03f3c95 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - libxcb >=1.17.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - xkeyboard-config + - xorg-libxau >=1.0.12,<2.0a0 + license: MIT/X11 Derivative license_family: MIT - run_exports: {} - size: 642081 - timestamp: 1783619174976 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - sha256: 8272686bacba85b683bf4ad1fedde16203b7610276074e22593a275b0ce3c017 - md5: 224418e442ea786882979fbd2b36061f + size: 851166 + timestamp: 1780213397575 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.2-h3c6a4c8_0.conda + sha256: 8f44670a714a12589bc82ea179e46ba4a19c4458d5cee765ddd4d5224eccd912 + md5: d6fc9ac66ea61eb662747959d0a68c57 depends: - - python >=3.10 - - vcs_versioning >=2.0.0.dev0 - - packaging >=20 - - setuptools - - tomli >=1 - - typing_extensions - - python + - libgcc >=14 + - libstdcxx >=14 + - libxcb >=1.17.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - xkeyboard-config + - xorg-libxau >=1.0.12,<2.0a0 + license: MIT/X11 Derivative + license_family: MIT + size: 875994 + timestamp: 1780213408784 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + sha256: 3bc5551720c58591f6ea1146f7d1539c734ed1c40e7b9f5cb8cb7e900c509aba + md5: 995d8c8bad2a3cc8db14675a153dec2b + depends: + - __glibc >=2.17,<3.0.a0 + - icu >=78.3,<79.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.3 hca6bf5a_0 + - libzlib >=1.3.2,<2.0a0 license: MIT license_family: MIT - run_exports: {} - size: 28577 - timestamp: 1782401906421 -- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d - md5: 3339e3b65d58accf4ca4fb8748ab16b3 + size: 46810 + timestamp: 1776376751152 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda + sha256: e3af6af9df73bd3c7a8e4e6c8cc38df3699e7f588b0705c257a8601e40acfbdf + md5: 2cffef27cb2eb9ed1e315a1e269d4335 depends: - - python >=3.9 - - python + - icu >=78.3,<79.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.3 h79dcc73_0 + - libzlib >=1.3.2,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/six?source=hash-mapping - size: 18455 - timestamp: 1753199211006 -- conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda - sha256: 17007a4cfbc564dc3e7310dcbe4932c6ecb21593d4fec3c68610720f19e73fb2 - md5: 755cf22df8693aa0d1aec1c123fa5863 + size: 48101 + timestamp: 1776376766341 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + sha256: a4599c6bbbbdd7db570896e520c557eec8e66d94e839a59d17dc1f24a3d5f82b + md5: 95591ca5671d2213f5b2d5aa7818420d depends: - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/snowballstemmer?source=hash-mapping - size: 73009 - timestamp: 1747749529809 -- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda - sha256: 23b71ecf089967d2900126920e7f9ff18cdcef82dbff3e2f54ffa360243a17ac - md5: 18de09b20462742fe093ba39185d9bac + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.3 h3cfd58e_0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 43684 + timestamp: 1776376992865 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-hbc0d294_0.conda + sha256: da68af9d9d28d65a6916db1bef68f8a25c64c4fdcf759f32a2d2f2f143220adf + md5: e3b5acbb857a12f5d59e8d174bc536c0 depends: - - python >=3.10 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.3 h692994f_0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - icu <0.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/soupsieve?source=hash-mapping - size: 38187 - timestamp: 1769034509657 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - sha256: 3228eb332ce159f031d4b7d2e08117df973b0ba3ddcb8f5dbb7f429f71d27ea1 - md5: 1a3281a0dc355c02b5506d87db2d78ac + purls: [] + size: 43916 + timestamp: 1776376994334 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + sha256: 3d44f737c5ae52d5af32682cc1530df433f401f8e58a7533926536244127572a + md5: e79d2c2f24b027aa8d5ab1b1ba3061e7 depends: - - alabaster >=0.7.14 - - babel >=2.13 - - colorama >=0.4.6 - - docutils >=0.20,<0.22 - - imagesize >=1.3 - - jinja2 >=3.1 - - packaging >=23.0 - - pygments >=2.17 - - python >=3.10 - - requests >=2.30.0 - - snowballstemmer >=2.2 - - sphinxcontrib-applehelp >=1.0.7 - - sphinxcontrib-devhelp >=1.0.6 - - sphinxcontrib-htmlhelp >=2.0.6 - - sphinxcontrib-jsmath >=1.0.1 - - sphinxcontrib-qthelp >=1.0.6 - - sphinxcontrib-serializinghtml >=1.1.9 - - tomli >=2.0 - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/sphinx?source=hash-mapping - size: 1387076 - timestamp: 1733754175386 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-autodoc-typehints-3.0.1-pyhd8ed1ab_0.conda - sha256: 0f93bb75a41918433abc8d8d80ef99d7fd8658d5ba34da3c5d8f707cb6bb3f46 - md5: 6ad405d62c8de3792608a27b7e085e15 + - __glibc >=2.17,<3.0.a0 + - icu >=78.3,<79.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - libxml2 2.15.3 + license: MIT + license_family: MIT + size: 559775 + timestamp: 1776376739004 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda + sha256: ad048a9ca1bf2cdfedb2b0c231050da416c44ee1436a3d1a83b51d2e2deaa842 + md5: 68866231cfe8789e780347f2482df96d depends: - - python >=3.10 - - sphinx >=8.1.3 + - icu >=78.3,<79.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - libxml2 2.15.3 license: MIT license_family: MIT - purls: - - pkg:pypi/sphinx-autodoc-typehints?source=hash-mapping - size: 24055 - timestamp: 1737099757820 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda - sha256: 8cd892e49cb4d00501bc4439fb0c73ca44905f01a65b2b7fa05ba0e8f3924f19 - md5: bf22cb9c439572760316ce0748af3713 + size: 601948 + timestamp: 1776376758674 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda + sha256: 3b61ee3caba702d2ff432fa3920835db963026e5c99c4e6fdca0c6114f59e7ce + md5: 9e8dd0d90ed830107b2c36801035b7db depends: - - python >=3.9 - - sphinx >=1.8 + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libxml2 2.15.3 license: MIT license_family: MIT - purls: - - pkg:pypi/sphinx-copybutton?source=hash-mapping - size: 17893 - timestamp: 1734573117732 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-jinja2-compat-0.4.1-pyhd8ed1ab_0.conda - sha256: 115f4306ace812d90b4ffab5ac27cc01c2fac13df67c5dcc37931130c8ebea13 - md5: 7ecc82915cd2c4654fa26ddc4d3650f7 + size: 519871 + timestamp: 1776376969852 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h692994f_0.conda + sha256: 8038084c60eda2006d0122d05e3364fe8db0a18935ca6ed0168b5ba5aa33f904 + md5: f7d6fcda29570e20851b78d92ea2154e depends: - - jinja2 >=2.10 - - markupsafe >=1 - - python >=3.9 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libxml2 2.15.3 + - icu <0.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/sphinx-jinja2-compat?source=hash-mapping - size: 12320 - timestamp: 1754550385132 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-prompt-1.10.1-pyhd8ed1ab_0.conda - sha256: 3d2e0d961b38f66ea3e7decd04917bf69104b6683dae778e4d3ef5291c04b861 - md5: bfc047865de18ef2657bd8a95d7b8b49 + purls: [] + size: 518869 + timestamp: 1776376971242 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxslt-1.1.43-h711ed8c_1.conda + sha256: 0694760a3e62bdc659d90a14ae9c6e132b525a7900e59785b18a08bb52a5d7e5 + md5: 87e6096ec6d542d1c1f8b33245fe8300 depends: - - pygments - - python >=3.11 - - sphinx - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/sphinx-prompt?source=hash-mapping - size: 12214 - timestamp: 1758128174284 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-tabs-3.4.1-pyhd8ed1ab_1.conda - sha256: 43c343edc9ea11ffd947d97fa60bf6347a404700e2cde81fb954e60b7e6a42c1 - md5: 8b8362d876396fd967cbb5f404def907 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libxml2 + - libxml2-16 >=2.14.6 + license: MIT + license_family: MIT + size: 245434 + timestamp: 1757963724977 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxslt-1.1.43-h6700d25_1.conda + sha256: 8a816572a4650149d28c0b8b44e294380de18787735d00c7cf5fad91dba8e286 + md5: 0f31501ccd51a40f0a91381080ae7368 depends: - - docutils >=0.18.0 - - pygments - - python >=3.6 - - sphinx >=2 + - libgcc >=14 + - libxml2 + - libxml2-16 >=2.14.6 license: MIT license_family: MIT - purls: - - pkg:pypi/sphinx-tabs?source=hash-mapping - size: 15026 - timestamp: 1675342588275 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-toolbox-4.1.2-pyhd8ed1ab_0.conda - sha256: 63d5b2d672499191d26f3ad2ed57a39c5fc691086a28fd41caec4689b6fa901a - md5: 8f0cb58909ab8ef6d76f03dac2a4a6d0 + size: 253367 + timestamp: 1757964660396 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxslt-1.1.43-h0fbe4c1_1.conda + sha256: 13da38939c2c20e7112d683ab6c9f304bfaf06230a2c6a7cf00359da1a003ec7 + md5: 46034d9d983edc21e84c0b36f1b4ba61 depends: - - apeye >=0.4.0 - - autodocsumm >=0.2.0 - - beautifulsoup4 >=4.9.1 - - cachecontrol >=0.13.0 - - dict2css >=0.2.3 - - docutils >=0.16 - - domdf-python-tools >=2.9.0 - - filelock >=3.8.0 - - html5lib >=1.1 - - python >=3.10 - - ruamel.yaml >=0.16.12 - - sphinx >=3.2.0 - - sphinx-autodoc-typehints >=1.11.1 - - sphinx-jinja2-compat >=0.1.0 - - sphinx-prompt >=1.1.0 - - sphinx-tabs <3.5.0,>=1.2.1 - - tabulate >=0.8.7 - - typing-extensions !=3.10.0.1,>=3.7.4.3 - - typing_inspect >=0.6.0 + - libxml2 + - libxml2-16 >=2.14.6 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - purls: - - pkg:pypi/sphinx-toolbox?source=hash-mapping - size: 98891 - timestamp: 1768566379359 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda - sha256: d7433a344a9ad32a680b881c81b0034bc61618d12c39dd6e3309abeffa9577ba - md5: 16e3f039c0aa6446513e94ab18a8784b + size: 420223 + timestamp: 1757963935611 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + sha256: 55044c403570f0dc26e6364de4dc5368e5f3fc7ff103e867c487e2b5ab2bcda9 + md5: d87ff7921124eccd67248aa483c23fec depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-applehelp?source=hash-mapping - size: 29752 - timestamp: 1733754216334 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda - sha256: 55d5076005d20b84b20bee7844e686b7e60eb9f683af04492e598a622b12d53d - md5: 910f28a05c178feba832f842155cbfff + - __glibc >=2.17,<3.0.a0 + constrains: + - zlib 1.3.2 *_2 + license: Zlib + license_family: Other + purls: [] + size: 63629 + timestamp: 1774072609062 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda + sha256: eb111e32e5a7313a5bf799c7fb2419051fa2fe7eff74769fac8d5a448b309f7f + md5: 502006882cf5461adced436e410046d1 + constrains: + - zlib 1.3.2 *_2 + license: Zlib + license_family: Other + purls: [] + size: 69833 + timestamp: 1774072605429 +- conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + sha256: 88609816e0cc7452bac637aaf65783e5edf4fee8a9f8e22bdc3a75882c536061 + md5: dbabbd6234dea34040e631f87676292f depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-devhelp?source=hash-mapping - size: 24536 - timestamp: 1733754232002 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - sha256: c1492c0262ccf16694bdcd3bb62aa4627878ea8782d5cd3876614ffeb62b3996 - md5: e9fb3fe8a5b758b4aff187d434f94f03 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - zlib 1.3.2 *_2 + license: Zlib + license_family: Other + purls: [] + size: 58347 + timestamp: 1774072851498 +- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda + sha256: 50c02902bb516eeb56680358f052be38b5bf74b40e78ea4b2a675e84957e7307 + md5: de3551bf6508d45ca46b714639e52823 depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - openmp 22.1.8|22.1.8.* + - intel-openmp <0.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + purls: [] + size: 348002 + timestamp: 1781737042070 +- conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda + build_number: 0 + sha256: 51e9214548f177db9c3fe70424e3774c95bf19cd69e0e56e83abe2e393228ba1 + md5: 7d60fb16df2cd07fbc3dbff1c9df4244 + constrains: + - msys2-conda-epoch <0.0a0 + license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-htmlhelp?source=hash-mapping - size: 32895 - timestamp: 1733754385092 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - sha256: 578bef5ec630e5b2b8810d898bbbf79b9ae66d49b7938bcc3efc364e679f2a62 - md5: fa839b5ff59e192f411ccc7dae6588bb + size: 7539 + timestamp: 1747330852019 +- conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + sha256: fb0ffe6b3c25189038c29abbd1fac2522d87fe2775a09e5f5088e5542dc3309b + md5: 9676d2a30fa3ffa4e5350041d0993758 depends: - - python >=3.9 - license: BSD-2-Clause - license_family: BSD + - m2-conda-epoch + - mingw-w64-ucrt-x86_64-crt-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 + - mingw-w64-ucrt-x86_64-headers-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 + - mingw-w64-ucrt-x86_64-windows-default-manifest + - mingw-w64-ucrt-x86_64-winpthreads-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 + - ucrt + size: 8421 + timestamp: 1759768559974 +- conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-hb9d3cd8_2.conda + sha256: d652c7bd4d3b6f82b0f6d063b0d8df6f54cc47531092d7ff008e780f3261bdda + md5: 33405d2a66b1411db9f7242c8b97c9e7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: GPL-3.0-or-later + license_family: GPL + purls: [] + size: 513088 + timestamp: 1727801714848 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/make-4.4.1-h2a6d0cb_2.conda + sha256: d243aea768e6fa360b7eda598340f43d2a41c9fc169d9f97f505410be68815f8 + md5: 5983ffb12d09efc45c4a3b74cd890137 + depends: + - libgcc >=13 + license: GPL-3.0-or-later + license_family: GPL + purls: [] + size: 528318 + timestamp: 1727801707353 +- conda: https://conda.anaconda.org/conda-forge/win-64/make-4.4.1-h0e40799_2.conda + sha256: a810cdca3d5fa50d562cda23c0c1195b45ff5f9b0c41e0d4c8c2dd3c043ff4f2 + md5: 77ff648ad9fec660f261aa8ab0949f62 + depends: + - libgcc >=13 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - ucrt >=10.0.20348.0 + license: GPL-3.0-or-later + license_family: GPL + purls: [] + size: 2176937 + timestamp: 1727802346950 +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + sha256: 0c4c35376fe920714390d46e4b8d31c876d65f18e1655899e0763ec25f2a902f + md5: 6d03368f2b2b0a5fb6839df53b2eb5e0 + depends: + - mdurl >=0.1,<1 + - python >=3.10 + license: MIT + license_family: MIT purls: - - pkg:pypi/sphinxcontrib-jsmath?source=hash-mapping - size: 10462 - timestamp: 1733753857224 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - sha256: c664fefae4acdb5fae973bdde25836faf451f41d04342b64a358f9a7753c92ca - md5: 00534ebcc0375929b45c3039b5ba7636 + - pkg:pypi/markdown-it-py?source=hash-mapping + size: 69017 + timestamp: 1778169663339 +- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py312h8a5da7c_1.conda + sha256: 5f3aad1f3a685ed0b591faad335957dbdb1b73abfd6fc731a0d42718e0653b33 + md5: 93a4752d42b12943a355b682ee43285b depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/sphinxcontrib-qthelp?source=hash-mapping - size: 26959 - timestamp: 1733753505008 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda - sha256: 64d89ecc0264347486971a94487cb8d7c65bfc0176750cf7502b8a272f4ab557 - md5: 3bc61f7161d28137797e038263c04c54 + - pkg:pypi/markupsafe?source=hash-mapping + size: 26057 + timestamp: 1772445297924 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.3-py312hd077ced_1.conda + sha256: 5919bf53e9f74ee1c6ce35ce13a7cd92741d45385c2d0b3eae48b01c0f11f41a + md5: 1fecdd103b37427ba6041b9b03d657ea depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/sphinxcontrib-serializinghtml?source=hash-mapping - size: 28669 - timestamp: 1733750596111 -- conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - sha256: 570da295d421661af487f1595045760526964f41471021056e993e73089e9c41 - md5: b1b505328da7a6b246787df4b5a49fbc + - pkg:pypi/markupsafe?source=hash-mapping + size: 26305 + timestamp: 1772446326927 +- conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py312h05f76fc_1.conda + sha256: b744287a780211ac4595126ef96a44309c791f155d4724021ef99092bae4aace + md5: a73298d225c7852f97403ca105d10a13 depends: - - asttokens - - executing - - pure_eval - - python >=3.9 - license: MIT - license_family: MIT + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD purls: - - pkg:pypi/stack-data?source=hash-mapping - size: 26988 - timestamp: 1733569565672 -- conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - sha256: c47299fe37aebb0fcf674b3be588e67e4afb86225be4b0d452c7eb75c086b851 - md5: 13dc3adbc692664cd3beabd216434749 + - pkg:pypi/markupsafe?source=hash-mapping + size: 28510 + timestamp: 1772445175216 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.11.1-py314hdafbbf9_0.conda + sha256: e15e08f231d7180925f74c0553bb4f6c6efee6971c514ae4e35a88872b9634b4 + md5: 2d3797396c1c17648850a5c7f2264f37 depends: - - __glibc >=2.28 - - kernel-headers_linux-64 4.18.0 he073ed8_9 - - tzdata - license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later - license_family: GPL - run_exports: - strong: - - __glibc >=2.28,<3.0.a0 - size: 24008591 - timestamp: 1765578833462 -- conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - sha256: 1bd2db6b2e451247bab103e4a0128cf6c7595dd72cb26d70f7fadd9edd1d1bc3 - md5: fdf07ab944a222ff28c754914fdb0740 + - matplotlib-base >=3.11.1,<3.11.2.0a0 + - pyside6 >=6.7.2 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + size: 14870 + timestamp: 1784581803237 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-3.11.1-py314ha42fa4b_0.conda + sha256: f8bef880ccb0f3b914f1bd0d7433a758499c70e49807b5de4ef4c14e7d78fec1 + md5: 60d01bf07ad801e6c26c4db219152bce + depends: + - matplotlib-base >=3.11.1,<3.11.2.0a0 + - pyside6 >=6.7.2 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + size: 14860 + timestamp: 1784581743896 +- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.11.1-py314h86ab7b2_0.conda + sha256: ca88daf1374961a2979b232a11820b88ae0b1b88bd0afaa4ec757d636fb78902 + md5: aa951b709bf0136084f371e6ca57b8e6 + depends: + - matplotlib-base >=3.11.1,<3.11.2.0a0 + - pyside6 >=6.7.2 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + size: 15356 + timestamp: 1784582005940 +- conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.11.1-py314had63eae_0.conda + sha256: 25a40c92c08b79d7944f7caef2a48f12dcdcf02227ef85d21461ad8ea2aa79bc + md5: 44280eba5f62c0b13e639cbb0fcd9307 depends: - - __glibc >=2.28 - - kernel-headers_linux-aarch64 4.18.0 h05a177a_9 - - tzdata - license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later - license_family: GPL - run_exports: - strong: - - __glibc >=2.28,<3.0.a0 - size: 23644746 - timestamp: 1765578629426 -- conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - sha256: 3f661e98a09f976775a494488beb3d35ebb00f535b169c6bd891f2e280d55783 - md5: 3b887b7b3468b0f494b4fad40178b043 + - __glibc >=2.17,<3.0.a0 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.28.2 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libgcc >=14 + - libraqm >=0.10.5,<0.11.0a0 + - libstdcxx >=14 + - numpy >=1.25 + - numpy >=1.25,<3 + - packaging >=20.0 + - pillow >=9 + - pyparsing >=3 + - python >=3.14,<3.15.0a0 + - python-dateutil >=2.7 + - python_abi 3.14.* *_cp314 + - qhull >=2020.2,<2020.3.0a0 + - tk >=8.6.13,<8.7.0a0 + license: PSF-2.0 + license_family: PSF + size: 9123215 + timestamp: 1784581784591 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-base-3.11.1-py314h99b9003_0.conda + sha256: b06b153d9142049f0e132247e5afd810ec98815ebdf02741a795bbbdca9b6cc6 + md5: aec3ac023d8b11e4a040bd1cc1e25c66 + depends: + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.28.2 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libgcc >=14 + - libraqm >=0.10.5,<0.11.0a0 + - libstdcxx >=14 + - numpy >=1.25 + - numpy >=1.25,<3 + - packaging >=20.0 + - pillow >=9 + - pyparsing >=3 + - python >=3.14,<3.15.0a0 + - python-dateutil >=2.7 + - python_abi 3.14.* *_cp314 + - qhull >=2020.2,<2020.3.0a0 + - tk >=8.6.13,<8.7.0a0 + license: PSF-2.0 + license_family: PSF + size: 9083771 + timestamp: 1784581728620 +- conda: https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.11.1-py314hd0c49b1_0.conda + sha256: 29755b1e7029943df0a541bc73efa5b2a3a8dbce9a885c65d4ba9beb6cfe5b08 + md5: 33e102806f165fc4bf8612bf87a26bc7 + depends: + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.28.2 + - freetype + - kiwisolver >=1.3.1 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libraqm >=0.10.5,<0.11.0a0 + - numpy >=1.25 + - numpy >=1.25,<3 + - packaging >=20.0 + - pillow >=9 + - pyparsing >=3 + - python >=3.14,<3.15.0a0 + - python-dateutil >=2.7 + - python_abi 3.14.* *_cp314 + - qhull >=2020.2,<2020.3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: PSF-2.0 + license_family: PSF + size: 8688228 + timestamp: 1784581986691 +- conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + sha256: 35b43d7343f74452307fd018a1cca92b8f68961ff8e2ab6a81ce0a703c9a3764 + md5: 9acc1c385be401d533ff70ef5b50dae6 depends: - python >=3.10 - - python - license: MIT - license_family: MIT + - traitlets + license: BSD-3-Clause + license_family: BSD purls: - - pkg:pypi/tabulate?source=hash-mapping - size: 43964 - timestamp: 1772732795746 -- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.3.0-pyhcf101f3_0.conda - sha256: cb77c660b646c00a48ef942a9e1721ee46e90230c7c570cdeb5a893b5cce9bff - md5: d2732eb636c264dc9aa4cbee404b1a53 - depends: - - python >=3.10 - - python - license: MIT - license_family: MIT - size: 20973 - timestamp: 1760014679845 -- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - sha256: 62940c563de45790ba0f076b9f2085a842a65662268b02dd136a8e9b1eaf47a8 - md5: 72e780e9aa2d0a3295f59b1874e3768b + - pkg:pypi/matplotlib-inline?source=hash-mapping + size: 15725 + timestamp: 1778264403247 +- conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + sha256: 49db23cbfb1c1d414a14d7540195208b994ebd747beba0f15c903f3a0a2dc446 + md5: ad6821df7a98510117db06e9a833281f depends: + - markdown-it-py >=2.0.0,<5.0.0 - python >=3.10 - - python license: MIT license_family: MIT - size: 21453 - timestamp: 1768146676791 -- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - sha256: 91cafdb64268e43e0e10d30bd1bef5af392e69f00edd34dfaf909f69ab2da6bd - md5: b5325cf06a000c5b14970462ff5e4d58 + purls: + - pkg:pypi/mdit-py-plugins?source=hash-mapping + size: 50460 + timestamp: 1778692223625 +- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 + md5: 592132998493b3ff25fd7479396e8351 depends: - - python >=3.10 - - python + - python >=3.9 license: MIT license_family: MIT purls: - - pkg:pypi/tomli?source=hash-mapping - run_exports: {} - size: 21561 - timestamp: 1774492402955 -- conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - sha256: f39a5620c6e8e9e98357507262a7869de2ae8cc07da8b7f84e517c9fd6c2b959 - md5: 019a7385be9af33791c989871317e1ed + - pkg:pypi/mdurl?source=hash-mapping + size: 14465 + timestamp: 1733255681319 +- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + sha256: de3e42149b498c16bfb485b7729f4ca0fe392be576a2a10ff702d661799b1df3 + md5: 44ffa6d68699ec9321f6d48d75bdc726 depends: - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/traitlets?source=hash-mapping - size: 110051 - timestamp: 1733367480074 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - sha256: 7c2df5721c742c2a47b2c8f960e718c930031663ac1174da67c1ed5999f7938c - md5: edd329d7d3a4ab45dcf905899a7a6115 + - m2-conda-epoch + - mingw-w64-ucrt-x86_64-headers-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 + constrains: + - mingw-w64-ucrt-x86_64-winpthreads-git 12.0.0.r4.gg4f2fc60ca.* + license: ZPL-2.1 + size: 5663635 + timestamp: 1759768458961 +- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + sha256: 1add86481f35163215e7076e6f06f22aa9f1f9345a5fff5cb07bc846c13fbec7 + md5: cab7b807024204893ef5bb1860d91408 depends: - - typing_extensions ==4.15.0 pyhcf101f3_0 - license: PSF-2.0 - license_family: PSF + - m2-conda-epoch + constrains: + - mingw-w64-ucrt-x86_64-crt-git 12.0.0.r4.gg4f2fc60ca.* + - mingw-w64-ucrt-x86_64-winpthreads-git 12.0.0.r4.gg4f2fc60ca.* + license: ZPL-2.1 AND LGPL-2.1-or-later + size: 7089846 + timestamp: 1759768412123 +- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda + sha256: 5b0df4e0ba8487ffd59f60c34c5dbb9e001ecd2c5d2c66ba88eada40bfa3ecb8 + md5: 1d6b5c96d7e3cce773519d7d1a4482f0 + depends: + - __win + constrains: + - m2w64-sysroot_win-64 >=12.0.0.r0 + license: FSFAP + size: 7412 + timestamp: 1717486007140 +- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + sha256: 828abb111286940473c4c665fc8ab300d28920f5af83b32295e8bf2256a8f342 + md5: ba0eeff6a5c62b83c771bb392e22dbb4 + depends: + - m2-conda-epoch + - mingw-w64-ucrt-x86_64-headers-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 + constrains: + - mingw-w64-ucrt-x86_64-crt-git 12.0.0.r4.gg4f2fc60ca.* + license: MIT AND BSD-3-Clause-Clear + size: 123916 + timestamp: 1759768539535 +- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda + sha256: ff355522fb0b6e33841167d9ca749147c8734d8be07b63b2ce25b0db043f42ed + md5: 5afbf28c4ca3e05b5469dbbd78c8e704 + depends: + - llvm-openmp >=22.1.8 + - onemkl-license 2026.1.0 h57928b3_233 + - tbb >=2023.0.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary purls: [] - size: 91383 - timestamp: 1756220668932 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - sha256: 032271135bca55aeb156cee361c81350c6f3fb203f57d024d7e5a1fc9ef18731 - md5: 0caa1af407ecff61170c9437a808404d + size: 114592547 + timestamp: 1783700769546 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda + sha256: 39c4700fb3fbe403a77d8cc27352fa72ba744db487559d5d44bf8411bb4ea200 + md5: c7f302fd11eeb0987a6a5e1f3aed6a21 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: LGPL-2.1-only + license_family: LGPL + size: 491140 + timestamp: 1730581373280 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda + sha256: d65d5a00278544639ba4f99887154be00a1f57afb0b34d80b08e5cba40a17072 + md5: cdf140c7690ab0132106d3bc48bce47d + depends: + - libgcc >=13 + - libstdcxx >=13 + license: LGPL-2.1-only + license_family: LGPL + size: 558708 + timestamp: 1730581372400 +- conda: https://conda.anaconda.org/conda-forge/win-64/mpg123-1.32.9-h01009b0_0.conda + sha256: a1d7d25f2c448f5c47d1678cca1f6ae5deadb38e176ea0c76ea5c688589dfd7a + md5: 1ed1580d4211223b285787eff05560f9 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LGPL-2.1-only + license_family: LGPL + size: 274386 + timestamp: 1730581654395 +- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.1-py312h0a2e395_1.conda + sha256: c9764c77dd7f9c581c1d8a24c3024edf777cacfb5a4180de5badc6638dc8590f + md5: a142257c1b69e37cfefc66dc228a4d93 depends: - - python >=3.10 - python - license: PSF-2.0 - license_family: PSF + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE purls: - - pkg:pypi/typing-extensions?source=hash-mapping - size: 51692 - timestamp: 1756220668932 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - sha256: 2d888f90af0686044882c74193ec80a90ec1943145d94a7b1b048958acda1848 - md5: c70ad746c22219b9700931707482992c + - pkg:pypi/msgpack?source=compressed-mapping + size: 112800 + timestamp: 1782460774570 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/msgpack-python-1.2.1-py312hf18b547_1.conda + sha256: dfd1fe17d91863299d7e8673dc11082f3cad5501bbc1c0050765321b6a06f1fd + md5: 4ebf3dfcf27d10f06b247b71fb0aafdf depends: - - python >=3.10 - python - license: PSF-2.0 - license_family: PSF - run_exports: {} - size: 52631 - timestamp: 1783002732887 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda - sha256: a3fbdd31b509ff16c7314e8d01c41d9146504df632a360ab30dbc1d3ca79b7c0 - md5: fa31df4d4193aabccaf09ce78a187faf + - python 3.12.* *_cpython + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/msgpack?source=hash-mapping + size: 113665 + timestamp: 1782460796476 +- conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py312h78d62e6_1.conda + sha256: f43cc72ae92759d661187cb4bc4fb4721b97128d150f336b9b0ebf24b8600a27 + md5: 0ac1766b278a8547f22cd0820b8a7e96 + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/msgpack?source=compressed-mapping + size: 89054 + timestamp: 1782460807428 +- conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyhd8ed1ab_1.conda + sha256: d09c47c2cf456de5c09fa66d2c3c5035aa1fa228a1983a433c47b876aa16ce90 + md5: 37293a85a0f4f77bbd9cf7aaefc62609 + depends: + - python >=3.9 + license: Apache-2.0 + license_family: Apache + size: 15851 + timestamp: 1749895533014 +- conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + sha256: 6ed158e4e5dd8f6a10ad9e525631e35cee8557718f83de7a4e3966b1f772c4b1 + md5: e9c622e0d00fa24a6292279af3ab6d06 depends: - - mypy_extensions >=0.3.0 - python >=3.9 - - typing_extensions >=3.7.4 license: MIT license_family: MIT purls: - - pkg:pypi/typing-inspect?source=hash-mapping - size: 14919 - timestamp: 1733845966415 -- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - sha256: 5aaa366385d716557e365f0a4e9c3fca43ba196872abbbe3d56bb610d131e192 - md5: 4222072737ccff51314b5ece9c7d6f5a - license: LicenseRef-Public-Domain - size: 122968 - timestamp: 1742727099393 -- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - sha256: 1d30098909076af33a35017eed6f2953af1c769e273a0626a04722ac4acaba3c - md5: ad659d0a2b3e47e38d829aa8cad2d610 - license: LicenseRef-Public-Domain - purls: [] - size: 119135 - timestamp: 1767016325805 -- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - sha256: b928c30ddcb0e3f544c6eade8352737e6e610e263276b90232db6a578ef899d8 - md5: fcb489df604d100968b737f2cb6076c6 - license: LicenseRef-Public-Domain - run_exports: {} - size: 118849 - timestamp: 1784250406640 -- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda - sha256: af641ca7ab0c64525a96fd9ad3081b0f5bcf5d1cbb091afb3f6ed5a9eee6111a - md5: 9272daa869e03efe68833e3dc7a02130 + - pkg:pypi/mypy-extensions?source=hash-mapping + size: 11766 + timestamp: 1745776666688 +- conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.4.0-pyhcf101f3_0.conda + sha256: c81d0c8c74c3da66808f8da09d8e48f2af2d173d357d45239defaf466838edba + md5: da07c7b1588ad0a44118d28aeb31b6a6 depends: - - backports.zstd >=1.0.0 - - brotli-python >=1.2.0 - - h2 >=4,<5 - - pysocks >=1.5.6,<2.0,!=1.5.7 + - importlib-metadata + - ipykernel + - ipython + - jupyter-cache >=0.5 + - myst-parser >=1.0.0 + - nbclient + - nbformat >=5.0 - python >=3.10 - license: MIT - license_family: MIT + - pyyaml + - sphinx >=5 + - typing_extensions + - python + license: BSD-3-Clause + license_family: BSD purls: - - pkg:pypi/urllib3?source=hash-mapping - size: 103172 - timestamp: 1767817860341 -- conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - sha256: 5728b15adf4e2877e510996e0d617d1531ccd8e55ca59358f60d3a10aaead5fa - md5: efbdc1f76721fb4ae7a1dbb5fff72562 + - pkg:pypi/myst-nb?source=hash-mapping + size: 68766 + timestamp: 1772587444587 +- conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda + sha256: 94235bc1f769cf35029942ecb2ca796f18e730c1bf5aeef95e72680ebcfacfef + md5: 580615e59fc7c07741e4d2ab052cfc8b depends: - - python >=3.10 - - packaging >=20 - - tomli >=1 - - typing_extensions >=4.1 - - python + - docutils >=0.20,<0.23 + - jinja2 + - markdown-it-py >=4.2.0,<4.3.0 + - mdit-py-plugins >=0.6.1,<0.7 + - python >=3.11 + - pyyaml + - sphinx >=8,<10 license: MIT license_family: MIT - run_exports: {} - size: 83180 - timestamp: 1782748145197 -- conda: https://conda.anaconda.org/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda - sha256: b72270395326dc56de9bd6ca82f63791b3c8c9e2b98e25242a9869a4ca821895 - md5: f622897afff347b715d046178ad745a5 + purls: + - pkg:pypi/myst-parser?source=hash-mapping + size: 74888 + timestamp: 1778696564508 +- conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda + sha256: aeb1548eb72e4f198e72f19d242fb695b35add2ac7b2c00e0d83687052867680 + md5: e941e85e273121222580723010bd4fa2 depends: - - __win - license: MIT - license_family: MIT - run_exports: {} - size: 238764 - timestamp: 1745560912727 -- conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.47-hd8ed1ab_0.conda - sha256: 9ab2c12053ea8984228dd573114ffc6d63df42c501d59fda3bf3aeb1eaa1d23e - md5: 7da1571f560d4ba3343f7f4c48a79c76 + - python >=3.9 + - python license: MIT license_family: MIT - size: 140476 - timestamp: 1765821981856 -- conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.6.0-pyhd8ed1ab_0.conda - sha256: e298b508b2473c4227206800dfb14c39e4b14fd79d4636132e9e1e4244cdf4aa - md5: c3197f8c0d5b955c904616b716aca093 + purls: + - pkg:pypi/natsort?source=hash-mapping + size: 39262 + timestamp: 1770905275632 +- conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda + sha256: eceb424236fbbb9b337a857fe5448307b57a2a3fb2db389ae37e7a8b8cdca2ab + md5: cf01a81d7960ad9c829bf2e794fcee9a depends: + - jupyter_client >=7.0.0 + - jupyter_core >=5.4 + - nbformat >=5.2.0 - python >=3.10 - license: MIT - license_family: MIT + - traitlets >=5.13 + license: BSD-3-Clause + license_family: BSD purls: - - pkg:pypi/wcwidth?source=hash-mapping - size: 71550 - timestamp: 1770634638503 -- conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - sha256: 19ff205e138bb056a46f9e3839935a2e60bd1cf01c8241a5e172a422fed4f9c6 - md5: 2841eb5bfc75ce15e9a0054b98dcd64d + - pkg:pypi/nbclient?source=compressed-mapping + size: 29138 + timestamp: 1780661039538 +- conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda + sha256: 7a5bd30a2e7ddd7b85031a5e2e14f290898098dc85bea5b3a5bf147c25122838 + md5: bbe1963f1e47f594070ffe87cdf612ea depends: + - jsonschema >=2.6 + - jupyter_core >=4.12,!=5.0.* - python >=3.9 + - python-fastjsonschema >=2.15 + - traitlets >=5.1 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/webencodings?source=hash-mapping - size: 15496 - timestamp: 1733236131358 -- conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.46.3-pyhd8ed1ab_0.conda - sha256: d6cf2f0ebd5e09120c28ecba450556ce553752652d91795442f0e70f837126ae - md5: bdbd7385b4a67025ac2dba4ef8cb6a8f + - pkg:pypi/nbformat?source=hash-mapping + size: 100945 + timestamp: 1733402844974 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + sha256: fc89f74bbe362fb29fa3c037697a89bec140b346a2469a90f7936d1d7ea4d8a3 + md5: fc21868a1a5aacc937e7a18747acb8a5 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: X11 AND BSD-3-Clause + purls: [] + size: 918956 + timestamp: 1777422145199 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda + sha256: 369db85c5cd8d99dde364ce70725d76511d9c8199e5b820c740414091bf5bcca + md5: b2a43456aa56fe80c2477a5094899eff + depends: + - libgcc >=14 + license: X11 AND BSD-3-Clause + purls: [] + size: 960036 + timestamp: 1777422174534 +- conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + sha256: e6768ceef038f4d7e083de7e393f5dd7d672b937e2bda570b740f6399b686689 + md5: fcd832bfd4749e9b246112b6894f97fc depends: - - packaging >=24.0 - python >=3.10 - license: MIT - license_family: MIT + - python + license: BSD-2-Clause + license_family: BSD purls: - - pkg:pypi/wheel?source=hash-mapping - size: 31858 - timestamp: 1769139207397 -- conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda - sha256: 93807369ab91f230cf9e6e2a237eaa812492fe00face5b38068735858fba954f - md5: 46e441ba871f524e2b067929da3051c2 + - pkg:pypi/nest-asyncio2?source=hash-mapping + size: 15903 + timestamp: 1770973502283 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py312h33ff503_0.conda + sha256: 2941c4a5fee88fe1c91c0d95b65e3a292d078f6655b53ff60f4813a44349c83e + md5: 3b7525d598ec0d0365ebd2378160a02f depends: - - __win - - python >=3.9 - license: LicenseRef-Public-Domain + - python + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libcblas >=3.9.0,<4.0a0 + - python_abi 3.12.* *_cp312 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD purls: - - pkg:pypi/win-inet-pton?source=hash-mapping - size: 9555 - timestamp: 1733130678956 -- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - sha256: b4533f7d9efc976511a73ef7d4a2473406d7f4c750884be8e8620b0ce70f4dae - md5: 30cd29cb87d819caead4d55184c1d115 + - pkg:pypi/numpy?source=compressed-mapping + size: 8929128 + timestamp: 1783206200235 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py314h2b28147_0.conda + sha256: fb665b7e30f9472c58098983f614598cfcf34e7a26b6c419648803095c390aa7 + md5: 59044905d27ba41bfb280ed4692c15e2 depends: - - python >=3.10 - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/zipp?source=hash-mapping - size: 24194 - timestamp: 1764460141901 -- conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - build_number: 20 - sha256: 8a1cee28bd0ee7451ada1cd50b64720e57e17ff994fc62dd8329bef570d382e4 - md5: 1626967b574d1784b578b52eaeb071e7 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - python_abi 3.14.* *_cp314 + - libcblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + size: 9089255 + timestamp: 1783206203765 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py312hce9e0af_0.conda + sha256: 3116431b4ad9ac1d88ef3d78555fabe1ef6def58bc1d0159e31dbe221cf5ee2b + md5: de1fdf9d91f160b6ff3744ce003c488d depends: - - libgomp >=7.5.0 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - python + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 constrains: - - openmp_impl <0.0a0 - - msys2-conda-epoch <0.0a0 + - numpy-base <0a0 license: BSD-3-Clause license_family: BSD - purls: [] - size: 52252 - timestamp: 1770943776666 -- conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-2_gnu.conda - build_number: 8 - sha256: 1a62cd1f215fe0902e7004089693a78347a30ad687781dfda2289cab000e652d - md5: 37e16618af5c4851a3f3d66dd0e11141 + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 8009002 + timestamp: 1783206217130 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py314he1698a1_0.conda + sha256: 52e06fd450082b07045ce244e801d46dc7b3154cdbdde62be1db6cfccf199f07 + md5: e127193f9cd2605201f1d4bb8c9f91ba depends: - - libgomp >=7.5.0 - - libwinpthread >=12.0.0.r2.ggc561118da + - python + - libstdcxx >=14 + - libgcc >=14 + - python_abi 3.14.* *_cp314 + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 constrains: - - openmp_impl 9999 - - msys2-conda-epoch <0.0a0 + - numpy-base <0a0 license: BSD-3-Clause license_family: BSD - size: 49468 - timestamp: 1718213032772 -- conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.9.1-he0c23c2_0.conda - sha256: 0524d0c0b61dacd0c22ac7a8067f977b1d52380210933b04141f5099c5b6fec7 - md5: 3d7c14285d3eb3239a76ff79063f27a5 + size: 8172990 + timestamp: 1783206215507 +- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py312ha3f287d_0.conda + sha256: e9df7b016c6910a9d4b1894e53499de79a871292e2f88f338070f0fa0080fcaa + md5: 8ae08a63662c4b2d46af3f2917e749b4 depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: BSD-2-Clause + - liblapack >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - python_abi 3.12.* *_cp312 + - libblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause license_family: BSD - size: 1958151 - timestamp: 1718551737234 -- conda: https://conda.anaconda.org/conda-forge/win-64/backports.zstd-1.3.0-py312h06d0912_0.conda - sha256: c9c97cd644faa6c4fb38017c5ecfd082f56a3126af5925d246364fa4a22b2a74 - md5: 2db2b356f08f19ce4309a79a9ee6b9d8 + purls: + - pkg:pypi/numpy?source=compressed-mapping + size: 7301536 + timestamp: 1783206237609 +- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py314h02f10f6_0.conda + sha256: 0f9f97b529480d17f7054783f7cdc163d0cdd537fabbb6b5bbae5c9439462c2f + md5: a67eeb19ff253ed3c4e094056e8fbb4c depends: - python - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - - zstd >=1.5.7,<1.6.0a0 - license: BSD-3-Clause AND MIT AND EPL-2.0 + - liblapack >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + - python_abi 3.14.* *_cp314 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + size: 7452096 + timestamp: 1783206236616 +- conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.10.0-pyhcf101f3_0.conda + sha256: 482d94fce136c4352b18c6397b9faf0a3149bfb12499ab1ffebad8db0cb6678f + md5: 3aa4b625f20f55cf68e92df5e5bf3c39 + depends: + - python >=3.10 + - sphinx >=6 + - tomli >=1.1.0 + - python + license: BSD-3-Clause + license_family: BSD purls: - - pkg:pypi/backports-zstd?source=hash-mapping - size: 236635 - timestamp: 1767045021157 -- conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.45-default_ha84baeb_104.conda - sha256: 78922b9eca51e828b4626b35e6893861728f284cc8253e0922469971a63e6295 - md5: ea7736f58de65900a5420f4485d73eaf - depends: - - ld_impl_win-64 2.45 default_hfd38196_104 - - m2w64-sysroot_win-64 >=12.0.0.r0 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - size: 5997864 - timestamp: 1764007778611 -- conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.45-default_ha84baeb_105.conda - sha256: 0caf8210512b7ae6db752264897384cfb8c87ab8584b14ec07df3c0bff0bba51 - md5: fe34d00e7c9e92559ec8b5a927d06e57 + - pkg:pypi/numpydoc?source=hash-mapping + size: 65801 + timestamp: 1764715638266 +- pypi: https://files.pythonhosted.org/packages/8c/79/017fab2f7167a9a9795665f894d04f77aafceca80821b51589bb4b23ff5c/nvidia_sphinx_theme-0.0.9.post1-py3-none-any.whl + name: nvidia-sphinx-theme + version: 0.0.9.post1 + sha256: 21ca60206dff2f380d7783d64bbaf71a5b9cacae53c7d0686f089c16b5a3d45a + requires_dist: + - sphinx>=7.1 + - pydata-sphinx-theme>=0.15 + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.4-hb03c661_1.conda + sha256: 75f3bf733523a338f73d6c276c4a26634877cd970edb558f2769d9fa52b100a9 + md5: c2871ba95727fd1382c05db66048b64c depends: - - ld_impl_win-64 2.45 default_hfd38196_105 - - m2w64-sysroot_win-64 >=12.0.0.r0 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - size: 6096221 - timestamp: 1766513640880 -- conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.45.1-default_ha84baeb_101.conda - sha256: 31211bd89e77203f731f31871ff13b5828fbd99f02ae2fc56ae15fcd568c4466 - md5: 84d2e3fd656b05705b7cfe7a92a8c840 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - opencl-headers >=2025.6.13 + license: BSD-2-Clause + license_family: BSD + size: 109598 + timestamp: 1780362789611 +- conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + sha256: 96dec1c878d6e6f835be8ed57152a37be9a5104ac79c2425815d71c64cf13ee4 + md5: 1566e2ce8c3bc23a2feb866c4d9e91e3 + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + purls: [] + size: 53362 + timestamp: 1783700628723 +- conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-hecca717_0.conda + sha256: 8de2f0cd8a659b01abf86e7fbb8cea4f28ada62fd288429a2bbc040db1b98dd0 + md5: c930c8052d780caa41216af7de472226 depends: - - ld_impl_win-64 2.45.1 default_hfd38196_101 - - m2w64-sysroot_win-64 >=12.0.0.r0 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - size: 5830940 - timestamp: 1770267725685 -- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py312hc6d9e41_1.conda - sha256: 2bb6f384a51929ef2d5d6039fcf6c294874f20aaab2f63ca768cbe462ed4b379 - md5: e8e7a6346a9e50d19b4daf41f367366f + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + size: 55754 + timestamp: 1773844383536 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-h65dd3cf_1.conda + sha256: 5317c5c23762f3fe1c8510565a2bb94c645e1470ff73b386315656404f7eb58a + md5: 69894a95220a17a66272daa701c387bc + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: BSD-2-Clause + license_family: BSD + size: 726478 + timestamp: 1782685945856 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h663e864_1.conda + sha256: c90d20ddcf28537ea6c1bd1c26a7abcba6baf9d7cdec493daa04bf0a968d1264 + md5: 0d86d4becd3cd1ce48011f71099211be depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - libbrotlicommon 1.2.0 hfd05255_1 - license: MIT - license_family: MIT - purls: - - pkg:pypi/brotli?source=hash-mapping - size: 335482 - timestamp: 1764018063640 -- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_8.conda - sha256: d882712855624641f48aa9dc3f5feea2ed6b4e6004585d3616386a18186fe692 - md5: 1077e9333c41ff0be8edd1a5ec0ddace + - libgcc >=14 + - libstdcxx >=14 + license: BSD-2-Clause + license_family: BSD + size: 795565 + timestamp: 1782685979198 +- conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-h1eab103_1.conda + sha256: 8d7e4a2dcd68afcc87c1e875a19600d980ca8f792f00105a622efd5faed6b05a + md5: 91c186a483e5491170156399b2850804 depends: - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: bzip2-1.0.6 + license: BSD-2-Clause license_family: BSD - size: 55977 - timestamp: 1757437738856 -- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - sha256: 76dfb71df5e8d1c4eded2dbb5ba15bb8fb2e2b0fe42d94145d5eed4c75c35902 - md5: 4cb8e6b48f67de0b018719cdf1136306 + size: 422904 + timestamp: 1782686043511 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + sha256: 3900f9f2dbbf4129cf3ad6acf4e4b6f7101390b53843591c53b00f034343bc4d + md5: 11b3379b191f63139e29c0d19dee24cd depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: bzip2-1.0.6 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libpng >=1.6.50,<1.7.0a0 + - libstdcxx >=14 + - libtiff >=4.7.1,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-2-Clause license_family: BSD - purls: [] - run_exports: - weak: - - bzip2 >=1.0.8,<2.0a0 - size: 56115 - timestamp: 1771350256444 -- conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - sha256: 9ee4ad706c5d3e1c6c469785d60e3c2b263eec569be0eac7be33fbaef978bccc - md5: 52ea1beba35b69852d210242dd20f97d + size: 355400 + timestamp: 1758489294972 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openjpeg-2.5.4-h5da879a_0.conda + sha256: bd1bc8bdde5e6c5cbac42d462b939694e40b59be6d0698f668515908640c77b8 + md5: cea962410e327262346d48d01f05936c depends: - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libglib >=2.86.3,<3.0a0 - - libpng >=1.6.53,<1.7.0a0 + - libgcc >=14 + - libpng >=1.6.50,<1.7.0a0 + - libstdcxx >=14 + - libtiff >=4.7.1,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-2-Clause + license_family: BSD + size: 392636 + timestamp: 1758489353577 +- conda: https://conda.anaconda.org/conda-forge/win-64/openjpeg-2.5.4-h0e57b4f_0.conda + sha256: 24342dee891a49a9ba92e2018ec0bde56cc07fdaec95275f7a55b96f03ea4252 + md5: e723ab7cc2794c954e1b22fde51c16e4 + depends: + - libpng >=1.6.55,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 - libzlib >=1.3.1,<2.0a0 - - pixman >=0.46.4,<1.0a0 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: LGPL-2.1-only or MPL-1.1 - size: 1537783 - timestamp: 1766416059188 -- conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h5782bbf_0.conda - sha256: b9f577bddb033dba4533e851853924bfe7b7c1623d0697df382eef177308a917 - md5: 20e32ced54300292aff690a69c5e7b97 + license: BSD-2-Clause + license_family: BSD + size: 245594 + timestamp: 1772624841727 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openldap-2.6.13-hbde042b_0.conda + sha256: 21c4f6c7f41dc9bec2ea2f9c80440d9a4d45a6f2ac13243e658f10dcf1044146 + md5: 680608784722880fbfe1745067570b00 depends: - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - freetype >=2.12.1,<3.0a0 - - icu >=75.1,<76.0a0 - - libexpat >=2.6.4,<3.0a0 - - libglib >=2.82.2,<3.0a0 - - libpng >=1.6.47,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.44.2,<1.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LGPL-2.1-only or MPL-1.1 - size: 1524254 - timestamp: 1741555212198 -- conda: https://conda.anaconda.org/conda-forge/win-64/conda-gcc-specs-15.2.0-hd546029_16.conda - sha256: d4a75332dbe12c326dfb68e71fd44d489c0141a166bc2d7bab85d062eb79babe - md5: b8c66fe4f0dcd3ec9d5a9a739df3e365 + - __glibc >=2.17,<3.0.a0 + - cyrus-sasl >=2.1.28,<3.0a0 + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=14 + - libstdcxx >=14 + - openssl >=3.5.6,<4.0a0 + license: OLDAP-2.8 + license_family: BSD + size: 786149 + timestamp: 1775741359582 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openldap-2.6.13-h2fb54aa_0.conda + sha256: 08fab1d144a9790763f30bd44ac4a2f288703ad668d8c31d339ddea23e981147 + md5: 67eea19865a3463f75ca0d3a1d096350 depends: - - gcc_impl_win-64 >=15.2.0,<15.2.1.0a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 54364 - timestamp: 1765260662854 -- conda: https://conda.anaconda.org/conda-forge/win-64/conda-gcc-specs-15.2.0-hd546029_18.conda - sha256: 21062850a891e5a82b7a473de0a2fa4bfafff6fcba9455a619604343018c9f99 - md5: 071dbd17ed598f723c5f48624ae455f9 + - cyrus-sasl >=2.1.28,<3.0a0 + - krb5 >=1.22.2,<1.23.0a0 + - libgcc >=14 + - libstdcxx >=14 + - openssl >=3.5.6,<4.0a0 + license: OLDAP-2.8 + license_family: BSD + size: 911524 + timestamp: 1775741371965 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + sha256: d48f5c22b9897c01e4dff3680f1f57ceb02711ab9c62f74339b080419dfad34b + md5: 79dd2074b5cd5c5c6b2930514a11e22d depends: - - gcc_impl_win-64 >=15.2.0,<15.2.1.0a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 54725 - timestamp: 1771382417485 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-bindings-13.2.0-py312hc128f0a_0.conda - sha256: 04a8aafd54d5a42f8587706f1458e5a7491775292e3361a66ddd7fd5c517d407 - md5: 38204c165a2af6c58dfa1f59eb5e1f64 + - __glibc >=2.17,<3.0.a0 + - ca-certificates + - libgcc >=14 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 3159683 + timestamp: 1781069855778 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda + sha256: da4a5df42614166b69c2f6d8602fc1425f7aaa699f77c3bafb5c7fe69b3d9fb7 + md5: fa6260b3e6eababf6ca85a7eb3336383 depends: - - cuda-nvrtc >=13,<14.0a0 - - cuda-nvvm-impl >=13,<14.0a0 - - cuda-pathfinder >=1.1.0,<2 - - cuda-version >=13,<14.0a0 - - libnvjitlink >=13.0,<14.0a0 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - ca-certificates + - libgcc >=14 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 3704664 + timestamp: 1781069675555 +- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + sha256: cb6e7ba0d010ee0d3249ce9886de3d7613d26d9965d4c95666fa66b9c4c31001 + md5: e99f95734a326c0fd4d02bbd995150d4 + depends: + - ca-certificates - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - cuda-cudart >=13,<14.0a0 - - cuda-python >=13.2.0,<13.3.0a0 - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE + license: Apache-2.0 + license_family: Apache + purls: [] + size: 9414790 + timestamp: 1781071745579 +- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + sha256: 3906abfb6511a3bb309e39b9b1b7bc38f50a723971de2395489fd1f379255890 + md5: 4c06a92e74452cfa53623a81592e8934 + depends: + - python >=3.8 + - python + license: Apache-2.0 + license_family: APACHE purls: - - pkg:pypi/cuda-bindings?source=hash-mapping - size: 3575293 - timestamp: 1773284355109 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-12.9.79-he0c23c2_0.conda - sha256: a30cd9adf3a70d069d4d87c5728ec16778b77071629612ca5d8513cd92d89c09 - md5: 0a243d4f000a0d2f51dd94ee9132b234 + - pkg:pypi/packaging?source=hash-mapping + size: 91574 + timestamp: 1777103621679 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda + sha256: 315b52bfa6d1a820f4806f6490d472581438a28e21df175290477caec18972b0 + md5: d53ffc0edc8eabf4253508008493c5bc depends: - - cuda-cudart_win-64 12.9.79 he0c23c2_0 - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 170799 - timestamp: 1749218946117 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-13.3.29-hac47afa_0.conda - sha256: c1d2727ec436cdc324d4c3e5d8256ea8bc0f9a8793773033021e5476533de719 - md5: a527f7cd2eec390cc8700a0e1878a954 + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.17.1,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.16,<2.0a0 + - harfbuzz >=13.2.1 + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 + - libgcc >=14 + - libglib >=2.86.4,<3.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + license: LGPL-2.1-or-later + size: 458036 + timestamp: 1774281947855 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-h8547ced_1.conda + sha256: d209c8b0d53c441ee0bc0d8fce0fcae8e7e05755e51b13b6b9da02c7aa032f98 + md5: 3fc7cc25bba3381e77b753578058e3b0 depends: - - cuda-cudart_win-64 13.3.29 hac47afa_0 - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 215494 - timestamp: 1779898489923 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-12.9.79-he0c23c2_0.conda - sha256: 1ee68f0ffd37889f0fc438d4da7124054b124632e1c3bc15950b9851b002473e - md5: e5bb074108bc2501f8374e80748aa181 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.17.1,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.16,<2.0a0 + - harfbuzz >=13.2.0 + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 + - libgcc >=14 + - libglib >=2.86.4,<3.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + license: LGPL-2.1-or-later + size: 470441 + timestamp: 1774284032397 +- conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda + sha256: 3d4e6e541e633f6fd22fc2c1d79ad5ec39503dea3ba04fc3e01d5be904ec7cea + md5: 1f1cf3772ba7d4eef989e4679ddf97f7 depends: - - cuda-cudart 12.9.79 he0c23c2_0 - - cuda-cudart-dev_win-64 12.9.79 he0c23c2_0 - - cuda-cudart-static 12.9.79 he0c23c2_0 - - cuda-version >=12.9,<12.10.0a0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.17.1,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.16,<2.0a0 + - harfbuzz >=13.2.1 + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 + - libglib >=2.86.4,<3.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=12.9.79,<13.0a0 - size: 23222 - timestamp: 1749219022963 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-13.3.29-hac47afa_0.conda - sha256: 035d753771cb6736724ae08d0f4f1bb2886c590d7e06f303eb3ef47c15d39e7e - md5: b654d915abbee1382e58e49db9884f8e + license: LGPL-2.1-or-later + size: 454919 + timestamp: 1774282149607 +- conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda + sha256: 611882f7944b467281c46644ffde6c5145d1a7730388bcde26e7e86819b0998e + md5: 39894c952938276405a1bd30e4ce2caf depends: - - cuda-cudart 13.3.29 hac47afa_0 - - cuda-cudart-dev_win-64 13.3.29 hac47afa_0 - - cuda-cudart-static 13.3.29 hac47afa_0 - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24489 - timestamp: 1779898504358 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-12.9.79-he0c23c2_0.conda - sha256: 02d3ff9ec59c7f59132ffe9398746ad9422a75706e7cad19acc6c30a5c0fc763 - md5: 718879691b8119c893f587f46c734fca + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/parso?source=hash-mapping + size: 82472 + timestamp: 1777722955579 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda + sha256: 5e6f7d161356fefd981948bea5139c5aa0436767751a6930cb1ca801ebb113ff + md5: 7a3bff861a6583f1889021facefc08b1 depends: - - cuda-cudart-static_win-64 12.9.79 he0c23c2_0 - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23249 - timestamp: 1749218998822 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-13.3.29-hac47afa_0.conda - sha256: 685533b8d9b7a65810fd86da7d2c605ddb4ba1270591d7137be995c0dbf4661b - md5: a5a881ac16787902dc51e5d7b6c870c1 + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 1222481 + timestamp: 1763655398280 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda + sha256: 04df2cee95feba440387f33f878e9f655521e69f4be33a0cd637f07d3d81f0f9 + md5: 1a30c42e32ca0ea216bd0bfe6f842f0b + depends: + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 1166552 + timestamp: 1763655534263 +- conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda + sha256: 3e9e02174edf02cb4bcdd75668ad7b74b8061791a3bc8bdb8a52ae336761ba3e + md5: 77eaf2336f3ae749e712f63e36b0f0a1 depends: - - cuda-cudart-static_win-64 13.3.29 hac47afa_0 - - cuda-version >=13.3,<13.4.0a0 + - bzip2 >=1.0.8,<2.0a0 + - libzlib >=1.3.1,<2.0a0 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24488 - timestamp: 1779898500699 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-12.9.86-hac47afa_1.conda - sha256: d90ef446ac859db26286a5d39d39333c4e4cee31ba5042b5c7922bd25de531f6 - md5: d68b5d96a53c80dc3dbbd8f7c3b8106d + license: BSD-3-Clause + license_family: BSD + size: 995992 + timestamp: 1763655708300 +- conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + sha256: 202af1de83b585d36445dc1fda94266697341994d1a3328fabde4989e1b3d07a + md5: d0d408b1f18883a944376da5cf8101ea depends: - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 58467504 - timestamp: 1760723834711 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda - sha256: 7306b27c3a70cf1c35d4d200c1936037c9d6484322a39fac1967439a20585003 - md5: ab010d7a1be0e140b65f6bf8473180fb + - ptyprocess >=0.5 + - python >=3.9 + license: ISC + purls: + - pkg:pypi/pexpect?source=hash-mapping + size: 53561 + timestamp: 1733302019362 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py314h8ec4b1a_0.conda + sha256: bcab128df8980514061a78b9c67f5004954048f584da20df8c5a78de9e3f5abb + md5: 233e62a8eb894b79b5c93f4f8dec4dcd depends: - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - run_exports: {} - size: 35152509 - timestamp: 1779897499641 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-12.9.86-hac47afa_1.conda - sha256: 1e1c41f95d606eaf6581fccf9546ed6ee4053c42b78e11057cd6d2801b96f0e2 - md5: b97225dd005cb0dcdca7911c61ca38e5 + - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libtiff >=4.7.1,<4.8.0a0 + - openjpeg >=2.5.4,<3.0a0 + - libxcb >=1.17.0,<2.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - python_abi 3.14.* *_cp314 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - lcms2 >=2.19.1,<3.0a0 + - tk >=8.6.13,<8.7.0a0 + license: HPND + size: 1108174 + timestamp: 1782912080163 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pillow-12.3.0-py314hac3e5ec_0.conda + sha256: 8d8c5f524a17e9e441cd25210daddb7a3c97d9316dea8493b2150a496b80ea77 + md5: ec3c5434d1b98093c53fa5a0c559b842 depends: - - cuda-nvrtc 12.9.86 hac47afa_1 - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 + - python + - python 3.14.* *_cp314 + - libgcc >=14 + - tk >=8.6.13,<8.7.0a0 + - python_abi 3.14.* *_cp314 + - openjpeg >=2.5.4,<3.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libxcb >=1.17.0,<2.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - lcms2 >=2.19.1,<3.0a0 + license: HPND + size: 1077965 + timestamp: 1782912107475 +- conda: https://conda.anaconda.org/conda-forge/win-64/pillow-12.3.0-py314h61b30b5_0.conda + sha256: c9dc3212ed0021974541072ee3765a5097a0721191c34ee485d7d7e94449648f + md5: 09b8e6ac8f4a257b59e5d3025f3c9c1d + depends: + - python - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-nvrtc >=12.9.86,<13.0a0 - size: 35214 - timestamp: 1760724506186 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-13.3.33-hac47afa_0.conda - sha256: dd20cfdb605f8c8c9cccd851e3ce2f1387281d3b6f7ee42f323119898dd848d2 - md5: c7a4384bbc6f3f241f2389eeccb4cc73 - depends: - - cuda-nvrtc 13.3.33 hac47afa_0 - - cuda-version >=13.3,<13.4.0a0 - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libwebp-base >=1.6.0,<2.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - openjpeg >=2.5.4,<3.0a0 + - lcms2 >=2.19.1,<3.0a0 + - libxcb >=1.17.0,<2.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - tk >=8.6.13,<8.7.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + license: HPND + size: 989058 + timestamp: 1782912129930 +- conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.1.2-pyh8b19718_0.conda + sha256: 29b7d75bf81ad11645a8e320b369abdc90a92b93f2a9178e853d9dddf82e5106 + md5: 511fbc2c63d2c73650ad1755e4d357ba + depends: + - python >=3.10,<3.13.0a0 + - setuptools + - wheel + license: MIT + license_family: MIT + purls: + - pkg:pypi/pip?source=compressed-mapping + size: 1203173 + timestamp: 1780262795392 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_2.conda + sha256: 9e5b5be056820ade8b09ef73cf9f4bea037eb9887145d0297ac99e0add88878d + md5: 7cd77fef4da3e1ca9484394616cb71f1 + depends: + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MIT + license_family: MIT + size: 376220 + timestamp: 1784286827180 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_2.conda + sha256: 414acad3e460cfcf6bf3a764c4b4837359bda9fdc350a85b560e344a9e2306a5 + md5: af8ab93369e53542b135dab29eca49e8 + depends: + - libstdcxx >=14 + - libgcc >=14 + license: MIT + license_family: MIT + size: 304146 + timestamp: 1784286832656 +- conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_2.conda + sha256: f37fb21952bd4297f8c7d78e2f256647da2b4ad4e1df097d49ebff8a40275cab + md5: df8da7fe89bdc91b880df69a8eb1c37b + depends: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-nvrtc >=13.3.33,<14.0a0 - size: 37954 - timestamp: 1779898185609 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-12.9.86-h719f0c7_6.conda - sha256: 020a5bb67a35654f391d21b170ba763f95b7f133fec5678d69e676559dcd5653 - md5: b162c7fb8b19f9102bd5f801d7f58ca2 + - ucrt >=10.0.20348.0 + license: MIT + license_family: MIT + size: 257105 + timestamp: 1784286884376 +- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.0-pyhcf101f3_0.conda + sha256: a4b8c7d3b3703d10f93187986d59aec09b22033978945845899beb7f849a7be6 + md5: 1fadaa6dd1d03d062075f84157ac2cc7 depends: - - cuda-nvvm-dev_win-64 12.9.86.* - - cuda-nvvm-impl 12.9.86.* - - cuda-nvvm-tools 12.9.86.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 26007 - timestamp: 1771619504675 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.33-h719f0c7_0.conda - sha256: d63d8a093e2390976ef5732996248fe683f153764553a98f5096de7252fb31bb - md5: 28b7994501f69efa53dbf1ebe9f9b350 + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/platformdirs?source=compressed-mapping + size: 26632 + timestamp: 1784661349391 +- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + sha256: e14aafa63efa0528ca99ba568eaf506eb55a0371d12e6250aaaa61718d2eb62e + md5: d7585b6550ad04c8c5e21097ada2888e depends: - - cuda-nvvm-dev_win-64 13.3.33.* - - cuda-nvvm-impl 13.3.33.* - - cuda-nvvm-tools 13.3.33.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 26223 - timestamp: 1779909907942 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.73-h719f0c7_0.conda - sha256: 0695be0be2ef990ad821d4f1e481c275c717fd77f790a9fca50557771d1c3da4 - md5: 681a2be43dcc68156ed403872cefa25e + - python >=3.9 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/pluggy?source=hash-mapping + size: 25877 + timestamp: 1764896838868 +- conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + sha256: 4817651a276016f3838957bfdf963386438c70761e9faec7749d411635979bae + md5: edb16f14d920fb3faf17f5ce582942d6 depends: - - cuda-nvvm-dev_win-64 13.3.73.* - - cuda-nvvm-impl 13.3.73.* - - cuda-nvvm-tools 13.3.73.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 25400 - timestamp: 1782788559176 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-12.9.86-h2466b09_2.conda - sha256: 7b995ea653816b129bae6e4ee92898824a39fe82227472537bf75ac6ece7e955 - md5: d8cea7bc32045bde718d0b1ceb595445 + - python >=3.10 + - wcwidth + constrains: + - prompt_toolkit 3.0.52 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/prompt-toolkit?source=hash-mapping + size: 273927 + timestamp: 1756321848365 +- conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py312h5253ce2_0.conda + sha256: d834fd656133c9e4eaf63ffe9a117c7d0917d86d89f7d64073f4e3a0020bd8a7 + md5: dd94c506b119130aef5a9382aed648e7 depends: - - cuda-version >=12.9,<12.10.0a0 + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/psutil?source=hash-mapping + size: 225545 + timestamp: 1769678155334 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-7.2.2-py312hd41f8a7_0.conda + sha256: ea2f332dde5f428c506816d39063705c40767a350f54c22fde89b74aac878355 + md5: 4efa924b35ea429f3ded10ddae9d5fb3 + depends: + - python + - python 3.12.* *_cpython + - libgcc >=14 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/psutil?source=hash-mapping + size: 230283 + timestamp: 1769678159757 +- conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py312he5662c2_0.conda + sha256: edffc84c001a05b996b5f8607c8164432754e86ec9224e831cd00ebabdec04e7 + md5: a2724c93b745fc7861948eb8b9f6679a + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 31168 - timestamp: 1753975780038 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.33-h2466b09_0.conda - sha256: 64393c62eb39d09b1be9cecddd6721fa018f67f1d598d89ff63a36d4d1dac221 - md5: 0aa6111a0d7a368cc75e261d020a2c07 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/psutil?source=hash-mapping + size: 242769 + timestamp: 1769678170631 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 + md5: b3c17d95b5a10c6e64a21fa17573e70e depends: - - cuda-version >=13.3,<13.4.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 8252 + timestamp: 1726802366959 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda + sha256: 977dfb0cb3935d748521dd80262fe7169ab82920afd38ed14b7fee2ea5ec01ba + md5: bb5a90c93e3bac3d5690acf76b4a6386 + depends: + - libgcc >=13 + license: MIT + license_family: MIT + size: 8342 + timestamp: 1726803319942 +- conda: https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-h0e40799_1002.conda + sha256: 7e446bafb4d692792310ed022fe284e848c6a868c861655a92435af7368bae7b + md5: 3c8f2573569bb816483e5cf57efbbe29 + depends: + - libgcc >=13 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - size: 32862 - timestamp: 1779905180272 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda - sha256: 923a4ce23f1b4c9d733ad3b776de0569d51ec0a036935ee699d136d388684eae - md5: 1218693a2f626407453930c7af8d188d + license: MIT + license_family: MIT + size: 9389 + timestamp: 1726802555076 +- conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + sha256: a7713dfe30faf17508ec359e0bc7e0983f5d94682492469bd462cdaae9c64d83 + md5: 7d9daffbb8d8e0af0f769dbbcd173a54 + depends: + - python >=3.9 + license: ISC + purls: + - pkg:pypi/ptyprocess?source=hash-mapping + size: 19457 + timestamp: 1733302371990 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda + sha256: 23c98a5000356e173568dc5c5770b53393879f946f3ace716bbdefac2a8b23d2 + md5: b11a4c6bf6f6f44e5e143f759ffa2087 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + size: 118488 + timestamp: 1736601364156 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda + sha256: adc17205a87e064508d809fe5542b7cf49f9b9a458418f8448e2fc895fcd04f3 + md5: 53e14f45d38558aa2b9a15b07416e472 depends: - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 32375 - timestamp: 1782782913178 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-12.9.86-h2466b09_2.conda - sha256: 5692a559206420f77e376a598329db966da762ad574866f9cc80a447d26ac49c - md5: 25e269101d3eb39715a48998bc04289e + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + size: 113424 + timestamp: 1737355438448 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda + sha256: 0a0858c59805d627d02bdceee965dd84fde0aceab03a2f984325eec08d822096 + md5: b8ea447fdf62e3597cb8d2fae4eb1a90 depends: - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 40286977 - timestamp: 1753975898550 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.33-h2466b09_0.conda - sha256: aac4f4ddb2d612350269e58364b5aa1142612838d429d493e2816a1626e41883 - md5: 394839d70f28114ece1f2e4efac66523 + - __glibc >=2.17,<3.0.a0 + - dbus >=1.16.2,<2.0a0 + - libgcc >=14 + - libglib >=2.86.1,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libsndfile >=1.2.2,<1.3.0a0 + - libsystemd0 >=257.10 + - libxcb >=1.17.0,<2.0a0 + constrains: + - pulseaudio 17.0 *_3 + license: LGPL-2.1-or-later + license_family: LGPL + size: 750785 + timestamp: 1763148198088 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda + sha256: bb55db0dfe120f6063ad3ac74524b37c0bf92c6002cc059c31a5506f96a67f22 + md5: 8d73cfc699cd0a5ed2ea04bfb73eee0a depends: - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 45453672 - timestamp: 1779905194696 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.73-h2466b09_0.conda - sha256: b06b40a782cae69f4c208bb64a83da6603d83b3ea7eb4b77a70d806189dedb98 - md5: 119e34d79508b512d33235312fdaff7d + - dbus >=1.16.2,<2.0a0 + - libgcc >=14 + - libglib >=2.86.1,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libsndfile >=1.2.2,<1.3.0a0 + - libsystemd0 >=257.10 + - libxcb >=1.17.0,<2.0a0 + constrains: + - pulseaudio 17.0 *_3 + license: LGPL-2.1-or-later + license_family: LGPL + size: 760306 + timestamp: 1763148231117 +- conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + sha256: 71bd24600d14bb171a6321d523486f6a06f855e75e547fa0cb2a0953b02047f0 + md5: 3bfdfb8dbcdc4af1ae3f9a8eb3948f04 depends: - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 45302858 - timestamp: 1782782927290 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-12.9.79-h57928b3_1.conda - sha256: e2ea70bfd20decd9e8401b5388693e1fd8e25a120580338a22b8b890f4933520 - md5: 57d6f85f552878de71f8136cc6d2ab16 + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pure-eval?source=hash-mapping + size: 16668 + timestamp: 1733569518868 +- conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + sha256: 6d8f03c13d085a569fde931892cded813474acbef2e03381a1a87f420c7da035 + md5: 46830ee16925d5ed250850503b5dc3a8 depends: - - cuda-cudart-dev - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24150 - timestamp: 1761098813665 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-13.3.27-h57928b3_0.conda - sha256: 51e619f0151a0b109671abfc6daa7761e17054f7d570c2e50dc7141745dd633c - md5: 024766ae1ca6cbe87200bf11d9643039 + - python >=3.9 + license: MIT + license_family: MIT + size: 25766 + timestamp: 1733236452235 +- conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.19.0-pyhcf101f3_0.conda + sha256: 6deac8ece8b8e243634c13837967b253b8c9b09ef39beaaff494584ee05465c7 + md5: 87921f66a4dc56ce92e4ff13be5f63dc depends: - - cuda-cudart-dev - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 25690 - timestamp: 1779913686281 -- conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.3-py314h344ed54_0.conda - sha256: 6406b67af71dc477f891e6380eb6021d012ea467635c432017f08f954fa2b98d - md5: 91e2ed41320f5c89cc6d77ef47a820cd + - accessible-pygments + - babel + - beautifulsoup4 + - docutils !=0.17.0 + - pygments >=2.7 + - python >=3.10 + - sphinx >=8.0 + - typing_extensions + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pydata-sphinx-theme?source=compressed-mapping + size: 1312203 + timestamp: 1781528227244 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + sha256: 8ca25ae8d49e85e76b0f86e265cb0298874cb7c2e65b2620defaa80ad49560dd + md5: d46ece489f2dcce81d7af736025a9e42 depends: - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - size: 3336844 - timestamp: 1765651351516 -- conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.4-py312hd245ac3_0.conda - sha256: 68e921fad16accb32e86c7c73abaea7d49c9346e078924d0a593f821672a5a0c - md5: 575ebca0d973015c21087b800bc48515 + - ffmpeg >=4.0.0 + - freetype + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + size: 729762 + timestamp: 1782670710304 +- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + sha256: cf70b2f5ad9ae472b71235e5c8a736c9316df3705746de419b59d442e8348e86 + md5: 16c18772b340887160c79a6acc022db0 depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE + - python >=3.10 + license: BSD-2-Clause + license_family: BSD purls: - - pkg:pypi/cython?source=hash-mapping - size: 3285032 - timestamp: 1767577225362 -- conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.4-py314h344ed54_0.conda - sha256: c2e08246f2e6f38b5793ebc8d36de32704e4f152ed959ab0558d529580610e0e - md5: 545afbc1940d8a81f114b9c14eecf2ca + - pkg:pypi/pygments?source=hash-mapping + size: 893031 + timestamp: 1774796815820 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + sha256: 417fba4783e528ee732afa82999300859b065dc59927344b4859c64aae7182de + md5: 3687cc0b82a8b4c17e1f0eb7e47163d5 depends: - - python >=3.14,<3.15.0a0 + - python >=3.10 + - python + license: MIT + license_family: MIT + size: 110893 + timestamp: 1769003998136 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyside6-6.11.1-py314h3987850_1.conda + sha256: e410d0d4151f418dc75ea2dc38dfb0e7a136090b6874e5ca1c699fa840b4994d + md5: 5d2051f0630a568926943fc53c0aaa4c + depends: + - python + - qt6-main 6.11.1.* + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - libopengl >=1.7.0,<2.0a0 + - libxslt >=1.1.43,<2.0a0 + - libegl >=1.7.0,<2.0a0 - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - size: 3332872 - timestamp: 1767577440799 -- conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda - sha256: 8900c3a11e71521ed7400265a36686c4ed3973b937658c1f58cc74b707a1c173 - md5: 596f6f1a842a246dbe778dce002d0ca5 + - qt6-main >=6.11.1,<6.12.0a0 + - libclang13 >=22.1.5 + - libxml2 + - libxml2-16 >=2.14.6 + license: LGPL-3.0-only + license_family: LGPL + size: 13821776 + timestamp: 1778933872780 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyside6-6.11.1-py314ha37eecc_1.conda + sha256: 773bb42e09bfe13469b3d1db0dd79821146131210bec9eb1b69e761d0b5e9c26 + md5: 48e83c1e5552d2bf7f5c8d7d8bd9fc85 depends: - - python >=3.14,<3.15.0a0 + - python + - qt6-main 6.11.1.* + - libgcc >=14 + - libstdcxx >=14 + - libopengl >=1.7.0,<2.0a0 + - libxslt >=1.1.43,<2.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 + - libegl >=1.7.0,<2.0a0 + - qt6-main >=6.11.1,<6.12.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libgl >=1.7.0,<2.0a0 + - libclang13 >=22.1.5 + license: LGPL-3.0-only + license_family: LGPL + size: 12361659 + timestamp: 1778933881635 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyside6-6.11.1-py314h447aaf0_1.conda + sha256: 070802d5e1e1c1feb24d481efbd90b300fb0ecc1ce4312a3bbcbaae4393c05f9 + md5: 638be6b8674e7acf7a84132903cf4c8e + depends: + - python + - qt6-main 6.11.1.* - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 3338147 - timestamp: 1782821777709 -- conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - sha256: 2aa2083c9c186da7d6f975ccfbef654ed54fff27f4bc321dbcd12cee932ec2c4 - md5: ed2c27bda330e3f0ab41577cf8b9b585 - depends: - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: BSD-2-Clause + - libxslt >=1.1.43,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - qt6-main >=6.11.1,<6.12.0a0 + - python_abi 3.14.* *_cp314 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libclang13 >=22.1.5 + license: LGPL-3.0-only + license_family: LGPL + size: 11579652 + timestamp: 1778933912020 +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda + sha256: d016e04b0e12063fbee4a2d5fbb9b39a8d191b5a0042f0b8459188aedeabb0ca + md5: e2fd202833c4a981ce8a65974fe4abd1 + depends: + - __win + - python >=3.9 + - win_inet_pton + license: BSD-3-Clause license_family: BSD - size: 618643 - timestamp: 1685696352968 -- conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.20-py312ha1a9051_0.conda - sha256: 5a886b1af3c66bf58213c7f3d802ea60fe8218313d9072bc1c9e8f7840548ba0 - md5: 032746a0b0663920f0afb18cec61062b + purls: + - pkg:pypi/pysocks?source=hash-mapping + size: 21784 + timestamp: 1733217448189 +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 + md5: 461219d1a5bd61342293efa2c0c90eac + depends: + - __unix + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pysocks?source=hash-mapping + size: 21085 + timestamp: 1733217331982 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + sha256: 430051d80765207a7d782b2b188230ba1489d35c6e75fd9903f76cb9fda4af16 + md5: 64c98a12c4e23eb238bf66bbecafdf3c depends: + - colorama + - pygments >=2.7.2 + - python >=3.10 + - iniconfig >=1.0.1 + - packaging >=22 + - pluggy >=1.5,<2 + - tomli >=1 + - exceptiongroup >=1 - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 + constrains: + - pytest-faulthandler >=2 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pytest?source=compressed-mapping + size: 306724 + timestamp: 1782127176429 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + sha256: 2f2229415a6e5387c1faaedf442ea8c07471cb2bf5ad1007b9cfb83ea85ca29a + md5: 0e7294ed4af8b833fcd2c101d647c3da + depends: + - py-cpuinfo + - pytest >=8.1 + - python >=3.10 + license: BSD-2-Clause + license_family: BSD + size: 43976 + timestamp: 1762716480208 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + sha256: bd1953e4bc20ffd52cfee41b27b3a781ca6e281004d0dd59e2dd60b0192c7a86 + md5: 203b5d3f85a47940f7ec6b6e1747786e + depends: + - importlib-metadata >=3.6.0 + - pytest + - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/debugpy?source=hash-mapping - size: 3996113 - timestamp: 1769745013982 -- conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.0.1-gpl_h74fd8f1_907.conda - sha256: d2fd4f6ccb01270a59b2f9277b938b8795201d3e44547fa3b7d228ce66c67050 - md5: 9062e8bce38eee2540db36e35947adf7 + size: 14133 + timestamp: 1692131735622 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + sha256: cea7b0555c22a734d732f98a3b256646f3d82d926a35fa2bfd16f11395abd83b + md5: 9e8871313f26d8b6f0232522b3bc47a5 + depends: + - pytest >=5 + - python >=3.9 + license: MPL-2.0 + license_family: MOZILLA + size: 10537 + timestamp: 1744061283541 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda + sha256: a44655c1c3e1d43ed8704890a91e12afd68130414ea2c0872e154e5633a13d7e + md5: 7eccb41177e15cc672e1babe9056018e depends: - - aom >=3.9.1,<3.10.0a0 + - __glibc >=2.17,<3.0.a0 - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - harfbuzz >=12.2.0 - - lame >=3.100,<3.101.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libopus >=1.6,<2.0a0 - - librsvg >=2.60.0,<3.0a0 - - libvorbis >=1.3.7,<1.4.0a0 - - libvulkan-loader >=1.4.328.1,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.7.4,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - liblzma >=5.8.2,<6.0a0 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.51.2,<4.0a0 + - libuuid >=2.41.3,<3.0a0 + - libxcrypt >=4.4.36 - libzlib >=1.3.1,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.4,<4.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2025.5,<2025.6.0a0 - - svt-av1 >=3.1.2,<3.1.3.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.5,<4.0a0 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - size: 10420698 - timestamp: 1765873656019 -- conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.0.1-gpl_h74fd8f1_908.conda - sha256: 28b398848c1389d474557a19e9963c778ab76e0e3a02c1cabdb94a3067cad82b - md5: e08d05ea85b8b24fabb8afa1d0d79362 + - python_abi 3.12.* *_cp312 + license: Python-2.0 + purls: [] + size: 31608571 + timestamp: 1772730708989 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda + build_number: 100 + sha256: 6d28ac2b061179deb434d3d57afa98ffd20ec3c5d44ab8048a1ca33424b22d38 + md5: 0b9b2f83b5b600e1ac38becde8d0dd44 depends: - - aom >=3.9.1,<3.10.0a0 + - __glibc >=2.17,<3.0.a0 - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - harfbuzz >=12.2.0 - - lame >=3.100,<3.101.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libopus >=1.6,<2.0a0 - - librsvg >=2.60.0,<3.0a0 - - libvorbis >=1.3.7,<1.4.0a0 - - libvulkan-loader >=1.4.328.1,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.1,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.4,<4.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2025.5,<2025.6.0a0 - - svt-av1 >=3.1.2,<3.1.3.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - size: 10416746 - timestamp: 1766461370784 -- conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.0.1-gpl_hb2d76f6_914.conda - sha256: fbe7916ed95bdc9650c9906865ab21cc04fb337548fdffec94f64a547ba3644d - md5: 7cffff39ee349bddb81e1de24c780f34 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.2,<4.0a0 + - libuuid >=2.42.1,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - openssl >=3.5.7,<4.0a0 + - python_abi 3.14.* *_cp314 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 + size: 36717183 + timestamp: 1781255094700 + python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.12.13-h91f4b29_0_cpython.conda + sha256: 61933478813f5fd96c89a00dd964201b0266d71d2e3bc4dd5679354056e46948 + md5: 8aed8fdbbc03a5c9f455d20ce75a9dce depends: - - aom >=3.9.1,<3.10.0a0 - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - harfbuzz >=12.3.2 - - lame >=3.100,<3.101.0a0 + - ld_impl_linux-aarch64 >=2.36.1 - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libiconv >=1.18,<2.0a0 - - libjxl >=0.11,<1.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 - liblzma >=5.8.2,<6.0a0 - - libopus >=1.6.1,<2.0a0 - - librsvg >=2.60.0,<3.0a0 - - libvorbis >=1.3.7,<1.4.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.51.2,<4.0a0 + - libuuid >=2.41.3,<3.0a0 + - libxcrypt >=4.4.36 - libzlib >=1.3.1,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 + - ncurses >=6.5,<7.0a0 - openssl >=3.5.5,<4.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2025.5,<2025.6.0a0 - - svt-av1 >=4.0.1,<4.0.2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - size: 10417843 - timestamp: 1773010275486 -- conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.15.0-h765892d_1.conda - sha256: ed122fc858fb95768ca9ca77e73c8d9ddc21d4b2e13aaab5281e27593e840691 - md5: 9bb0026a2131b09404c59c4290c697cd - depends: - - freetype >=2.12.1,<3.0a0 - - libexpat >=2.6.3,<3.0a0 - - libiconv >=1.17,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: MIT - license_family: MIT - size: 192355 - timestamp: 1730284147944 -- conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.17.1-hd47e2ca_0.conda - sha256: ff2db9d305711854de430f946dc59bd40167940a1de38db29c5a78659f219d9c - md5: a0b1b87e871011ca3b783bbf410bc39f - depends: - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libiconv >=1.18,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 195332 - timestamp: 1771382820659 -- conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.1-h57928b3_0.conda - sha256: a9b3313edea0bf14ea6147ea43a1059d0bf78771a1336d2c8282891efc57709a - md5: d69c21967f35eb2ce7f1f85d6b6022d3 - depends: - - libfreetype 2.14.1 h57928b3_0 - - libfreetype6 2.14.1 hdbac1cb_0 - license: GPL-2.0-only OR FTL - size: 184553 - timestamp: 1757946164012 -- conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.2-h57928b3_0.conda - sha256: 6dd4bb3862ea3d07015331059504cf3b6af1a11a6909e7a9b6e04a20e253da28 - md5: c360b467564b875a9f5dc481b8726cee - depends: - - libfreetype 2.14.2 h57928b3_0 - - libfreetype6 2.14.2 hdbac1cb_0 - license: GPL-2.0-only OR FTL - size: 185633 - timestamp: 1772756186241 -- conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - sha256: 15011071ee56c216ffe276c8d734427f1f893f275ef733f728d13f610ed89e6e - md5: c27bd87e70f970010c1c6db104b88b18 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-or-later - size: 64394 - timestamp: 1757438741305 -- conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-hd556455_16.conda - sha256: 47e615d15323e8e5713079d6a364c29e622c1351a1bbae25a4b2b29a8a65176e - md5: 75be5b3f44f3f939e2c3cdb041d12a44 - depends: - - conda-gcc-specs - - gcc_impl_win-64 15.2.0 h79c4613_16 - license: BSD-3-Clause - license_family: BSD - size: 1202509 - timestamp: 1765260844098 -- conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-hd556455_18.conda - sha256: 349dd70890b3bb51d8f7a7976f53711f4606c076a659ee7fdc7c32e2ffa019a1 - md5: 0f295318682c2fbefbe293399fae135f - depends: - - conda-gcc-specs - - gcc_impl_win-64 15.2.0 ha526d7c_18 - license: BSD-3-Clause - license_family: BSD - size: 1198343 - timestamp: 1771382604468 -- conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-h79c4613_16.conda - sha256: 73489f4fe29f8a80a2514ff21285226aafed37693099c5d48460a780608a6ee2 - md5: c545222077e50b9cdc7dfb2c80ba8cfa - depends: - - binutils_impl_win-64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_win-64 15.2.0 hbb59886_116 - - libgomp >=15.2.0 - - libstdcxx >=15.2.0 - - libstdcxx-devel_win-64 15.2.0 h0a72980_116 - - m2w64-sysroot_win-64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 62325084 - timestamp: 1765260533999 -- conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-ha526d7c_18.conda - sha256: 70db065b687f52e64b942af8daf33e244e17128158ced9dc019924c4f79d3b82 - md5: 7568471e78e882712c3d3715624a54c8 - depends: - - binutils_impl_win-64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_win-64 15.2.0 hbb59886_118 - - libgomp >=15.2.0 - - libstdcxx >=15.2.0 - - libstdcxx-devel_win-64 15.2.0 h0a72980_118 - - m2w64-sysroot_win-64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 62510234 - timestamp: 1771382289787 -- conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.4-h1f5b9c4_0.conda - sha256: 24189e4615a0aa574ab2bd5c270fff999da6951e3cd391f1e807c7e4fafd5cdc - md5: 0ce8e4983a4c60a5b75a9a5b5f227447 + - python_abi 3.12.* *_cp312 + license: Python-2.0 + purls: [] + size: 13757191 + timestamp: 1772728951853 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda + build_number: 100 + sha256: dd56fd95db3cb49a69fbe41df80afc8bd5214daa829bcd3930de80f0408ba5eb + md5: 416c74941d13d9f2b9e68b1a900f7f50 depends: - - libglib >=2.86.0,<3.0a0 - - libintl >=0.22.5,<1.0a0 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - - libpng >=1.6.50,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-or-later - license_family: LGPL - size: 573466 - timestamp: 1761082560321 -- conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.5-h1f5b9c4_1.conda - sha256: 82c725a67098c7c43dfc33ba292a48e68530135b94a8703f20566d90574acdfd - md5: 4059b4975e2de5894286dbe6bd6728fb + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-aarch64 >=2.36.1 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.2,<4.0a0 + - libuuid >=2.42.1,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - openssl >=3.5.7,<4.0a0 + - python_abi 3.14.* *_cp314 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 + size: 34900936 + timestamp: 1781254861576 + python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda + sha256: a02b446d8b7b167b61733a3de3be5de1342250403e72a63b18dac89e99e6180e + md5: 2956dff38eb9f8332ad4caeba941cfe7 depends: - - libglib >=2.86.4,<3.0a0 - - libintl >=0.22.5,<1.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.7.4,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 + - libsqlite >=3.51.2,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: LGPL-2.1-or-later - license_family: LGPL - size: 574950 - timestamp: 1771530717329 -- conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.1.0-h5b34520_0.conda - sha256: ab8cca5c5b8aba98f83d8732a3fca71a246a05525d00dce7e528089348cd64ec - md5: e3cf749f8cc50a6e636fb90c9d4f0c58 + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + purls: [] + size: 15840187 + timestamp: 1772728877265 +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda + build_number: 100 + sha256: f1acb89cb1a6bec9a94ae9f8e7411839de009cd64d3ac6a6aec4f3d8a481099a + md5: 8333e3ca6f8d1ebcd30b678dd53f0a25 depends: - - spirv-tools >=2025,<2026.0a0 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.2,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + - python_abi 3.14.* *_cp314 + - tk >=8.6.13,<8.7.0a0 + - tzdata - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 + size: 18481352 + timestamp: 1781256034828 + python_site_packages_path: Lib/site-packages +- conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 + md5: 5b8d21249ff20967101ffa321cab24e8 + depends: + - python >=3.9 + - six >=1.5 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/python-dateutil?source=hash-mapping + size: 233310 + timestamp: 1751104122689 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + sha256: df9aa74e9e28e8d1309274648aac08ec447a92512c33f61a8de0afa9ce32ebe8 + md5: 23029aae904a2ba587daba708208012f + depends: + - python >=3.9 + - python license: BSD-3-Clause license_family: BSD - size: 6241332 - timestamp: 1764720816129 -- conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.2.0-h294ba9c_1.conda - sha256: c46afa4a43b7709e07a69d0a2d70b10f59f22e96dbf9ec80e53a42cc6551111c - md5: 4b5f576265df0a05d4e47e48c50bb4e6 + purls: + - pkg:pypi/fastjsonschema?source=hash-mapping + size: 244628 + timestamp: 1755304154927 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.12.13-hd8ed1ab_0.conda + sha256: 97327b9509ae3aae28d27217a5d7bd31aff0ab61a02041e9c6f98c11d8a53b29 + md5: 32780d6794b8056b78602103a04e90ef depends: - - spirv-tools >=2026,<2027.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - cpython 3.12.13.* + - python_abi * *_cp312 + license: Python-2.0 + purls: [] + size: 46449 + timestamp: 1772728979370 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + build_number: 8 + sha256: 80677180dd3c22deb7426ca89d6203f1c7f1f256f2d5a94dc210f6e758229809 + md5: c3efd25ac4d74b1584d2f7a57195ddf1 + constrains: + - python 3.12.* *_cpython license: BSD-3-Clause license_family: BSD - size: 4929181 - timestamp: 1770195251565 -- conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-hac47afa_2.conda - sha256: 5f1714b07252f885a62521b625898326ade6ca25fbc20727cfe9a88f68a54bfd - md5: b785694dd3ec77a011ccf0c24725382b - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.0-or-later - license_family: LGPL - size: 96336 - timestamp: 1755102441729 -- conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.3.2-py312ha1a9051_0.conda - sha256: cbc6f4c63c779f1b5fce7c22bb737c87daa14083134990c9673ef15ed0a85572 - md5: 0f200f3d8424d0ace61b9c2c0cfe99d4 + purls: [] + size: 6958 + timestamp: 1752805918820 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + build_number: 8 + sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5 + md5: 0539938c55b6b1a59b560e843ad864a4 + constrains: + - python 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + size: 6989 + timestamp: 1752805904792 +- conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py312h829343e_0.conda + sha256: e4560c30234075bf17c641cb651279ff6c6f2bad581dfc37ed780f159909b2d3 + md5: 47f425e058b0a4b66712784a0d24b45d depends: - python - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - python_abi 3.12.* *_cp312 + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/pywin32?source=compressed-mapping + size: 4459779 + timestamp: 1781362887119 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py312h8a5da7c_1.conda + sha256: cb142bfd92f6e55749365ddc244294fa7b64db6d08c45b018ff1c658907bfcbf + md5: 15878599a87992e44c059731771591cb + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT purls: - - pkg:pypi/greenlet?source=hash-mapping - size: 235335 - timestamp: 1771658408666 -- conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_16.conda - sha256: f35ec06b150948f14e759a1b6eff930af02c70122707cd3d4d37f4d31f11098e - md5: 81c3675d46be2233a433eee4471bfbea - depends: - - gcc 15.2.0 hd556455_16 - - gxx_impl_win-64 15.2.0 h22fd5bf_16 - license: BSD-3-Clause - license_family: BSD - size: 823880 - timestamp: 1765260877461 -- conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_18.conda - sha256: e85f25cee7618096463f426ec4c6ddd7c93058ed71c94d894c17dcb3269d867e - md5: 882c461155d96001e0611b70ab620e9b - depends: - - gcc 15.2.0 hd556455_18 - - gxx_impl_win-64 15.2.0 h22fd5bf_18 - license: BSD-3-Clause - license_family: BSD - size: 824078 - timestamp: 1771382638258 -- conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_16.conda - sha256: c9f210fb9b5d36b874530d050e29dad1b2bbb1c55e1fcc8e48f25a7043cad3a7 - md5: 5bdc82063e89a2158d9ee8cb70d746dd - depends: - - gcc_impl_win-64 15.2.0 h79c4613_16 - - libstdcxx-devel_win-64 15.2.0 h0a72980_116 - - m2w64-sysroot_win-64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 14533037 - timestamp: 1765260794852 -- conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_18.conda - sha256: 55a524b1910bf26952d08aeb89b0496d423110378e991b5ff6ef2c662b884760 - md5: 88379befc88f4efb16733dae4b96dac4 - depends: - - gcc_impl_win-64 15.2.0 ha526d7c_18 - - libstdcxx-devel_win-64 15.2.0 h0a72980_118 - - m2w64-sysroot_win-64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 14533744 - timestamp: 1771382555150 -- conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-12.2.0-h5f2951f_0.conda - sha256: db73714c7f7e0c47b3b9db9302a83f2deb6f8d6081716d35710ef3c6756af6c3 - md5: e798ef748fc564e42f381d3d276850f0 + - pkg:pypi/pyyaml?source=hash-mapping + size: 198293 + timestamp: 1770223620706 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.3-py312ha4530ae_1.conda + sha256: 0ba02720b470150a8c6261a86ea4db01dcf121e16a3e3978a84e965d3fe9c39a + md5: 47018c13dbb26186b577fd8bd1823a44 depends: - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=75.1,<76.0a0 - - libexpat >=2.7.1,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libglib >=2.86.1,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT - size: 1138900 - timestamp: 1762373626704 -- conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-12.3.0-h5a1b470_0.conda - sha256: 158ebfb3ae932162e794da869505761d2d32677a3b80377abef1a3e3499d0c61 - md5: 0eb57e84ceeb62c0189827fe7966bdc5 + purls: + - pkg:pypi/pyyaml?source=hash-mapping + size: 192182 + timestamp: 1770223431156 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda + sha256: 1cab6cbd6042b2a1d8ee4d6b4ec7f36637a41f57d2f5c5cf0c12b7c4ce6a62f6 + md5: 9f6ebef672522cb9d9a6257215ca5743 depends: - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libglib >=2.86.3,<3.0a0 - - libzlib >=1.3.1,<2.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT - size: 1143524 - timestamp: 1766937684751 -- conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-13.1.0-h5a1b470_0.conda - sha256: 27acd845926048481a831b7321674b3f92accde49869fb95438f0a35ea89419b - md5: b3a4ff5d1e21d58090cd87060eb54c2d + purls: + - pkg:pypi/pyyaml?source=hash-mapping + size: 179738 + timestamp: 1770223468771 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_3.conda + noarch: python + sha256: 970b2a1d12983d8d1cc05d914ad88a0b6ef1fa14038c9649aa834dd6ebee65d7 + md5: acd216255e1370e9aeab5351b831f07c depends: - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.2,<79.0a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libglib >=2.86.4,<3.0a0 - - libzlib >=1.3.1,<2.0a0 + - python + - libgcc >=14 + - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 + - _python_abi3_support 1.* + - cpython >=3.12 + - zeromq >=4.3.5,<4.4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pyzmq?source=hash-mapping + size: 210896 + timestamp: 1779483879367 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-27.1.0-py312hdf0a211_3.conda + noarch: python + sha256: 0bf98beaccc17a101d8e8496b88708f938e098a2606f6cc802379dc716572614 + md5: acc7f0e3fc38e949267bc9a4f09ded15 + depends: + - python + - libgcc >=14 + - libstdcxx >=14 + - zeromq >=4.3.5,<4.4.0a0 + - _python_abi3_support 1.* + - cpython >=3.12 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pyzmq?source=hash-mapping + size: 212016 + timestamp: 1779483886884 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_3.conda + noarch: python + sha256: d7e65c44ea8a92f80cc0e424b4b7dbe63b8a9ec04ea774b7d4f7aed4c34cce4c + md5: ebbda9a4e5161d6e1f98146ad057dc10 + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: MIT - license_family: MIT - size: 1285640 - timestamp: 1773217788574 -- conda: https://conda.anaconda.org/conda-forge/win-64/icu-75.1-he0c23c2_0.conda - sha256: 1d04369a1860a1e9e371b9fc82dd0092b616adcf057d6c88371856669280e920 - md5: 8579b6bb8d18be7c0b27fb08adeeeb40 + - _python_abi3_support 1.* + - cpython >=3.12 + - zeromq >=4.3.5,<4.3.6.0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pyzmq?source=hash-mapping + size: 182831 + timestamp: 1779483925948 +- conda: https://conda.anaconda.org/conda-forge/linux-64/qhull-2020.2-h434a139_5.conda + sha256: 776363493bad83308ba30bcb88c2552632581b143e8ee25b1982c8c743e73abc + md5: 353823361b1d27eb3960efb076dfcaf6 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: LicenseRef-Qhull + size: 552937 + timestamp: 1720813982144 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/qhull-2020.2-h70be974_5.conda + sha256: 49f777bdf3c5e030a8c7b24c58cdfe9486b51d6ae0001841079a3228bdf9fb51 + md5: bb138086d938e2b64f5f364945793ebf + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: LicenseRef-Qhull + size: 554571 + timestamp: 1720813941183 +- conda: https://conda.anaconda.org/conda-forge/win-64/qhull-2020.2-hc790b64_5.conda + sha256: 887d53486a37bd870da62b8fa2ebe3993f912ad04bd755e7ed7c47ced97cbaa8 + md5: 854fbdff64b572b5c0b470f334d34c11 depends: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 - license: MIT - license_family: MIT - size: 14544252 - timestamp: 1720853966338 -- conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.1-h637d24d_0.conda - sha256: bee083d5a0f05c380fcec1f30a71ef5518b23563aeb0a21f6b60b792645f9689 - md5: cb8048bed35ef01431184d6a88e46b3e + license: LicenseRef-Qhull + size: 1377020 + timestamp: 1720814433486 +- conda: https://conda.anaconda.org/conda-forge/linux-64/qt6-main-6.11.1-pl5321h16c4a6b_1.conda + sha256: aefbc43bde188ff4027d480da99c7fa9e8e6341e9762e065190239cb9b99bb1c + md5: 331d660aef48fec733a878dd1f8f4206 + depends: + - libxcb + - xcb-util + - xcb-util-wm + - xcb-util-keysyms + - xcb-util-image + - xcb-util-renderutil + - xcb-util-cursor + - libgl-devel + - libegl-devel + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - xcb-util >=0.4.1,<0.5.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + - pcre2 >=10.47,<10.48.0a0 + - libbrotlicommon >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + - xorg-libxxf86vm >=1.1.7,<2.0a0 + - xorg-libxrandr >=1.5.5,<2.0a0 + - libsqlite >=3.53.2,<4.0a0 + - libpq >=18.4,<19.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - wayland >=1.25.0,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xcb-util-keysyms >=0.4.1,<0.5.0a0 + - libpng >=1.6.58,<1.7.0a0 + - harfbuzz >=14.2.1 + - xcb-util-cursor >=0.1.6,<0.2.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - libcups >=2.3.3,<2.4.0a0 + - libxcb >=1.17.0,<2.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - libdrm >=2.4.127,<2.5.0a0 + - xorg-libxcomposite >=0.4.7,<1.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-wm >=0.4.2,<0.5.0a0 + - zstd >=1.5.7,<1.6.0a0 + - krb5 >=1.22.2,<1.23.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + - icu >=78.3,<79.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - alsa-lib >=1.2.16,<1.3.0a0 + - openssl >=3.5.6,<4.0a0 + - libglib >=2.88.1,<3.0a0 + - libgl >=1.7.0,<2.0a0 + - libxkbcommon >=1.13.2,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - double-conversion >=3.4.0,<3.5.0a0 + - dbus >=1.16.2,<2.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + - libegl >=1.7.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + constrains: + - qt ==6.11.1 + license: LGPL-3.0-only + license_family: LGPL + size: 60185421 + timestamp: 1780593127053 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/qt6-main-6.11.1-pl5321heaece2b_1.conda + sha256: 2ccded6ae260724733b80c1fb1c627068fd9cc8752ad425a3ea827fd4675ec23 + md5: bff3e4e7be46f5800da83261c2cec35b + depends: + - libxcb + - xcb-util + - xcb-util-wm + - xcb-util-keysyms + - xcb-util-image + - xcb-util-renderutil + - xcb-util-cursor + - libgl-devel + - libegl-devel + - libstdcxx >=14 + - libgcc >=14 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + - krb5 >=1.22.2,<1.23.0a0 + - openssl >=3.5.6,<4.0a0 + - zstd >=1.5.7,<1.6.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - xcb-util-cursor >=0.1.6,<0.2.0a0 + - pcre2 >=10.47,<10.48.0a0 + - xorg-libxcomposite >=0.4.7,<1.0a0 + - libdrm >=2.4.127,<2.5.0a0 + - libcups >=2.3.3,<2.4.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - xcb-util-keysyms >=0.4.1,<0.5.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-libxxf86vm >=1.1.7,<2.0a0 + - libpng >=1.6.58,<1.7.0a0 + - dbus >=1.16.2,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - libglib >=2.88.1,<3.0a0 + - libxkbcommon >=1.13.2,<2.0a0 + - harfbuzz >=14.2.1 + - libwebp-base >=1.6.0,<2.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + - xorg-libxdamage >=1.1.6,<2.0a0 + - libegl >=1.7.0,<2.0a0 + - wayland >=1.25.0,<2.0a0 + - xorg-libxrandr >=1.5.5,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - libbrotlicommon >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - icu >=78.3,<79.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - alsa-lib >=1.2.16,<1.3.0a0 + - xcb-util-wm >=0.4.2,<0.5.0a0 + - libsqlite >=3.53.2,<4.0a0 + - double-conversion >=3.4.0,<3.5.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - libpq >=18.4,<19.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + constrains: + - qt ==6.11.1 + license: LGPL-3.0-only + license_family: LGPL + size: 63087962 + timestamp: 1780593135478 +- conda: https://conda.anaconda.org/conda-forge/win-64/qt6-main-6.11.1-pl5321hfcac499_1.conda + sha256: c0f0552a879e18282799431c7d2769b269839ac3b3735082e754df3c6fa0728d + md5: a8d735f3faf356a24acf9eea0a940a0f depends: - - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 13849749 - timestamp: 1766299627069 -- conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.2-h637d24d_0.conda - sha256: 5a41fb28971342e293769fc968b3414253a2f8d9e30ed7c31517a15b4887246a - md5: 0ee3bb487600d5e71ab7d28951b2016a - depends: - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 13222158 - timestamp: 1767970128854 -- conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h0ea6238_0.conda - sha256: eb60f1ad8b597bcf95dee11bc11fe71a8325bc1204cf51d2bb1f2120ffd77761 - md5: 4432f52dc0c8eb6a7a6abc00a037d93c + - krb5 >=1.22.2,<1.23.0a0 + - libglib >=2.88.1,<3.0a0 + - libpng >=1.6.58,<1.7.0a0 + - double-conversion >=3.4.0,<3.5.0a0 + - libbrotlicommon >=1.2.0,<1.3.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - openssl >=3.5.6,<4.0a0 + - icu >=78.3,<79.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - pcre2 >=10.47,<10.48.0a0 + - libzlib >=1.3.2,<2.0a0 + - zstd >=1.5.7,<1.6.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libsqlite >=3.53.1,<4.0a0 + - harfbuzz >=14.2.0 + constrains: + - qt ==6.11.1 + license: LGPL-3.0-only + license_family: LGPL + size: 89576886 + timestamp: 1780400596481 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda + sha256: f0931894c751b22be09d7c976343a2957a14a59cfe0db04d916d1b93bd66ffcf + md5: da47d3251c0f0d16b2801afe5a77b532 depends: - - openssl >=3.5.5,<4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libnl >=3.11.0,<4.0a0 + - libstdcxx >=14 + - libsystemd0 >=257.13 + - libudev1 >=257.13 + license: Linux-OpenIB + license_family: BSD purls: [] - size: 751055 - timestamp: 1769769688841 -- conda: https://conda.anaconda.org/conda-forge/win-64/lame-3.100-hcfcfb64_1003.tar.bz2 - sha256: 824988a396b97bb9138823a1b3aabd8326e06da5834b3011253d72bb45fd3a88 - md5: d92e64077c44c9e32c72d4b5799d47e4 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vs2015_runtime >=14.29.30139 - license: LGPL-2.0-only - license_family: LGPL - size: 570583 - timestamp: 1664996824680 -- conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.45-default_hfd38196_104.conda - sha256: 14f0c7487f0567ce4e0af3a4f0c4378597d0db4798b0786d6acc8d9498c8ed5a - md5: 53e0006599159c099d051eaa08316403 + size: 1281605 + timestamp: 1778528449130 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda + sha256: 89dc4066bf0a2ee8e0cdeb6b6e8884c2c36c9a82855a438a0720ee59297fae3e + md5: 94e99208cc8828d5953fac098814a0e9 depends: - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_win-64 2.45 - license: GPL-3.0-only - license_family: GPL - size: 876777 - timestamp: 1764007762541 -- conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.45-default_hfd38196_105.conda - sha256: fd7827e813bdb1f255cedf1e9d003c8be431c52f455a74d1455527e688a6b34b - md5: cd7c6627fc038d00421f9d2970587fa9 + - libgcc >=14 + - libnl >=3.11.0,<4.0a0 + - libstdcxx >=14 + - libsystemd0 >=257.13 + - libudev1 >=257.13 + license: Linux-OpenIB + license_family: BSD + purls: [] + size: 1351719 + timestamp: 1778528506759 +- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + sha256: 12ffde5a6f958e285aa22c191ca01bbd3d6e710aa852e00618fa6ddc59149002 + md5: d7d95fc8287ea7bf33e0e7116d2b95ec depends: - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_win-64 2.45 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ncurses >=6.5,<7.0a0 license: GPL-3.0-only license_family: GPL - size: 876611 - timestamp: 1766513627408 -- conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.45.1-default_hfd38196_101.conda - sha256: 6e0294b26a796436c0e449cc55d45ec518904c6e666ca882a74000407f25aed5 - md5: 6e84306d2deb7e69d0bc90a6b36d5ebb + purls: [] + size: 345073 + timestamp: 1765813471974 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda + sha256: fe695f9d215e9a2e3dd0ca7f56435ab4df24f5504b83865e3d295df36e88d216 + md5: 3d49cad61f829f4f0e0611547a9cda12 depends: - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_win-64 2.45.1 + - libgcc >=14 + - ncurses >=6.5,<7.0a0 license: GPL-3.0-only license_family: GPL - size: 876736 - timestamp: 1770267709635 -- conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.0.0-h6470a55_1.conda - sha256: 868a3dff758cc676fa1286d3f36c3e0101cca56730f7be531ab84dc91ec58e9d - md5: c1b81da6d29a14b542da14a36c9fbf3f - depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: Apache-2.0 - license_family: Apache - size: 164701 - timestamp: 1745264384716 -- conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda - sha256: 45df58fca800b552b17c3914cc9ab0d55a82c5172d72b5c44a59c710c06c5473 - md5: 54b231d595bc1ff9bff668dd443ee012 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - size: 172395 - timestamp: 1773113455582 -- conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-5_hf2e6a31_mkl.conda - build_number: 5 - sha256: f0cb7b2697461a306341f7ff32d5b361bb84f3e94478464c1e27ee01fc8f276b - md5: f9decf88743af85c9c9e05556a4c47c0 - depends: - - mkl >=2025.3.0,<2026.0a0 - constrains: - - liblapack 3.11.0 5*_mkl - - libcblas 3.11.0 5*_mkl - - blas 2.305 mkl - - liblapacke 3.11.0 5*_mkl - license: BSD-3-Clause - license_family: BSD - size: 67438 - timestamp: 1765819100043 -- conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-6_hf2e6a31_mkl.conda - build_number: 6 - sha256: 10c8054f007adca8c780cd8bb9335fa5d990f0494b825158d3157983a25b1ea2 - md5: 95543eec964b4a4a7ca3c4c9be481aa1 - depends: - - mkl >=2025.3.1,<2026.0a0 - constrains: - - blas 2.306 mkl - - liblapacke 3.11.0 6*_mkl - - liblapack 3.11.0 6*_mkl - - libcblas 3.11.0 6*_mkl - license: BSD-3-Clause - license_family: BSD purls: [] - size: 68082 - timestamp: 1774503684284 -- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda - sha256: 5097303c2fc8ebf9f9ea9731520aa5ce4847d0be41764edd7f6dee2100b82986 - md5: 444b0a45bbd1cb24f82eedb56721b9c4 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 82042 - timestamp: 1764017799966 -- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda - sha256: 3239ce545cf1c32af6fffb7fc7c75cb1ef5b6ea8221c66c85416bb2d46f5cccb - md5: 450e3ae947fc46b60f1d8f8f318b40d4 - depends: - - libbrotlicommon 1.2.0 hfd05255_1 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 34449 - timestamp: 1764017851337 -- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda - sha256: 3226df6b7df98734440739f75527d585d42ca2bfe912fbe8d1954c512f75341a - md5: ccd93cfa8e54fd9df4e83dbe55ff6e8c + size: 357597 + timestamp: 1765815673644 +- conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda + sha256: 0577eedfb347ff94d0f2fa6c052c502989b028216996b45c7f21236f25864414 + md5: 870293df500ca7e18bedefa5838a22ab depends: - - libbrotlicommon 1.2.0 hfd05255_1 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - attrs >=22.2.0 + - python >=3.10 + - rpds-py >=0.7.0 + - typing_extensions >=4.4.0 + - python license: MIT license_family: MIT - size: 252903 - timestamp: 1764017901735 -- conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-5_h2a3cdd5_mkl.conda - build_number: 5 - sha256: 49dc59d8e58360920314b8d276dd80da7866a1484a9abae4ee2760bc68f3e68d - md5: b3fa8e8b55310ba8ef0060103afb02b5 + purls: + - pkg:pypi/referencing?source=hash-mapping + size: 51788 + timestamp: 1760379115194 +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + sha256: 1715246b19c9f85ee022933b4845f2fc14ac9184981b7b7d9b728bec8e9588da + md5: 4a85203c1d80c1059086ae860836ffb9 depends: - - libblas 3.11.0 5_hf2e6a31_mkl - constrains: - - liblapack 3.11.0 5*_mkl - - liblapacke 3.11.0 5*_mkl - - blas 2.305 mkl - license: BSD-3-Clause - license_family: BSD - size: 68079 - timestamp: 1765819124349 -- conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-6_h2a3cdd5_mkl.conda - build_number: 6 - sha256: 02b2a2225f4899c6aaa1dc723e06b3f7a4903d2129988f91fc1527409b07b0a5 - md5: 9e4bf521c07f4d423cba9296b7927e3c - depends: - - libblas 3.11.0 6_hf2e6a31_mkl + - python >=3.10 + - certifi >=2023.5.7 + - charset-normalizer >=2,<4 + - idna >=2.5,<4 + - urllib3 >=1.26,<3 + - python constrains: - - blas 2.306 mkl - - liblapacke 3.11.0 6*_mkl - - liblapack 3.11.0 6*_mkl - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 68221 - timestamp: 1774503722413 -- conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda - sha256: 834e4881a18b690d5ec36f44852facd38e13afe599e369be62d29bd675f107ee - md5: e77030e67343e28b084fabd7db0ce43e + - chardet >=3.0.2,<8 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/requests?source=compressed-mapping + size: 68709 + timestamp: 1778851103479 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py312h192e038_0.conda + sha256: 4a190c74b5f3b441820a3142b03a489987c724b65237882ebe87d75892345d17 + md5: 40984fba15f43a366ea4c6dea2b4c8bd depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + constrains: + - __glibc >=2.17 license: MIT license_family: MIT - size: 156818 - timestamp: 1761979842440 -- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.3-hac47afa_0.conda - sha256: 844ab708594bdfbd7b35e1a67c379861bcd180d6efe57b654f482ae2f7f5c21e - md5: 8c9e4f1a0e688eef2e95711178061a0f + purls: + - pkg:pypi/rpds-py?source=compressed-mapping + size: 300259 + timestamp: 1782831325201 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rpds-py-2026.6.3-py312h00f41f5_0.conda + sha256: 0f80e0149ea885b378cbcbc5c01b7b3b32fb0918775d3898e97b69999fe3b78b + md5: 9d4967f1582f83435b649a7998e7f942 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - python + - libgcc >=14 + - python_abi 3.12.* *_cp312 constrains: - - expat 2.7.3.* + - __glibc >=2.17 license: MIT license_family: MIT - size: 70137 - timestamp: 1763550049107 -- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.4-hac47afa_0.conda - sha256: b31f6fb629c4e17885aaf2082fb30384156d16b48b264e454de4a06a313b533d - md5: 1c1ced969021592407f16ada4573586d + purls: + - pkg:pypi/rpds-py?source=hash-mapping + size: 295235 + timestamp: 1782831257757 +- conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.6.3-py312hd944d65_0.conda + sha256: 8df011d21a56a4fb9aa0d5b27c2d0138058a4d82af532723e1002a643c02dead + md5: 4a097aa0b62666ceb97a5ed5b9345131 depends: - - ucrt >=10.0.20348.0 + - python - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - expat 2.7.4.* + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 70323 - timestamp: 1771259521393 -- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.5-hac47afa_0.conda - sha256: 6850c3a4d5dc215b86f58518cfb8752998533d6569b08da8df1da72e7c68e571 - md5: bfb43f52f13b7c56e7677aa7a8efdf0c + purls: + - pkg:pypi/rpds-py?source=compressed-mapping + size: 217956 + timestamp: 1782831653430 +- conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda + sha256: b48bebe297a63ae60f52e50be328262e880702db4d9b4e86731473ada459c2a1 + md5: 06ad944772941d5dae1e0d09848d8e49 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - expat 2.7.5.* + - python >=3.10 + - ruamel.yaml.clib >=0.2.15 + - python license: MIT license_family: MIT - purls: [] - size: 70609 - timestamp: 1774719377850 -- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - sha256: 1a54d874addda73b6f7164d5f3905821277a1831bcc05edd74b3085391688571 - md5: ccc490c81ffe14181861beac0e8f3169 + purls: + - pkg:pypi/ruamel-yaml?source=hash-mapping + size: 98448 + timestamp: 1767538149184 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py312h5253ce2_1.conda + sha256: dc520329bdfd356e2f464393f8ad9b8450fd5a269699907b2b8d629300c2c068 + md5: 84aa470567e2211a2f8e5c8491cdd78c depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - expat 2.8.1.* + - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - run_exports: {} - size: 71631 - timestamp: 1781203724164 -- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - sha256: 59d01f2dfa8b77491b5888a5ab88ff4e1574c9359f7e229da254cdfe27ddc190 - md5: 720b39f5ec0610457b725eb3f396219a + purls: + - pkg:pypi/ruamel-yaml-clib?source=hash-mapping + size: 148221 + timestamp: 1766159515069 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ruamel.yaml.clib-0.2.15-py312hd41f8a7_1.conda + sha256: 0183f9c738abe70a9e292342877932eefc6a60dcfad7c58d6b0df77236052e17 + md5: 1c284baa9b7c47ccca48d776c7c93893 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - python + - libgcc >=14 + - python 3.12.* *_cpython + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: [] - run_exports: - weak: - - libffi >=3.5.2,<3.6.0a0 - size: 45831 - timestamp: 1769456418774 -- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h52bdfb6_0.conda - sha256: ddff25aaa4f0aa535413f5d831b04073789522890a4d8626366e43ecde1534a3 - md5: ba4ad812d2afc22b9a34ce8327a0930f + purls: + - pkg:pypi/ruamel-yaml-clib?source=hash-mapping + size: 147242 + timestamp: 1766159546485 +- conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py312he5662c2_1.conda + sha256: a28bd33ef3380c44632d6ead75a6ec170e135f18941f4b1d77f1cc1b24c1dc02 + md5: cc0977464335ea5c2e5ee3d00458e0c2 depends: - - ucrt >=10.0.20348.0 + - python - vc >=14.3,<15 - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - size: 44866 - timestamp: 1760295760649 -- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.1-h57928b3_0.conda - sha256: 2029702ec55e968ce18ec38cc8cf29f4c8c4989a0d51797164dab4f794349a64 - md5: 3235024fe48d4087721797ebd6c9d28c - depends: - - libfreetype6 >=2.14.1 - license: GPL-2.0-only OR FTL - size: 8109 - timestamp: 1757946135015 -- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.2-h57928b3_0.conda - sha256: 427c3072b311e65bd3eae3fcb78f6847b15b2dbb173a8546424de56550b2abfb - md5: 153d52fd0e4ba2a5bd5bb4f4afa41417 + purls: + - pkg:pypi/ruamel-yaml-clib?source=hash-mapping + size: 105961 + timestamp: 1766159551536 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py312h54fa4ab_0.conda + sha256: c304dfb0bbf0d824d3706623f6437237d7bfc83941bb7b18f80e05abb10ec79e + md5: f8d242c552b0f7f682451ce95879af5e depends: - - libfreetype6 >=2.14.2 - license: GPL-2.0-only OR FTL - size: 8404 - timestamp: 1772756167212 -- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.1-hdbac1cb_0.conda - sha256: 223710600b1a5567163f7d66545817f2f144e4ef8f84e99e90f6b8a4e19cb7ad - md5: 6e7c5c5ab485057b5d07fd8188ba5c28 + - __glibc >=2.17,<3.0.a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=14 + - numpy <2.7 + - numpy >=1.23,<3 + - numpy >=2.0.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scipy?source=compressed-mapping + size: 17104066 + timestamp: 1781912972195 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/scipy-1.18.0-py312ha7f05e0_0.conda + sha256: 79343875bcc5cce28a54001844b221395b883a3d28fd8d9125dd38a4afab825b + md5: c957cde07f79a2cf5c7e9cdab39fa90b depends: - - libpng >=1.6.50,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - freetype >=2.14.1 - license: GPL-2.0-only OR FTL - size: 340264 - timestamp: 1757946133889 -- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.2-hdbac1cb_0.conda - sha256: 1e80e01e5662bd3a0c0e094fbeaec449dbb2288949ca55ca80345e7812904e67 - md5: c21a474a38982cdb56b3454cf4f78389 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=14 + - numpy <2.7 + - numpy >=1.23,<3 + - numpy >=2.0.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scipy?source=hash-mapping + size: 17170333 + timestamp: 1781912658149 +- conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.18.0-py312h9b3c559_0.conda + sha256: 68e7c49be1e409ed2ac44f2977581d58a9a4d12e6724a4a5c5470348e5e40f34 + md5: e1fee578f6c533ff532693143919afde depends: - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - numpy <2.7 + - numpy >=1.23,<3 + - numpy >=2.0.0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - freetype >=2.14.2 - license: GPL-2.0-only OR FTL - size: 340155 - timestamp: 1772756166648 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_16.conda - sha256: 24984e1e768440ba73021f08a1da0c1ec957b30d7071b9a89b877a273d17cae8 - md5: 1edb8bd8e093ebd31558008e9cb23b47 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 15077907 + timestamp: 1781914327034 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda + sha256: 987ad072939fdd51c92ea8d3544b286bb240aefda329f9b03a51d9b7e777f9de + md5: cdd138897d94dc07d99afe7113a07bec depends: - - _openmp_mutex >=4.5 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - constrains: - - libgomp 15.2.0 h8ee18e1_16 - - libgcc-ng ==15.2.0=*_16 - - msys2-conda-epoch <0.0a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 819696 - timestamp: 1765260437409 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_18.conda - sha256: da2c96563c76b8c601746f03e03ac75d2b4640fa2ee017cb23d6c9fc31f1b2c6 - md5: b085746891cca3bd2704a450a7b4b5ce + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgl >=1.7.0,<2.0a0 + - sdl3 >=3.2.22,<4.0a0 + - libegl >=1.7.0,<2.0a0 + license: Zlib + size: 589145 + timestamp: 1757842881 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda + sha256: 47f4ef4cd2313906840f146b18fee95c2a3a4fa9bd0afdb2d519e6c0aa8ca2ed + md5: 54747a3f3c468c5f446c78974c8c1234 depends: - - _openmp_mutex >=4.5 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - constrains: - - libgcc-ng ==15.2.0=*_18 - - msys2-conda-epoch <0.0a0 - - libgomp 15.2.0 h8ee18e1_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 820022 - timestamp: 1771382190160 -- conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.86.3-h0c9aed9_0.conda - sha256: 84b74fc81fff745f3d21a26c317ace44269a563a42ead3500034c27e407e1021 - md5: c2d5b6b790ef21abac0b5331094ccb56 + - libstdcxx >=14 + - libgcc >=14 + - sdl3 >=3.2.22,<4.0a0 + - libgl >=1.7.0,<2.0a0 + - libegl >=1.7.0,<2.0a0 + license: Zlib + size: 597756 + timestamp: 1757842928996 +- conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda + sha256: d17da21386bdbf32bce5daba5142916feb95eed63ef92b285808c765705bbfd2 + md5: 4cffbfebb6614a1bff3fc666527c25c7 depends: - - libffi >=3.5.2,<3.6.0a0 - - libiconv >=1.18,<2.0a0 - - libintl >=0.22.5,<1.0a0 - - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 - - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - glib 2.86.3 *_0 - license: LGPL-2.1-or-later - size: 3818991 - timestamp: 1765222145992 -- conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.86.4-h0c9aed9_1.conda - sha256: f035fb25f8858f201e0055c719ef91022e9465cd51fe803304b781863286fb10 - md5: 0329a7e92c8c8b61fcaaf7ad44642a96 - depends: - - libffi >=3.5.2,<3.6.0a0 - - libiconv >=1.18,<2.0a0 - - libintl >=0.22.5,<1.0a0 - - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - glib 2.86.4 *_1 - license: LGPL-2.1-or-later - size: 4095369 - timestamp: 1771863229701 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_16.conda - sha256: 9c86aadc1bd9740f2aca291da8052152c32dd1c617d5d4fd0f334214960649bb - md5: ab8189163748f95d4cb18ea1952943c3 + - ucrt >=10.0.20348.0 + - sdl3 >=3.2.22,<4.0a0 + license: Zlib + size: 572101 + timestamp: 1757842925694 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.12-hdeec2a5_0.conda + sha256: 2607340a7adbf7b7ec902892bce00c9fd35ccdb7f1e8d4ef1efd51641ad36a3c + md5: 1c36b749acf532314ad381f6c1663647 depends: - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - constrains: - - msys2-conda-epoch <0.0a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 663567 - timestamp: 1765260367147 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_18.conda - sha256: 94981bc2e42374c737750895c6fdcfc43b7126c4fc788cad0ecc7281745931da - md5: 939fb173e2a4d4e980ef689e99b35223 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - liburing >=2.14,<2.15.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + - libusb >=1.0.29,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - dbus >=1.16.2,<2.0a0 + - libdrm >=2.4.127,<2.5.0a0 + - pulseaudio-client >=17.0,<17.1.0a0 + - xorg-libxi >=1.8.3,<2.0a0 + - wayland >=1.25.0,<2.0a0 + - libegl >=1.7.0,<2.0a0 + - libxkbcommon >=1.13.2,<2.0a0 + - libudev1 >=257.13 + - libunwind >=1.8.3,<1.9.0a0 + - xorg-libxscrnsaver >=1.2.4,<2.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + license: Zlib + size: 2156114 + timestamp: 1782948044627 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.12-had2c13b_0.conda + sha256: 20b512f72fe12bdd07c917f20c437f318a8e1b1fb658278e8da0ba26c6ff6826 + md5: 7d71ee12487f73cf9628f2a6e6081ed5 depends: - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - constrains: - - msys2-conda-epoch <0.0a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 663864 - timestamp: 1771382118742 -- conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.1-default_h4379cf1_1003.conda - sha256: 2d534c09f92966b885acb3f4a838f7055cea043165a03079a539b06c54e20a49 - md5: d1699ce4fe195a9f61264a1c29b87035 + - libgcc >=14 + - libstdcxx >=14 + - pulseaudio-client >=17.0,<17.1.0a0 + - libgl >=1.7.0,<2.0a0 + - xorg-libxscrnsaver >=1.2.4,<2.0a0 + - wayland >=1.25.0,<2.0a0 + - liburing >=2.14,<2.15.0a0 + - libxkbcommon >=1.13.2,<2.0a0 + - libusb >=1.0.29,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libunwind >=1.8.3,<1.9.0a0 + - dbus >=1.16.2,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + - libegl >=1.7.0,<2.0a0 + - xorg-libxi >=1.8.3,<2.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - libudev1 >=257.13 + - libdrm >=2.4.127,<2.5.0a0 + license: Zlib + size: 2153567 + timestamp: 1782948073672 +- conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.12-h5112557_0.conda + sha256: cd70a95559fdcaa9809d7c697b1d2e283c2d61eb184f91f7b03f8c2291e206a8 + md5: 5f80121d90de6623ae8e0eee34da16ff depends: - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - - libxml2 - - libxml2-16 >=2.14.6 - - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - size: 2412642 - timestamp: 1765090345611 -- conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.2-default_h4379cf1_1000.conda - sha256: 8cdf11333a81085468d9aa536ebb155abd74adc293576f6013fc0c85a7a90da3 - md5: 3b576f6860f838f950c570f4433b086e - depends: - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - - libxml2 - - libxml2-16 >=2.14.6 - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 2411241 - timestamp: 1765104337762 -- conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.3.0-ha71e874_1.conda - sha256: c722a04f065656b988a46dee87303ff0bf037179c50e2e76704b693def7f9a96 - md5: f4649d4b6bf40d616eda57d6255d2333 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libusb >=1.0.29,<2.0a0 + license: Zlib + size: 1680362 + timestamp: 1782948074728 +- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + sha256: 48a9f96016505debadfc67f06de7ac548decbc38d327409b24b0432ef6f16335 + md5: 6bf6acbab2499830180ec88c3aff2fa4 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 OR BSD-3-Clause - size: 536186 - timestamp: 1758894243956 -- conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - sha256: 0dcdb1a5f01863ac4e8ba006a8b0dc1a02d2221ec3319b5915a1863254d7efa7 - md5: 64571d1dd6cdcfa25d0664a5950fdaa2 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/setuptools?source=compressed-mapping + size: 642081 + timestamp: 1783619174976 +- conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.3-h1b60276_0.conda + sha256: 1325456e9cff1ec8a5e826f64b8eef5806162bfcceeed2e32817a3c280f0dfc9 + md5: ee5e719bbf258faa3b6533a1a621092b depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-only - purls: [] - size: 696926 - timestamp: 1754909290005 -- conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda - sha256: c7e4600f28bcada8ea81456a6530c2329312519efcf0c886030ada38976b0511 - md5: 2cf0cf76cc15d360dfa2f17fd6cf9772 + - __glibc >=2.17,<3.0.a0 + - glslang >=16,<17.0a0 + - libgcc >=14 + - libstdcxx >=14 + - spirv-tools >=2026,<2027.0a0 + license: Apache-2.0 + license_family: Apache + size: 114267 + timestamp: 1784251192959 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.3-h9a39c52_0.conda + sha256: f3c16aeeae7dee968ff429e07a9100abe7a7a59ba0a262bc628dda04d0a96348 + md5: 3f4eeb1a29600a3e184835cade2b1621 depends: - - libiconv >=1.17,<2.0a0 - license: LGPL-2.1-or-later - size: 95568 - timestamp: 1723629479451 -- conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.2-hfd05255_0.conda - sha256: 795e2d4feb2f7fc4a2c6e921871575feb32b8082b5760726791f080d1e2c2597 - md5: 56a686f92ac0273c0f6af58858a3f013 + - glslang >=16,<17.0a0 + - libgcc >=14 + - libstdcxx >=14 + - spirv-tools >=2026,<2027.0a0 + license: Apache-2.0 + license_family: Apache + size: 117255 + timestamp: 1784251230054 +- conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.3-hbcac29b_0.conda + sha256: ae69be2f9a0828e35397b4c0d25bad3eb9b395535bc635154e872a6fd5b440aa + md5: 77b44ad4a137a273aeff5962764cfa58 depends: + - glslang >=16,<17.0a0 + - spirv-tools >=2026,<2027.0a0 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib - size: 841783 - timestamp: 1762094814336 -- conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-hf3f85d1_0.conda - sha256: 525c5382eb32a43e7baf45b452079bf23daf8f8bf19fee7c8dafa8c731ada8bd - md5: 869e71fcf2135212c51a96f7f7dbd00d + license: Apache-2.0 + license_family: Apache + size: 1600332 + timestamp: 1784251308130 +- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d + md5: 3339e3b65d58accf4ca4fb8748ab16b3 + depends: + - python >=3.9 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/six?source=hash-mapping + size: 18455 + timestamp: 1753199211006 +- conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda + sha256: 48f3f6a76c34b2cfe80de9ce7f2283ecb55d5ed47367ba91e8bb8104e12b8f11 + md5: 98b6c9dc80eb87b2519b97bcf7e578dd depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - - libhwy >=1.3.0,<1.4.0a0 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 license: BSD-3-Clause license_family: BSD - size: 1317916 - timestamp: 1770801992810 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-5_hf9ab0e9_mkl.conda - build_number: 5 - sha256: a2d33f5cc2b8a9042f2af6981c6733ab1a661463823eaa56595a9c58c0ab77e1 - md5: e62c42a4196dee97d20400612afcb2b1 - depends: - - libblas 3.11.0 5_hf2e6a31_mkl - constrains: - - libcblas 3.11.0 5*_mkl - - blas 2.305 mkl - - liblapacke 3.11.0 5*_mkl + size: 45829 + timestamp: 1762948049098 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda + sha256: a8a79c53852fb07286407907402caa5a96b6e22b518c4f010be40647f9ee3726 + md5: 3dec912091fb88614afa0af2712c1362 + depends: + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 license: BSD-3-Clause license_family: BSD - size: 80225 - timestamp: 1765819148014 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-6_hf9ab0e9_mkl.conda - build_number: 6 - sha256: 2e6ac39e456ba13ec8f02fc0787b8a22c89780e24bd5556eaf642177463ffb36 - md5: 7e9cdaf6f302142bc363bbab3b5e7074 - depends: - - libblas 3.11.0 6_hf2e6a31_mkl - constrains: - - blas 2.306 mkl - - liblapacke 3.11.0 6*_mkl - - libcblas 3.11.0 6*_mkl + size: 47096 + timestamp: 1762948094646 +- conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + sha256: ad89284ea94821c20ff87e64b948e4afc690cf5202d14c009355b0594cf23aea + md5: 46b6abe31482f6bca064b965696ae807 + depends: + - python >=3.10 license: BSD-3-Clause license_family: BSD - purls: [] - size: 80571 - timestamp: 1774503757128 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.1-h2466b09_2.conda - sha256: 55764956eb9179b98de7cc0e55696f2eff8f7b83fc3ebff5e696ca358bca28cc - md5: c15148b2e18da456f5108ccb5e411446 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - constrains: - - xz 5.8.1.* - license: 0BSD - size: 104935 - timestamp: 1749230611612 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda - sha256: f25bf293f550c8ed2e0c7145eb404324611cfccff37660869d97abf526eb957c - md5: ba0bfd4c3cf73f299ffe46ff0eaeb8e3 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - xz 5.8.2.* - license: 0BSD - purls: [] - size: 106169 - timestamp: 1768752763559 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - sha256: d636d1a25234063642f9c531a7bb58d84c1c496411280a36ea000bd122f078f1 - md5: 8f83619ab1588b98dd99c90b0bfc5c6d + purls: + - pkg:pypi/snowballstemmer?source=hash-mapping + size: 74456 + timestamp: 1780468201547 +- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.9.1-pyhd8ed1ab_0.conda + sha256: d10bfe45ffd6fa37baef69d852f9fa882be4e6fe4cdd7286f3543e79b803cadb + md5: 0fc47d7f5a6dbafd186a8f92cad5de3f depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - xz 5.8.3.* - license: 0BSD - run_exports: - weak: - - liblzma >=5.8.3,<6.0a0 - size: 106486 - timestamp: 1775825663227 -- conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-h2466b09_0.conda - sha256: fc529fc82c7caf51202cc5cec5bb1c2e8d90edbac6d0a4602c966366efe3c7bf - md5: 74860100b2029e2523cf480804c76b9b + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/soupsieve?source=compressed-mapping + size: 39457 + timestamp: 1784670700449 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda + sha256: 3228eb332ce159f031d4b7d2e08117df973b0ba3ddcb8f5dbb7f429f71d27ea1 + md5: 1a3281a0dc355c02b5506d87db2d78ac depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + - alabaster >=0.7.14 + - babel >=2.13 + - colorama >=0.4.6 + - docutils >=0.20,<0.22 + - imagesize >=1.3 + - jinja2 >=3.1 + - packaging >=23.0 + - pygments >=2.17 + - python >=3.10 + - requests >=2.30.0 + - snowballstemmer >=2.2 + - sphinxcontrib-applehelp >=1.0.7 + - sphinxcontrib-devhelp >=1.0.6 + - sphinxcontrib-htmlhelp >=2.0.6 + - sphinxcontrib-jsmath >=1.0.1 + - sphinxcontrib-qthelp >=1.0.6 + - sphinxcontrib-serializinghtml >=1.1.9 + - tomli >=2.0 license: BSD-2-Clause license_family: BSD - size: 88657 - timestamp: 1723861474602 -- conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - sha256: 40dcd0b9522a6e0af72a9db0ced619176e7cfdb114855c7a64f278e73f8a7514 - md5: e4a9fc2bba3b022dad998c78856afe47 + purls: + - pkg:pypi/sphinx?source=hash-mapping + size: 1387076 + timestamp: 1733754175386 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-autodoc-typehints-3.0.1-pyhd8ed1ab_0.conda + sha256: 0f93bb75a41918433abc8d8d80ef99d7fd8658d5ba34da3c5d8f707cb6bb3f46 + md5: 6ad405d62c8de3792608a27b7e085e15 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-2-Clause - license_family: BSD - run_exports: {} - size: 89411 - timestamp: 1769482314283 -- conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-12.9.82-hac47afa_1.conda - sha256: 0020038f897ddc83ed2cf5b128239c073e8db15dc661951bd674c4865f295f1b - md5: cd0c30f6b1f93ea0ebac830fad30c100 + - python >=3.10 + - sphinx >=8.1.3 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sphinx-autodoc-typehints?source=hash-mapping + size: 24055 + timestamp: 1737099757820 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda + sha256: 8cd892e49cb4d00501bc4439fb0c73ca44905f01a65b2b7fa05ba0e8f3924f19 + md5: bf22cb9c439572760316ce0748af3713 depends: - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 345320 - timestamp: 1761099100395 -- conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-12.9.82-hac47afa_2.conda - sha256: 31b31c81575656d967722ca5d795a414b069ce618714422fb2b6890583ad83e2 - md5: 24695ab1ce33e2fda666dab89c1a23f0 + - python >=3.9 + - sphinx >=1.8 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sphinx-copybutton?source=hash-mapping + size: 17893 + timestamp: 1734573117732 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-jinja2-compat-0.4.1-pyhd8ed1ab_0.conda + sha256: 115f4306ace812d90b4ffab5ac27cc01c2fac13df67c5dcc37931130c8ebea13 + md5: 7ecc82915cd2c4654fa26ddc4d3650f7 depends: - - cuda-version >=12,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 345191 - timestamp: 1782920356823 -- conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_0.conda - sha256: 665c371c11211fb767e9b04e921fd6aed4148072df189039f48d732d28bb9dce - md5: 3391d24d389bc2230da0b534e79c1d69 + - jinja2 >=2.10 + - markupsafe >=1 + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sphinx-jinja2-compat?source=hash-mapping + size: 12320 + timestamp: 1754550385132 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-prompt-1.10.1-pyhd8ed1ab_0.conda + sha256: 3d2e0d961b38f66ea3e7decd04917bf69104b6683dae778e4d3ef5291c04b861 + md5: bfc047865de18ef2657bd8a95d7b8b49 depends: - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 361081 - timestamp: 1779897659188 -- conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-12.9.86-hac47afa_2.conda - sha256: adf35938c9ecd77d27c87ef870f7710ee422933ad95d1aac136ff39e7af0551f - md5: feaee6b1ab0e7ed9152dc88e1b0eeddd + - pygments + - python >=3.11 + - sphinx + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/sphinx-prompt?source=hash-mapping + size: 12214 + timestamp: 1758128174284 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-tabs-3.4.1-pyhd8ed1ab_1.conda + sha256: 43c343edc9ea11ffd947d97fa60bf6347a404700e2cde81fb954e60b7e6a42c1 + md5: 8b8362d876396fd967cbb5f404def907 depends: - - cuda-version >=12,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27343190 - timestamp: 1760724535115 -- conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda - sha256: 90d9e0eec8aca30a7592d137c68f755bf743e1be43b38657751beadb06b443c2 - md5: a1067e24336c586bf64b47206c5bd8b5 + - docutils >=0.18.0 + - pygments + - python >=3.6 + - sphinx >=2 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sphinx-tabs?source=hash-mapping + size: 15026 + timestamp: 1675342588275 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-toolbox-4.1.2-pyhd8ed1ab_0.conda + sha256: 63d5b2d672499191d26f3ad2ed57a39c5fc691086a28fd41caec4689b6fa901a + md5: 8f0cb58909ab8ef6d76f03dac2a4a6d0 depends: - - cuda-version >=13,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - size: 28928043 - timestamp: 1779897886674 -- conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda - sha256: c63e5fb169dbd192aacdcee6e37235407f106b8ca9c9036942a25e0366cbc73c - md5: b67ed8c9ca072695ff482e50d888a523 + - apeye >=0.4.0 + - autodocsumm >=0.2.0 + - beautifulsoup4 >=4.9.1 + - cachecontrol >=0.13.0 + - dict2css >=0.2.3 + - docutils >=0.16 + - domdf-python-tools >=2.9.0 + - filelock >=3.8.0 + - html5lib >=1.1 + - python >=3.10 + - ruamel.yaml >=0.16.12 + - sphinx >=3.2.0 + - sphinx-autodoc-typehints >=1.11.1 + - sphinx-jinja2-compat >=0.1.0 + - sphinx-prompt >=1.1.0 + - sphinx-tabs <3.5.0,>=1.2.1 + - tabulate >=0.8.7 + - typing-extensions !=3.10.0.1,>=3.7.4.3 + - typing_inspect >=0.6.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sphinx-toolbox?source=hash-mapping + size: 98891 + timestamp: 1768566379359 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda + sha256: d7433a344a9ad32a680b881c81b0034bc61618d12c39dd6e3309abeffa9577ba + md5: 16e3f039c0aa6446513e94ab18a8784b + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-applehelp?source=hash-mapping + size: 29752 + timestamp: 1733754216334 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda + sha256: 55d5076005d20b84b20bee7844e686b7e60eb9f683af04492e598a622b12d53d + md5: 910f28a05c178feba832f842155cbfff + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-devhelp?source=hash-mapping + size: 24536 + timestamp: 1733754232002 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda + sha256: c1492c0262ccf16694bdcd3bb62aa4627878ea8782d5cd3876614ffeb62b3996 + md5: e9fb3fe8a5b758b4aff187d434f94f03 depends: - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - - ucrt >=10.0.20348.0 - license: BSD-3-Clause + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause license_family: BSD - size: 35040 - timestamp: 1745826086628 -- conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6-h6a83c73_0.conda - sha256: 53ead19c11a1182f05d30a15352a05cc1fdf8cbd03e8f57b75ae34b570953d4a - md5: 1ff86b588aaa12462f320cc27e77bc6d + purls: + - pkg:pypi/sphinxcontrib-htmlhelp?source=hash-mapping + size: 32895 + timestamp: 1733754385092 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda + sha256: 578bef5ec630e5b2b8810d898bbbf79b9ae66d49b7938bcc3efc364e679f2a62 + md5: fa839b5ff59e192f411ccc7dae6588bb depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: BSD-3-Clause + - python >=3.9 + license: BSD-2-Clause license_family: BSD - size: 307249 - timestamp: 1765847775174 -- conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda - sha256: c3678f111866235b44fa65265966abae7d90b6387178f1459afaedcee8b4a997 - md5: 0ed21da5b6e3a0393e05762b3cce2878 + purls: + - pkg:pypi/sphinxcontrib-jsmath?source=hash-mapping + size: 10462 + timestamp: 1733753857224 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda + sha256: c664fefae4acdb5fae973bdde25836faf451f41d04342b64a358f9a7753c92ca + md5: 00534ebcc0375929b45c3039b5ba7636 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: BSD-3-Clause + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause license_family: BSD - size: 307373 - timestamp: 1768497136248 -- conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.53-h7351971_0.conda - sha256: e5d061e7bdb2b97227b6955d1aa700a58a5703b5150ab0467cc37de609f277b6 - md5: fb6f43f6f08ca100cb24cff125ab0d9e + purls: + - pkg:pypi/sphinxcontrib-qthelp?source=hash-mapping + size: 26959 + timestamp: 1733753505008 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda + sha256: 20b49741065fd7d3fabf98caf6d19b6436badb06b6d41f66b58f1fc2b52f37a1 + md5: f77df1fcf9af03b7287342638befca77 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libzlib >=1.3.1,<2.0a0 - license: zlib-acknowledgement - size: 383702 - timestamp: 1764981078732 -- conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.55-h7351971_0.conda - sha256: db23f281fa80597a0dc0445b18318346862602d7081ed76244df8cc4418d6d68 - md5: 43f47a9151b9b8fc100aeefcf350d1a0 + - python >=3.10 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-serializinghtml?source=compressed-mapping + size: 30640 + timestamp: 1781260357443 +- conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_1.conda + sha256: 65a4e2fc5fb0677cff340ca314b25226d7eb94b2c75f733c0cab6176a8f46421 + md5: 6c08f1aeca6e195eaa2b2e9ee18a9891 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libzlib >=1.3.1,<2.0a0 - license: zlib-acknowledgement - size: 383155 - timestamp: 1770691504832 -- conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.60.0-hd5e4115_0.conda - sha256: a0e8d89c36e555149f3ba2d58bb96f1b77e8ed7924db8a242ee0b0fb613c588d - md5: 5b38f886aa0548d6f6f5d1a30b3ae0ca + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + constrains: + - spirv-headers >=1.4.350.1,<1.4.350.2.0a0 + license: Apache-2.0 + license_family: APACHE + size: 2392774 + timestamp: 1784383717730 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_1.conda + sha256: 346ffd80f7bea9b38c6606b58e41eef6d72880790eae3b13b5a2c23977066cf8 + md5: 7fa71bf8cf1b8b600ead47f139c0dab3 depends: - - cairo >=1.18.4,<2.0a0 - - gdk-pixbuf >=2.44.3,<3.0a0 - - libglib >=2.86.0,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-or-later - size: 3336793 - timestamp: 1759328441569 -- conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.60.0-hd5e4115_1.conda - sha256: 3d06becb70212a7ed609eea07728b6545ddcff4889844290fed14a5d2fc18cd9 - md5: a105938a4fae24539c89de6e7671d279 + - libgcc >=14 + - libstdcxx >=14 + constrains: + - spirv-headers >=1.4.350.1,<1.4.350.2.0a0 + license: Apache-2.0 + license_family: APACHE + size: 2294133 + timestamp: 1784383784497 +- conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_1.conda + sha256: 30a87a710c1deed93371e6ff365ebd3b578aeefad68cc89bedff85ffb2fea9d2 + md5: 5a929a4b1f6c82d05f0a1283d4a14e45 depends: - - cairo >=1.18.4,<2.0a0 - - gdk-pixbuf >=2.44.5,<3.0a0 - - libglib >=2.86.4,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: LGPL-2.1-or-later - size: 2877820 - timestamp: 1771301866036 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.21-h6a83c73_3.conda - sha256: d915f4fa8ebbf237c7a6e511ed458f2cfdc7c76843a924740318a15d0dd33d6d - md5: da2aa614d16a795b3007b6f4a1318a81 + constrains: + - spirv-headers >=1.4.350.1,<1.4.350.2.0a0 + license: Apache-2.0 + license_family: APACHE + size: 14643364 + timestamp: 1784384374991 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.51-py312h5253ce2_0.conda + sha256: f0ef18298e6fc437006ffb607dbbefa313091576b6e86bdcfdc4f54128249116 + md5: 80530f530854c51df16c11ad2b0cb517 + depends: + - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sqlalchemy?source=hash-mapping + size: 3709760 + timestamp: 1781547880247 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sqlalchemy-2.0.51-py312h2fc9c67_0.conda + sha256: 8f68decf4ef77055a92f04ab2a18fd6322ac8cd5e0e6827f9415a296474dc17a + md5: 1e90e5b2a0242fbd388bddd1d25b793e + depends: + - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 + - libgcc >=14 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sqlalchemy?source=hash-mapping + size: 3717722 + timestamp: 1781548189281 +- conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.51-py312he5662c2_0.conda + sha256: 04591df0e1ff82662f65d5cfb2d643063d1c90f5c962792ccc00db4ca3f22d22 + md5: e1c72593933d9d16f603f67cc1cadf29 depends: + - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - license: ISC - purls: [] - size: 276860 - timestamp: 1772479407566 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.51.1-hf5d6505_0.conda - sha256: a976c8b455d9023b83878609bd68c3b035b9839d592bd6c7be7552c523773b62 - md5: f92bef2f8e523bb0eabe60099683617a + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sqlalchemy?source=hash-mapping + size: 3668574 + timestamp: 1781547906603 +- conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda + sha256: 570da295d421661af487f1595045760526964f41471021056e993e73089e9c41 + md5: b1b505328da7a6b246787df4b5a49fbc depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: blessing - size: 1291059 - timestamp: 1764359545703 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.51.1-hf5d6505_1.conda - sha256: d6d86715a1afe11f626b7509935e9d2e14a4946632c0ac474526e20fc6c55f99 - md5: be65be5f758709fc01b01626152e96b0 + - asttokens + - executing + - pure_eval + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/stack-data?source=hash-mapping + size: 26988 + timestamp: 1733569565672 +- conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hecca717_0.conda + sha256: c79f983a6bb4218bdef9064aec5821d59d744f9a98f8cf8437c7bd0351df0d95 + md5: 683f1b6d013bb1eb0d5c8025d2eb21a3 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: blessing - size: 1292859 - timestamp: 1766319616777 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda - sha256: 5fccf1e4e4062f8b9a554abf4f9735a98e70f82e2865d0bfdb47b9de94887583 - md5: 8830689d537fda55f990620680934bb1 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: BSD-2-Clause + license_family: BSD + size: 2666786 + timestamp: 1784069888521 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.2.0-hfae3067_0.conda + sha256: 5f4c820fbf924145755c394df3d6ab98c96d6f5630ba486ce6f568de25d5845d + md5: 54ccc3ac256db941ff50f0fada595fa0 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: blessing - purls: [] - size: 1297302 - timestamp: 1772818899033 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda - sha256: 692dfb73a22c873656d5e393b8f1e2b019a3c8a6486c97cb6900552e64e38c25 - md5: 051f1b2228e7517a2ef8cca5146c8967 + - libgcc >=14 + - libstdcxx >=14 + license: BSD-2-Clause + license_family: BSD + size: 2083840 + timestamp: 1784069822348 +- conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.2.0-hac47afa_0.conda + sha256: 6dc6ed0e651e99d03ae25b6a358064247c96b1cb436fdbf973ab25c1c6aedcd4 + md5: c49fb5bcbd2f2537875e4b2f62c0de3b depends: - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: blessing - run_exports: - weak: - - libsqlite >=3.53.3,<4.0a0 - size: 1315909 - timestamp: 1782519131898 -- conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_16.conda - sha256: 6d4b74aa2b668ea3927615055ff7557c50628f073a00a504d3fbedbb6eccca43 - md5: 7ca89b8b412282e8b8b644f55056279e + license: BSD-2-Clause + license_family: BSD + size: 1833926 + timestamp: 1784070033860 +- conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda + sha256: c47299fe37aebb0fcf674b3be588e67e4afb86225be4b0d452c7eb75c086b851 + md5: 13dc3adbc692664cd3beabd216434749 depends: - - libgcc 15.2.0 h8ee18e1_16 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - constrains: - - libstdcxx-ng ==15.2.0=*_16 - license: GPL-3.0-only WITH GCC-exception-3.1 + - __glibc >=2.28 + - kernel-headers_linux-64 4.18.0 he073ed8_9 + - tzdata + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later license_family: GPL - size: 6461950 - timestamp: 1765260469617 -- conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_18.conda - sha256: 7134b90a850f0e14f15bd0f0218fd728f19cd5c58420a90c2f561f58272b8519 - md5: 7c09facd8f5aced6b4c146e1c4053e50 + size: 24008591 + timestamp: 1765578833462 +- conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda + sha256: 1bd2db6b2e451247bab103e4a0128cf6c7595dd72cb26d70f7fadd9edd1d1bc3 + md5: fdf07ab944a222ff28c754914fdb0740 depends: - - libgcc 15.2.0 h8ee18e1_18 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - constrains: - - libstdcxx-ng ==15.2.0=*_18 - license: GPL-3.0-only WITH GCC-exception-3.1 + - __glibc >=2.28 + - kernel-headers_linux-aarch64 4.18.0 h05a177a_9 + - tzdata + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later license_family: GPL - size: 6462596 - timestamp: 1771382223989 -- conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda - sha256: f1b8cccaaeea38a28b9cd496694b2e3d372bb5be0e9377c9e3d14b330d1cba8a - md5: 549845d5133100142452812feb9ba2e8 - depends: - - lerc >=4.0.0,<5.0a0 - - libdeflate >=1.25,<1.26.0a0 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zstd >=1.5.7,<1.6.0a0 - license: HPND - size: 993166 - timestamp: 1762022118895 -- conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda - sha256: 9837f8e8de20b6c9c033561cd33b4554cd551b217e3b8d2862b353ed2c23d8b8 - md5: a656b2c367405cd24988cf67ff2675aa - depends: - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - - ucrt >=10.0.20348.0 - license: LGPL-2.1-or-later - size: 118204 - timestamp: 1748856290542 -- conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda - sha256: 429124709c73b2e8fae5570bdc6b42f5418a7551ba72e591bb960b752e87b365 - md5: 42a8a56c60882da5d451aa95b8455111 + size: 23644746 + timestamp: 1765578629426 +- conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + sha256: 3f661e98a09f976775a494488beb3d35ebb00f535b169c6bd891f2e280d55783 + md5: 3b887b7b3468b0f494b4fad40178b043 depends: - - libogg - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libogg >=1.3.5,<1.4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 243401 - timestamp: 1753879416570 -- conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.328.1-h477610d_0.conda - sha256: 934d676c445c1ea010753dfa98680b36a72f28bec87d15652f013c91a1d8d171 - md5: 4403eae6c81f448d63a7f66c0b330536 + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/tabulate?source=hash-mapping + size: 43964 + timestamp: 1772732795746 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda + sha256: 30cb9355c2fefc20ff1a3d6566b9714d5614086a2524c07721fc344eb20515ae + md5: 7073b15f9364ebc118998601ac6ca6a6 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - constrains: - - libvulkan-headers 1.4.328.1.* + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libhwloc >=2.13.0,<2.13.1.0a0 + - libstdcxx >=14 license: Apache-2.0 license_family: APACHE - size: 280488 - timestamp: 1759972163692 -- conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda - sha256: 0f0965edca8b255187604fc7712c53fe9064b31a1845a7dfb2b63bf660de84a7 - md5: 804880b2674119b84277d6c16b01677d + size: 182331 + timestamp: 1778673758649 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2023.0.0-h57272ed_2.conda + sha256: 7ed4e93fad3707aa1686c5be286604c63aad33c9765a0d53fab7adbd179510b3 + md5: 0bc302bd45e5f744a672eb4f4a930398 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - constrains: - - libvulkan-headers 1.4.341.0.* + - libgcc >=14 + - libhwloc >=2.13.0,<2.13.1.0a0 + - libstdcxx >=14 license: Apache-2.0 license_family: APACHE - size: 282251 - timestamp: 1770077165680 -- conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda - sha256: 7b6316abfea1007e100922760e9b8c820d6fc19df3f42fb5aca684cfacb31843 - md5: f9bbae5e2537e3b06e0f7310ba76c893 + size: 145425 + timestamp: 1778675412470 +- conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + sha256: 8a4053839b8e997a5965e2dff7d6cf3c77be62d82c0e48c8a04a5ed2d2e73035 + md5: 8ee01a693aecff5432069eaaf1183c45 depends: + - libhwloc >=2.13.0,<2.13.1.0a0 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - libwebp 1.6.0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 156515 + timestamp: 1778673901757 +- conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.5.1-pyhcf101f3_0.conda + sha256: 7c803480dbfb8b536b9bf6287fa2aa0a4f970f8c09075694174eb4550a4524cd + md5: c0d0b883e97906f7524e2aac94be0e0d + depends: + - python >=3.10 + - webencodings >=0.4 + - python license: BSD-3-Clause license_family: BSD - size: 279176 - timestamp: 1752159543911 -- conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - sha256: 0fccf2d17026255b6e10ace1f191d0a2a18f2d65088fd02430be17c701f8ffe0 - md5: 8a86073cf3b343b87d03f41790d8b4e5 + purls: + - pkg:pypi/tinycss2?source=hash-mapping + size: 30571 + timestamp: 1764621508086 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda + build_number: 103 + sha256: 43624eab22f5f29df7d6ffe914cf442f28fd559b55b290906255492826e636e8 + md5: 48a1049e710857572fc2a832aa394d9f depends: - - ucrt + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.2,<2.0a0 constrains: - - pthreads-win32 <0.0a0 - - msys2-conda-epoch <0.0a0 - license: MIT AND BSD-3-Clause-Clear + - xorg-libx11 >=1.8.13,<2.0a0 + license: TCL purls: [] - size: 36621 - timestamp: 1759768399557 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.1-h06f855e_0.conda - sha256: 3f65ea0f04c7738116e74ca87d6e40f8ba55b3df31ef42b8cb4d78dd96645e90 - md5: 4a5ea6ec2055ab0dfd09fd0c498f834a - depends: - - icu >=75.1,<76.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - libxml2 2.15.1 - license: MIT - license_family: MIT - size: 518616 - timestamp: 1761016240185 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.1-h3cfd58e_1.conda - sha256: a857e941156b7f462063e34e086d212c6ccbc1521ebdf75b9ed66bd90add57dc - md5: 07d73826fde28e7dbaec52a3297d7d26 + size: 3550916 + timestamp: 1784229071544 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda + build_number: 103 + sha256: cd51fbda051a9f3679d10ef4a94cd1ff38c10533b82845dadce8ba87245ba4ce + md5: 89e78452e06563964e419059ee45584a depends: - - icu >=78.1,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - libgcc >=14 + - libzlib >=1.3.2,<2.0a0 constrains: - - libxml2 2.15.1 - license: MIT - license_family: MIT - size: 518964 - timestamp: 1766327232819 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.2-h3cfd58e_0.conda - sha256: d6d792f8f1d6786b9144adfa62c33a04aeec3d76682351b353ca1224fc1a74f3 - md5: f6dd496a1f2b66951110a3a0817f699b + - xorg-libx11 >=1.8.13,<2.0a0 + license: TCL + purls: [] + size: 3683040 + timestamp: 1784229053797 +- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + sha256: 13fa29257d43f8e630a1e591ed77fae9bbbb236b011432f01e2034cf36e6bf03 + md5: aaf79e2af50a151fb5b5a3e3f38b7a69 depends: - - icu >=78.2,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - libxml2 2.15.2 - license: MIT - license_family: MIT - size: 520731 - timestamp: 1772704723763 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.2-h692994f_0.conda - sha256: b8c71b3b609c7cfe17f3f2a47c75394d7b30acfb8b34ad7a049ea8757b4d33df - md5: e365238134188e42ed36ee996159d482 - depends: - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - libxml2 2.15.2 - - icu <0.0a0 - license: MIT - license_family: MIT + license: TCL purls: [] - size: 520078 - timestamp: 1772704728534 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.1-h779ef1b_1.conda - sha256: 8b47d5fb00a6ccc0f495d16787ab5f37a434d51965584d6000966252efecf56d - md5: 68dc154b8d415176c07b6995bd3a65d9 - depends: - - icu >=78.1,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libxml2-16 2.15.1 h3cfd58e_1 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 43387 - timestamp: 1766327259710 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.1-ha29bfb0_0.conda - sha256: fb51b91a01eac9ee5e26c67f4e081f09f970c18a3da5231b8172919a1e1b3b6b - md5: 87116b9de9c1825c3fd4ef92c984877b + size: 3782314 + timestamp: 1784229072899 +- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + sha256: 91cafdb64268e43e0e10d30bd1bef5af392e69f00edd34dfaf909f69ab2da6bd + md5: b5325cf06a000c5b14970462ff5e4d58 depends: - - icu >=75.1,<76.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.1,<6.0a0 - - libxml2-16 2.15.1 h06f855e_0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - python >=3.10 + - python license: MIT license_family: MIT - size: 43042 - timestamp: 1761016261024 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.2-h5d26750_0.conda - sha256: f905eb7046987c336122121759e7f09144729f6898f48cd06df2a945b86998d8 - md5: 1007e1bfe181a2aee214779ee7f13d30 + purls: + - pkg:pypi/tomli?source=hash-mapping + size: 21561 + timestamp: 1774492402955 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py312h4c3975b_0.conda + sha256: f54504d6eeef133ddc2b964b6a021f3faf085bb08bd70debc07f56d6b9b726f1 + md5: 55f526c3fb5302a1ce922612348442e1 depends: - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libxml2-16 2.15.2 h692994f_0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - icu <0.0a0 - license: MIT - license_family: MIT - purls: [] - size: 43681 - timestamp: 1772704748950 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.2-h779ef1b_0.conda - sha256: 2131e25d4fb21be66d7ef685e1b2d66f04aa08e70b37322d557824389d0a4c2a - md5: be3843e412c9f9d697958aa68c72d09d + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/tornado?source=compressed-mapping + size: 864705 + timestamp: 1781006801632 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py314h5bd0f2a_0.conda + sha256: bbb7056f7c5fd606df16ed73ee68687050de2c02fd69a3f69a1cb533a7ed2ae8 + md5: 4a8e5889712641aabdf6695e292857fe depends: - - icu >=78.2,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libxml2-16 2.15.2 h3cfd58e_0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 43866 - timestamp: 1772704745691 -- conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda - sha256: ba945c6493449bed0e6e29883c4943817f7c79cbff52b83360f7b341277c6402 - md5: 41fbfac52c601159df6c01f875de31b9 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + size: 918368 + timestamp: 1781006801436 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.5.7-py312hefbd42c_0.conda + sha256: a5abbe4712c2afa68e63e19ebe7bbb425baa4db6240bfa3c8276b4ac917138ca + md5: 5d9619b1f48fbccf87010ea5b340b2d1 depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - constrains: - - zlib 1.3.1 *_2 - license: Zlib - license_family: Other - size: 55476 - timestamp: 1727963768015 -- conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - sha256: 88609816e0cc7452bac637aaf65783e5edf4fee8a9f8e22bdc3a75882c536061 - md5: dbabbd6234dea34040e631f87676292f + - libgcc >=14 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/tornado?source=hash-mapping + size: 863626 + timestamp: 1781007844330 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.5.7-py314hafb4487_0.conda + sha256: 7a5157dabdc88f2e16a45f8e342657ceb0d4515b8640c8a4f1c3b3de88dcc92e + md5: 82b0cb99192ae48eca75f25102fd5ce0 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - zlib 1.3.2 *_2 - license: Zlib - license_family: Other - purls: [] - run_exports: - weak: - - libzlib >=1.3.2,<2.0a0 - size: 58347 - timestamp: 1774072851498 -- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-21.1.8-h4fa8253_0.conda - sha256: 145c4370abe870f10987efa9fc15a8383f1dab09abbc9ad4ff15a55d45658f7b - md5: 0d8b425ac862bcf17e4b28802c9351cb + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + size: 916897 + timestamp: 1781007943867 +- conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py312he06e257_0.conda + sha256: 110cf0c741e181ed929a2acdb488f2095badad973c50dd696af36c4162e063cf + md5: 1045d29f787812d3fac1fd80a1339710 depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - intel-openmp <0.0a0 - - openmp 21.1.8|21.1.8.* - license: Apache-2.0 WITH LLVM-exception - license_family: APACHE - size: 347566 - timestamp: 1765964942856 -- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.0-h4fa8253_0.conda - sha256: bb55a3736380759d338f87aac68df4fd7d845ae090b94400525f5d21a55eea31 - md5: e5505e0b7d6ef5c19d5c0c1884a2f494 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/tornado?source=compressed-mapping + size: 865801 + timestamp: 1781006895319 +- conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py314h5a2d7ad_0.conda + sha256: 6b9f5a195ca148f7c6b9a4a0a026631979b3112c43cd7c1064085ff833dfa4f0 + md5: b1b9bf11a82e608c5649d7462de94c5f depends: + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - constrains: - - openmp 22.1.0|22.1.0.* - - intel-openmp <0.0a0 - license: Apache-2.0 WITH LLVM-exception - license_family: APACHE - size: 347404 - timestamp: 1772025050288 -- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.2-h4fa8253_0.conda - sha256: fa8bd542624507309cbdfc620bdfe546ed823d418e6ba878977d48da7a0f6212 - md5: 29407a30bd93dc8c11c03ca60249a340 + license: Apache-2.0 + license_family: Apache + size: 919275 + timestamp: 1781006902968 +- conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + sha256: b89a823edf524956b94a2a4db974866e4501f05c68976eff458c5dcf07f88431 + md5: 37e3be7b6e2977d37b8fa5da229f5dc0 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - intel-openmp <0.0a0 - - openmp 22.1.2|22.1.2.* - license: Apache-2.0 WITH LLVM-exception - license_family: APACHE - purls: [] - size: 348400 - timestamp: 1774733045609 -- conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda - build_number: 0 - sha256: 51e9214548f177db9c3fe70424e3774c95bf19cd69e0e56e83abe2e393228ba1 - md5: 7d60fb16df2cd07fbc3dbff1c9df4244 - constrains: - - msys2-conda-epoch <0.0a0 + - python >=3.10 + - python license: BSD-3-Clause license_family: BSD - size: 7539 - timestamp: 1747330852019 -- conda: https://conda.anaconda.org/conda-forge/win-64/make-4.4.1-h0e40799_2.conda - sha256: a810cdca3d5fa50d562cda23c0c1195b45ff5f9b0c41e0d4c8c2dd3c043ff4f2 - md5: 77ff648ad9fec660f261aa8ab0949f62 + purls: + - pkg:pypi/traitlets?source=hash-mapping + size: 115158 + timestamp: 1780507822178 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda + sha256: b141933ece3518f6d7b75dfb59451e2f26b405a44c18e2518a83e9a02e09315c + md5: c680b5747e8c4c8f23dca0bb7042a8fc depends: - - libgcc >=13 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - - ucrt >=10.0.20348.0 - license: GPL-3.0-or-later - license_family: GPL + - typing_extensions ==4.16.0 pyhcf101f3_0 + license: PSF-2.0 + license_family: PSF + purls: [] + size: 94080 + timestamp: 1783002732887 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + sha256: 2d888f90af0686044882c74193ec80a90ec1943145d94a7b1b048958acda1848 + md5: c70ad746c22219b9700931707482992c + depends: + - python >=3.10 + - python + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/typing-extensions?source=compressed-mapping + size: 52631 + timestamp: 1783002732887 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda + sha256: a3fbdd31b509ff16c7314e8d01c41d9146504df632a360ab30dbc1d3ca79b7c0 + md5: fa31df4d4193aabccaf09ce78a187faf + depends: + - mypy_extensions >=0.3.0 + - python >=3.9 + - typing_extensions >=3.7.4 + license: MIT + license_family: MIT + purls: + - pkg:pypi/typing-inspect?source=hash-mapping + size: 14919 + timestamp: 1733845966415 +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + sha256: b928c30ddcb0e3f544c6eade8352737e6e610e263276b90232db6a578ef899d8 + md5: fcb489df604d100968b737f2cb6076c6 + license: LicenseRef-Public-Domain + purls: [] + size: 118849 + timestamp: 1784250406640 +- conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + sha256: 3005729dce6f3d3f5ec91dfc49fc75a0095f9cd23bab49efb899657297ac91a5 + md5: 71b24316859acd00bdb8b38f5e2ce328 + constrains: + - vc14_runtime >=14.29.30037 + - vs2015_runtime >=14.29.30037 + license: LicenseRef-MicrosoftWindowsSDK10 purls: [] - size: 2176937 - timestamp: 1727802346950 -- conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py312h05f76fc_1.conda - sha256: b744287a780211ac4595126ef96a44309c791f155d4724021ef99092bae4aace - md5: a73298d225c7852f97403ca105d10a13 + size: 694692 + timestamp: 1756385147981 +- conda: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-17.0.1-py314h5bd0f2a_0.conda + sha256: ff1c1d7c23b91c9b0eb93a3e1380f4e2ac6c37ea2bba4f932a5484e9a55bba30 + md5: 494fdf358c152f9fdd0673c128c2f3dd depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - jinja2 >=3.0.0 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/markupsafe?source=hash-mapping - size: 28510 - timestamp: 1772445175216 -- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.0-hac47afa_454.conda - sha256: 3c432e77720726c6bd83e9ee37ac8d0e3dd7c4cf9b4c5805e1d384025f9e9ab6 - md5: c83ec81713512467dfe1b496a8292544 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + size: 409562 + timestamp: 1770909102180 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/unicodedata2-17.0.1-py314h51f160d_0.conda + sha256: fcc5e4515df19c3c781d3d70f69837c03d1f725d4e166cb3006cf656243f58bf + md5: 9479a1d1b844dfeefd287a16515811a0 depends: - - llvm-openmp >=21.1.4 - - tbb >=2022.2.0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary - size: 99909095 - timestamp: 1761668703167 -- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.0-hac47afa_455.conda - sha256: b2b4c84b95210760e4d12319416c60ab66e03674ccdcbd14aeb59f82ebb1318d - md5: fd05d1e894497b012d05a804232254ed - depends: - - llvm-openmp >=21.1.8 - - tbb >=2022.3.0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary - size: 100224829 - timestamp: 1767634557029 -- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.1-hac47afa_11.conda - sha256: f2c2b2a3c2e7d08d78c10bef7c135a4262c80d1d48c85fb5902ca30d61d645f4 - md5: 3fd3009cef89c36e9898a6feeb0f5530 - depends: - - llvm-openmp >=22.1.1 - - tbb >=2022.3.0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary - purls: [] - size: 99997309 - timestamp: 1774449747739 -- conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.1.2-py312hf90b1b7_1.conda - sha256: 0408cc0868e0963922c76940d618266df88518a7b58b5d28da8378911916b998 - md5: 3272249c8d0f9cb7693e189611b9943f + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + size: 410032 + timestamp: 1770909146009 +- conda: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-17.0.1-py314h5a2d7ad_0.conda + sha256: 9041e463044944460f73f9528f2ec491180f0ffe857e3555aa8160b81050b8d9 + md5: d6b580a13384df5155c6ca19ee66854e depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: Apache + size: 406126 + timestamp: 1770909191618 +- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + sha256: feff959a816f7988a0893201aa9727bbb7ee1e9cec2c4f0428269b489eb93fb4 + md5: cbb88288f74dbe6ada1c6c7d0a97223e + depends: + - backports.zstd >=1.0.0 + - brotli-python >=1.2.0 + - h2 >=4,<5 + - pysocks >=1.5.6,<2.0,!=1.5.7 + - python >=3.10 + license: MIT + license_family: MIT purls: - - pkg:pypi/msgpack?source=hash-mapping - size: 87478 - timestamp: 1762504274037 -- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.3.5-py314h06c3c77_0.conda - sha256: e64d4c049c9c69ef02d924ac1750b32e08f57732cbc6a3fe11794f3169b59d14 - md5: ddc6687a8f402695bd22229aaf69fb26 + - pkg:pypi/urllib3?source=hash-mapping + size: 103560 + timestamp: 1778188657149 +- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda + sha256: 17693b60cb54f80c60275f003f3bfc1b128af56dbfd65c4fae37c64eeb755ce1 + md5: 2eacea63f545b97342da520df6854276 depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - liblapack >=3.9.0,<4.0a0 - - python_abi 3.14.* *_cp314 - - libcblas >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - constrains: - - numpy-base <0a0 + - vc14_runtime >=14.51.36231 + track_features: + - vc14 license: BSD-3-Clause license_family: BSD - size: 7588219 - timestamp: 1763350950306 -- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.0-py314h06c3c77_0.conda - sha256: 07394e53e529c52fddc80a46f16cdad12eb9df4b3b7af1a47b5b2e7d6a7b7905 - md5: 59127d48b291f13c06a53dd335876b62 + purls: [] + size: 20362 + timestamp: 1781320968457 +- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + sha256: 8153ed849c92e891eacac0f2f8d7ecb79f9b5fd7f7917fbb896f252a60a40390 + md5: 06a5bf5a1ca16cce0df6eaa91fc42bc2 depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 + - vcomp14 14.51.36231 h1b9f54f_39 constrains: - - numpy-base <0a0 - license: BSD-3-Clause - license_family: BSD - size: 7301600 - timestamp: 1766373809921 -- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.2-py314h06c3c77_1.conda - sha256: 34fc25b81cfa987e1825586ddb1a4ac76a246fdef343c9171109017674ad6503 - md5: 2fccd2c4e9feb4e4c2a90043015525d6 + - vs2015_runtime 14.51.36231.* *_39 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + license_family: Proprietary + purls: [] + size: 737434 + timestamp: 1781320964561 +- conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + sha256: 07fb14713c4bc62e2533a2e23a363abfb0e65650681fba0ae4c840e2219350f3 + md5: 8b53a83fda40ec679e4d63fa32fae989 depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 constrains: - - numpy-base <0a0 + - vs2015_runtime 14.51.36231.* *_39 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + license_family: Proprietary + purls: [] + size: 120684 + timestamp: 1781320948530 +- conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda + sha256: 6de6c2cf008fc2dce61060b583f2d8494c83883106952b201381b6b0505f03d7 + md5: 2ccc63d7b7d066a814ed9f99072832d7 + depends: + - vc14_runtime >=14.51.36231 license: BSD-3-Clause license_family: BSD - size: 7309134 - timestamp: 1770098414535 -- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.3-py312ha3f287d_0.conda - sha256: f0b92b9f58406ce21c7d0f037e58cb62380daffb9232c7cb31ab5edc217527e6 - md5: 6169671e14dc7c36eebfd9870446f11c + size: 20355 + timestamp: 1781320968804 +- conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hd6090a7_0.conda + sha256: 6b9e182021ef3a64ab3bf788ebdab6de6775035612237c639ccafc941639eb13 + md5: b34c5559f45d8996e3bc0b6250a6cc84 depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - - python_abi 3.12.* *_cp312 - constrains: - - numpy-base <0a0 + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + size: 340543 + timestamp: 1784249169392 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.26.0-h4f8a99f_0.conda + sha256: 27d8782a2f6cd193f2f446de829f7a92f3b34cc885e2d59d4b8326934023d8fd + md5: 8da6920e59279dedb8c737cff347cfee + depends: + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + size: 341752 + timestamp: 1784249192116 +- conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda + sha256: 04ce686cd187d379344f9b2be7b4da5f431b265dc0944a6b764fab9da9171948 + md5: 0839a3421140d4a9ba93fb988698fc00 + license: MIT + license_family: MIT + size: 147954 + timestamp: 1780946721169 +- conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.2-pyhd8ed1ab_0.conda + sha256: 4acf845da404e84cef1acccc66cc0156af1b83a5b5d7077b2ca19b705c561e57 + md5: 99f7755ec8648a042b0dbe906234f888 + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/wcwidth?source=compressed-mapping + size: 132415 + timestamp: 1782771807703 +- conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda + sha256: 19ff205e138bb056a46f9e3839935a2e60bd1cf01c8241a5e172a422fed4f9c6 + md5: 2841eb5bfc75ce15e9a0054b98dcd64d + depends: + - python >=3.9 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/numpy?source=hash-mapping - size: 7166412 - timestamp: 1773839142889 -- conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-hb17fa0b_0.conda - sha256: 914702d9a64325ff3afb072c8bc0f8cbea3f19955a8395a8c190e45604f83c76 - md5: ad4cac6ceb9e4c8e01802e3f15e87bb2 + - pkg:pypi/webencodings?source=hash-mapping + size: 15496 + timestamp: 1733236131358 +- conda: https://conda.anaconda.org/conda-forge/noarch/wheel-0.47.0-pyhd8ed1ab_0.conda + sha256: 9e156ffaefb8463437144326ada4b85d1de17961b9997ac5f1cbbaf747bd8bed + md5: d0e3b2f0030cf4fca58bde71d246e94c depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: BSD-2-Clause - license_family: BSD - size: 411269 - timestamp: 1739401120354 -- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.0-h725018a_0.conda - sha256: 6d72d6f766293d4f2aa60c28c244c8efed6946c430814175f959ffe8cab899b3 - md5: 84f8fb4afd1157f59098f618cd2437e4 + - packaging >=24.0 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/wheel?source=hash-mapping + size: 33491 + timestamp: 1776878563806 +- conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda + sha256: 93807369ab91f230cf9e6e2a237eaa812492fe00face5b38068735858fba954f + md5: 46e441ba871f524e2b067929da3051c2 + depends: + - __win + - python >=3.9 + license: LicenseRef-Public-Domain + purls: + - pkg:pypi/win-inet-pton?source=hash-mapping + size: 9555 + timestamp: 1733130678956 +- conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 + sha256: 175315eb3d6ea1f64a6ce470be00fa2ee59980108f246d3072ab8b977cb048a5 + md5: 6c99772d483f566d59e25037fea2c4b1 + depends: + - libgcc-ng >=12 + license: GPL-2.0-or-later + license_family: GPL + size: 897548 + timestamp: 1660323080555 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 + sha256: b48f150db8c052c197691c9d76f59e252d3a7f01de123753d51ebf2eed1cf057 + md5: 0efaf807a0b5844ce5f605bd9b668281 + depends: + - libgcc-ng >=12 + license: GPL-2.0-or-later + license_family: GPL + size: 1000661 + timestamp: 1660324722559 +- conda: https://conda.anaconda.org/conda-forge/win-64/x264-1!164.3095-h8ffe710_2.tar.bz2 + sha256: 97166b318f8c68ffe4d50b2f4bd36e415219eeaef233e7d41c54244dc6108249 + md5: 19e39905184459760ccb8cf5c75f148b + depends: + - vc >=14.1,<15 + - vs2015_runtime >=14.16.27033 + license: GPL-2.0-or-later + license_family: GPL + size: 1041889 + timestamp: 1660323726084 +- conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 + sha256: 76c7405bcf2af639971150f342550484efac18219c0203c5ee2e38b8956fe2a0 + md5: e7f6ed84d4623d52ee581325c1587a6b + depends: + - libgcc-ng >=10.3.0 + - libstdcxx-ng >=10.3.0 + license: GPL-2.0-or-later + license_family: GPL + size: 3357188 + timestamp: 1646609687141 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 + sha256: cb2227f2441499900bdc0168eb423d7b2056c8fd5a3541df4e2d05509a88c668 + md5: 786853760099c74a1d4f0da98dd67aea + depends: + - libgcc-ng >=10.3.0 + - libstdcxx-ng >=10.3.0 + license: GPL-2.0-or-later + license_family: GPL + size: 1018181 + timestamp: 1646610147365 +- conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 + sha256: 02b9874049112f2b7335c9a3e880ac05d99a08d9a98160c5a98898b2b3ac42b2 + md5: ca7129a334198f08347fb19ac98a2de9 + depends: + - vc >=14.1,<15 + - vs2015_runtime >=14.16.27033 + license: GPL-2.0-or-later + license_family: GPL + size: 5517425 + timestamp: 1646611941216 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-h4f16b4b_2.conda + sha256: ad8cab7e07e2af268449c2ce855cbb51f43f4664936eff679b1f3862e6e4b01d + md5: fdc27cb255a7a2cc73b7919a968b48f0 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libxcb >=1.17.0,<2.0a0 + license: MIT + license_family: MIT + size: 20772 + timestamp: 1750436796633 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-0.4.1-hca56bd8_2.conda + sha256: d874906e236a5edc9309d479599bf2de4d8adca0f23c355b76759d5fb3c4bef8 + md5: 159ffec8f7fab775669a538f0b29373a + depends: + - libgcc >=13 + - libxcb >=1.17.0,<2.0a0 + license: MIT + license_family: MIT + size: 21517 + timestamp: 1750437961489 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-cursor-0.1.6-hb03c661_0.conda + sha256: c2be9cae786fdb2df7c2387d2db31b285cf90ab3bfabda8fa75a596c3d20fc67 + md5: 4d1fc190b99912ed557a8236e958c559 depends: - - ca-certificates - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - size: 9440812 - timestamp: 1762841722179 -- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda - sha256: 53a5ad2e5553b8157a91bb8aa375f78c5958f77cb80e9d2ce59471ea8e5c0bd6 - md5: eb585509b815415bc964b2c7e11c7eb3 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libxcb >=1.13 + - libxcb >=1.17.0,<2.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + license: MIT + license_family: MIT + size: 20829 + timestamp: 1763366954390 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-cursor-0.1.6-he30d5cf_0.conda + sha256: 2e31eeeac0ad76229a565f1df3a8fb4ea54852a68404a99558adab9c92c0ac4d + md5: 8b70063c86f7f9a0b045e78d2d9971f7 depends: - - ca-certificates - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - purls: [] - size: 9343023 - timestamp: 1769557547888 -- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - sha256: cb6e7ba0d010ee0d3249ce9886de3d7613d26d9965d4c95666fa66b9c4c31001 - md5: e99f95734a326c0fd4d02bbd995150d4 + - libgcc >=14 + - libxcb >=1.13 + - libxcb >=1.17.0,<2.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + license: MIT + license_family: MIT + size: 21639 + timestamp: 1763367131001 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + sha256: 94b12ff8b30260d9de4fd7a28cca12e028e572cbc504fd42aa2646ec4a5bded7 + md5: a0901183f08b6c7107aab109733a3c91 depends: - - ca-certificates - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - run_exports: - weak: - - openssl >=3.6.3,<4.0a0 - size: 9414790 - timestamp: 1781071745579 -- conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda - sha256: dcda7e9bedc1c87f51ceef7632a5901e26081a1f74a89799a3e50dbdc801c0bd - md5: 452d6d3b409edead3bd90fc6317cd6d4 + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + license: MIT + license_family: MIT + size: 24551 + timestamp: 1718880534789 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-image-0.4.0-h5c728e9_2.conda + sha256: a43058edc001e8fb97f9b291028a6ca16a8969d9b56a998c7aecea083323ac97 + md5: b82e5c78dbbfa931980e8bfe83bce913 depends: - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - harfbuzz >=11.0.1 - - libexpat >=2.7.0,<3.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libglib >=2.84.2,<3.0a0 - - libpng >=1.6.49,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LGPL-2.1-or-later - size: 454854 - timestamp: 1751292618315 -- conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda - sha256: 3e9e02174edf02cb4bcdd75668ad7b74b8061791a3bc8bdb8a52ae336761ba3e - md5: 77eaf2336f3ae749e712f63e36b0f0a1 + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + - xcb-util >=0.4.1,<0.5.0a0 + license: MIT + license_family: MIT + size: 24910 + timestamp: 1718880504308 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + sha256: 546e3ee01e95a4c884b6401284bb22da449a2f4daf508d038fdfa0712fe4cc69 + md5: ad748ccca349aec3e91743e08b5e2b50 depends: - - bzip2 >=1.0.8,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - size: 995992 - timestamp: 1763655708300 -- conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda - sha256: 246fce4706b3f8b247a7d6142ba8d732c95263d3c96e212b9d63d6a4ab4aff35 - md5: 08c8fa3b419df480d985e304f7884d35 + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + size: 14314 + timestamp: 1718846569232 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-keysyms-0.4.1-h5c728e9_0.conda + sha256: 9d92daa7feb0e14f81bf0d4b3f0b6ff1e8cec3ff514df8a0c06c4d49b518c315 + md5: 57ca8564599ddf8b633c4ea6afee6f3a depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 license: MIT license_family: MIT - size: 542795 - timestamp: 1754665193489 -- conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py312he5662c2_0.conda - sha256: edffc84c001a05b996b5f8607c8164432754e86ec9224e831cd00ebabdec04e7 - md5: a2724c93b745fc7861948eb8b9f6679a + size: 14343 + timestamp: 1718846624153 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + sha256: 2d401dadc43855971ce008344a4b5bd804aca9487d8ebd83328592217daca3df + md5: 0e0cbe0564d03a99afd5fd7b362feecd depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/psutil?source=hash-mapping - size: 242769 - timestamp: 1769678170631 -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda - sha256: a02b446d8b7b167b61733a3de3be5de1342250403e72a63b18dac89e99e6180e - md5: 2956dff38eb9f8332ad4caeba941cfe7 + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + size: 16978 + timestamp: 1718848865819 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-renderutil-0.3.10-h5c728e9_0.conda + sha256: 5827f5617c9741599f72bb7f090726f89c6ef91e4bada621895fdc2bbadfb0f1 + md5: 7beeda4223c5484ef72d89fb66b7e8c1 depends: - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - liblzma >=5.8.2,<6.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - python_abi 3.12.* *_cp312 - license: Python-2.0 - purls: [] - size: 15840187 - timestamp: 1772728877265 -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.1-h4b44e0e_100_cp314.conda - build_number: 100 - sha256: 21feeb6ee92abd17bf73e063dbcfe0b00ccb5e67f291379dee7183294413a01f - md5: 3d23736b5ad17ea24fcd4d6f23663f0d + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + size: 18139 + timestamp: 1718849914457 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + sha256: 31d44f297ad87a1e6510895740325a635dd204556aa7e079194a0034cdd7e66a + md5: 608e0ef8256b81d04456e8d211eee3e8 depends: - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - liblzma >=5.8.1,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.1,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.4,<4.0a0 - - python_abi 3.14.* *_cp314 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - size: 16934169 - timestamp: 1764756783162 - python_site_packages_path: Lib/site-packages -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.2-h4b44e0e_100_cp314.conda - build_number: 100 - sha256: 6857d7c97cc71fe9ba298dcb1d3b66cc7df425132ab801babd655faa3df48f32 - md5: c3c73414d5ae3f543c531c978d9cc8b8 + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + size: 51689 + timestamp: 1718844051451 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xcb-util-wm-0.4.2-h5c728e9_0.conda + sha256: 3f52cd8783e7d953c54266255fd11886c611c2620545eabc28ec8cf470ae8be7 + md5: f14dcda6894722e421da2b7dcffb0b78 depends: - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - liblzma >=5.8.1,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.1,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.4,<4.0a0 - - python_abi 3.14.* *_cp314 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - size: 16833248 - timestamp: 1765020224759 - python_site_packages_path: Lib/site-packages -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda - build_number: 101 - sha256: 3f99d83bfd95b9bdae64a42a1e4bf5131dc20b724be5ac8a9a7e1ac2c0f006d7 - md5: 7ec2be7eaf59f83f3e5617665f3fbb2e + - libgcc-ng >=12 + - libxcb >=1.16,<2.0.0a0 + license: MIT + license_family: MIT + size: 50772 + timestamp: 1718845072660 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda + sha256: 3b04afd5d1a65d2d27ac2d49a63b01ab8bcd875776779ec63e337370ed38afdc + md5: b233b41be0bf210989d57160ed39b394 depends: - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - liblzma >=5.8.2,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 - - python_abi 3.14.* *_cp314 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - size: 18273230 - timestamp: 1770675442998 - python_site_packages_path: Lib/site-packages -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda - build_number: 100 - sha256: f1acb89cb1a6bec9a94ae9f8e7411839de009cd64d3ac6a6aec4f3d8a481099a - md5: 8333e3ca6f8d1ebcd30b678dd53f0a25 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - xorg-libx11 >=1.8.13,<2.0a0 + license: MIT + license_family: MIT + size: 441670 + timestamp: 1782027360439 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.48-h80f16a2_0.conda + sha256: 96078068df25ddccc60958be740e6fa99efb1e0fa2dae2f84e775201bf84d70c + md5: 3dbc6d9e1f8a8768e7ef9f57585a43ca depends: - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.8.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - liblzma >=5.8.3,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.53.2,<4.0a0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.7,<4.0a0 - - python_abi 3.14.* *_cp314 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - run_exports: - weak: - - python_abi 3.14.* *_cp314 - noarch: - - python - size: 18481352 - timestamp: 1781256034828 - python_site_packages_path: Lib/site-packages -- conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py312h829343e_1.conda - sha256: a7505522048dad63940d06623f07eb357b9b65510a8d23ff32b99add05aac3a1 - md5: 64cbe4ecbebe185a2261d3f298a60cde + - libgcc >=14 + - xorg-libx11 >=1.8.13,<2.0a0 + license: MIT + license_family: MIT + size: 442725 + timestamp: 1782027381059 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + sha256: c12396aabb21244c212e488bbdc4abcdef0b7404b15761d9329f5a4a39113c4b + md5: fb901ff28063514abb6046c9ec2c4a45 depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 - license: PSF-2.0 - license_family: PSF - purls: - - pkg:pypi/pywin32?source=hash-mapping - size: 6684490 - timestamp: 1756487136116 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py312h05f76fc_1.conda - sha256: 1cab6cbd6042b2a1d8ee4d6b4ec7f36637a41f57d2f5c5cf0c12b7c4ce6a62f6 - md5: 9f6ebef672522cb9d9a6257215ca5743 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + size: 58628 + timestamp: 1734227592886 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda + sha256: a2ba1864403c7eb4194dacbfe2777acf3d596feae43aada8d1b478617ce45031 + md5: c8d8ec3e00cd0fd8a231789b91a7c5b7 depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - yaml >=0.2.5,<0.3.0a0 + - libgcc >=13 license: MIT license_family: MIT - purls: - - pkg:pypi/pyyaml?source=hash-mapping - size: 179738 - timestamp: 1770223468771 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_2.conda - noarch: python - sha256: d84bcc19a945ca03d1fd794be3e9896ab6afc9f691d58d9c2da514abe584d4df - md5: eb1ec67a70b4d479f7dd76e6c8fe7575 + size: 60433 + timestamp: 1734229908988 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + sha256: 277841c43a39f738927145930ff963c5ce4c4dacf66637a3d95d802a64173250 + md5: 1c74ff8c35dcadf952a16f752ca5aa49 depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - zeromq >=4.3.5,<4.3.6.0a0 - - _python_abi3_support 1.* - - cpython >=3.12 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/pyzmq?source=hash-mapping - size: 183235 - timestamp: 1771716967192 -- conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.30.0-py312hdabe01f_0.conda - sha256: faad05e6df2fc15e3ae06fdd71a36e17ff25364777aa4c40f2ec588740d64091 - md5: 2c51baeda0a355b0a5e7b6acb28cf02d + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libuuid >=2.38.1,<3.0a0 + - xorg-libice >=1.1.2,<2.0a0 + license: MIT + license_family: MIT + size: 27590 + timestamp: 1741896361728 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda + sha256: b86a819cd16f90c01d9d81892155126d01555a20dabd5f3091da59d6309afd0a + md5: 2d1409c50882819cb1af2de82e2b7208 depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 + - libgcc >=13 + - libuuid >=2.38.1,<3.0a0 + - xorg-libice >=1.1.2,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/rpds-py?source=hash-mapping - size: 243577 - timestamp: 1764543069837 -- conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py312he5662c2_1.conda - sha256: a28bd33ef3380c44632d6ead75a6ec170e135f18941f4b1d77f1cc1b24c1dc02 - md5: cc0977464335ea5c2e5ee3d00458e0c2 + size: 28701 + timestamp: 1741897678254 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda + sha256: 516d4060139dbb4de49a4dcdc6317a9353fb39ebd47789c14e6fe52de0deee42 + md5: 861fb6ccbc677bb9a9fb2468430b9c6a depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libxcb >=1.17.0,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/ruamel-yaml-clib?source=hash-mapping - size: 105961 - timestamp: 1766159551536 -- conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py312h9b3c559_0.conda - sha256: bdb2437aa5db3a00c5e69808f9d1a695bbe74b4758ffdf2e79777c8e11680443 - md5: bf4d70d225c530053128bae8d2531516 + size: 839652 + timestamp: 1770819209719 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda + sha256: cf886160e2ff580d77f7eb8ec1a77c41c2c5b05343e329bc35f0ddf40b8d92ab + md5: 22dd10425ef181e80e130db50675d615 depends: - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - numpy <2.7 - - numpy >=1.23,<3 - - numpy >=1.25.2 - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/scipy?source=hash-mapping - size: 15009886 - timestamp: 1771881635432 -- conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda - sha256: d17da21386bdbf32bce5daba5142916feb95eed63ef92b285808c765705bbfd2 - md5: 4cffbfebb6614a1bff3fc666527c25c7 + - libgcc >=14 + - libxcb >=1.17.0,<2.0a0 + license: MIT + license_family: MIT + size: 869058 + timestamp: 1770819244991 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda + sha256: 6bc6ab7a90a5d8ac94c7e300cc10beb0500eeba4b99822768ca2f2ef356f731b + md5: b2895afaf55bf96a8c8282a2e47a5de0 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - sdl3 >=3.2.22,<4.0a0 - license: Zlib - size: 572101 - timestamp: 1757842925694 -- conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.2.28-h5112557_0.conda - sha256: d4e0d53652a8087d2aa2607491c6ed8689b0fb72e1e66e1c012ef8e01f579e64 - md5: 713c8c89953e4a3a17e751746e372032 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + size: 15321 + timestamp: 1762976464266 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxau-1.0.12-he30d5cf_1.conda + sha256: e9f6e931feeb2f40e1fdbafe41d3b665f1ab6cb39c5880a1fcf9f79a3f3c84a5 + md5: 1c246e1105000c3660558459e2fd6d43 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libusb >=1.0.29,<2.0a0 - - libvulkan-loader >=1.4.328.1,<2.0a0 - license: Zlib - size: 1520902 - timestamp: 1764713305315 -- conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.2.30-h5112557_0.conda - sha256: 6b02bf3f1924bcf3d984a0535528e0b39ba99c5edc758f0d167b39cd33545479 - md5: 79242ec5d52eee72a224c252c294db62 + - libgcc >=14 + license: MIT + license_family: MIT + size: 16317 + timestamp: 1762977521691 +- conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.12-hba3369d_1.conda + sha256: 156a583fa43609507146de1c4926172286d92458c307bb90871579601f6bc568 + md5: 8436cab9a76015dfe7208d3c9f97c156 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - libgcc >=14 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca - ucrt >=10.0.20348.0 - - libusb >=1.0.29,<2.0a0 - - libvulkan-loader >=1.4.328.1,<2.0a0 - license: Zlib - size: 1521101 - timestamp: 1767236315915 -- conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.2-h5112557_0.conda - sha256: a4677774a9d542c6f4bac8779a2d7105748d38d8b7d56c8d02f36d14fba471b9 - md5: a0256884d35489e520360267e67ce3fc + license: MIT + license_family: MIT + size: 109246 + timestamp: 1762977105140 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcomposite-0.4.7-hb03c661_0.conda + sha256: 048c103000af9541c919deef03ae7c5e9c570ffb4024b42ecb58dbde402e373a + md5: f2ba4192d38b6cef2bb2c25029071d90 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libusb >=1.0.29,<2.0a0 - license: Zlib - size: 1669623 - timestamp: 1771668231217 -- conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2025.5-h8fa7867_1.conda - sha256: b2f6e199df47ca314294ad393818d6b499fd544703abcede0f19007b8f8f10e4 - md5: 04d62bc008ee442843e2f24f603ea1a6 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + license: MIT + license_family: MIT + size: 14415 + timestamp: 1770044404696 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxcomposite-0.4.7-he30d5cf_0.conda + sha256: 554f986ffa781d3393079926931465e61291d1eb8a56a03ad4a8e54b1ae233f4 + md5: 9c639c1abdbfe6759c5beb2c1db4bc13 depends: - - glslang >=16,<17.0a0 - - spirv-tools >=2026,<2027.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - size: 1558909 - timestamp: 1770208850155 -- conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2025.5-haa9a63f_0.conda - sha256: ed369ab2775ed7ff0476cedf8926a326d8d93068ee9c3e5f0e8836393390d5b0 - md5: c7159a672b77c38a0e8f88491ca9e9b2 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + license: MIT + license_family: MIT + size: 14915 + timestamp: 1770044415607 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + sha256: 832f538ade441b1eee863c8c91af9e69b356cd3e9e1350fff4fe36cc573fc91a + md5: 2ccd714aa2242315acaf0a67faea780b depends: - - glslang >=16,<17.0a0 - - spirv-tools >=2025,<2026.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - size: 1516952 - timestamp: 1764288127996 -- conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2025.4-h49e36cd_0.conda - sha256: 952a88cb050d8b21c020c03181af4ae8d89dd586631438cefbe66be6c15d6b92 - md5: 6e7df59eec517187e48699b298e750a2 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + - xorg-libxrender >=0.9.11,<0.10.0a0 + license: MIT + license_family: MIT + size: 32533 + timestamp: 1730908305254 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxcursor-1.2.3-h86ecc28_0.conda + sha256: c5d3692520762322a9598e7448492309f5ee9d8f3aff72d787cf06e77c42507f + md5: f2054759c2203d12d0007005e1f1296d depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - spirv-headers >=1.4.328.0,<1.4.328.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 14158518 - timestamp: 1759806206089 -- conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.1-h49e36cd_0.conda - sha256: 9976eeaf650d43833c110447ba264a72f470928d8a8fa5d1cfbadcd2a276184c - md5: bf5a4eb05c8b38dbc4e32ce17ab36389 + - libgcc >=13 + - xorg-libx11 >=1.8.9,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + - xorg-libxrender >=0.9.11,<0.10.0a0 + license: MIT + license_family: MIT + size: 34596 + timestamp: 1730908388714 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdamage-1.1.6-hb9d3cd8_0.conda + sha256: 43b9772fd6582bf401846642c4635c47a9b0e36ca08116b3ec3df36ab96e0ec0 + md5: b5fcc7172d22516e1f965490e65e33a4 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - spirv-headers >=1.4.341.0,<1.4.341.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 13881533 - timestamp: 1770089875437 -- conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.49-py312he5662c2_0.conda - sha256: ee7289c97b4892fac2752d71fc773603210bf3b671c886499c7dbacad9b4c08a - md5: d42e4d5316b68fc70bdf09e5fccf3eb0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + license: MIT + license_family: MIT + size: 13217 + timestamp: 1727891438799 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdamage-1.1.6-h86ecc28_0.conda + sha256: 3afaa2f43eb4cb679fc0c3d9d7c50f0f2c80cc5d3df01d5d5fd60655d0bfa9be + md5: d5773c4e4d64428d7ddaa01f6f845dc7 depends: - - python - - greenlet !=0.4.17 - - typing-extensions >=4.6.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.12.* *_cp312 + - libgcc >=13 + - xorg-libx11 >=1.8.9,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/sqlalchemy?source=hash-mapping - size: 3665426 - timestamp: 1775241406935 -- conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-3.1.2-hac47afa_0.conda - sha256: 444c94a9c1fcb2cdf78b260472451990257733bcf89ed80c73db36b5047d3134 - md5: 91866412570c922f55178855deb0f952 + size: 13794 + timestamp: 1727891406431 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda + sha256: 25d255fb2eef929d21ff660a0c687d38a6d2ccfbcbf0cc6aa738b12af6e9d142 + md5: 1dafce8548e38671bea82e3f5c6ce22f depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-2-Clause - license_family: BSD - size: 1862756 - timestamp: 1756086862067 -- conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.0.1-hac47afa_0.conda - sha256: 4d77eec06ee4c5de38d330fb7dfd6dac2f867ec007123acb901be9942e12c08a - md5: d9714a97bc69f98fd5032f675ae1b0b5 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + size: 20591 + timestamp: 1762976546182 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda + sha256: 128d72f36bcc8d2b4cdbec07507542e437c7d67f677b7d77b71ed9eeac7d6df1 + md5: bff06dcde4a707339d66d45d96ceb2e2 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-2-Clause - license_family: BSD - size: 1808810 - timestamp: 1769664619287 -- conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-h3155e25_2.conda - sha256: abd9a489f059fba85c8ffa1abdaa4d515d6de6a3325238b8e81203b913cf65a9 - md5: 0f9817ffbe25f9e69ceba5ea70c52606 + - libgcc >=14 + license: MIT + license_family: MIT + size: 21039 + timestamp: 1762979038025 +- conda: https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.5-hba3369d_1.conda + sha256: 366b8ae202c3b48958f0b8784bbfdc37243d3ee1b1cd4b8e76c10abe41fa258b + md5: a7c03e38aa9c0e84d41881b9236eacfb depends: - - libhwloc >=2.12.2,<2.12.3.0a0 + - libgcc >=14 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - purls: [] - size: 155869 - timestamp: 1767886839029 -- conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-hd094cb3_1.conda - sha256: c31cac57913a699745d124cdc016a63e31c5749f16f60b3202414d071fc50573 - md5: 17c38aaf14c640b85c4617ccb59c1146 + license: MIT + license_family: MIT + size: 70691 + timestamp: 1762977015220 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda + sha256: 79c60fc6acfd3d713d6340d3b4e296836a0f8c51602327b32794625826bd052f + md5: 34e54f03dfea3e7a2dcf1453a85f1085 depends: - - libhwloc >=2.12.1,<2.12.2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - size: 155714 - timestamp: 1762510341121 -- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h2c6b04d_3.conda - sha256: 4581f4ffb432fefa1ac4f85c5682cc27014bcd66e7beaa0ee330e927a7858790 - md5: 7cb36e506a7dba4817970f8adb6396f9 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + license: MIT + license_family: MIT + size: 50326 + timestamp: 1769445253162 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda + sha256: db2188bc0d844d4e9747bac7f6c1d067e390bd769c5ad897c93f1df759dc5dba + md5: fb42b683034619915863d68dd9df03a3 depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: TCL - license_family: BSD - size: 3472313 - timestamp: 1763055164278 -- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda - sha256: 0e79810fae28f3b69fe7391b0d43f5474d6bd91d451d5f2bde02f55ae481d5e3 - md5: 0481bfd9814bf525bd4b3ee4b51494c4 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + license: MIT + license_family: MIT + size: 52409 + timestamp: 1769446753771 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda + sha256: 83c4c99d60b8784a611351220452a0a85b080668188dce5dfa394b723d7b64f4 + md5: ba231da7fccf9ea1e768caf5c7099b84 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: TCL - license_family: BSD - purls: [] - size: 3526350 - timestamp: 1769460339384 -- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda - sha256: 13fa29257d43f8e630a1e591ed77fae9bbbb236b011432f01e2034cf36e6bf03 - md5: aaf79e2af50a151fb5b5a3e3f38b7a69 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + license: MIT + license_family: MIT + size: 20071 + timestamp: 1759282564045 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda + sha256: 8cb9c88e25c57e47419e98f04f9ef3154ad96b9f858c88c570c7b91216a64d0e + md5: e8b4056544341daf1d415eaeae7a040c depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: TCL - run_exports: - weak: - - tk >=8.6.13,<8.7.0a0 - size: 3782314 - timestamp: 1784229072899 -- conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.5-py312he06e257_0.conda - sha256: 1220c986664e9e8662e660dc64dd97ed823926b1ba05175771408cf1d6a46dd2 - md5: c6c66a64da3d2953c83ed2789a7f4bdb + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + license: MIT + license_family: MIT + size: 20704 + timestamp: 1759284028146 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda + sha256: 495f99c8eacfa4ae2d8fed2a7f2105777af89acdc204df145d2bbbc380ac631b + md5: adba2e334082bb218db806d4c12277c9 depends: - - python >=3.12,<3.13.0a0 - - python_abi 3.12.* *_cp312 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - purls: - - pkg:pypi/tornado?source=hash-mapping - size: 859726 - timestamp: 1774358173994 -- conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - sha256: 3005729dce6f3d3f5ec91dfc49fc75a0095f9cd23bab49efb899657297ac91a5 - md5: 71b24316859acd00bdb8b38f5e2ce328 - constrains: - - vc14_runtime >=14.29.30037 - - vs2015_runtime >=14.29.30037 - license: LicenseRef-MicrosoftWindowsSDK10 - purls: [] - run_exports: {} - size: 694692 - timestamp: 1756385147981 -- conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.11.29-h7ca4a90_0.conda - sha256: 2275f79774c48a0bdb97f7ec7a75ed66d5fbbc8b1cca22d9be74a0dcab046189 - md5: 6e29fdc78a0e55d92d2d38b2b3149735 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + license: MIT + license_family: MIT + size: 47717 + timestamp: 1779111857071 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.3-he30d5cf_0.conda + sha256: 0c1c7b39763469cfe0e9c6d0f9a39415321f477710719f4c5d63c61ea270271c + md5: f8ad5777ecc217d383a722598dbeb1ac depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: Apache-2.0 OR MIT - run_exports: {} - size: 21860770 - timestamp: 1784166533243 -- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h2b53caa_32.conda - sha256: 82250af59af9ff3c6a635dd4c4764c631d854feb334d6747d356d949af44d7cf - md5: ef02bbe151253a72b8eda264a935db66 - depends: - - vc14_runtime >=14.42.34433 - track_features: - - vc14 - license: BSD-3-Clause - license_family: BSD - size: 18861 - timestamp: 1760418772353 -- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda - sha256: 9dc40c2610a6e6727d635c62cced5ef30b7b30123f5ef67d6139e23d21744b3a - md5: 1e610f2416b6acdd231c5f573d754a0f + - libgcc >=14 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + license: MIT + license_family: MIT + size: 49292 + timestamp: 1779113229775 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda + sha256: 80ed047a5cb30632c3dc5804c7716131d767089f65877813d4ae855ee5c9d343 + md5: e192019153591938acf7322b6459d36e depends: - - vc14_runtime >=14.44.35208 - track_features: - - vc14 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 19356 - timestamp: 1767320221521 -- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda - sha256: 17693b60cb54f80c60275f003f3bfc1b128af56dbfd65c4fae37c64eeb755ce1 - md5: 2eacea63f545b97342da520df6854276 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: MIT + license_family: MIT + size: 30456 + timestamp: 1769445263457 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda + sha256: 9f5196665a8d72f4f119c40dcc4bafeb0b540b102cc7b8b299c2abf599e7919f + md5: 1f64c613f0b8d67e9fb0e165d898fb6b depends: - - vc14_runtime >=14.51.36231 - track_features: - - vc14 - license: BSD-3-Clause - license_family: BSD - run_exports: {} - size: 20362 - timestamp: 1781320968457 -- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_32.conda - sha256: e3a3656b70d1202e0d042811ceb743bd0d9f7e00e2acdf824d231b044ef6c0fd - md5: 378d5dcec45eaea8d303da6f00447ac0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: MIT + license_family: MIT + size: 31122 + timestamp: 1769445286951 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda + sha256: 044c7b3153c224c6cedd4484dd91b389d2d7fd9c776ad0f4a34f099b3389f4a1 + md5: 96d57aba173e878a2089d5638016dc5e depends: - - ucrt >=10.0.20348.0 - - vcomp14 14.44.35208 h818238b_32 - constrains: - - vs2015_runtime 14.44.35208.* *_32 - license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime - license_family: Proprietary - size: 682706 - timestamp: 1760418629729 -- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda - sha256: 02732f953292cce179de9b633e74928037fa3741eb5ef91c3f8bae4f761d32a5 - md5: 37eb311485d2d8b2c419449582046a42 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + size: 33005 + timestamp: 1734229037766 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda + sha256: ffd77ee860c9635a28cfda46163dcfe9224dc6248c62404c544ae6b564a0be1f + md5: ae2c2dd0e2d38d249887727db2af960e depends: - - ucrt >=10.0.20348.0 - - vcomp14 14.44.35208 h818238b_34 - constrains: - - vs2015_runtime 14.44.35208.* *_34 - license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime - license_family: Proprietary - purls: [] - size: 683233 - timestamp: 1767320219644 -- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda - sha256: 8153ed849c92e891eacac0f2f8d7ecb79f9b5fd7f7917fbb896f252a60a40390 - md5: 06a5bf5a1ca16cce0df6eaa91fc42bc2 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + size: 33649 + timestamp: 1734229123157 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda + sha256: 58e8fc1687534124832d22e102f098b5401173212ac69eb9fd96b16a3e2c8cb2 + md5: 303f7a0e9e0cd7d250bb6b952cecda90 depends: - - ucrt >=10.0.20348.0 - - vcomp14 14.51.36231 h1b9f54f_39 - constrains: - - vs2015_runtime 14.51.36231.* *_39 - license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime - license_family: Proprietary - run_exports: {} - size: 737434 - timestamp: 1781320964561 -- conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_32.conda - sha256: f3790c88fbbdc55874f41de81a4237b1b91eab75e05d0e58661518ff04d2a8a1 - md5: 58f67b437acbf2764317ba273d731f1d + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: MIT + license_family: MIT + size: 14412 + timestamp: 1727899730073 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxscrnsaver-1.2.4-h86ecc28_0.conda + sha256: ab88b1533e7498baeb00cbda50c899a6fe73eaee14df32c57b8ad3f2a0b3cc26 + md5: 7a0a04defd4399a93936f06fcfac5531 depends: - - ucrt >=10.0.20348.0 - constrains: - - vs2015_runtime 14.44.35208.* *_32 - license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime - license_family: Proprietary - size: 114846 - timestamp: 1760418593847 -- conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda - sha256: 878d5d10318b119bd98ed3ed874bd467acbe21996e1d81597a1dbf8030ea0ce6 - md5: 242d9f25d2ae60c76b38a5e42858e51d + - libgcc >=13 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: MIT + license_family: MIT + size: 15720 + timestamp: 1750007336692 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + sha256: 752fdaac5d58ed863bbf685bb6f98092fe1a488ea8ebb7ed7b606ccfce08637a + md5: 7bbe9a0cc0df0ac5f5a8ad6d6a11af2f depends: - - ucrt >=10.0.20348.0 - constrains: - - vs2015_runtime 14.44.35208.* *_34 - license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime - license_family: Proprietary - purls: [] - size: 115235 - timestamp: 1767320173250 -- conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda - sha256: 07fb14713c4bc62e2533a2e23a363abfb0e65650681fba0ae4c840e2219350f3 - md5: 8b53a83fda40ec679e4d63fa32fae989 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxi >=1.7.10,<2.0a0 + license: MIT + license_family: MIT + size: 32808 + timestamp: 1727964811275 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda + sha256: 6eaffce5a34fc0a16a21ddeaefb597e792a263b1b0c387c1ce46b0a967d558e1 + md5: c05698071b5c8e0da82a282085845860 depends: - - ucrt >=10.0.20348.0 - constrains: - - vs2015_runtime 14.51.36231.* *_39 - license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime - license_family: Proprietary - run_exports: - strong: - - vcomp14 >=14.51.36231 - size: 120684 - timestamp: 1781320948530 -- conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_32.conda - sha256: 65cea43f4de99bc81d589e746c538908b2e95aead9042fecfbc56a4d14684a87 - md5: dfc1e5bbf1ecb0024a78e4e8bd45239d + - libgcc >=13 + - xorg-libx11 >=1.8.9,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxi >=1.7.10,<2.0a0 + license: MIT + license_family: MIT + size: 33786 + timestamp: 1727964907993 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxxf86vm-1.1.7-hb03c661_0.conda + sha256: 64db17baaf36fa03ed8fae105e2e671a7383e22df4077486646f7dbf12842c9f + md5: 665d152b9c6e78da404086088077c844 depends: - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - size: 18919 - timestamp: 1760418632059 -- conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_34.conda - sha256: 63ff4ec6e5833f768d402f5e95e03497ce211ded5b6f492e660e2bfc726ad24d - md5: f276d1de4553e8fca1dfb6988551ebb4 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: MIT + license_family: MIT + size: 18701 + timestamp: 1769434732453 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxxf86vm-1.1.7-he30d5cf_0.conda + sha256: 6f6f2b32754e09c2334e067ba5d2d38715f2432cd9fb41d6f66de0591f8f4f94 + md5: b15ca02584678f38df6e114c32f93959 depends: - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - size: 19347 - timestamp: 1767320221943 -- conda: https://conda.anaconda.org/conda-forge/win-64/vs2022_win-64-19.44.35207-ha74f236_39.conda - sha256: 434b4f517b7119675930d17749bf123558271f3f316b217f7ac759e6d7121e9d - md5: 59f1d09ae752b761542975d7b6ad1b89 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: MIT + license_family: MIT + size: 19148 + timestamp: 1769434729220 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hb03c661_0.conda + sha256: 7a8c64938428c2bfd016359f9cb3c44f94acc256c6167dbdade9f2a1f5ca7a36 + md5: aa8d21be4b461ce612d8f5fb791decae depends: - - vswhere - constrains: - - vs_win-64 2022.14 - track_features: - - vc14 - license: BSD-3-Clause - license_family: BSD - run_exports: - strong: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - size: 24190 - timestamp: 1781320983107 -- conda: https://conda.anaconda.org/conda-forge/win-64/x264-1!164.3095-h8ffe710_2.tar.bz2 - sha256: 97166b318f8c68ffe4d50b2f4bd36e415219eeaef233e7d41c54244dc6108249 - md5: 19e39905184459760ccb8cf5c75f148b + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + size: 570010 + timestamp: 1766154256151 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-xorgproto-2025.1-he30d5cf_0.conda + sha256: d8a7593362562f66bab992901df6cdc845c6004d15c1ba2d1e3e39e4e4672384 + md5: 999d230bcb0329c11d101118ace392d9 depends: - - vc >=14.1,<15 - - vs2015_runtime >=14.16.27033 - license: GPL-2.0-or-later - license_family: GPL - size: 1041889 - timestamp: 1660323726084 -- conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 - sha256: 02b9874049112f2b7335c9a3e880ac05d99a08d9a98160c5a98898b2b3ac42b2 - md5: ca7129a334198f08347fb19ac98a2de9 + - libgcc >=14 + license: MIT + license_family: MIT + size: 569539 + timestamp: 1766155414260 +- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + sha256: 6d9ea2f731e284e9316d95fa61869fe7bbba33df7929f82693c121022810f4ad + md5: a77f85f77be52ff59391544bfe73390a depends: - - vc >=14.1,<15 - - vs2015_runtime >=14.16.27033 - license: GPL-2.0-or-later - license_family: GPL - size: 5517425 - timestamp: 1646611941216 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MIT + license_family: MIT + purls: [] + size: 85189 + timestamp: 1753484064210 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h80f16a2_3.conda + sha256: 66265e943f32ce02396ad214e27cb35f5b0490b3bd4f064446390f9d67fa5d88 + md5: 032d8030e4a24fe1f72c74423a46fb88 + depends: + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 88088 + timestamp: 1753484092643 - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda sha256: 80ee68c1e7683a35295232ea79bcc87279d31ffeda04a1665efdb43cbd50a309 md5: 433699cba6602098ae8957a323da2664 @@ -16386,709 +13234,134 @@ packages: purls: [] size: 63944 timestamp: 1753484092156 -- conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h507cc87_10.conda - sha256: b8568dfde46edf3455458912ea6ffb760e4456db8230a0cf34ecbc557d3c275f - md5: 1ab0237036bfb14e923d6107473b0021 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h09e67af_11.conda + sha256: dc9f28dedcb5f35a127fad2d847674d2833369dd616d294e423b8997df31d8a8 + md5: 96b08867e21d4694fa5c2c226e6581b0 depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libsodium >=1.0.21,<1.0.22.0a0 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 - krb5 >=1.22.2,<1.23.0a0 + - libsodium >=1.0.22,<1.0.23.0a0 license: MPL-2.0 license_family: MOZILLA purls: [] - size: 265665 - timestamp: 1772476832995 -- conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - sha256: 368d8628424966fd8f9c8018326a9c779e06913dd39e646cf331226acc90e5b2 - md5: 053b84beec00b71ea8ff7a4f84b55207 + size: 311184 + timestamp: 1779123989774 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-hec9560f_11.conda + sha256: 134bceda31df1ad0dbadb61dd30e7254f5eab398288fcdd8b070946130533b5a + md5: 1ae4f546793d83754d79a43a38154746 + depends: + - libstdcxx >=14 + - libgcc >=14 + - krb5 >=1.22.2,<1.23.0a0 + - libsodium >=1.0.22,<1.0.23.0a0 + license: MPL-2.0 + license_family: MOZILLA + purls: [] + size: 355573 + timestamp: 1779123980042 +- conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_11.conda + sha256: c3e279cb309b153152fcdd6ee6d039ad996d563c849f06be39d85b8e3351df25 + md5: f016c0c5f9c01549b259146614786192 depends: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD + - libsodium >=1.0.22,<1.0.23.0a0 + - krb5 >=1.22.2,<1.23.0a0 + license: MPL-2.0 + license_family: MOZILLA purls: [] - run_exports: - weak: - - zstd >=1.5.7,<1.6.0a0 - size: 388453 - timestamp: 1764777142545 -- conda_source: cuda-bindings[04818863] @ . - variants: - c_stdlib: sysroot - c_stdlib_version: '2.28' - cuda_version: 12.* - python: 3.14.* - target_platform: linux-64 + size: 265717 + timestamp: 1779124031378 +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + sha256: 210bd31c22bb88f5e2a167df24c95bb5f152b2ada7502f9b8c49d1f5366db423 + md5: ba3dcdc8584155c97c648ae9c044b7a3 depends: - - python - python >=3.10 - - cuda-version - - cuda-pathfinder - - libnvjitlink - - cuda-nvrtc - - cuda-nvrtc >=12.9.86,<13.0a0 - - cuda-nvvm - - libnvfatbin - - libcufile - - libcufile >=1.14.1.1,<2.0a0 - - libgcc >=15 - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - source_depends: - cuda-pathfinder: - path: ../cuda_pathfinder - build_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-15.2.0-h7be306e_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-15.2.0-hcb00b6d_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-12.9.79-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-12.9.79-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-12.9.79-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-12.9.86-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-12.9.86-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-12.9.86-h69a702a_6.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-12.9.86-h4bc722e_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-12.9.86-h4bc722e_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-12.9.79-h7938cbb_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.14.1.1-hbc026e6_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-dev-1.14.1.1-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.11.29-h2112641_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-12.9.27-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-12.9.86-ha770c72_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-12.9.79-h3f2d84a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-12.9.79-h3f2d84a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-12.9.79-h3f2d84a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-12.9.86-ha770c72_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda_source: cuda-pathfinder[83159de6] @ ../cuda_pathfinder -- conda_source: cuda-bindings[341f49d8] @ . - variants: - c_compiler: vs2022 - cuda_version: 12.* - cxx_compiler: vs2022 - python: 3.14.* - target_platform: win-64 - depends: - python - - python >=3.10 - - cuda-version - - cuda-pathfinder - - libnvjitlink - - cuda-nvrtc - - cuda-nvrtc >=12.9.86,<13.0a0 - - cuda-nvvm - - libnvfatbin + license: MIT + license_family: MIT + purls: + - pkg:pypi/zipp?source=compressed-mapping + size: 24190 + timestamp: 1779159948016 +- conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda + sha256: ef408f85f664a4b9c9dac3cb2e36154d9baa15a88984ea800e11060e0f2394a1 + md5: 5187ecf958be3c39110fe691cbd6873e + depends: + - libzlib 1.3.2 hfd05255_2 + - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - source_depends: - cuda-pathfinder: - path: ../cuda_pathfinder - build_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2022_win-64-19.44.35207-ha74f236_39.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-12.9.27-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-12.9.86-h57928b3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-12.9.86-h57928b3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-12.9.86-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-12.9.86-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-12.9.86-h719f0c7_6.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-12.9.86-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-12.9.86-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-12.9.79-h57928b3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.11.29-h7ca4a90_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - - conda_source: cuda-pathfinder[169735b8] @ ../cuda_pathfinder -- conda_source: cuda-bindings[5987685b] @ . - variants: - c_stdlib: sysroot - c_stdlib_version: '2.28' - cuda_version: 13.3.* - python: 3.14.* - target_platform: linux-64 + license: Zlib + license_family: Other + size: 850351 + timestamp: 1774072891049 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hceb46e0_1.conda + sha256: ea4e50c465d70236408cb0bfe0115609fd14db1adcd8bd30d8918e0291f8a75f + md5: 2aadb0d17215603a82a2a6b0afd9a4cb depends: - - python - - python >=3.10 - - cuda-version - - cuda-pathfinder - - libnvjitlink - - cuda-nvrtc - - cuda-nvrtc >=13.3.33,<14.0a0 - - cuda-nvvm - - libnvfatbin - - libcufile - - libcufile >=1.18.1.6,<2.0a0 - - libgcc >=15 - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - source_depends: - cuda-pathfinder: - path: ../cuda_pathfinder - build_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-15.2.0-h7be306e_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-15.2.0-hcb00b6d_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.73-h69a702a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.73-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-13.3.27-h7938cbb_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-dev-1.18.1.6-h676940d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.11.29-h2112641_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.73-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda_source: cuda-pathfinder[83159de6] @ ../cuda_pathfinder -- conda_source: cuda-bindings[748b2e6f] @ . - variants: - c_stdlib: sysroot - c_stdlib_version: '2.28' - cuda_version: 12.* - python: 3.14.* - target_platform: linux-aarch64 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: Zlib + license_family: Other + size: 122618 + timestamp: 1770167931827 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zlib-ng-2.3.3-ha7cb516_1.conda + sha256: 638a3a41a4fbfed52d3c60c8ef5a3693b3f12a5b1a3f58fa29f5698d0a0702e2 + md5: f731af71c723065d91b4c01bb822641b depends: - - python - - python >=3.10 - - cuda-version - - cuda-pathfinder - - libnvjitlink - - cuda-nvrtc - - cuda-nvrtc >=12.9.86,<13.0a0 - - cuda-nvvm - - libnvfatbin - - libcufile - - libcufile >=1.14.1.1,<2.0a0 - - libgcc >=15 - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - source_depends: - cuda-pathfinder: - path: ../cuda_pathfinder - build_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_linux-aarch64-2.46.1-default_hf1166c9_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_linux-aarch64-15.2.0-h0bf4bd8_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_linux-aarch64-15.2.0-h7e4acf5_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-12.9.86-h8f3c8d4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-12.9.86-h8f3c8d4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-12.9.86-he9431aa_106.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-12.9.86-h7b14b0b_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-12.9.86-h7b14b0b_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-12.9.79-h16bee8c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.14.1.1-had8bf56_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-dev-1.14.1.1-he38c790_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/uv-0.11.29-hbe9c82f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-12.9.27-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda_source: cuda-pathfinder[4dfff30f] @ ../cuda_pathfinder -- conda_source: cuda-bindings[8de8dc46] @ . - variants: - c_compiler: vs2022 - cuda_version: 13.3.* - cxx_compiler: vs2022 - python: 3.14.* - target_platform: win-64 + - libgcc >=14 + - libstdcxx >=14 + license: Zlib + license_family: Other + size: 121046 + timestamp: 1770167944449 +- conda: https://conda.anaconda.org/conda-forge/win-64/zlib-ng-2.3.3-h0261ad2_1.conda + sha256: 71332532332d13b5dbe57074ddcf82ae711bdc132affa5a2982a29ffa06dc234 + md5: 46a21c0a4e65f1a135251fc7c8663f83 depends: - - python - - python >=3.10 - - cuda-version - - cuda-pathfinder - - libnvjitlink - - cuda-nvrtc - - cuda-nvrtc >=13.3.33,<14.0a0 - - cuda-nvvm - - libnvfatbin + - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - source_depends: - cuda-pathfinder: - path: ../cuda_pathfinder - build_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2022_win-64-19.44.35207-ha74f236_39.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.4.1-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.73-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.73-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.73-h719f0c7_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.73-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-13.3.27-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.11.29-h7ca4a90_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - - conda_source: cuda-pathfinder[169735b8] @ ../cuda_pathfinder -- conda_source: cuda-bindings[d33f8c8b] @ . - variants: - c_stdlib: sysroot - c_stdlib_version: '2.28' - cuda_version: 13.3.* - python: 3.14.* - target_platform: linux-aarch64 - depends: - - python - - python >=3.10 - - cuda-version - - cuda-pathfinder - - libnvjitlink - - cuda-nvrtc - - cuda-nvrtc >=13.3.33,<14.0a0 - - cuda-nvvm - - libnvfatbin - - libcufile - - libcufile >=1.18.1.6,<2.0a0 - - libgcc >=15 - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - source_depends: - cuda-pathfinder: - path: ../cuda_pathfinder - build_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_linux-aarch64-2.46.1-default_hf1166c9_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_linux-aarch64-15.2.0-h0bf4bd8_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_linux-aarch64-15.2.0-h7e4acf5_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.73-he9431aa_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.73-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-13.3.27-h16bee8c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-dev-1.18.1.6-he38c790_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/uv-0.11.29-hbe9c82f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.4.1-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda_source: cuda-pathfinder[4dfff30f] @ ../cuda_pathfinder -- conda_source: cuda-pathfinder[169735b8] @ ../cuda_pathfinder - variants: - target_platform: noarch + license: Zlib + license_family: Other + size: 124542 + timestamp: 1770167984883 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 + md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 depends: - - python >=3.10 - - python * - license: Apache-2.0 - host_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.11.29-h7ca4a90_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda -- conda_source: cuda-pathfinder[4dfff30f] @ ../cuda_pathfinder - variants: - target_platform: noarch + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 601375 + timestamp: 1764777111296 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda + sha256: 569990cf12e46f9df540275146da567d9c618c1e9c7a0bc9d9cfefadaed20b75 + md5: c3655f82dcea2aa179b291e7099c1fcc depends: - - python >=3.10 - - python * - license: Apache-2.0 - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/uv-0.11.29-hbe9c82f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda -- conda_source: cuda-pathfinder[83159de6] @ ../cuda_pathfinder - variants: - target_platform: noarch + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 614429 + timestamp: 1764777145593 +- conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda + sha256: 368d8628424966fd8f9c8018326a9c779e06913dd39e646cf331226acc90e5b2 + md5: 053b84beec00b71ea8ff7a4f84b55207 depends: - - python >=3.10 - - python * - license: Apache-2.0 - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.11.29-h2112641_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda -- pypi: https://files.pythonhosted.org/packages/8c/79/017fab2f7167a9a9795665f894d04f77aafceca80821b51589bb4b23ff5c/nvidia_sphinx_theme-0.0.9.post1-py3-none-any.whl - name: nvidia-sphinx-theme - version: 0.0.9.post1 - sha256: 21ca60206dff2f380d7783d64bbaf71a5b9cacae53c7d0686f089c16b5a3d45a - requires_dist: - - sphinx>=7.1 - - pydata-sphinx-theme>=0.15 - requires_python: '>=3.10' + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 388453 + timestamp: 1764777142545 diff --git a/cuda_bindings/pixi.toml b/cuda_bindings/pixi.toml index 943d57e11bb..64130a6dd7d 100644 --- a/cuda_bindings/pixi.toml +++ b/cuda_bindings/pixi.toml @@ -20,6 +20,9 @@ pytest-randomly = "*" pytest-repeat = "*" pyglet = ">=2.1.9" numpy = "*" +packaging = "*" +tomli = "*" +matplotlib = "*" # Keep this dependency set aligned with cuda_python/docs/environment-docs.yml. [feature.docs.dependencies] @@ -87,7 +90,7 @@ nvidia-sphinx-theme = "*" # TODO: check if these can be extracted from pyproject.toml [package] name = "cuda-bindings" -version = "13.2.0" +version = "13.3.1" [package.build] backend = { name = "pixi-build-python", version = "*" } @@ -176,3 +179,14 @@ cmd = [ "norecursedirs=examples", # include cython tests (ignore by default config) ] depends-on = [{ task = "build-cython-tests" }] + +[tasks.test-samples] +cmd = [ + "pytest", + "-rxXs", + "-v", + "--confcutdir", + "$PIXI_PROJECT_ROOT/tests/example_tests", + "$PIXI_PROJECT_ROOT/tests/example_tests", +] +default-environment = "cu13" diff --git a/cuda_bindings/pyproject.toml b/cuda_bindings/pyproject.toml index 9744a0a009b..7ab808044d4 100644 --- a/cuda_bindings/pyproject.toml +++ b/cuda_bindings/pyproject.toml @@ -54,6 +54,8 @@ test = [ "pytest-repeat==0.9.4", "pytest-randomly==4.1.0", "pyglet==2.1.14", + "packaging>=24", + "tomli>=2; python_version < '3.11'", ] [project.urls] @@ -94,6 +96,8 @@ xfail_strict = true # Keep this authorship marker registry in sync across all pytest config roots. # Search for "agent_authored(model)" before editing. markers = [ + "samples: tests for cuda.bindings standalone samples", + "parallel_threads_limit: maximum threads for pytest-run-parallel", "agent_authored(model): agent-authored test not yet materially human-reviewed", "human_reviewed: agent-authored test materially reviewed or rewritten by a human", "human_authored: test authored primarily by a human", diff --git a/cuda_bindings/tests/example_tests/run_samples.py b/cuda_bindings/tests/example_tests/run_samples.py new file mode 100644 index 00000000000..67c2c1bfcf1 --- /dev/null +++ b/cuda_bindings/tests/example_tests/run_samples.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +"""cuda.bindings defaults for the shared sample runner.""" + +from __future__ import annotations + +import sys +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parents[3] +_TEST_HELPERS_ROOT = REPO_ROOT / "cuda_python_test_helpers" +if str(_TEST_HELPERS_ROOT) not in sys.path: + sys.path.insert(0, str(_TEST_HELPERS_ROOT)) + +from cuda_python_test_helpers import sample_runner as _runner + +DEFAULT_CONFIG = Path(__file__).resolve().parent / "test_args.json" +DEFAULT_SAMPLES_DIR = REPO_ROOT / "samples" / "cuda_bindings" +SAMPLE_NAMESPACE = "cuda_bindings" + +build_run_plan = _runner.build_run_plan +collect_sample_entries = _runner.collect_sample_entries +get_gpu_count = _runner.get_gpu_count +load_config = _runner.load_config +run_sample = _runner.run_sample + + +def main(argv: list[str] | None = None) -> int: + return _runner.main( + argv, + default_samples_dir=DEFAULT_SAMPLES_DIR, + default_config=DEFAULT_CONFIG, + namespace=SAMPLE_NAMESPACE, + ) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/cuda_bindings/tests/example_tests/test_args.json b/cuda_bindings/tests/example_tests/test_args.json new file mode 100644 index 00000000000..a0e2f2da8dd --- /dev/null +++ b/cuda_bindings/tests/example_tests/test_args.json @@ -0,0 +1,8 @@ +{ + "cuda_bindings/extra/isoFdModelling": { + "min_gpus": 2, + "python": { + "args": ["--no-display"] + } + } +} diff --git a/cuda_bindings/tests/example_tests/test_cuda_bindings_utils.py b/cuda_bindings/tests/example_tests/test_cuda_bindings_utils.py new file mode 100644 index 00000000000..81f581cf619 --- /dev/null +++ b/cuda_bindings/tests/example_tests/test_cuda_bindings_utils.py @@ -0,0 +1,99 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +"""Unit tests for the shared cuda.bindings sample helpers.""" + +from __future__ import annotations + +import sys +from pathlib import Path + +import pytest + +_UTILITIES_DIR = Path(__file__).resolve().parents[3] / "samples" / "cuda_bindings" / "Utilities" +sys.path.insert(0, str(_UTILITIES_DIR)) + +from cuda_bindings_utils import ( + WAIVER_EXIT_CODE_ENV, + check_cmd_line_flag, + get_cmd_line_argument_int, + requirement_not_met, +) + + +@pytest.mark.parametrize( + "argument, flag, expected", + ( + ("--device=3", "device=", 3), + ("device=3", "device=", 3), + ("--kernel=7", "kernel=", 7), + ("kernel=7", "kernel=", 7), + ), +) +@pytest.mark.agent_authored(model="gpt-5") +def test_value_flag_accepts_documented_and_legacy_forms( + monkeypatch: pytest.MonkeyPatch, argument: str, flag: str, expected: int +) -> None: + monkeypatch.setattr(sys, "argv", ["sample.py", argument]) + + assert check_cmd_line_flag(flag) + assert get_cmd_line_argument_int(flag) == expected + + +@pytest.mark.agent_authored(model="gpt-5") +def test_flag_parameter_accepts_leading_dashes(monkeypatch: pytest.MonkeyPatch) -> None: + monkeypatch.setattr(sys, "argv", ["sample.py", "--device=4"]) + + assert check_cmd_line_flag("--device=") + assert get_cmd_line_argument_int("--device=") == 4 + + +@pytest.mark.agent_authored(model="gpt-5") +def test_bare_flag_accepts_documented_and_legacy_forms(monkeypatch: pytest.MonkeyPatch) -> None: + monkeypatch.setattr(sys, "argv", ["sample.py", "--help", "?"]) + + assert check_cmd_line_flag("help") + assert check_cmd_line_flag("?") + + +@pytest.mark.agent_authored(model="gpt-5") +def test_flags_do_not_match_option_prefixes(monkeypatch: pytest.MonkeyPatch) -> None: + monkeypatch.setattr(sys, "argv", ["sample.py", "--device-name=3", "--helpful"]) + + assert not check_cmd_line_flag("device=") + assert not check_cmd_line_flag("help") + assert get_cmd_line_argument_int("device=") == 0 + + +@pytest.mark.parametrize("argument", ("--device=", "--device=invalid")) +@pytest.mark.agent_authored(model="gpt-5") +def test_invalid_integer_value_preserves_zero_default(monkeypatch: pytest.MonkeyPatch, argument: str) -> None: + monkeypatch.setattr(sys, "argv", ["sample.py", argument]) + + assert check_cmd_line_flag("device=") + assert get_cmd_line_argument_int("device=") == 0 + + +@pytest.mark.agent_authored(model="gpt-5") +def test_requirement_not_met_uses_standalone_waiver_code( + monkeypatch: pytest.MonkeyPatch, capsys: pytest.CaptureFixture[str] +) -> None: + monkeypatch.delenv(WAIVER_EXIT_CODE_ENV, raising=False) + + with pytest.raises(SystemExit) as exc_info: + requirement_not_met("unsupported configuration") + + assert exc_info.value.code == 2 + assert capsys.readouterr().err == "unsupported configuration\n" + + +@pytest.mark.agent_authored(model="gpt-5") +def test_requirement_not_met_uses_negotiated_waiver_code( + monkeypatch: pytest.MonkeyPatch, capsys: pytest.CaptureFixture[str] +) -> None: + monkeypatch.setenv(WAIVER_EXIT_CODE_ENV, "77") + + with pytest.raises(SystemExit) as exc_info: + requirement_not_met("unsupported configuration") + + assert exc_info.value.code == 77 + assert capsys.readouterr().err == "unsupported configuration\n" diff --git a/cuda_bindings/tests/example_tests/test_interactive_sample_configuration.py b/cuda_bindings/tests/example_tests/test_interactive_sample_configuration.py new file mode 100644 index 00000000000..37975e9f724 --- /dev/null +++ b/cuda_bindings/tests/example_tests/test_interactive_sample_configuration.py @@ -0,0 +1,39 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +import json +import subprocess +import sys +from pathlib import Path + +import pytest + +REPO_ROOT = Path(__file__).resolve().parents[3] +CONFIG_PATH = Path(__file__).with_name("test_args.json") +SAMPLE_KEY = "cuda_bindings/extra/isoFdModelling" + + +@pytest.mark.agent_authored(model="gpt-5") +def test_iso_fd_modelling_exposes_no_display_option() -> None: + sample = REPO_ROOT / "samples" / "cuda_bindings" / "extra" / "isoFdModelling" / "isoFdModelling.py" + + result = subprocess.run( # noqa: S603 - executes a repository-owned sample + [sys.executable, str(sample), "--help"], + check=False, + capture_output=True, + text=True, + timeout=10, + ) + + assert result.returncode == 0, result.stderr + assert "--no-display" in result.stdout + + +@pytest.mark.agent_authored(model="gpt-5") +def test_iso_fd_modelling_has_headless_test_configuration() -> None: + config = json.loads(CONFIG_PATH.read_text(encoding="utf-8")) + + assert config[SAMPLE_KEY]["min_gpus"] == 2 + assert config[SAMPLE_KEY]["python"]["args"] == ["--no-display"] diff --git a/cuda_bindings/tests/example_tests/test_samples.py b/cuda_bindings/tests/example_tests/test_samples.py new file mode 100644 index 00000000000..d47b425f5f0 --- /dev/null +++ b/cuda_bindings/tests/example_tests/test_samples.py @@ -0,0 +1,54 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +"""Run the samples owned by cuda.bindings as part of its test suite.""" + +from __future__ import annotations + +import os +import sys + +import pytest +from run_samples import ( + DEFAULT_CONFIG, + DEFAULT_SAMPLES_DIR, + SAMPLE_NAMESPACE, + build_run_plan, + collect_sample_entries, + get_gpu_count, + load_config, + run_sample, +) + +_ENTRIES = collect_sample_entries(DEFAULT_SAMPLES_DIR, SAMPLE_NAMESPACE) +_SAMPLES = sorted(_ENTRIES) +_CONFIG = load_config(DEFAULT_CONFIG) +_GPU_COUNT = get_gpu_count() if _SAMPLES else 0 +_CUDA_12_PIXI_ENV = os.environ.get("PIXI_ENVIRONMENT_NAME") == "cu12" + + +@pytest.mark.parallel_threads_limit(1) +@pytest.mark.parametrize("sample_key", _SAMPLES) +@pytest.mark.samples +@pytest.mark.skipif( + _CUDA_12_PIXI_ENV, + reason="cuda.bindings samples require cuda-python 13 or newer", +) +@pytest.mark.agent_authored(model="gpt-5") +def test_sample(sample_key: str) -> None: + if _GPU_COUNT == 0: + pytest.skip("No CUDA GPU detected on the test runner") + + entry = _ENTRIES.get(sample_key) + if entry is None or not entry.is_file(): + pytest.fail(f"Sample entrypoint missing: {sample_key}") + + plan = build_run_plan(entry, _CONFIG, _GPU_COUNT, sample_key=sample_key) + result = run_sample(plan) + + if result.status == "WAIVED": + pytest.skip(result.detail or "sample waived") + if result.status == "PASS": + return + + sys.stdout.flush() + pytest.fail(f"sample {sample_key} returned status={result.status} (rc={result.return_code}): {result.detail}") diff --git a/cuda_bindings/tests/test_examples.py b/cuda_bindings/tests/test_examples.py deleted file mode 100644 index 63a56c78fb7..00000000000 --- a/cuda_bindings/tests/test_examples.py +++ /dev/null @@ -1,33 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -import glob -import os -import subprocess -import sys - -import pytest - -from cuda.bindings._test_helpers.pep723 import has_package_requirements_or_skip - -examples_path = os.path.join(os.path.dirname(__file__), "..", "examples") -examples_files = glob.glob(os.path.join(examples_path, "**/*.py"), recursive=True) - - -@pytest.mark.parametrize("example", examples_files) -def test_example(example): - has_package_requirements_or_skip(example) - - env = os.environ.copy() - env["CUDA_BINDINGS_SKIP_EXAMPLE"] = "100" - - process = subprocess.run([sys.executable, example], capture_output=True, env=env) # noqa: S603 - # returncode is a special value used in the examples to indicate that system requirements are not met. - if process.returncode == 100: - pytest.skip(process.stderr.decode(errors="replace").strip()) - elif process.returncode != 0: - if process.stdout: - print(process.stdout.decode(errors="replace")) - if process.stderr: - print(process.stderr.decode(errors="replace"), file=sys.stderr) - raise AssertionError(f"`{example}` failed ({process.returncode})") diff --git a/cuda_core/AGENTS.md b/cuda_core/AGENTS.md index 83c96800e9d..fcd011ba46d 100644 --- a/cuda_core/AGENTS.md +++ b/cuda_core/AGENTS.md @@ -38,7 +38,7 @@ This file describes `cuda_core`, the high-level Pythonic CUDA subpackage in the - **Cython tests**: - build: `tests/cython/build_tests.sh` (or platform equivalent) - run: `pytest tests/cython/` -- **Examples**: validate affected examples in `examples/` when changing user +- **Samples**: validate affected samples in `../samples/cuda_core/` when changing user workflows or public APIs. ## Runtime/build environment notes @@ -54,7 +54,7 @@ This file describes `cuda_core`, the high-level Pythonic CUDA subpackage in the ## Editing guidance -- Keep user-facing behaviors coherent with docs and examples, especially around +- Keep user-facing behaviors coherent with docs and samples, especially around stream semantics, memory ownership, and compile/link flows. - Reuse existing shared utilities in `cuda/core/_utils/` before adding new helpers. diff --git a/cuda_core/DESCRIPTION.rst b/cuda_core/DESCRIPTION.rst index 148648cfef9..0d725a2520a 100644 --- a/cuda_core/DESCRIPTION.rst +++ b/cuda_core/DESCRIPTION.rst @@ -13,7 +13,7 @@ cuda-core: Pythonic access to CUDA core functionalities * `Repository `_ * `Documentation `_ -* `Examples `_ +* `Examples `_ * `Issue tracker `_ ``cuda.core`` is currently under active development. Feedback and suggestions are welcome! diff --git a/cuda_core/docs/source/10_minutes_to_cuda_core.rst b/cuda_core/docs/source/10_minutes_to_cuda_core.rst index b689163d995..33bc5214f6b 100644 --- a/cuda_core/docs/source/10_minutes_to_cuda_core.rst +++ b/cuda_core/docs/source/10_minutes_to_cuda_core.rst @@ -310,7 +310,7 @@ operations into the *builder* instead of the stream, then complete the graph. graph.launch(stream) # replay the whole graph in one shot stream.sync() -See :cuda-core-example:`cuda_graphs.py ` +See :sample-file:`cudaGraphs.py ` for a complete capture-and-replay example with a measured speedup. Beyond the stream capture shown here, ``cuda.core`` also provides an explicit diff --git a/cuda_core/docs/source/conf.py b/cuda_core/docs/source/conf.py index 451eb8b4453..4930fecc7e4 100644 --- a/cuda_core/docs/source/conf.py +++ b/cuda_core/docs/source/conf.py @@ -121,12 +121,25 @@ def _html_baseurl(): copybutton_exclude = ".linenos, .gp" extlinks = { + # Historical release notes use this role to link into pre-migration tags. "cuda-core-example": ( f"https://github.com/NVIDIA/cuda-python/blob/{GITHUB_EXAMPLES_REF}/cuda_core/examples/%s", "%s", ), "cuda-core-examples": ( - f"https://github.com/NVIDIA/cuda-python/tree/{GITHUB_EXAMPLES_REF}/cuda_core/examples%s", + f"https://github.com/NVIDIA/cuda-python/tree/{GITHUB_EXAMPLES_REF}/samples/cuda_core%s", + "%s", + ), + "sample": ( + f"https://github.com/NVIDIA/cuda-python/tree/{GITHUB_EXAMPLES_REF}/samples/cuda_core/%s", + "%s", + ), + "sample-file": ( + f"https://github.com/NVIDIA/cuda-python/blob/{GITHUB_EXAMPLES_REF}/samples/cuda_core/%s", + "%s", + ), + "samples": ( + f"https://github.com/NVIDIA/cuda-python/tree/{GITHUB_EXAMPLES_REF}/samples/cuda_core%s", "%s", ), } diff --git a/cuda_core/docs/source/examples.rst b/cuda_core/docs/source/examples.rst index cf13961c6dc..71de830f09e 100644 --- a/cuda_core/docs/source/examples.rst +++ b/cuda_core/docs/source/examples.rst @@ -4,56 +4,112 @@ Examples ======== -This page links to the ``cuda.core`` examples shipped in the -:cuda-core-examples:`cuda-python repository `. -Use it as a quick index when you want a runnable starting point for a specific -workflow. +The canonical, runnable examples for ``cuda.core`` live under +:samples:`samples/cuda_core/ ` in the cuda-python repository. Each sample is +a self-contained directory with its own ``README.md``, ``requirements.txt``, +and PEP 723 dependency block, and every sample is exercised as part of the +``cuda.core`` test suite. -Compilation and kernel launch +Getting started +--------------- + +- :sample:`vectorAdd ` + compiles and launches a templated vector-add kernel and demonstrates + ``Device.allocate()`` and ``name_expressions``. +- :sample:`deviceQuery ` + enumerates every CUDA device with an ``nvidia-smi``-style summary and an + optional ``--verbose`` mode for the long-tail property list. +- :sample:`systemInfo ` + reports system-wide CUDA information (driver / runtime / NVML). + +Kernels and launch configuration +-------------------------------- + +- :sample:`launchConfigTuning ` + explores how launch-configuration choices affect kernel performance. +- :sample:`threadBlockCluster ` + demonstrates ``LaunchConfig(cluster=...)`` on Hopper-class GPUs. +- :sample:`tmaTensorMap ` + uses Tensor Memory Accelerator descriptors for bulk data movement. +- :sample:`greenContext ` + partitions SMs across kernels with green contexts. +- :sample:`kernelNsysProfile ` + annotates kernel launches with NVTX markers for Nsight Systems. + +Memory management and interop ----------------------------- -- :cuda-core-example:`vector_add.py ` - compiles and launches a simple vector-add kernel with CuPy arrays. -- :cuda-core-example:`saxpy.py ` - JIT-compiles a templated SAXPY kernel and launches both float and double - instantiations. -- :cuda-core-example:`pytorch_example.py ` - launches a CUDA kernel with PyTorch tensors and a wrapped PyTorch stream. - -Multi-device and advanced launch configuration ----------------------------------------------- - -- :cuda-core-example:`simple_multi_gpu_example.py ` - compiles and launches kernels across multiple GPUs. -- :cuda-core-example:`thread_block_cluster.py ` - demonstrates thread block cluster launch configuration on Hopper-class GPUs. -- :cuda-core-example:`tma_tensor_map.py ` - demonstrates Tensor Memory Accelerator descriptors and TMA-based bulk copies. - -Linking and graphs ------------------- - -- :cuda-core-example:`jit_lto_fractal.py ` - uses JIT link-time optimization to link user-provided device code into a - fractal workflow at runtime. -- :cuda-core-example:`cuda_graphs.py ` - captures and replays a multi-kernel CUDA graph to reduce launch overhead. - -Interoperability and memory access ----------------------------------- - -- :cuda-core-example:`memory_ops.py ` - covers memory resources, pinned memory, device transfers, and DLPack interop. -- :cuda-core-example:`strided_memory_view_cpu.py ` - uses ``StridedMemoryView`` with JIT-compiled CPU code via ``cffi``. -- :cuda-core-example:`strided_memory_view_gpu.py ` - uses ``StridedMemoryView`` with JIT-compiled GPU code and foreign GPU buffers. -- :cuda-core-example:`gl_interop_plasma.py ` - renders a CUDA-generated plasma effect through OpenGL interop without CPU - copies. - -System inspection ------------------ - -- :cuda-core-example:`show_device_properties.py ` - prints a detailed report of the CUDA devices available on the system. +- :sample:`memoryResources ` + covers ``DeviceMemoryResource``, ``PinnedMemoryResource``, + ``ManagedMemoryResource``, and ``GraphMemoryResource``, plus configurable + resource options. +- :sample:`copyImageArraytoGPU ` + stages host-to-device copies through ``PinnedMemoryResource``. +- :sample:`blurImageUnifiedMemory ` + applies a stencil kernel over unified memory. +- :sample:`stridedMemoryViewConstructors ` + walks through the four ``StridedMemoryView.from_*`` constructors. +- :sample:`stridedMemoryViewCpu ` + dispatches to a JIT-compiled CPU function via ``cffi``. +- :sample:`stridedMemoryViewGpu ` + dispatches to an NVRTC-compiled GPU kernel through the same decorator. +- :sample:`ipcMemoryPool ` + shares an IPC-enabled ``DeviceMemoryResource`` across processes. + +CUDA graphs and linking +----------------------- + +- :sample:`cudaGraphs ` + captures and replays a multi-kernel graph, then reuses it via ``Graph.update()``. +- :sample:`jitLtoLinking ` + links two device modules with PTX vs LTO and swaps in a runtime plug-in. + +Framework interop and compute algorithms +---------------------------------------- + +- :sample:`customPyTorchKernel ` + launches a cuda.core kernel from a PyTorch autograd function. +- :sample:`customTensorFlowKernel ` + wires a cuda.core kernel into a TensorFlow custom op. +- :sample:`numpyVsCupy ` + compares NumPy and CuPy execution paths side-by-side. +- :sample:`fftSignalAnalysis ` + runs a CuPy FFT-based signal analysis pipeline. +- :sample:`binarySearch `, + :sample:`prefixSum `, + :sample:`reduction `, + :sample:`parallelReduction `, + :sample:`reductionMultiBlockCG `, + :sample:`parallelHistogram `, + :sample:`blockwiseSum `, + :sample:`matrixMulSharedMem `, + :sample:`cudaComputeLambdas `, + :sample:`pageRank ` -- classic parallel-algorithm building blocks. + +Multi-GPU and streams +--------------------- + +- :sample:`simpleMultiGpu ` + runs independent kernels on two GPUs in the same process. +- :sample:`simpleP2P ` + demonstrates peer-to-peer memory access between GPUs. +- :sample:`multiGPUGradientAverage ` + averages gradients across GPUs with MPI. +- :sample:`streamingCopyComputeOverlap ` + overlaps copies and compute across multiple streams. +- :sample:`simpleZeroCopy ` + runs kernels against zero-copy mapped host memory. +- :sample:`processCheckpoint ` + checkpoints and restores CUDA process state. + +Graphics interop +---------------- + +- :sample:`glInteropPlasma ` + writes CUDA-generated pixels into an OpenGL PBO with zero CPU round-trip. + +Simple utilities +---------------- + +- :sample:`simplePrint ` + minimal kernel that prints from the device. diff --git a/cuda_core/docs/source/getting-started.rst b/cuda_core/docs/source/getting-started.rst index e03ce23782f..99ef7949518 100644 --- a/cuda_core/docs/source/getting-started.rst +++ b/cuda_core/docs/source/getting-started.rst @@ -32,7 +32,7 @@ Example: Compiling and Launching a CUDA kernel ---------------------------------------------- To get a taste for ``cuda.core``, let's walk through a simple example that compiles and launches a vector addition kernel. -You can find the complete example in :cuda-core-example:`vector_add.py ` +You can find the complete example in :sample-file:`samples/cuda_core/vectorAdd/vectorAdd.py ` and browse the :doc:`examples page ` for the rest of the shipped workflows. @@ -80,7 +80,7 @@ Note the use of the ``name_expressions`` parameter to the :meth:`Program.compile Next, we retrieve the compiled kernel from the CUBIN and prepare the arguments and kernel configuration. We're using `CuPy `_ arrays as inputs for this example, but you can use PyTorch tensors too (see -:cuda-core-example:`pytorch_example.py ` +:sample-file:`samples/cuda_core/customPyTorchKernel/customPyTorchKernel.py ` and the :doc:`examples page `). .. code-block:: python diff --git a/cuda_core/docs/source/interoperability.rst b/cuda_core/docs/source/interoperability.rst index 87347eb9d25..1e6c630087b 100644 --- a/cuda_core/docs/source/interoperability.rst +++ b/cuda_core/docs/source/interoperability.rst @@ -70,11 +70,11 @@ a few iterations to ensure correctness. for extracting the metadata (such as pointer address, shape, strides, and dtype) from any Python objects supporting either CAI or DLPack and returning a :class:`~utils.StridedMemoryView` object. See the -:cuda-core-example:`strided_memory_view_constructors.py ` +:sample-file:`stridedMemoryViewConstructors.py ` example for the explicit constructors, or -:cuda-core-example:`strided_memory_view_cpu.py ` +:sample-file:`stridedMemoryViewCpu.py ` and -:cuda-core-example:`strided_memory_view_gpu.py ` +:sample-file:`stridedMemoryViewGpu.py ` for decorator-based workflows. This provides a *concrete implementation* to both protocols that is **array-library-agnostic**, so that all Python projects can just rely on this without either re-implementing (the consumer-side of) diff --git a/cuda_core/examples/cuda_graphs.py b/cuda_core/examples/cuda_graphs.py deleted file mode 100644 index 57321dd48c8..00000000000 --- a/cuda_core/examples/cuda_graphs.py +++ /dev/null @@ -1,182 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates CUDA graphs to capture and execute multiple -# kernel launches with minimal overhead. The graph performs a sequence of -# vector operations: add, multiply, and subtract. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core", "nvidia-cuda-nvrtc", "cupy-cuda13x"] -# /// - -import sys -import time - -import cupy as cp - -from cuda.core import Device, LaunchConfig, Program, ProgramOptions, launch - - -def main(): - # CUDA kernels for vector operations - code = """ - template - __global__ void vector_add(const T* A, const T* B, T* C, size_t N) { - const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; - for (size_t i = tid; i < N; i += gridDim.x * blockDim.x) { - C[i] = A[i] + B[i]; - } - } - - template - __global__ void vector_multiply(const T* A, const T* B, T* C, size_t N) { - const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; - for (size_t i = tid; i < N; i += gridDim.x * blockDim.x) { - C[i] = A[i] * B[i]; - } - } - - template - __global__ void vector_subtract(const T* A, const T* B, T* C, size_t N) { - const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; - for (size_t i = tid; i < N; i += gridDim.x * blockDim.x) { - C[i] = A[i] - B[i]; - } - } - """ - - # Initialize device and stream - dev = Device() - dev.set_current() - stream = dev.create_stream() - graph_builder = None - graph = None - # tell CuPy to use our stream as the current stream: - cp.cuda.ExternalStream(int(stream.handle)).use() - - try: - # Compile the program - program_options = ProgramOptions(std="c++17", arch=f"sm_{dev.arch}") - prog = Program(code, code_type="c++", options=program_options) - mod = prog.compile( - "cubin", name_expressions=("vector_add", "vector_multiply", "vector_subtract") - ) - - # Get kernel functions - add_kernel = mod.get_kernel("vector_add") - multiply_kernel = mod.get_kernel("vector_multiply") - subtract_kernel = mod.get_kernel("vector_subtract") - - # Prepare data - size = 1000000 - dtype = cp.float32 - - # Create input arrays - rng = cp.random.default_rng(42) # Fixed seed for reproducibility - a = rng.random(size, dtype=dtype) - b = rng.random(size, dtype=dtype) - c = rng.random(size, dtype=dtype) - - # Create output arrays - result1 = cp.empty_like(a) - result2 = cp.empty_like(a) - result3 = cp.empty_like(a) - - # Prepare launch configuration - block = 256 - grid = (size + block - 1) // block - config = LaunchConfig(grid=grid, block=block) - - # Sync before graph capture - dev.sync() - - print("Building CUDA graph...", file=sys.stderr) - - # Build the graph - graph_builder = stream.create_graph_builder() - graph_builder.begin_building() - - # Add multiple kernel launches to the graph - # Kernel 1: result1 = a + b - launch(graph_builder, config, add_kernel, a.data.ptr, b.data.ptr, result1.data.ptr, cp.uint64(size)) - - # Kernel 2: result2 = result1 * c - launch(graph_builder, config, multiply_kernel, result1.data.ptr, c.data.ptr, result2.data.ptr, cp.uint64(size)) - - # Kernel 3: result3 = result2 - a - launch(graph_builder, config, subtract_kernel, result2.data.ptr, a.data.ptr, result3.data.ptr, cp.uint64(size)) - - # Complete the graph - graph = graph_builder.end_building().complete() - - # Upload the graph to the stream - graph.upload(stream) - - # Execute the entire graph with a single launch - print("Executing graph...", file=sys.stderr) - start_time = time.time() - graph.launch(stream) - stream.sync() - end_time = time.time() - - graph_execution_time = end_time - start_time - if graph_execution_time == 0.0: - print("Graph execution time is too fast to measure accurately.") - graph_execution_time = 1e-9 # Assign a small value to avoid division by zero in speedup calculation - print(f"Graph execution time: {graph_execution_time:.6f} seconds") - - # Verify results - expected_result1 = a + b - expected_result2 = expected_result1 * c - expected_result3 = expected_result2 - a - - assert cp.allclose(result1, expected_result1, rtol=1e-5, atol=1e-5), "Result 1 mismatch" - assert cp.allclose(result2, expected_result2, rtol=1e-5, atol=1e-5), "Result 2 mismatch" - assert cp.allclose(result3, expected_result3, rtol=1e-5, atol=1e-5), "Result 3 mismatch" - - # Demonstrate performance benefit by running the same operations without graph - print("\nRunning same operations without graph for comparison...", file=sys.stderr) - - # Reset results - result1.fill(0) - result2.fill(0) - result3.fill(0) - - start_time = time.time() - - # Individual kernel launches - launch(stream, config, add_kernel, a.data.ptr, b.data.ptr, result1.data.ptr, cp.uint64(size)) - launch(stream, config, multiply_kernel, result1.data.ptr, c.data.ptr, result2.data.ptr, cp.uint64(size)) - launch(stream, config, subtract_kernel, result2.data.ptr, a.data.ptr, result3.data.ptr, cp.uint64(size)) - - stream.sync() - end_time = time.time() - - individual_execution_time = end_time - start_time - print(f"Individual kernel execution time: {individual_execution_time:.6f} seconds") - - # Calculate speedup - speedup = individual_execution_time / graph_execution_time - print(f"Graph provides {speedup:.2f}x speedup") - - # Verify results again - assert cp.allclose(result1, expected_result1, rtol=1e-5, atol=1e-5), "Result 1 mismatch" - assert cp.allclose(result2, expected_result2, rtol=1e-5, atol=1e-5), "Result 2 mismatch" - assert cp.allclose(result3, expected_result3, rtol=1e-5, atol=1e-5), "Result 3 mismatch" - - finally: - if graph is not None: - graph.close() - if graph_builder is not None: - graph_builder.close() - stream.close() - cp.cuda.Stream.null.use() # reset CuPy's current stream to the null stream - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/graph_update.py b/cuda_core/examples/graph_update.py deleted file mode 100644 index 7b3dc5c26b2..00000000000 --- a/cuda_core/examples/graph_update.py +++ /dev/null @@ -1,103 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates Graph.update() by reusing the same executable graph -# with a new capture that has the same topology but different kernel arguments. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core", "nvidia-cuda-nvrtc", "numpy>=2.2.5"] -# /// - -import sys - -import numpy as np - -from cuda.core import ( - Device, - LaunchConfig, - LegacyPinnedMemoryResource, - Program, - ProgramOptions, - launch, -) - -code = """ -extern "C" __global__ void add_one(int* value) { - if (threadIdx.x == 0 && blockIdx.x == 0) { - *value += 1; - } -} -""" - - -def build_increment_graph(device, kernel, target_ptr): - builder = device.create_graph_builder().begin_building() - config = LaunchConfig(grid=1, block=1) - launch(builder, config, kernel, target_ptr) - launch(builder, config, kernel, target_ptr) - return builder.end_building() - - -def main(): - # Writing into the pinned host array imported via DLPack requires NumPy - # 2.2.5+ (np.from_dlpack returns a read-only array on earlier versions; - # see numpy GH #28632). - if np.lib.NumpyVersion(np.__version__) < "2.2.5": - print("This example requires NumPy 2.2.5 or later", file=sys.stderr) - sys.exit(1) - - device = Device() - device.set_current() - stream = device.create_stream() - pinned_mr = LegacyPinnedMemoryResource() - buffer = None - initial_capture = None - update_capture = None - graph = None - - try: - options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") - program = Program(code, code_type="c++", options=options) - module = program.compile("cubin") - kernel = module.get_kernel("add_one") - - buffer = pinned_mr.allocate(2 * np.dtype(np.int32).itemsize) - values = np.from_dlpack(buffer).view(np.int32) - values[:] = 0 - - initial_capture = build_increment_graph(device, kernel, values[0:].ctypes.data) - update_capture = build_increment_graph(device, kernel, values[1:].ctypes.data) - graph = initial_capture.complete() - - graph.upload(stream) - graph.launch(stream) - stream.sync() - assert tuple(values) == (2, 0) - - graph.update(update_capture) - graph.upload(stream) - graph.launch(stream) - stream.sync() - assert tuple(values) == (2, 2) - - print("Graph.update() reused the executable graph with a new target pointer.") - print(f"Final host values: {tuple(values)}") - finally: - if graph is not None: - graph.close() - if update_capture is not None: - update_capture.close() - if initial_capture is not None: - initial_capture.close() - if buffer is not None: - buffer.close() - stream.close() - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/jit_lto_fractal.py b/cuda_core/examples/jit_lto_fractal.py deleted file mode 100644 index 98fd402ee00..00000000000 --- a/cuda_core/examples/jit_lto_fractal.py +++ /dev/null @@ -1,301 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates the JIT LTO feature of the Linker class to link -# multiple objects together, allowing libraries to modify workflows at runtime. -# It mimics a library-user relationship: the user provides device code that -# generates art (Mandelbrot or Julia set), while the library handles device -# setup, launch config, and linking. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core", "nvidia-cuda-nvrtc", "cupy-cuda13x"] -# /// - -import argparse -import sys - -import cupy as cp - -from cuda.core import Device, LaunchConfig, Linker, LinkerOptions, Program, ProgramOptions, launch - - -# ################################################################################ -# -# This Mocklibrary is responsible for all steps involved launching the device code. -# -# The user is responsible for providing the device code that will be linked into the library's workflow. -# The provided device code must contain a function with the signature `void generate_art(float* Data)` -class MockLibrary: - def __init__(self): - # For this mock library, the main workflow is intentionally kept simple by limiting itself to only calling the - # externally defined generate_art function. More involved libraries have the option of applying pre and post - # processing steps before calling user-defined device code. Conversely, these responsibilities can be reversed - # such that the library owns the bulk of the workflow while allowing users to provide customized pre/post - # processing steps. - code_main = r""" - extern __device__ void generate_art(float* Data); - - extern "C" - __global__ - void main_workflow(float* Data) { - // Preprocessing steps can be called here - // ... - - // Call the user-defined device code - generate_art(Data); - - // Postprocessing steps can be called here - // ... - } - """ - - # Most of the launch configurations can be preemptively done before the user provides their device code - # Therefore lets compile our main workflow device code now, and link the remaining pieces at a later time - self.program_options = ProgramOptions(relocatable_device_code=True) - self.main_object_code = Program(code_main, "c++", options=self.program_options).compile("ptx") - - # Setup device state - self.dev = Device() - self.dev.set_current() - self.stream = self.dev.create_stream() - - # Setup a buffer to store the RGBA results for the width and height specified - self.width = 1024 - self.height = 512 - self.buffer = cp.empty(self.width * self.height * 4, dtype=cp.float32) - - # Setup the launch configuration such that each thread will be generating one pixel, and subdivide - # the problem into 16x16 chunks. - self.grid = (self.width // 16, self.height // 16, 1) - self.block = (16, 16, 1) - self.config = LaunchConfig(grid=self.grid, block=self.block) - - def close(self): - self.stream.close() - - def link(self, user_code, target_type): - if target_type == "ltoir": - program_options = ProgramOptions(link_time_optimization=True) - linker_options = LinkerOptions(link_time_optimization=True) - elif target_type == "ptx": - program_options = self.program_options - linker_options = LinkerOptions() - else: - raise AssertionError(f"Invalid {target_type=}") - - # First, user-defined code is compiled into a PTX object code - user_object_code = Program(user_code, "c++", options=program_options).compile(target_type) - - # Then a Linker is created to link the main object code with the user-defined code - linker = Linker(self.main_object_code, user_object_code, options=linker_options) - - # We emit the linked code as cubin - linked_code = linker.link("cubin") - - # Now we're ready to retrieve the main device function and execute our library's workflow - return linked_code.get_kernel("main_workflow") - - def run(self, kernel): - launch(self.stream, self.config, kernel, self.buffer.data.ptr) - self.stream.sync() - - # Return the result as a NumPy array (on host). - return cp.asnumpy(self.buffer).reshape(self.height, self.width, 4) - - -# Now lets proceed with code from the user's perspective! -# -# ################################################################################ - -# Simple implementation of Mandelbrot set from Wikipedia -# http://en.wikipedia.org/wiki/Mandelbrot_set -# -# Note that this kernel is meant to be a simple, straight-forward -# implementation. No attempt is made to optimize this GPU code. -code_mandelbrot = r""" -__device__ -void generate_art(float* Data) { - // Which pixel am I? - unsigned DataX = blockIdx.x * blockDim.x + threadIdx.x; - unsigned DataY = blockIdx.y * blockDim.y + threadIdx.y; - unsigned Width = gridDim.x * blockDim.x; - unsigned Height = gridDim.y * blockDim.y; - - float R, G, B, A; - - // Scale coordinates to (-2.5, 1) and (-1, 1) - - float NormX = (float)DataX / (float)Width; - NormX *= 3.5f; - NormX -= 2.5f; - - float NormY = (float)DataY / (float)Height; - NormY *= 2.0f; - NormY -= 1.0f; - - float X0 = NormX; - float Y0 = NormY; - - float X = 0.0f; - float Y = 0.0f; - - unsigned Iter = 0; - unsigned MaxIter = 1000; - - // Iterate - while(X*X + Y*Y < 4.0f && Iter < MaxIter) { - float XTemp = X*X - Y*Y + X0; - Y = 2.0f*X*Y + Y0; - - X = XTemp; - - Iter++; - } - - unsigned ColorG = Iter % 50; - unsigned ColorB = Iter % 25; - - R = 0.0f; - G = (float)ColorG / 50.0f; - B = (float)ColorB / 25.0f; - A = 1.0f; - - unsigned i = DataY*Width*4+DataX*4; - Data[i+0] = R; - Data[i+1] = G; - Data[i+2] = B; - Data[i+3] = A; -} -""" - -# Simple implementation of Julia set from Wikipedia -# http://en.wikipedia.org/wiki/Julia_set -# -# Note that this kernel is meant to be a simple, straight-forward -# implementation. No attempt is made to optimize this GPU code. -code_julia = r""" -__device__ -void generate_art(float* Data) { - // Which pixel am I? - unsigned DataX = blockIdx.x * blockDim.x + threadIdx.x; - unsigned DataY = blockIdx.y * blockDim.y + threadIdx.y; - unsigned Width = gridDim.x * blockDim.x; - unsigned Height = gridDim.y * blockDim.y; - - float R, G, B, A; - - // Scale coordinates to (-2, 2) for both x and y - // Scale coordinates to (-2.5, 1) and (-1, 1) - float X = (float)DataX / (float)Width; - X *= 4.0f; - X -= 2.0f; - - float Y = (float)DataY / (float)Height; - Y *= 2.0f; - Y -= 1.0f; - - // Julia set uses a fixed constant C - float Cx = -0.8f; // Try different values for different patterns - float Cy = 0.156f; // Try different values for different patterns - - unsigned Iter = 0; - unsigned MaxIter = 1000; - - // Iterate - while(X*X + Y*Y < 4.0f && Iter < MaxIter) { - float XTemp = X*X - Y*Y + Cx; - Y = 2.0f*X*Y + Cy; - X = XTemp; - Iter++; - } - - unsigned ColorG = Iter % 50; - unsigned ColorB = Iter % 25; - - R = 0.0f; - G = (float)ColorG / 50.0f; - B = (float)ColorB / 25.0f; - A = 1.0f; - - unsigned i = DataY*Width*4+DataX*4; - Data[i+0] = R; - Data[i+1] = G; - Data[i+2] = B; - Data[i+3] = A; -} -""" - - -def main(): - # Parse command line arguments - # Two different kernels are implemented with unique algorithms, and the user can choose which one should be used - # Both kernels fulfill the signature required by the MockLibrary: `void generate_art(float* Data)` - parser = argparse.ArgumentParser() - parser.add_argument( - "--target", - "-t", - type=str, - default="all", - choices=["mandelbrot", "julia", "all"], - help="Type of visualization to generate", - ) - parser.add_argument( - "--format", - "-f", - type=str, - default="ltoir", - choices=["ptx", "ltoir"], - help="Type of intermediate format for the device functions to be linked", - ) - parser.add_argument( - "--display", - "-d", - action="store_true", - help="Display the generated images", - ) - args = parser.parse_args() - - if args.display: - try: - import matplotlib.pyplot as plt - except ImportError: - print("this example requires matplotlib installed in order to display the image", file=sys.stderr) - sys.exit(1) - - result_to_display = [] - lib = MockLibrary() - try: - # Process mandelbrot option - if args.target in ("mandelbrot", "all"): - # The library will compile and link their main kernel with the provided Mandelbrot kernel - kernel = lib.link(code_mandelbrot, args.format) - result = lib.run(kernel) - result_to_display.append((result, "Mandelbrot")) - - # Process julia option - if args.target in ("julia", "all"): - # Likewise, the same library can be configured to instead use the provided Julia kernel - kernel = lib.link(code_julia, args.format) - result = lib.run(kernel) - result_to_display.append((result, "Julia")) - - # Display the generated images if requested - if args.display: - fig = plt.figure() - for i, (image, title) in enumerate(result_to_display): - axs = fig.add_subplot(len(result_to_display), 1, i + 1) - axs.imshow(image) - axs.set_title(title) - axs.axis("off") - plt.show() - finally: - lib.close() - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/memory_ops.py b/cuda_core/examples/memory_ops.py deleted file mode 100644 index 8b845821c7c..00000000000 --- a/cuda_core/examples/memory_ops.py +++ /dev/null @@ -1,150 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates memory resources for allocation and management, -# copying data between device and pinned memory, and DLPack interop. Writing -# into the pinned host array imported via DLPack requires NumPy 2.2.5+ (arrays -# from np.from_dlpack are read-only on earlier versions; see numpy GH #28632). -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core", "nvidia-cuda-nvrtc", "cupy-cuda13x", "numpy>=2.2.5"] -# /// - -import sys - -import cupy as cp -import numpy as np - -from cuda.core import ( - Device, - LaunchConfig, - LegacyPinnedMemoryResource, - Program, - ProgramOptions, - launch, -) - -# Kernel for memory operations -code = """ -extern "C" -__global__ void memory_ops(float* device_data, - float* pinned_data, - size_t N) { - const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; - if (tid < N) { - // Access device memory - device_data[tid] = device_data[tid] + 1.0f; - - // Access pinned memory (zero-copy from GPU) - pinned_data[tid] = pinned_data[tid] * 3.0f; - } -} -""" - - -def main(): - if np.lib.NumpyVersion(np.__version__) < "2.2.5": - print("This example requires NumPy 2.2.5 or later", file=sys.stderr) - sys.exit(1) - - dev = Device() - dev.set_current() - stream = dev.create_stream() - # tell CuPy to use our stream as the current stream: - cp.cuda.ExternalStream(int(stream.handle)).use() - device_buffer = None - pinned_buffer = None - new_device_buffer = None - - try: - # Compile kernel - program_options = ProgramOptions(std="c++17", arch=f"sm_{dev.arch}") - prog = Program(code, code_type="c++", options=program_options) - mod = prog.compile("cubin") - kernel = mod.get_kernel("memory_ops") - - # Create different memory resources - device_mr = dev.memory_resource - pinned_mr = LegacyPinnedMemoryResource() - - # Allocate different types of memory - size = 1024 - dtype = cp.float32 - element_size = dtype().itemsize - total_size = size * element_size - - # 1. Device Memory (GPU-only) - device_buffer = device_mr.allocate(total_size, stream=stream) - device_array = cp.from_dlpack(device_buffer).view(dtype=dtype) - - # 2. Pinned Memory (CPU memory, GPU accessible) - pinned_buffer = pinned_mr.allocate(total_size) - pinned_array = np.from_dlpack(pinned_buffer).view(dtype=dtype) - - # Initialize data - rng = cp.random.default_rng() - device_array[:] = rng.random(size, dtype=dtype) - pinned_array[:] = rng.random(size, dtype=dtype).get() - - # Store original values for verification - device_original = device_array.copy() - pinned_original = pinned_array.copy() - - # Sync before kernel launch - stream.sync() - - # Launch kernel - block = 256 - grid = (size + block - 1) // block - config = LaunchConfig(grid=grid, block=block) - - launch(stream, config, kernel, device_buffer, pinned_buffer, cp.uint64(size)) - stream.sync() - - # Verify kernel operations - assert cp.allclose(device_array, device_original + 1.0), "Device memory operation failed" - assert cp.allclose(pinned_array, pinned_original * 3.0), "Pinned memory operation failed" - - # Copy data between different memory types - print("\nCopying data between memory types...", file=sys.stderr) - - # Copy from device to pinned memory - device_buffer.copy_to(pinned_buffer, stream=stream) - stream.sync() - - # Verify the copy operation - assert cp.allclose(pinned_array, device_array), "Device to pinned copy failed" - - # Create a new device buffer and copy from pinned - new_device_buffer = device_mr.allocate(total_size, stream=stream) - new_device_array = cp.from_dlpack(new_device_buffer).view(dtype=dtype) - - pinned_buffer.copy_to(new_device_buffer, stream=stream) - stream.sync() - - # Verify the copy operation - assert cp.allclose(new_device_array, pinned_array), "Pinned to device copy failed" - - print("Memory management example completed!") - finally: - # Clean up resources even if verification fails. - if new_device_buffer is not None: - new_device_buffer.close(stream) - assert new_device_buffer.handle == 0, "New device buffer should be closed" - if pinned_buffer is not None: - pinned_buffer.close(stream) - assert pinned_buffer.handle == 0, "Pinned buffer should be closed" - if device_buffer is not None: - device_buffer.close(stream) - assert device_buffer.handle == 0, "Device buffer should be closed" - stream.close() - cp.cuda.Stream.null.use() # reset CuPy's current stream to the null stream - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/memory_pool_resources.py b/cuda_core/examples/memory_pool_resources.py deleted file mode 100644 index aa322ecc206..00000000000 --- a/cuda_core/examples/memory_pool_resources.py +++ /dev/null @@ -1,144 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates the newer memory-pool APIs by combining -# PinnedMemoryResource, ManagedMemoryResource, and GraphMemoryResource in one -# workflow. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core", "nvidia-cuda-nvrtc", "numpy>=2.2.5"] -# /// - -import sys - -import numpy as np - -from cuda.core import ( - Device, - GraphMemoryResource, - LaunchConfig, - ManagedMemoryResource, - ManagedMemoryResourceOptions, - PinnedMemoryResource, - PinnedMemoryResourceOptions, - Program, - ProgramOptions, - launch, -) - -code = """ -extern "C" __global__ void scale_and_bias(float* data, size_t size, float scale, float bias) { - const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; - const unsigned int stride = blockDim.x * gridDim.x; - for (size_t i = tid; i < size; i += stride) { - data[i] = data[i] * scale + bias; - } -} -""" - - -def main(): - # Writing into the managed/pinned host arrays imported via DLPack requires - # NumPy 2.2.5+ (np.from_dlpack returns a read-only array on earlier - # versions; see numpy GH #28632). - if np.lib.NumpyVersion(np.__version__) < "2.2.5": - print("This example requires NumPy 2.2.5 or later", file=sys.stderr) - sys.exit(1) - - device = Device() - device.set_current() - stream = device.create_stream() - - managed_mr = None - pinned_mr = None - graph_mr = None - managed_buffer = None - pinned_buffer = None - graph_capture = None - graph = None - - try: - options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") - program = Program(code, code_type="c++", options=options) - module = program.compile("cubin") - kernel = module.get_kernel("scale_and_bias") - - size = 256 - dtype = np.float32 - nbytes = size * dtype().itemsize - config = LaunchConfig(grid=(size + 127) // 128, block=128) - - managed_options = ManagedMemoryResourceOptions( - preferred_location=device.device_id, - preferred_location_type="device", - ) - managed_mr = ManagedMemoryResource(options=managed_options) - - pinned_options = {"ipc_enabled": False} - host_numa_id = getattr(device.properties, "host_numa_id", -1) - if host_numa_id >= 0: - pinned_options["numa_id"] = host_numa_id - pinned_mr = PinnedMemoryResource(options=PinnedMemoryResourceOptions(**pinned_options)) - - graph_mr = GraphMemoryResource(device) - - managed_buffer = managed_mr.allocate(nbytes, stream=stream) - pinned_buffer = pinned_mr.allocate(nbytes, stream=stream) - - managed_array = np.from_dlpack(managed_buffer).view(np.float32) - pinned_array = np.from_dlpack(pinned_buffer).view(np.float32) - - managed_array[:] = np.arange(size, dtype=dtype) - managed_original = managed_array.copy() - stream.sync() - - managed_buffer.copy_to(pinned_buffer, stream=stream) - stream.sync() - assert np.array_equal(pinned_array, managed_original) - - graph_builder = device.create_graph_builder().begin_building("relaxed") - scratch_buffer = graph_mr.allocate(nbytes, stream=graph_builder) - scratch_buffer.copy_from(managed_buffer, stream=graph_builder) - launch(graph_builder, config, kernel, scratch_buffer, np.uint64(size), np.float32(2.0), np.float32(1.0)) - managed_buffer.copy_from(scratch_buffer, stream=graph_builder) - scratch_buffer.close() - - graph_capture = graph_builder.end_building() - graph = graph_capture.complete() - graph.upload(stream) - graph.launch(stream) - stream.sync() - - np.testing.assert_allclose(managed_array, managed_original * 2 + 1) - managed_buffer.copy_to(pinned_buffer, stream=stream) - stream.sync() - np.testing.assert_allclose(pinned_array, managed_original * 2 + 1) - - print(f"PinnedMemoryResource numa_id: {pinned_mr.numa_id}") - print(f"ManagedMemoryResource preferred_location: {managed_mr.preferred_location}") - print(f"GraphMemoryResource reserved high watermark: {graph_mr.attributes.reserved_mem_high}") - finally: - if graph is not None: - graph.close() - if graph_capture is not None: - graph_capture.close() - if pinned_buffer is not None: - pinned_buffer.close(stream) - if managed_buffer is not None: - managed_buffer.close(stream) - if graph_mr is not None: - graph_mr.close() - if pinned_mr is not None: - pinned_mr.close() - if managed_mr is not None: - managed_mr.close() - stream.close() - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/pytorch_example.py b/cuda_core/examples/pytorch_example.py deleted file mode 100644 index 480e18dfe98..00000000000 --- a/cuda_core/examples/pytorch_example.py +++ /dev/null @@ -1,120 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates how to use cuda.core to compile a CUDA kernel -# and launch it using PyTorch tensors as inputs. Requires PyTorch with CUDA. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core", "torch"] -# /// - -import sys - -import torch - -from cuda.core import Device, LaunchConfig, Program, ProgramOptions, launch - -# SAXPY kernel - passing a as a pointer to avoid any type issues -code = """ -template -__global__ void saxpy_kernel(const T* a, const T* x, const T* y, T* out, size_t N) { - const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; - if (tid < N) { - // Dereference a to get the scalar value - out[tid] = (*a) * x[tid] + y[tid]; - } -} -""" - - -def torch_version() -> tuple[int, int, int]: - v = torch.__version__ - v = v.split("+")[0].split(".") - return tuple(int(x) for x in v) - - -def main(): - dev = Device() - dev.set_current() - - print(f"PyTorch version: {torch_version()}", file=sys.stderr) - if torch_version() < (2, 10, 0): - # Need support for the __cuda_stream__ method. - print("PyTorch version 2.10 or later required, skipping example", file=sys.stderr) - return - - pt_stream = torch.cuda.current_stream() - print(f"PyTorch stream: {pt_stream}", file=sys.stderr) - - stream = dev.create_stream(pt_stream) - - try: - # prepare program - program_options = ProgramOptions(std="c++11", arch=f"sm_{dev.arch}") - prog = Program(code, code_type="c++", options=program_options) - mod = prog.compile( - "cubin", - logs=sys.stdout, - name_expressions=("saxpy_kernel", "saxpy_kernel"), - ) - - # Run in single precision - kernel = mod.get_kernel("saxpy_kernel") - dtype = torch.float32 - - # prepare input/output - size = 64 - # Use a single element tensor for 'a' - a = torch.tensor([10.0], dtype=dtype, device="cuda") - x = torch.rand(size, dtype=dtype, device="cuda") - y = torch.rand(size, dtype=dtype, device="cuda") - out = torch.empty_like(x) - - # prepare launch - block = 32 - grid = int((size + block - 1) // block) - config = LaunchConfig(grid=grid, block=block) - kernel_args = (a.data_ptr(), x.data_ptr(), y.data_ptr(), out.data_ptr(), size) - - # launch kernel on our stream - launch(stream, config, kernel, *kernel_args) - - # check result - assert torch.allclose(out, a.item() * x + y) - - # let's repeat again with double precision - kernel = mod.get_kernel("saxpy_kernel") - dtype = torch.float64 - - # prepare input - size = 128 - # Use a single element tensor for 'a' - a = torch.tensor([42.0], dtype=dtype, device="cuda") - x = torch.rand(size, dtype=dtype, device="cuda") - y = torch.rand(size, dtype=dtype, device="cuda") - - # prepare output - out = torch.empty_like(x) - - # prepare launch - block = 64 - grid = int((size + block - 1) // block) - config = LaunchConfig(grid=grid, block=block) - kernel_args = (a.data_ptr(), x.data_ptr(), y.data_ptr(), out.data_ptr(), size) - - # launch kernel on PyTorch's stream - launch(stream, config, kernel, *kernel_args) - - # check result - assert torch.allclose(out, a * x + y) - finally: - stream.close() - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/saxpy.py b/cuda_core/examples/saxpy.py deleted file mode 100644 index 85737f84d42..00000000000 --- a/cuda_core/examples/saxpy.py +++ /dev/null @@ -1,132 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates a templated CUDA kernel (SAXPY) compiled and -# launched with cuda.core, using CuPy arrays. The kernel is instantiated -# for both float and double. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core", "nvidia-cuda-nvrtc", "cupy-cuda13x"] -# /// - - -import sys - -from cuda import pathfinder - -print(pathfinder.load_nvidia_dynamic_lib("nvrtc")) - -import cupy as cp - -from cuda.core import Device, LaunchConfig, Program, ProgramOptions, launch - -# compute out = a * x + y -code = """ -template -__global__ void saxpy(const T a, - const T* x, - const T* y, - T* out, - size_t N) { - const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; - for (size_t i=tid; i", "saxpy"), - ) - - # run in single precision - kernel = mod.get_kernel("saxpy") - dtype = cp.float32 - - # prepare input/output - size = cp.uint64(64) - a = dtype(10) - rng = cp.random.default_rng() - x = rng.random(size, dtype=dtype) - y = rng.random(size, dtype=dtype) - out = cp.empty_like(x) - dev.sync() # cupy runs on a different stream from stream, so sync before accessing - - # prepare launch - block = 32 - grid = int((size + block - 1) // block) - config = LaunchConfig(grid=grid, block=block) - kernel_args = (a, x.data.ptr, y.data.ptr, out.data.ptr, size) - - # launch kernel on stream - launch(stream, config, kernel, *kernel_args) - stream.sync() - - # check result - assert cp.allclose(out, a * x + y) - - # let's repeat again, this time allocates our own out buffer instead of cupy's - # run in double precision - kernel = mod.get_kernel("saxpy") - dtype = cp.float64 - - # prepare input - size = cp.uint64(128) - a = dtype(42) - x = rng.random(size, dtype=dtype) - y = rng.random(size, dtype=dtype) - dev.sync() - - # prepare output - buf = dev.allocate( - size * 8, # = dtype.itemsize - stream=stream, - ) - - # prepare launch - block = 64 - grid = int((size + block - 1) // block) - config = LaunchConfig(grid=grid, block=block) - kernel_args = (a, x.data.ptr, y.data.ptr, buf, size) - - # launch kernel on stream - launch(stream, config, kernel, *kernel_args) - stream.sync() - - # check result - # we wrap output buffer as a cupy array for simplicity - out = cp.ndarray( - size, dtype=dtype, memptr=cp.cuda.MemoryPointer(cp.cuda.UnownedMemory(int(buf.handle), buf.size, buf), 0) - ) - assert cp.allclose(out, a * x + y) - finally: - # cupy cleans up automatically the rest - if buf is not None: - buf.close(stream) - stream.close() - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/show_device_properties.py b/cuda_core/examples/show_device_properties.py deleted file mode 100644 index 566f6890948..00000000000 --- a/cuda_core/examples/show_device_properties.py +++ /dev/null @@ -1,251 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates how to use cuda.core to show the properties of -# CUDA devices in the system. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core"] -# /// - -import sys - -from cuda.core import Device, system - - -# Convert boolean to YES or NO string -def _yes_no(value: bool) -> str: - return "YES" if value else "NO" - - -# Convert value in bytes to MB or GB string -BYTES_TO_MBYTES = 1 / (1024 * 1024) -BYTES_TO_GBYTES = BYTES_TO_MBYTES / 1024 - - -def _bytes_to_mbytes(value): - return f"{value * BYTES_TO_MBYTES:.2f}MB" - - -def _bytes_to_gbytes(value): - return f"{value * BYTES_TO_GBYTES:.2f}GB" - - -# Convert value in KHz to GHz string -KHZ_TO_GHZ = 1e-6 - - -def _khz_to_ghz(value): - return f"{value * KHZ_TO_GHZ:.2f}GHz" - - -# Print device properties to stdout -def print_device_properties(properties): - print("Properties:\n------------") - print(f"- Can map host memory into the CUDA address space: {_yes_no(properties.can_map_host_memory)}") - print( - "- Can access host registered memory at the same virtual address as the CPU: " - + f"{_yes_no(properties.can_use_host_pointer_for_registered_mem)}" - ) - print(f"- Clock rate: {_khz_to_ghz(properties.clock_rate)}") - print(f"- Peak memory clock frequency: {_khz_to_ghz(properties.memory_clock_rate)}") - print( - "- Performance ratio (single precision)/(double precision): " - + f"{properties.single_to_double_precision_perf_ratio}" - ) - print( - f"- Compute capability: major={properties.compute_capability_major}, " - + f"minor={properties.compute_capability_minor}" - ) - print(f"- Compute mode: {properties.compute_mode} (0 - default, 2 - prohibited, 3 - exclusive process)") - print(f"- Support for Compute Preemption: {_yes_no(properties.compute_preemption_supported)}") - print( - "- Support for concurrent kernels execution within the same context: " - + f"{_yes_no(properties.concurrent_kernels)}" - ) - print( - "- Support for coherent access to managed memory concurrently with CPU: " - + f"{_yes_no(properties.concurrent_managed_access)}" - ) - print( - "- Support for deferred mapping in CUDA arrays and CUDA mipmapped arrays: " - + f"{_yes_no(properties.deferred_mapping_cuda_array_supported)}" - ) - print( - "- Support for direct access of managed memory on device without migration: " - + f"{_yes_no(properties.direct_managed_mem_access_from_host)}" - ) - print(f"- ECC enabled: {_yes_no(properties.ecc_enabled)}") - print(f"- Support for generic compression: {_yes_no(properties.generic_compression_supported)}") - print(f"- Support for caching globals in L1 cache: {_yes_no(properties.global_l1_cache_supported)}") - print(f"- Support for caching locals in L1 cache: {_yes_no(properties.local_l1_cache_supported)}") - print(f"- Global memory bus widths: {properties.global_memory_bus_width} bits") - print(f"- Support for GPUDirect RDMA: {_yes_no(properties.gpu_direct_rdma_supported)}") - print(f"- GPUDirect RDMA flush-writes options bitmask: 0b{properties.gpu_direct_rdma_flush_writes_options:032b}") - print( - f"- GPUDirect RDMA writes ordering: {properties.gpu_direct_rdma_writes_ordering} " - + "(0 - none, 100 - this device can consume remote writes, " - + "200 - any CUDA device can consume remote writes to this device)" - ) - print( - "- Can concurrently copy memory between host and device while executing kernel: " - + f"{_yes_no(properties.gpu_overlap)}" - ) - print( - "- Support for exporting memory to a posix file descriptor: " - + f"{_yes_no(properties.handle_type_posix_file_descriptor_supported)}" - ) - print( - "- Support for exporting memory to a Win32 NT handle: " - + f"{_yes_no(properties.handle_type_win32_handle_supported)}" - ) - print( - "- Support for exporting memory to a Win32 KMT handle: " - + f"{_yes_no(properties.handle_type_win32_kmt_handle_supported)}" - ) - print( - "- Link between device and host supports native atomic operations: " - + f"{_yes_no(properties.host_native_atomic_supported)}" - ) - print(f"- Device is integrated with memory subsystem: {_yes_no(properties.integrated)}") - print(f"- Kernel execution timeout: {_yes_no(properties.kernel_exec_timeout)}") - print(f"- L2 cache size: {_bytes_to_mbytes(properties.l2_cache_size)}") - print(f"- Max L2 persisting lines capacity: {_bytes_to_mbytes(properties.max_persisting_l2_cache_size)}") - print(f"- Support for managed memory allocation: {_yes_no(properties.managed_memory)}") - print(f"- Max access policy window size: {_bytes_to_mbytes(properties.max_access_policy_window_size)}") - print(f"- Max x-dimension of a block: {properties.max_block_dim_x}") - print(f"- Max y-dimension of a block: {properties.max_block_dim_y}") - print(f"- Max z-dimension of a block: {properties.max_block_dim_z}") - print(f"- Max blocks in a multiprocessor: {properties.max_blocks_per_multiprocessor}") - print(f"- Max x-dimension of a grid: {properties.max_grid_dim_x}") - print(f"- Max y-dimension of a grid: {properties.max_grid_dim_y}") - print(f"- Max z-dimension of a grid: {properties.max_grid_dim_z}") - print(f"- Max pitch allowed by the memory copy functions: {_bytes_to_gbytes(properties.max_pitch)}") - print(f"- Max number of 32-bit registers per block: {properties.max_registers_per_block}") - print(f"- Max number of 32-bit registers in a multiprocessor: {properties.max_registers_per_multiprocessor}") - print(f"- Max shared memory per block: {properties.max_shared_memory_per_block}B") - print(f"- Max optin shared memory per block: {properties.max_shared_memory_per_block_optin}B") - print(f"- Max shared memory available to a multiprocessor: {properties.max_shared_memory_per_multiprocessor}B") - print(f"- Max threads per block: {properties.max_threads_per_block}") - print(f"- Max threads per multiprocessor: {properties.max_threads_per_multiprocessor}") - print(f"- Warp size: {properties.warp_size}") - print(f"- Max 1D surface width: {properties.maximum_surface1d_width}") - print(f"- Max layers in 1D layered surface: {properties.maximum_surface1d_layered_layers}") - print(f"- Max 1D layered surface width: {properties.maximum_surface1d_layered_width}") - print(f"- Max 2D surface width: {properties.maximum_surface2d_width}") - print(f"- Max 2D surface height: {properties.maximum_surface2d_height}") - print(f"- Max layers in 2D layered surface: {properties.maximum_surface2d_layered_layers}") - print(f"- Max 2D layered surface width: {properties.maximum_surface2d_layered_width}") - print(f"- Max 2D layered surface height: {properties.maximum_surface2d_layered_height}") - print(f"- Max 3D surface width: {properties.maximum_surface3d_width}") - print(f"- Max 3D surface height: {properties.maximum_surface3d_height}") - print(f"- Max 3D surface depth: {properties.maximum_surface3d_depth}") - print(f"- Max cubemap surface width: {properties.maximum_surfacecubemap_width}") - print(f"- Max layers in a cubemap layered surface: {properties.maximum_surfacecubemap_layered_layers}") - print(f"- Max cubemap layered surface width: {properties.maximum_surfacecubemap_layered_width}") - print(f"- Max 1D texture width: {properties.maximum_texture1d_width}") - print(f"- Max width for a 1D texture bound to linear memory: {properties.maximum_texture1d_linear_width}") - print(f"- Max layers in 1D layered texture: {properties.maximum_texture1d_layered_layers}") - print(f"- Max 1D layered texture width: {properties.maximum_texture1d_layered_width}") - print(f"- Max mipmapped 1D texture width: {properties.maximum_texture1d_mipmapped_width}") - print(f"- Max 2D texture width: {properties.maximum_texture2d_width}") - print(f"- Max 2D texture height: {properties.maximum_texture2d_height}") - print(f"- Max width for a 2D texture bound to linear memory: {properties.maximum_texture2d_linear_width}") - print(f"- Max height for a 2D texture bound to linear memory: {properties.maximum_texture2d_linear_height}") - print( - "- Max pitch for a 2D texture bound to linear memory: " - + f"{_bytes_to_mbytes(properties.maximum_texture2d_linear_pitch)}" - ) - print(f"- Max layers in 2D layered texture: {properties.maximum_texture2d_layered_layers}") - print(f"- Max 2D layered texture width: {properties.maximum_texture2d_layered_width}") - print(f"- Max 2D layered texture height: {properties.maximum_texture2d_layered_height}") - print(f"- Max mipmapped 2D texture width: {properties.maximum_texture2d_mipmapped_width}") - print(f"- Max mipmapped 2D texture height: {properties.maximum_texture2d_mipmapped_height}") - print(f"- Max 3D texture width: {properties.maximum_texture3d_width}") - print(f"- Max 3D texture height: {properties.maximum_texture3d_height}") - print(f"- Max 3D texture depth: {properties.maximum_texture3d_depth}") - print(f"- Alternate max 3D texture width: {properties.maximum_texture3d_width_alternate}") - print(f"- Alternate max 3D texture height: {properties.maximum_texture3d_height_alternate}") - print(f"- Alternate max 3D texture depth: {properties.maximum_texture3d_depth_alternate}") - print(f"- Max cubemap texture width or height: {properties.maximum_texturecubemap_width}") - print(f"- Max layers in a cubemap layered texture: {properties.maximum_texturecubemap_layered_layers}") - print(f"- Max cubemap layered texture width or height: {properties.maximum_texturecubemap_layered_width}") - print(f"- Texture base address alignment requirement: {properties.texture_alignment}B") - print( - "- Pitch alignment requirement for 2D texture references bound to pitched memory: " - + f"{properties.texture_pitch_alignment}B" - ) - print(f"- Support for memory pools: {_yes_no(properties.memory_pools_supported)}") - print( - "- Bitmask of handle types supported with memory pool-based IPC: " - + f"0b{properties.mempool_supported_handle_types:032b}" - ) - print(f"- Multi-GPU board: {_yes_no(properties.multi_gpu_board)}") - print(f"- Multi-GPU board group ID: {properties.multi_gpu_board_group_id}") - print(f"- Support for switch multicast and reduction operations: {_yes_no(properties.multicast_supported)}") - print(f"- Number of multiprocessors: {properties.multiprocessor_count}") - print(f"- NUMA configuration: {properties.numa_config}") - print(f"- NUMA node ID of GPU memory: {properties.numa_id}") - print(f"- Support for coherently accessing pageable memory: {_yes_no(properties.pageable_memory_access)}") - print( - "- Access pageable memory via host's page tables: " - + f"{_yes_no(properties.pageable_memory_access_uses_host_page_tables)}" - ) - print(f"- PCI bus ID: {properties.pci_bus_id}") - print(f"- PCI device (slot) ID: {properties.pci_device_id}") - print(f"- PCI domain ID: {properties.pci_domain_id}") - print( - "- Support for registering memory that must be mapped to GPU as read-only: " - + f"{_yes_no(properties.read_only_host_register_supported)}" - ) - print( - "- Amount of shared memory per block reserved by CUDA driver: " - + f"{properties.reserved_shared_memory_per_block}B" - ) - print( - "- Support for sparse CUDA arrays and sparse CUDA mipmapped arrays: " - + f"{_yes_no(properties.sparse_cuda_array_supported)}" - ) - print(f"- Using TCC driver: {_yes_no(properties.tcc_driver)}") - print(f"- Constant memory available: {properties.total_constant_memory}B") - print(f"- Support for unified address space with host: {_yes_no(properties.unified_addressing)}") - print(f"- Support for virtual memory management: {_yes_no(properties.virtual_memory_management_supported)}") - - -# Print info about all CUDA devices in the system -def show_device_properties(): - ndev = system.get_num_devices() - print(f"Number of GPUs: {ndev}") - - for device_id in range(ndev): - device = Device(device_id) - print(f"DEVICE {device.name} (id={device_id})") - - device.set_current() - # Extend example to show device context information after #189 is resolved. - # ctx = device.context - - cc = device.compute_capability - prop = device.properties - - print(f"Device compute capability: major={cc[0]}, minor={cc[1]}") - print(f"Architecture: sm_{cc[0]}{cc[1]}") - print(f"PCI bus id={device.pci_bus_id}") - print_device_properties(prop) - print("*****************************************************\n\n") - - -def main(): - if len(sys.argv) != 1: - print("no command-line arguments expected", file=sys.stderr) - sys.exit(1) - show_device_properties() - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/simple_multi_gpu_example.py b/cuda_core/examples/simple_multi_gpu_example.py deleted file mode 100644 index e4d7a1ccfb5..00000000000 --- a/cuda_core/examples/simple_multi_gpu_example.py +++ /dev/null @@ -1,148 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates how to use cuda.core to compile and launch -# kernels on multiple GPUs. Requires at least 2 GPUs. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core", "cupy-cuda13x"] -# /// - -import sys - -import cupy as cp - -from cuda.core import Device, LaunchConfig, Program, ProgramOptions, launch, system - -dtype = cp.float32 -size = 50000 - - -# This adaptor ensures that any foreign stream (ex: from CuPy) that has not yet -# supported the __cuda_stream__ protocol can still be recognized by cuda.core. -class StreamAdaptor: - def __init__(self, obj): - self.obj = obj - - def __cuda_stream__(self): - # Note: CuPy streams have a .ptr attribute - return (0, self.obj.ptr) - - -def main(): - if system.get_num_devices() < 2: - print("this example requires at least 2 GPUs", file=sys.stderr) - sys.exit(1) - - # Set GPU 0 - dev0 = Device(0) - dev0.set_current() - stream0 = dev0.create_stream() - stream1 = None - cp_stream0 = None - cp_stream1 = None - - try: - # Compile a kernel targeting GPU 0 to compute c = a + b - code_add = """ -extern "C" -__global__ void vector_add(const float* A, - const float* B, - float* C, - size_t N) { - const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; - for (size_t i=tid; i=2.1"] -# /// - -import sys - -import cupy as cp -import numpy as np - -from cuda.core import Device -from cuda.core.utils import StridedMemoryView - - -def dense_c_strides(shape): - if not shape: - return () - - strides = [1] * len(shape) - for index in range(len(shape) - 2, -1, -1): - strides[index] = strides[index + 1] * shape[index + 1] - return tuple(strides) - - -def main(): - if np.lib.NumpyVersion(np.__version__) < "2.1.0": - print("This example requires NumPy 2.1.0 or later", file=sys.stderr) - sys.exit(1) - - device = Device() - device.set_current() - stream = device.create_stream() - buffer = None - - try: - host_array = np.arange(12, dtype=np.int16).reshape(3, 4) - host_view = StridedMemoryView.from_array_interface(host_array) - host_dlpack_view = StridedMemoryView.from_dlpack(host_array, stream_ptr=-1) - - assert host_view.shape == host_array.shape - assert host_view.size == host_array.size - assert not host_view.is_device_accessible - assert np.array_equal(np.from_dlpack(host_view), host_array) - assert np.array_equal(np.from_dlpack(host_dlpack_view), host_array) - - gpu_array = cp.arange(12, dtype=cp.float32).reshape(3, 4) - dlpack_view = StridedMemoryView.from_dlpack(gpu_array, stream_ptr=stream.handle) - cai_view = StridedMemoryView.from_cuda_array_interface(gpu_array, stream_ptr=stream.handle) - - cp.testing.assert_array_equal(cp.from_dlpack(dlpack_view), gpu_array) - cp.testing.assert_array_equal(cp.from_dlpack(cai_view), gpu_array) - - buffer = device.memory_resource.allocate(gpu_array.nbytes, stream=stream) - buffer_array = cp.from_dlpack(buffer).view(dtype=cp.float32).reshape(gpu_array.shape) - buffer_array[...] = gpu_array - device.sync() - - buffer_view = StridedMemoryView.from_buffer( - buffer, - shape=gpu_array.shape, - strides=dense_c_strides(gpu_array.shape), - dtype=np.dtype(np.float32), - ) - cp.testing.assert_array_equal(cp.from_dlpack(buffer_view), gpu_array) - - print("Constructed StridedMemoryView objects from array, DLPack, CAI, and Buffer inputs.") - finally: - if buffer is not None: - buffer.close(stream) - stream.close() - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/strided_memory_view_cpu.py b/cuda_core/examples/strided_memory_view_cpu.py deleted file mode 100644 index 3acebac3f12..00000000000 --- a/cuda_core/examples/strided_memory_view_cpu.py +++ /dev/null @@ -1,133 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates StridedMemoryView for interfacing with foreign -# C/C++ functions, using JIT-compiled CPU code via cffi. Requires cffi. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core", "cffi", "setuptools"] -# /// - -import importlib -import string -import sys -import tempfile -from contextlib import contextmanager - -try: - from cffi import FFI -except ImportError: - print("cffi is not installed, this example requires cffi", file=sys.stderr) - sys.exit(1) -import numpy as np - -from cuda.core.utils import StridedMemoryView, args_viewable_as_strided_memory - -# ################################################################################ -# -# Usually this entire code block is in a separate file, built as a Python extension -# module that can be imported by users at run time. For illustrative purposes we -# use JIT compilation to make this demo self-contained. -# -# Here we assume an in-place operation, equivalent to the following NumPy code: -# -# >>> arr = ... -# >>> assert arr.dtype == np.int32 -# >>> assert arr.ndim == 1 -# >>> arr += np.arange(arr.size, dtype=arr.dtype) -# -# is implemented for both CPU and GPU at low-level, with the following C function -# signature: -func_name = "inplace_plus_arange_N" -func_sig = f"void {func_name}(int* data, size_t N)" - - -# Now we are prepared to run the code from the user's perspective! -# -# ################################################################################ - - -# Below, as a user we want to perform the said in-place operation on a CPU -# or GPU, by calling the corresponding function implemented "elsewhere" -# (in the body of run function). - - -# We assume the 0-th argument supports either DLPack or CUDA Array Interface (both -# of which are supported by StridedMemoryView). -@args_viewable_as_strided_memory((0,)) -def my_func(arr, cpu_prog, cpu_func): - # Create a memory view over arr (assumed to be a 1D array of int32). The stream - # ordering is taken care of, so that arr can be safely accessed on our work - # stream (ordered after a data stream on which arr is potentially prepared). - view = arr.view(-1) - assert isinstance(view, StridedMemoryView) - assert len(view.shape) == 1 - assert view.dtype == np.int32 - assert not view.is_device_accessible - - size = view.shape[0] - # DLPack also supports host arrays. We want to know if the array data is - # accessible from the GPU, and dispatch to the right routine accordingly. - cpu_func(cpu_prog.cast("int*", view.ptr), size) - - -def _create_cpu_program(): - # Here is a concrete (very naive!) implementation on CPU: - cpu_code = string.Template(r""" - extern "C" - $func_sig { - for (size_t i = 0; i < N; i++) { - data[i] += i; - } - } - """).substitute(func_sig=func_sig) - # This is cffi's way of JIT compiling & loading a CPU function. cffi builds an - # extension module that has the Python binding to the underlying C function. - # For more details, please refer to cffi's documentation. - cpu_prog = FFI() - cpu_prog.cdef(f"{func_sig};") - cpu_prog.set_source( - "_cpu_obj", - cpu_code, - source_extension=".cpp", - extra_compile_args=["-std=c++11"], - ) - return cpu_prog - - -@contextmanager -def _compiled_cpu_func(cpu_prog, temp_dir): - saved_sys_path = sys.path.copy() - try: - cpu_prog.compile(tmpdir=temp_dir) - sys.path.append(temp_dir) - cpu_func = getattr(importlib.import_module("_cpu_obj.lib"), func_name) - yield cpu_func - finally: - sys.path = saved_sys_path - # Ensure cffi modules are unloadable before removing the temp build dir. - sys.modules.pop("_cpu_obj.lib", None) - sys.modules.pop("_cpu_obj", None) - - -def _run_example(cpu_prog, cpu_func): - arr_cpu = np.zeros(1024, dtype=np.int32) - print(f"before: {arr_cpu[:10]=}", file=sys.stderr) - my_func(arr_cpu, cpu_prog, cpu_func) - print(f"after: {arr_cpu[:10]=}", file=sys.stderr) - assert np.allclose(arr_cpu, np.arange(1024, dtype=np.int32)) - - -def main(): - cpu_prog = _create_cpu_program() - with tempfile.TemporaryDirectory() as temp_dir, _compiled_cpu_func(cpu_prog, temp_dir) as cpu_func: - _run_example(cpu_prog, cpu_func) - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/strided_memory_view_gpu.py b/cuda_core/examples/strided_memory_view_gpu.py deleted file mode 100644 index b481ae8060c..00000000000 --- a/cuda_core/examples/strided_memory_view_gpu.py +++ /dev/null @@ -1,124 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates StridedMemoryView for interfacing with foreign -# C/C++ functions, using JIT-compiled GPU code. Requires cupy. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core", "nvidia-cuda-nvrtc", "cupy-cuda13x"] -# /// - -import string -import sys - -try: - import cupy as cp -except ImportError: - print("cupy is not installed, this example requires cupy", file=sys.stderr) - sys.exit(1) -import numpy as np - -from cuda.core import Device, LaunchConfig, Program, ProgramOptions, launch -from cuda.core.utils import StridedMemoryView, args_viewable_as_strided_memory - -# ################################################################################ -# -# Usually this entire code block is in a separate file, built as a Python extension -# module that can be imported by users at run time. For illustrative purposes we -# use JIT compilation to make this demo self-contained. -# -# Here we assume an in-place operation, equivalent to the following NumPy code: -# -# >>> arr = ... -# >>> assert arr.dtype == np.int32 -# >>> assert arr.ndim == 1 -# >>> arr += np.arange(arr.size, dtype=arr.dtype) -# -# is implemented for both CPU and GPU at low-level, with the following C function -# signature: -func_name = "inplace_plus_arange_N" -func_sig = f"void {func_name}(int* data, size_t N)" - -# Now we are prepared to run the code from the user's perspective! -# -# ################################################################################ - - -# Below, as a user we want to perform the said in-place operation on either CPU -# or GPU, by calling the corresponding function implemented "elsewhere" (done above). - - -# We assume the 0-th argument supports either DLPack or CUDA Array Interface (both -# of which are supported by StridedMemoryView). -@args_viewable_as_strided_memory((0,)) -def my_func(arr, work_stream, kernel): - # Create a memory view over arr (assumed to be a 1D array of int32). The stream - # ordering is taken care of, so that arr can be safely accessed on our work - # stream (ordered after a data stream on which arr is potentially prepared). - view = arr.view(work_stream.handle if work_stream else -1) - assert isinstance(view, StridedMemoryView) - assert len(view.shape) == 1 - assert view.dtype == np.int32 - assert view.is_device_accessible - - size = view.shape[0] - # DLPack also supports host arrays. We want to know if the array data is - # accessible from the GPU, and dispatch to the right routine accordingly. - block = 256 - grid = (size + block - 1) // block - config = LaunchConfig(grid=grid, block=block) - launch(work_stream, config, kernel, view.ptr, np.uint64(size)) - # Here we're being conservative and synchronize over our work stream, - # assuming we do not know the data stream; if we know then we could - # just order the data stream after the work stream here, e.g. - # - # data_stream.wait(work_stream) - # - # without an expensive synchronization (with respect to the host). - work_stream.sync() - - -def main(): - global my_func - # Here is a concrete (very naive!) implementation on GPU: - gpu_code = string.Template(r""" - extern "C" - __global__ $func_sig { - const size_t tid = threadIdx.x + blockIdx.x * blockDim.x; - const size_t stride_size = gridDim.x * blockDim.x; - for (size_t i = tid; i < N; i += stride_size) { - data[i] += i; - } - } - """).substitute(func_sig=func_sig) - - # To know the GPU's compute capability, we need to identify which GPU to use. - dev = Device(0) - dev.set_current() - prog = Program(gpu_code, code_type="c++", options=ProgramOptions(arch=f"sm_{dev.arch}", std="c++11")) - mod = prog.compile(target_type="cubin") - kernel = mod.get_kernel(func_name) - - stream = dev.create_stream() - try: - # Create input array on GPU - arr_gpu = cp.ones(1024, dtype=cp.int32) - print(f"before: {arr_gpu[:10]=}") - - # Run the workload - my_func(arr_gpu, stream, kernel) - - # Check the result - print(f"after: {arr_gpu[:10]=}") - assert cp.allclose(arr_gpu, 1 + cp.arange(1024, dtype=cp.int32)) - finally: - stream.close() - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/thread_block_cluster.py b/cuda_core/examples/thread_block_cluster.py deleted file mode 100644 index 078407ac6be..00000000000 --- a/cuda_core/examples/thread_block_cluster.py +++ /dev/null @@ -1,163 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates thread block clusters in the CUDA launch -# configuration and verifies that the correct grid size is passed to the kernel. -# Requires compute capability >= 9.0 and CUDA_PATH. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core"] -# /// - -import os -import sys - -import numpy as np - -from cuda.core import ( - Device, - LaunchConfig, - LegacyPinnedMemoryResource, - Program, - ProgramOptions, - launch, -) -from cuda.pathfinder import get_cuda_path_or_home - -# print cluster info using a kernel and store results in pinned memory -code = r""" -#include - -namespace cg = cooperative_groups; - -extern "C" -__global__ void check_cluster_info(unsigned int* grid_dims, unsigned int* cluster_dims, unsigned int* block_dims) { - auto g = cg::this_grid(); - auto b = cg::this_thread_block(); - - if (g.cluster_rank() == 0 && g.block_rank() == 0 && g.thread_rank() == 0) { - // Store grid dimensions (in blocks) - grid_dims[0] = g.dim_blocks().x; - grid_dims[1] = g.dim_blocks().y; - grid_dims[2] = g.dim_blocks().z; - - // Store cluster dimensions - cluster_dims[0] = g.dim_clusters().x; - cluster_dims[1] = g.dim_clusters().y; - cluster_dims[2] = g.dim_clusters().z; - - // Store block dimensions (in threads) - block_dims[0] = b.dim_threads().x; - block_dims[1] = b.dim_threads().y; - block_dims[2] = b.dim_threads().z; - - // Also print to console - printf("grid dim: (%u, %u, %u)\n", g.dim_blocks().x, g.dim_blocks().y, g.dim_blocks().z); - printf("cluster dim: (%u, %u, %u)\n", g.dim_clusters().x, g.dim_clusters().y, g.dim_clusters().z); - printf("block dim: (%u, %u, %u)\n", b.dim_threads().x, b.dim_threads().y, b.dim_threads().z); - } -} -""" - - -def main(): - if np.lib.NumpyVersion(np.__version__) < "2.2.5": - print("This example requires NumPy 2.2.5 or later", file=sys.stderr) - sys.exit(1) - - cuda_path = get_cuda_path_or_home() - if cuda_path is None: - print("This example requires CUDA_PATH or CUDA_HOME to point to a CUDA toolkit.", file=sys.stderr) - sys.exit(1) - cuda_include = os.path.join(cuda_path, "include") - if not os.path.isdir(cuda_include): - print(f"CUDA include directory not found: {cuda_include}", file=sys.stderr) - sys.exit(1) - include_path = [cuda_include] - cccl_include = os.path.join(cuda_include, "cccl") - if os.path.isdir(cccl_include): - include_path.insert(0, cccl_include) - - dev = Device() - arch = dev.compute_capability - if arch < (9, 0): - print( - "this example requires compute capability >= 9.0 (since thread block cluster is a hardware feature)", - file=sys.stderr, - ) - sys.exit(1) - arch = "".join(f"{i}" for i in arch) - - # prepare program & compile kernel - dev.set_current() - prog = Program( - code, - code_type="c++", - options=ProgramOptions(arch=f"sm_{arch}", std="c++17", include_path=include_path), - ) - mod = prog.compile(target_type="cubin") - kernel = mod.get_kernel("check_cluster_info") - - # prepare launch config - grid = 4 - cluster = 2 - block = 32 - config = LaunchConfig(grid=grid, cluster=cluster, block=block) - - # allocate pinned memory to store kernel results - pinned_mr = LegacyPinnedMemoryResource() - element_size = np.dtype(np.uint32).itemsize - grid_buffer = None - cluster_buffer = None - block_buffer = None - - try: - # allocate 3 uint32 values each for grid, cluster, and block dimensions - grid_buffer = pinned_mr.allocate(3 * element_size) - cluster_buffer = pinned_mr.allocate(3 * element_size) - block_buffer = pinned_mr.allocate(3 * element_size) - - # create NumPy arrays from the pinned memory - grid_dims = np.from_dlpack(grid_buffer).view(dtype=np.uint32) - cluster_dims = np.from_dlpack(cluster_buffer).view(dtype=np.uint32) - block_dims = np.from_dlpack(block_buffer).view(dtype=np.uint32) - - # initialize arrays to zero - grid_dims[:] = 0 - cluster_dims[:] = 0 - block_dims[:] = 0 - - # launch kernel on the default stream - launch(dev.default_stream, config, kernel, grid_buffer, cluster_buffer, block_buffer) - dev.sync() - - # verify results - print("\nResults stored in pinned memory:") - print(f"Grid dimensions (blocks): {tuple(grid_dims)}") - print(f"Cluster dimensions: {tuple(cluster_dims)}") - print(f"Block dimensions (threads): {tuple(block_dims)}") - - # verify that grid conversion worked correctly: - # LaunchConfig(grid=4, cluster=2) should result in 8 total blocks (4 clusters * 2 blocks/cluster) - expected_grid_blocks = grid * cluster # 4 * 2 = 8 - actual_grid_blocks = grid_dims[0] - - assert actual_grid_blocks == expected_grid_blocks, ( - f"Grid conversion failed: expected {expected_grid_blocks} total blocks, got {actual_grid_blocks}" - ) - finally: - if block_buffer is not None: - block_buffer.close() - if cluster_buffer is not None: - cluster_buffer.close() - if grid_buffer is not None: - grid_buffer.close() - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/tma_tensor_map.py b/cuda_core/examples/tma_tensor_map.py deleted file mode 100644 index 8c048d4a15d..00000000000 --- a/cuda_core/examples/tma_tensor_map.py +++ /dev/null @@ -1,189 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates how to use TMA (Tensor Memory Accelerator) -# descriptors with cuda.core on Hopper+ GPUs (compute capability >= 9.0). -# -# TMA enables efficient bulk data movement between global and shared memory -# using hardware-managed tensor map descriptors. This example shows: -# -# 1. Creating a TMA tiled descriptor from a CuPy device array -# 2. Passing the descriptor to a kernel via launch() -# 3. Using libcudacxx TMA/barrier wrappers instead of raw PTX -# 4. Reusing the same descriptor with replace_address() -# -# Requirements: -# - Hopper or later GPU (compute capability >= 9.0) -# - CuPy -# - CUDA toolkit headers (CUDA_PATH or CUDA_HOME set) -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core>0.6.0", "cupy-cuda13x"] -# /// - -import os -import sys - -import cupy as cp -import numpy as np - -from cuda.core import ( - Device, - LaunchConfig, - Program, - ProgramOptions, - launch, -) -from cuda.core.utils import StridedMemoryView -from cuda.pathfinder import get_cuda_path_or_home - -# --------------------------------------------------------------------------- -# CUDA kernel that uses TMA to load a 1-D tile into shared memory, then -# copies the tile to an output buffer so we can verify correctness. -# -# The CUtensorMap struct (128 bytes) is defined inline so the kernel can be -# compiled with NVRTC without pulling in the full driver-API header. The -# kernel uses libcudacxx's `cuda::barrier` and TMA wrapper helpers rather -# than embedding raw PTX strings. -# -# Key points: -# - The tensor map is passed by value with __grid_constant__ so the TMA -# hardware can read it from grid-constant memory. -# - Thread 0 in each block issues the TMA load and waits on the barrier. -# - All threads synchronize before copying from shared to global memory. -# --------------------------------------------------------------------------- -TILE_SIZE = 128 # elements per tile (must match the kernel constant) - -code = r""" -#include - -// Minimal definition of the 128-byte opaque tensor map struct. -struct __align__(64) TensorMap { unsigned long long opaque[16]; }; - -static constexpr int TILE_SIZE = 128; -using TmaBarrier = cuda::barrier; - -extern "C" -__global__ void tma_copy( - const __grid_constant__ TensorMap tensor_map, - float* output, - int N) -{ - __shared__ __align__(128) float smem[TILE_SIZE]; - __shared__ TmaBarrier bar; - - const int tid = threadIdx.x; - const int tile_start = blockIdx.x * TILE_SIZE; - - if (tid == 0) - { - init(&bar, 1); - } - __syncthreads(); - - if (tid == 0) - { - cuda::device::experimental::cp_async_bulk_tensor_1d_global_to_shared( - smem, - reinterpret_cast(&tensor_map), - tile_start, - bar); - bar.wait(cuda::device::barrier_arrive_tx(bar, 1, TILE_SIZE * sizeof(float))); - } - __syncthreads(); - - if (tid < TILE_SIZE) - { - const int idx = tile_start + tid; - if (idx < N) - output[idx] = smem[tid]; - } -} -""" - - -def _get_cccl_include_paths(): - cuda_path = get_cuda_path_or_home() - if cuda_path is None: - print("This example requires CUDA_PATH or CUDA_HOME to point to a CUDA toolkit.", file=sys.stderr) - sys.exit(1) - - cuda_include = os.path.join(cuda_path, "include") - if not os.path.isdir(cuda_include): - print(f"CUDA include directory not found: {cuda_include}", file=sys.stderr) - sys.exit(1) - - include_path = [cuda_include] - cccl_include = os.path.join(cuda_include, "cccl") - if os.path.isdir(cccl_include): - include_path.insert(0, cccl_include) - return include_path - - -def main(): - # ----------------------------------------------------------------------- - # Check for Hopper+ GPU - # ----------------------------------------------------------------------- - dev = Device() - arch = dev.compute_capability - if arch < (9, 0): - print( - "TMA requires compute capability >= 9.0 (Hopper or later)", - file=sys.stderr, - ) - sys.exit(0) - dev.set_current() - include_path = _get_cccl_include_paths() - - # ----------------------------------------------------------------------- - # Compile the kernel - # ----------------------------------------------------------------------- - prog = Program( - code, - code_type="c++", - options=ProgramOptions(std="c++17", arch=f"sm_{dev.arch}", include_path=include_path), - ) - mod = prog.compile("cubin") - ker = mod.get_kernel("tma_copy") - - # ----------------------------------------------------------------------- - # 1) Prepare input data and verify the initial TMA copy - # ----------------------------------------------------------------------- - n = 1024 - src = cp.arange(n, dtype=cp.float32) - output = cp.zeros(n, dtype=cp.float32) - dev.sync() # CuPy uses its own stream - - tensor_map = StridedMemoryView.from_any_interface(src, stream_ptr=-1).as_tensor_map(box_dim=(TILE_SIZE,)) - - n_tiles = n // TILE_SIZE - config = LaunchConfig(grid=n_tiles, block=TILE_SIZE) - launch(dev.default_stream, config, ker, tensor_map, output.data.ptr, np.int32(n)) - dev.sync() - - assert cp.array_equal(output, src), "TMA copy produced incorrect results" - print(f"TMA copy verified: {n} elements across {n_tiles} tiles") - - # ----------------------------------------------------------------------- - # 2) Demonstrate replace_address() without rebuilding the descriptor - # ----------------------------------------------------------------------- - replacement = cp.full(n, fill_value=42.0, dtype=cp.float32) - dev.sync() - - tensor_map.replace_address(replacement) - - output2 = cp.zeros(n, dtype=cp.float32) - launch(dev.default_stream, config, ker, tensor_map, output2.data.ptr, np.int32(n)) - dev.sync() - - assert cp.array_equal(output2, replacement), "replace_address produced incorrect results" - print("replace_address verified: descriptor reused with new source tensor") - - -if __name__ == "__main__": - main() diff --git a/cuda_core/examples/vector_add.py b/cuda_core/examples/vector_add.py deleted file mode 100644 index adb2bebcf89..00000000000 --- a/cuda_core/examples/vector_add.py +++ /dev/null @@ -1,76 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates how to use cuda.core to compile and launch a -# simple vector addition kernel. -# -# ################################################################################ - -# /// script -# dependencies = ["cuda_bindings", "cuda_core", "nvidia-cuda-nvrtc", "cupy-cuda13x"] -# /// - -import cupy as cp - -from cuda.core import Device, LaunchConfig, Program, ProgramOptions, launch - -# compute c = a + b -code = """ -template -__global__ void vector_add(const T* A, - const T* B, - T* C, - size_t N) { - const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; - for (size_t i=tid; i",)) - - # run in single precision - kernel = mod.get_kernel("vector_add") - dtype = cp.float32 - - # prepare input/output - size = 50000 - rng = cp.random.default_rng() - a = rng.random(size, dtype=dtype) - b = rng.random(size, dtype=dtype) - c = cp.empty_like(a) - - # cupy runs on a different stream from stream, so sync before accessing - dev.sync() - - # prepare launch - block = 256 - grid = (size + block - 1) // block - config = LaunchConfig(grid=grid, block=block) - - # launch kernel on stream - launch(stream, config, kernel, a.data.ptr, b.data.ptr, c.data.ptr, cp.uint64(size)) - stream.sync() - - # check result - assert cp.allclose(c, a + b) - finally: - stream.close() - - -if __name__ == "__main__": - main() diff --git a/cuda_core/pixi.lock b/cuda_core/pixi.lock index ebaf967facd..ebc505e5f69 100644 --- a/cuda_core/pixi.lock +++ b/cuda_core/pixi.lock @@ -1,202 +1,211 @@ -version: 7 -platforms: -- name: linux-64 - virtual-packages: - - __unix=0=0 - - __linux=4.18 - - __glibc=2.28 - - __archspec=0=x86_64 -- name: linux-aarch64 - virtual-packages: - - __unix=0=0 - - __linux=4.18 - - __glibc=2.28 - - __archspec=0=aarch64 -- name: p1 - subdir: linux-64 - virtual-packages: - - __cuda=13 - - __unix=0=0 - - __linux=4.18 - - __glibc=2.28 - - __archspec=0=x86_64 -- name: p2 - subdir: linux-aarch64 - virtual-packages: - - __cuda=13 - - __unix=0=0 - - __linux=4.18 - - __glibc=2.28 - - __archspec=0=aarch64 -- name: p3 - subdir: win-64 - virtual-packages: - - __cuda=13 - - __win=10.0 - - __archspec=0=x86_64 -- name: win-64 - virtual-packages: - - __win=10.0 - - __archspec=0=x86_64 +version: 6 environments: cu12: channels: - url: https://conda.anaconda.org/conda-forge/ + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-h39aace5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45.1-default_hfdba357_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h039972f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-14.3.0-he8ccf15_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-bindings-12.9.6-py314h7ea930b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-bindings-12.9.7-py314hadd79bd_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-12.9.27-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-12.9.86-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-crt-tools-12.9.86-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-12.9.79-h5888daf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-12.9.79-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-12.9.79-h3f2d84a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-12.9.79-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-12.9.79-h3f2d84a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-12.9.79-h3f2d84a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_linux-64-12.9.86-he91c749_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-impl-12.9.86-h85509e4_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-tools-12.9.86-he02047a_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-12.9.86-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-12.9.86-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-12.9.86-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-12.9.86-h4bc722e_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-12.9.86-h4bc722e_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-12.9.79-h7938cbb_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.4-py314h1807b08_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.0.1-gpl_hcddb375_914.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.17.1-h27c8c51_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.2-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h54862ce_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.2-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-14.3.0-h0dff253_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-14.3.0-hbdf3cc3_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.5-h2b0a6b4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.2.0-h96af755_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-14.3.0-h6f77f03_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-14.3.0-h235f0fe_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.7-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-14.3.0-h76987e4_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-14.3.0-h2185e75_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-13.1.0-h6083320_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.2-h33c6efd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.9.0-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-14.3.0-h76987e4_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-14.3.0-h2185e75_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.28.2-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.4-h96ad9f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.29.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h7b12aa8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.5-h434b012_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.77-h3ff7636_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-5_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.14.1.1-hbc026e6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.4.0-ha23c83e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.2-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.2-h73754d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.4-h6548e54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.2-default_hafda6a7_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.3.0-h4c17acf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-14.3.0-hf649bbc_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.2-h0d30a3d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h3a9caae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-ha09017c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-5_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-h174a0a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-12.9.86-hecca717_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvptxcompiler-dev-12.9.86-ha770c72_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_linux-64-12.9.86-ha770c72_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.0.0-hd85de46_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.0.0-hd85de46_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.0.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.0.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.0.0-h7a07914_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.0.0-h7a07914_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.0.0-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.0.0-h78e8023_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.0.0-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.1-h21c0c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.55-h421ea60_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h2b00c02_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.2-h61e6d4b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-14.3.0-h8f1669f_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-hc50b9dd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h2840a7c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-14.3.0-h8f1669f_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.10-hd0affe5_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.10-hd0affe5_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-14.3.0-h9f08a49_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-h9d88235_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.24.1-he1eb515_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.1-hca5e8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.2-hca6bf5a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.2-he237659_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.5.4-np2py314h6477eea_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.2-py314h2b28147_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py314h2b28147_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.4-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-h65dd3cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-61.0-h192683f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.2-hdeec2a5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2025.5-h718be3e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.12-hdeec2a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.3-h1b60276_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.1-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.0.1-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-hb700be7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda @@ -205,202 +214,206 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-12.9.27-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-12.9.86-ha770c72_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-12.9.79-h3f2d84a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-12.9.79-h3f2d84a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-12.9.79-h3f2d84a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_linux-64-12.9.86-he91c749_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-12.9.86-ha770c72_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.4.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-14.3.0-hf649bbc_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_linux-64-12.9.86-ha770c72_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-14.3.0-h9f08a49_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.47-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-core[2472945f] @ . + - conda: . + build: py314ha6d028f_0 linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.9.1-hcccb83c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/attr-2.5.1-h4e544f5_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.45.1-default_h5f4c503_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.16.1-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.14.1-pl5321h8fffa31_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/conda-gcc-specs-14.3.0-hadff5d6_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-bindings-12.9.6-py314h43a89f9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-bindings-12.9.7-py314hd8c1704_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-12.9.27-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-crt-tools-12.9.86-h579c4fd_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-12.9.79-h3ae8b8a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-12.9.79-h3ae8b8a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-12.9.79-h3ae8b8a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_linux-aarch64-12.9.86-h4310d6a_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvcc-impl-12.9.86-h614329b_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvcc-tools-12.9.86-h614329b_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-12.9.86-h8f3c8d4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-12.9.86-h8f3c8d4_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-12.9.86-h7b14b0b_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-12.9.86-h7b14b0b_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-12.9.79-h16bee8c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.4-py314h4c416a3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.0.1-gpl_h62efc85_914.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.17.1-hba86a56_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.2-h8af1aa0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_h1992ac7_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.2-hba86a56_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.3-h8af1aa0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-14.3.0-h2e72a27_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-14.3.0-h533bfc8_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.5-h90308e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.2.0-h124e036_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-14.3.0-h24a549f_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-14.3.0-h398eab4_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.7-h90308e0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.3.0-h124e036_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.14-hfae3067_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-14.3.0-ha384071_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-14.3.0-h0d4f5d4_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-13.1.0-h1134a53_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.2-hcab7f73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.15-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-14.3.0-ha384071_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-14.3.0-h0d4f5d4_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260107.1-cxx17_h6983b43_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.4-hcfe818d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-5_haddc8a3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260526.0-cxx17_h6983b43_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.5-hac26362_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.2.0-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.77-h68e9139_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-5_hd72aa62_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.14.1.1-had8bf56_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.125-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.4-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.4.0-hf71c8f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.127-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libflac-1.5.0-he9c94f4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.2-h8af1aa0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.2-hdae7a39_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.86.4-hf53f6bf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.12.2-default_ha470c98_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.3.0-h81d0cf9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-14.3.0-h25ba3ff_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.2-h96a7f82_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-devel-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h9b45113_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.11.2-h71be66a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-5_h88aeb00_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.2-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.2.0-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.12.0-hbae46ee_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-12.9.86-h8f3c8d4_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvptxcompiler-dev-12.9.86-h579c4fd_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.30-pthreads_h9d3fd7e_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.0.0-h1915271_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.0.0-h1915271_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.0.0-h3d5001d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.0.0-h3d5001d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.0.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.0.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.0.0-h558496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.0.0-h558496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.0.0-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.0.0-h2cb6e3c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.0.0-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.1-h9dfe790_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.1-hfae3067_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.18-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.55-h1abf092_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.33.5-h1f88751_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.60.2-h8171147_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-14.3.0-hedb4206_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.19-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-ha018e38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-7.35.1-h30ec8a2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.62.3-hf685517_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-14.3.0-hedb4206_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.52.0-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.10-hf9559e3_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.10-hf9559e3_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-14.3.0-h57c8d61_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.2-hdb009f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libunwind-1.8.3-h6470e1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.14-hfefdfc9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libusb-1.0.29-h06eaf92_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.41.3-h1022ec0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvorbis-1.3.7-h7ac5ae9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvpx-1.15.2-hfae3067_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.341.0-h8b8848b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.1-h3c6a4c8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.2-h79dcc73_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.2-h825857f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.2-h3c6a4c8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ml_dtypes-0.5.4-np2py314h175d3ba_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.2-py314haac167e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h0564a2a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.1-h546c87b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-he55ef5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py314he1698a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h663e864_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-h8547ced_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-7.2.2-py314h2e8dab5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.3-hb06a95a_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-61.0-h1f0f388_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.2-had2c13b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2025.5-hfeb5c2c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.12-had2c13b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.3-h9a39c52_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.1-hfefdfc9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.0.1-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2022.3.0-hfefdfc9_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.24.0-h4f8a99f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.2.0-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2023.0.0-h57272ed_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.26.0-h4f8a99f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.47-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.48-h80f16a2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda @@ -409,359 +422,373 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.2-h57736b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.3-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxscrnsaver-1.2.4-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-12.9.27-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_linux-aarch64-12.9.86-h4310d6a_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.4.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-14.3.0-h25ba3ff_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-14.3.0-h57c8d61_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-core[491c4fa3] @ . + - conda: . + build: py314he8946ed_0 win-64: - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.46.1-default_ha84baeb_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-bindings-12.9.7-py314h2547b3f_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-12.9.27-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-12.9.86-h57928b3_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-crt-tools-12.9.86-h57928b3_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-12.9.79-he0c23c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-12.9.79-he0c23c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-12.9.79-he0c23c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-12.9.79-he0c23c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-12.9.79-he0c23c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-12.9.79-he0c23c2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_win-64-12.9.86-h36c15f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvcc-impl-12.9.86-h53cbb54_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvcc-tools-12.9.86-he0c23c2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-12.9.86-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-12.9.86-hac47afa_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-12.9.86-h57928b3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.4.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-12.9.86-h2466b09_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-12.9.86-h2466b09_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.6.0-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_he504192_904.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.2-hd47e2ca_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-h6123e3b_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-h062b9a2_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.7-h1f5b9c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.88.2-h395db07_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.88.2-h74ecf4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.3.0-h294ba9c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_118.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lame-4.0-h4a41cd3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.46.1-default_hfd38196_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_h2a3cdd5_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.2-h7ce1215_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h2419aca_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.12.0-h932607e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-12.9.86-hac47afa_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvptxcompiler-dev-12.9.86-h57928b3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_win-64-12.9.86-h57928b3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.9.1-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.45.1-default_ha84baeb_101.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/conda-gcc-specs-15.2.0-hd546029_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-bindings-12.9.6-py314hdc4d7ff_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-crt-tools-12.9.86-h57928b3_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvcc-impl-12.9.86-h53cbb54_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvcc-tools-12.9.86-he0c23c2_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-12.9.86-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-12.9.86-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-12.9.86-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-12.9.86-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.4-py314h344ed54_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.0.1-gpl_hb2d76f6_914.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.17.1-hd47e2ca_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.2-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-hd556455_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-ha526d7c_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.5-h1f5b9c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.2.0-h294ba9c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-hac47afa_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-13.1.0-h5a1b470_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.2-h637d24d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lame-3.100-hcfcfb64_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.45.1-default_hfd38196_101.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-5_hf2e6a31_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-5_h2a3cdd5_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.4-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.2-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.2-hdbac1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.86.4-h0c9aed9_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.2-default_h4379cf1_1000.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.3.0-ha71e874_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.2-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-hf3f85d1_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-5_hf9ab0e9_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-12.9.86-hac47afa_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvptxcompiler-dev-12.9.86-h57928b3_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.55-h7351971_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.60.0-hd5e4115_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.62.3-h15cfe45_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.2-h3cfd58e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.2-h779ef1b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.0-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.0-hac47afa_455.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ml_dtypes-0.5.4-np2py314hb7a55bc_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.2-py314h06c3c77_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-hb17fa0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpg123-1.32.9-h01009b0_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py314h02f10f6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-h1eab103_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.2-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2025.5-h8fa7867_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.1-h49e36cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.0.1-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-h3155e25_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.12-h5112557_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.3-hbcac29b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.2.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_34.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda - conda: https://conda.anaconda.org/conda-forge/win-64/x264-1!164.3095-h8ffe710_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - - conda_source: cuda-core[8e8d43e1] @ . + - conda: . + build: py314h5e6f764_0 cu13: channels: - url: https://conda.anaconda.org/conda-forge/ + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45.1-default_hfdba357_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h039972f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.2.0-h53410ce_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.73-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.33-h69a702a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.33-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.33-h4bc722e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.73-h69a702a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.73-h4bc722e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-13.3.27-h7938cbb_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.4-py314h1807b08_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.0.1-gpl_hcddb375_914.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.17.1-h27c8c51_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.2-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h54862ce_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.2-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h6f77f03_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he420e7e_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.5-h2b0a6b4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.2.0-h96af755_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h0dff253_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.7-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-13.1.0-h6083320_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.2-h33c6efd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.9.0-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.28.2-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.4-h96ad9f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.29.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h7b12aa8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.5-h434b012_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-5_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.4.0-ha23c83e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.2-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.2-h73754d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.4-h6548e54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.2-default_hafda6a7_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.3.0-h4c17acf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.2-h0d30a3d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h3a9caae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-ha09017c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-5_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-h174a0a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.0.0-hd85de46_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.0.0-hd85de46_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.0.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.0.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.0.0-h7a07914_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.0.0-h7a07914_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.0.0-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.0.0-h78e8023_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.0.0-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.1-h21c0c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.55-h421ea60_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h2b00c02_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.2-h61e6d4b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-hc50b9dd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h2840a7c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-h9d88235_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.24.1-he1eb515_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.1-hca5e8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.2-hca6bf5a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.2-he237659_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.5.4-np2py314h6477eea_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.2-py314h2b28147_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py314h2b28147_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.4-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-h65dd3cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.2-hdeec2a5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2025.5-h718be3e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.12-hdeec2a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.3-h1b60276_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.1-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.0.1-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-hb700be7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda @@ -770,196 +797,203 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.3.1-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.33-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.33-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.47-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-bindings[29afc263] @ ../cuda_bindings - - conda_source: cuda-core[496050ab] @ . - - conda_source: cuda-pathfinder[83159de6] @ ../cuda_pathfinder + - conda: . + build: py314hd3a1e81_0 + - conda: ../cuda_bindings + build: py314hd3a1e81_0 + - conda: ../cuda_pathfinder linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.9.1-hcccb83c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.45.1-default_h5f4c503_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.16.1-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.14.1-pl5321h8fffa31_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.4.1-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.33-he9431aa_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.33-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.33-h7b14b0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.73-he9431aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.73-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.73-h7b14b0b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-13.3.27-h16bee8c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.4-py314h4c416a3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.0.1-gpl_h62efc85_914.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.17.1-hba86a56_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.2-h8af1aa0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_h1992ac7_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.2-hba86a56_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.3-h8af1aa0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-hcedddb3_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.5-h90308e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.2.0-h124e036_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.7-h90308e0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.3.0-h124e036_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.14-hfae3067_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-13.1.0-h1134a53_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.2-hcab7f73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.15-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260107.1-cxx17_h6983b43_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.4-hcfe818d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-5_haddc8a3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260526.0-cxx17_h6983b43_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.5-hac26362_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-5_hd72aa62_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.125-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.4-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.4.0-hf71c8f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.127-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libflac-1.5.0-he9c94f4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.2-h8af1aa0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.2-hdae7a39_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.86.4-hf53f6bf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.12.2-default_ha470c98_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.3.0-h81d0cf9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.2-h96a7f82_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-devel-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h9b45113_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.11.2-h71be66a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-5_h88aeb00_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.2-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.2.0-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.12.0-hbae46ee_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.30-pthreads_h9d3fd7e_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.0.0-h1915271_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.0.0-h1915271_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.0.0-h3d5001d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.0.0-h3d5001d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.0.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.0.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.0.0-h558496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.0.0-h558496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.0.0-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.0.0-h2cb6e3c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.0.0-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.1-h9dfe790_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.1-hfae3067_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.18-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.55-h1abf092_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.33.5-h1f88751_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.60.2-h8171147_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.19-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-ha018e38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-7.35.1-h30ec8a2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.62.3-hf685517_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.52.0-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.2-hdb009f0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libunwind-1.8.3-h6470e1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.14-hfefdfc9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libusb-1.0.29-h06eaf92_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.41.3-h1022ec0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvorbis-1.3.7-h7ac5ae9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvpx-1.15.2-hfae3067_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.341.0-h8b8848b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.1-h3c6a4c8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.2-h79dcc73_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.2-h825857f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.2-h3c6a4c8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ml_dtypes-0.5.4-np2py314h175d3ba_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.2-py314haac167e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h0564a2a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.1-h546c87b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-he55ef5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py314he1698a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h663e864_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-h8547ced_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-7.2.2-py314h2e8dab5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.3-hb06a95a_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.2-had2c13b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2025.5-hfeb5c2c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.12-had2c13b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.3-h9a39c52_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.1-hfefdfc9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.0.1-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2022.3.0-hfefdfc9_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.24.0-h4f8a99f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.2.0-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2023.0.0-h57272ed_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.26.0-h4f8a99f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.47-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.48-h80f16a2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda @@ -968,351 +1002,370 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.2-h57736b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.3-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxscrnsaver-1.2.4-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.3.1-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.33-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.33-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-bindings[b73e05e0] @ ../cuda_bindings - - conda_source: cuda-core[b9ba9726] @ . - - conda_source: cuda-pathfinder[4dfff30f] @ ../cuda_pathfinder + - conda: . + build: py314h3ff45e1_0 + - conda: ../cuda_bindings + build: py314h3ff45e1_0 + - conda: ../cuda_pathfinder win-64: - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.46.1-default_ha84baeb_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.3.1-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.33-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.4.1-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.73-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-13.3.29-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-13.3.29-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.33-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.73-h719f0c7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.73-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.73-h2466b09_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_he504192_904.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.2-hd47e2ca_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-h6123e3b_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-h062b9a2_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.7-h1f5b9c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.88.2-h395db07_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.88.2-h74ecf4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.3.0-h294ba9c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.9.1-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.45.1-default_ha84baeb_101.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/conda-gcc-specs-15.2.0-hd546029_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.33-h719f0c7_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.33-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.33-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.4-py314h344ed54_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.0.1-gpl_hb2d76f6_914.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.17.1-hd47e2ca_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.2-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-hd556455_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-ha526d7c_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.5-h1f5b9c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.2.0-h294ba9c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-hac47afa_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-13.1.0-h5a1b470_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.2-h637d24d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lame-3.100-hcfcfb64_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.45.1-default_hfd38196_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lame-4.0-h4a41cd3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.46.1-default_hfd38196_102.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-5_hf2e6a31_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-5_h2a3cdd5_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_h2a3cdd5_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.4-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.2-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.2-hdbac1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.86.4-h0c9aed9_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.2-default_h4379cf1_1000.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.3.0-ha71e874_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.2-h7ce1215_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h2419aca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.2-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-hf3f85d1_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-5_hf9ab0e9_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.12.0-h932607e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.55-h7351971_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.60.0-hd5e4115_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.62.3-h15cfe45_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.2-h3cfd58e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.2-h779ef1b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.0-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.0-hac47afa_455.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ml_dtypes-0.5.4-np2py314hb7a55bc_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.2-py314h06c3c77_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-hb17fa0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpg123-1.32.9-h01009b0_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py314h02f10f6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-h1eab103_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.2-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2025.5-h8fa7867_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.1-h49e36cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.0.1-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-h3155e25_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.12-h5112557_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.3-hbcac29b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.2.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_34.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda - conda: https://conda.anaconda.org/conda-forge/win-64/x264-1!164.3095-h8ffe710_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - - conda_source: cuda-bindings[1a320ca0] @ ../cuda_bindings - - conda_source: cuda-core[f1ea05b3] @ . - - conda_source: cuda-pathfinder[169735b8] @ ../cuda_pathfinder + - conda: . + build: py314hd7f1909_0 + - conda: ../cuda_bindings + build: py314hd7f1909_0 + - conda: ../cuda_pathfinder default: channels: - url: https://conda.anaconda.org/conda-forge/ + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45.1-default_hfdba357_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h039972f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.2.0-h53410ce_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.73-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.33-h69a702a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.33-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.33-h4bc722e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.73-h69a702a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.73-h4bc722e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-13.3.27-h7938cbb_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.4-py314h1807b08_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.0.1-gpl_hcddb375_914.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.17.1-h27c8c51_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.2-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h54862ce_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.2-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h6f77f03_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he420e7e_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.5-h2b0a6b4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.2.0-h96af755_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h0dff253_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.7-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-13.1.0-h6083320_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.2-h33c6efd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.9.0-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.28.2-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.4-h96ad9f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.29.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h7b12aa8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.5-h434b012_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-5_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.4.0-ha23c83e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.2-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.2-h73754d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.4-h6548e54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.2-default_hafda6a7_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.3.0-h4c17acf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.2-h0d30a3d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h3a9caae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-ha09017c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-5_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-h174a0a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.0.0-hd85de46_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.0.0-hd85de46_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.0.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.0.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.0.0-h7a07914_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.0.0-h7a07914_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.0.0-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.0.0-h78e8023_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.0.0-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.1-h21c0c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.55-h421ea60_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h2b00c02_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.2-h61e6d4b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-hc50b9dd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h2840a7c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-h9d88235_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.24.1-he1eb515_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.1-hca5e8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.2-hca6bf5a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.2-he237659_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.5.4-np2py314h6477eea_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.2-py314h2b28147_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py314h2b28147_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.4-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-h65dd3cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.2-hdeec2a5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2025.5-h718be3e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.12-hdeec2a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.3-h1b60276_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.1-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.0.1-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-hb700be7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda @@ -1321,196 +1374,203 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.3.1-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.33-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.33-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.47-hd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-bindings[29afc263] @ ../cuda_bindings - - conda_source: cuda-core[496050ab] @ . - - conda_source: cuda-pathfinder[83159de6] @ ../cuda_pathfinder + - conda: . + build: py314hd3a1e81_0 + - conda: ../cuda_bindings + build: py314hd3a1e81_0 + - conda: ../cuda_pathfinder linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.9.1-hcccb83c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.45.1-default_h5f4c503_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.16.1-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.14.1-pl5321h8fffa31_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.4.1-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.33-he9431aa_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.33-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.33-h7b14b0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.73-he9431aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.73-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.73-h7b14b0b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-13.3.27-h16bee8c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.4-py314h4c416a3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.0.1-gpl_h62efc85_914.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.17.1-hba86a56_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.2-h8af1aa0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_h1992ac7_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.2-hba86a56_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.3-h8af1aa0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-hcedddb3_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.5-h90308e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.2.0-h124e036_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.7-h90308e0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.3.0-h124e036_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.14-hfae3067_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-13.1.0-h1134a53_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.2-hcab7f73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.15-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260107.1-cxx17_h6983b43_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.4-hcfe818d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-5_haddc8a3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260526.0-cxx17_h6983b43_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.5-hac26362_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-5_hd72aa62_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.125-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.4-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.4.0-hf71c8f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.127-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libflac-1.5.0-he9c94f4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.2-h8af1aa0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.2-hdae7a39_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.86.4-hf53f6bf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.12.2-default_ha470c98_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.3.0-h81d0cf9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.2-h96a7f82_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-devel-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h9b45113_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.11.2-h71be66a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-5_h88aeb00_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.2-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.2.0-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.12.0-hbae46ee_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.30-pthreads_h9d3fd7e_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.0.0-h1915271_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.0.0-h1915271_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.0.0-h3d5001d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.0.0-h3d5001d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.0.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.0.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.0.0-h558496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.0.0-h558496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.0.0-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.0.0-h2cb6e3c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.0.0-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.1-h9dfe790_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.1-hfae3067_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.18-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.55-h1abf092_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.33.5-h1f88751_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.60.2-h8171147_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.19-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-ha018e38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-7.35.1-h30ec8a2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.62.3-hf685517_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.52.0-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.2-hdb009f0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libunwind-1.8.3-h6470e1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.14-hfefdfc9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libusb-1.0.29-h06eaf92_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.41.3-h1022ec0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvorbis-1.3.7-h7ac5ae9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvpx-1.15.2-hfae3067_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.341.0-h8b8848b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.1-h3c6a4c8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.2-h79dcc73_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.2-h825857f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.2-h3c6a4c8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ml_dtypes-0.5.4-np2py314h175d3ba_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.2-py314haac167e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h0564a2a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.1-h546c87b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-he55ef5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py314he1698a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h663e864_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-h8547ced_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-7.2.2-py314h2e8dab5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.3-hb06a95a_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.2-had2c13b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2025.5-hfeb5c2c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.12-had2c13b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.3-h9a39c52_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.1-hfefdfc9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.0.1-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2022.3.0-hfefdfc9_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.24.0-h4f8a99f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.2.0-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2023.0.0-h57272ed_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.26.0-h4f8a99f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.47-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.48-h80f16a2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda @@ -1519,356 +1579,320 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.2-h57736b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.3-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxscrnsaver-1.2.4-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.3.1-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.33-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.33-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-bindings[b73e05e0] @ ../cuda_bindings - - conda_source: cuda-core[b9ba9726] @ . - - conda_source: cuda-pathfinder[4dfff30f] @ ../cuda_pathfinder + - conda: . + build: py314h3ff45e1_0 + - conda: ../cuda_bindings + build: py314h3ff45e1_0 + - conda: ../cuda_pathfinder win-64: - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.46.1-default_ha84baeb_102.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.3.1-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.33-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.4.1-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.73-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-13.3.29-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-13.3.29-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.33-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.73-h719f0c7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.73-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.73-h2466b09_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_he504192_904.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.2-hd47e2ca_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-h6123e3b_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-h062b9a2_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.7-h1f5b9c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.88.2-h395db07_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.88.2-h74ecf4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.3.0-h294ba9c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.9.1-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.45.1-default_ha84baeb_101.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/conda-gcc-specs-15.2.0-hd546029_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.33-h719f0c7_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.33-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.33-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.4-py314h344ed54_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.0.1-gpl_hb2d76f6_914.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.17.1-hd47e2ca_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.2-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-hd556455_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-ha526d7c_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.5-h1f5b9c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.2.0-h294ba9c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-hac47afa_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-13.1.0-h5a1b470_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.2-h637d24d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lame-3.100-hcfcfb64_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.45.1-default_hfd38196_101.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lame-4.0-h4a41cd3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.46.1-default_hfd38196_102.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-5_hf2e6a31_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-5_h2a3cdd5_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_h2a3cdd5_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.4-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.2-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.2-hdbac1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.86.4-h0c9aed9_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.2-default_h4379cf1_1000.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.3.0-ha71e874_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.2-h7ce1215_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h2419aca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.2-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-hf3f85d1_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-5_hf9ab0e9_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.12.0-h932607e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.55-h7351971_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.60.0-hd5e4115_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_18.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.62.3-h15cfe45_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_119.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.2-h3cfd58e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.2-h779ef1b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.0-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.0-hac47afa_455.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ml_dtypes-0.5.4-np2py314hb7a55bc_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.2-py314h06c3c77_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-hb17fa0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpg123-1.32.9-h01009b0_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py314h02f10f6_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-h1eab103_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.2-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2025.5-h8fa7867_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.1-h49e36cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.0.1-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-h3155e25_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.12-h5112557_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.3-hbcac29b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.2.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_34.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda - conda: https://conda.anaconda.org/conda-forge/win-64/x264-1!164.3095-h8ffe710_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - - conda_source: cuda-bindings[1a320ca0] @ ../cuda_bindings - - conda_source: cuda-core[f1ea05b3] @ . - - conda_source: cuda-pathfinder[169735b8] @ ../cuda_pathfinder + - conda: . + build: py314hd7f1909_0 + - conda: ../cuda_bindings + build: py314hd7f1909_0 + - conda: ../cuda_pathfinder docs: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314h3de4e8d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.33-h69a702a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.33-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.33-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.4-py314h1807b08_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.20-py314h42812f9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.3.2-py314h42812f9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-6_h4a7cf45_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.77-hd0affe5_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-6_h0358290_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.5-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-6_h47877c9_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.32-pthreads_h94d23a6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.21-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-hb9d3cd8_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py314h9891dd4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.3-py314h2b28147_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.30.0-py314h2e6c369_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py314h0f05182_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py314hf07bd8e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.49-py314h0f05182_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.5-py314h5bd0f2a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h41580af_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/apeye-1.4.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/apeye-core-1.1.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/autodocsumm-0.2.15-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314h3de4e8d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.4-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyhc90fa1f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.3-py314hd8ed1ab_101.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cssutils-2.11.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.33-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.73-h69a702a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.73-h4bc722e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.3.0.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py314h42812f9_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/domdf-python-tools-3.10.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.25.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.3-py314h42812f9_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.2.0-pyha191276_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhecfbec7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.15.0-pyh53cf698_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-cache-1.0.1-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.8.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbde042b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-hb9d3cd8_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/more-itertools-11.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.1-py314h97ea11e_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py314h2b28147_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.0.1-pyh145f28c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.1.2-pyh145f28c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyclibrary-0.2.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.17.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.19.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.3-h4df99d1_101.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py314h1bee95f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py314h0f05182_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py314hf07bd8e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-autodoc-typehints-3.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda @@ -1881,176 +1905,177 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.51-py314h0f05182_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py314h5bd0f2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-bindings[29afc263] @ ../cuda_bindings - - conda_source: cuda-core[496050ab] @ . - - conda_source: cuda-pathfinder[83159de6] @ ../cuda_pathfinder + - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h09e67af_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + - conda: . + build: py314hd3a1e81_0 + - conda: ../cuda_bindings + build: py314hd3a1e81_0 + - conda: ../cuda_pathfinder - pypi: https://files.pythonhosted.org/packages/8c/79/017fab2f7167a9a9795665f894d04f77aafceca80821b51589bb4b23ff5c/nvidia_sphinx_theme-0.0.9.post1-py3-none-any.whl linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.2.0-py314h352cb57_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.33-he9431aa_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.33-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.33-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.4-py314h4c416a3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/debugpy-1.8.20-py314he6363bd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/greenlet-3.3.2-py314he6363bd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-hfd895c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-6_haddc8a3_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.77-hf9559e3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-6_hd72aa62_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.5-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-6_h88aeb00_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.32-pthreads_h9d3fd7e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.21-h80f16a2_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.52.0-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42-h1022ec0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/make-4.4.1-h2a6d0cb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.3-py314hb76de3f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/msgpack-python-1.1.2-py314hd7d8586_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.3-py314haac167e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.1-h546c87b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-7.2.2-py314h2e8dab5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.3-hb06a95a_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.3-py314h807365f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-27.1.0-py312hdf0a211_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rpds-py-0.30.0-py314h02b7a91_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ruamel.yaml.clib-0.2.15-py314h2e8dab5_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/scipy-1.17.1-py314hd30f180_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sqlalchemy-2.0.49-py314hf8f541d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.5.5-py314hafb4487_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h80f16a2_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-hc0523f8_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/apeye-1.4.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/apeye-core-1.1.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/autodocsumm-0.2.15-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyh8f84b5b_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.2.0-py314h352cb57_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.4-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyhc90fa1f_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.3-py314hd8ed1ab_101.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cssutils-2.11.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.33-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.73-he9431aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.73-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.73-h7b14b0b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.3.0.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/debugpy-1.8.21-py314he6363bd_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/domdf-python-tools-3.10.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.25.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/greenlet-3.5.3-py314he6363bd_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.2.0-pyha191276_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhecfbec7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.15.0-pyh53cf698_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-cache-1.0.1-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.8.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-h2fb54aa_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.22-h80f16a2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/make-4.4.1-h2a6d0cb_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.3-py314hb76de3f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/more-itertools-11.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/msgpack-python-1.2.1-py314ha0cc70f_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py314he1698a1_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.6-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.0.1-pyh145f28c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.1.2-pyh145f28c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-7.2.2-py314h2e8dab5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyclibrary-0.2.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.17.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.19.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.3-h4df99d1_101.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.3-py314h807365f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-27.1.0-py312hdf0a211_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rpds-py-2026.6.3-py314h721bf50_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ruamel.yaml.clib-0.2.15-py314h2e8dab5_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/scipy-1.18.0-py314h052a9b3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-autodoc-typehints-3.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda @@ -2063,111 +2088,160 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sqlalchemy-2.0.51-py314hf8f541d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.5.7-py314hafb4487_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda_source: cuda-bindings[b73e05e0] @ ../cuda_bindings - - conda_source: cuda-core[b9ba9726] @ . - - conda_source: cuda-pathfinder[4dfff30f] @ ../cuda_pathfinder + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h80f16a2_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-hec9560f_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda + - conda: . + build: py314h3ff45e1_0 + - conda: ../cuda_bindings + build: py314h3ff45e1_0 + - conda: ../cuda_pathfinder - pypi: https://files.pythonhosted.org/packages/8c/79/017fab2f7167a9a9795665f894d04f77aafceca80821b51589bb4b23ff5c/nvidia_sphinx_theme-0.0.9.post1-py3-none-any.whl win-64: - - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/apeye-1.4.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/apeye-core-1.1.5-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/autodocsumm-0.2.15-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyha7b4d00_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py314he701e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.4-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyh6dadd2b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.3-py314hd8ed1ab_101.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cssutils-2.11.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.33-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.73-h719f0c7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.73-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.73-h2466b09_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.3.0.post1-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.21-py314hb98de8c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/domdf-python-tools-3.10.0-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.25.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.3-py314hb98de8c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.2.0-pyh6dadd2b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhccfa634_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh6dadd2b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.15.0-pyhe2676ad_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-cache-1.0.1-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.8.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.5.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_h2a3cdd5_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h692994f_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-hbc0d294_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py314h2359020_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/more-itertools-11.0.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py314hf309875_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.4.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py314h02f10f6_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.10.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.6-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.0.1-pyh145f28c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.4-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.1.2-pyh145f28c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyclibrary-0.2.2-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.17.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.19.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.3-h4df99d1_101.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py314hcaaf0b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.6.3-py314hc980628_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py314hc5dbbe4_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.18.0-py314h221f224_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.9.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-autodoc-typehints-3.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda @@ -2180,253 +2254,191 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.51-py314hc5dbbe4_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.5.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py314h5a2d7ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py314he701e3d_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.33-h719f0c7_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.33-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.33-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.4-py314h344ed54_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.20-py314hb98de8c_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.3.2-py314hb98de8c_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h0ea6238_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-6_hf2e6a31_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-6_h2a3cdd5_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.5-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.2-default_h4379cf1_1000.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-6_hf9ab0e9_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.21-h6a83c73_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.2-h692994f_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.2-h5d26750_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.2-h4fa8253_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py314h2359020_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.1-hac47afa_11.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.1.2-py314h909e829_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.3-py314h02f10f6_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py314h8f8f202_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.30.0-py314h9f07db2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py314hc5dbbe4_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py314h221f224_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.49-py314hc5dbbe4_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-h3155e25_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.5-py314h5a2d7ad_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h507cc87_10.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_11.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - - conda_source: cuda-bindings[1a320ca0] @ ../cuda_bindings - - conda_source: cuda-core[f1ea05b3] @ . - - conda_source: cuda-pathfinder[169735b8] @ ../cuda_pathfinder + - conda: . + build: py314hd7f1909_0 + - conda: ../cuda_bindings + build: py314hd7f1909_0 + - conda: ../cuda_pathfinder - pypi: https://files.pythonhosted.org/packages/8c/79/017fab2f7167a9a9795665f894d04f77aafceca80821b51589bb4b23ff5c/nvidia_sphinx_theme-0.0.9.post1-py3-none-any.whl - examples: + numba-classic: channels: - url: https://conda.anaconda.org/conda-forge/ + indexes: + - https://pypi.org/simple + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: - p1: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-7_kmp_llvm.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45.1-default_hfdba357_101.conda + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h039972f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-crt-tools-13.3.33-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cuobjdump-13.3.29-hffce074_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cupti-13.3.35-h676940d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-tools-13.3.33-he02047a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvdisasm-13.3.29-hffce074_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvtx-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.33-h69a702a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.33-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.33-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cupy-14.0.1-py314h31ce861_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cupy-core-14.0.1-py314hed3c566_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.0.1-gpl_hcddb375_914.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-12.1.0-hff5e90c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.17.1-h27c8c51_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.2-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h54862ce_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.2-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h6f77f03_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he420e7e_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.5-h2b0a6b4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.2.0-h96af755_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.7-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.0-py314h28848ee_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-13.1.0-h6083320_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.2-h33c6efd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.9.0-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.28.2-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.4-h96ad9f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h5875eb1_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.29.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h7b12aa8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.5-h434b012_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-5_hfef963f_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcublas-13.5.1.27-h676940d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcudnn-9.20.0.48-ha4b6413_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcudss-0.7.1.4-h7bcfba5_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufft-12.3.0.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurand-10.4.3.29-h676940d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcusolver-12.2.2.18-h676940d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcusparse-12.8.1.7-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.4-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.4.0-ha23c83e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.2-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.2-h73754d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.4-h6548e54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.2-default_hafda6a7_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.3.0-h4c17acf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.2-h0d30a3d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h3a9caae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-ha09017c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-5_h5e43f62_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmagma-2.9.0-hd93470c_6.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-h174a0a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.0.0-hd85de46_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.0.0-hd85de46_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.0.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.0.0-hb56ce9e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.0.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.0.0-h7a07914_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.0.0-h7a07914_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.0.0-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.0.0-h78e8023_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.0.0-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.1-h21c0c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.55-h421ea60_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h2b00c02_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.2-h61e6d4b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-hc50b9dd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h2840a7c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libtorch-2.10.0-cuda130_mkl_hb2e6204_303.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-h9d88235_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.51.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.24.1-he1eb515_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.1-hca5e8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.2-hca6bf5a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.2-he237659_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-22.1.0-h4922eb0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2025.3.0-h0e700b2_463.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-h24ddda3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h90cbb55_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/nccl-2.29.3.1-h8340e53_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.2-py314h2b28147_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.3-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/optree-0.19.0-py314h9891dd4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py312h33ff503_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.4-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-h65dd3cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-2.10.0-cuda130_mkl_py314_h382c374_303.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-gpu-2.10.0-cuda129_mkl_h0d04637_303.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.2-hdeec2a5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2025.5-h718be3e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sleef-3.9.0-ha0421bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.12-hdeec2a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.3-h1b60276_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.1-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.0.1-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-hb700be7_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/triton-3.6.0-cuda130py314h1cdc6f0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda @@ -2435,218 +2447,149 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.3-py314hd8ed1ab_101.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.3.1-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.33-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.25.2-pyhd8ed1ab_0.conda + - pypi: https://files.pythonhosted.org/packages/ab/0a/7240948c2d45ebe895d2f9abb1180bacaf77af24b7e3dcf7617c22596ab1/numba_cuda-0.0.12-py3-none-any.whl + linux-aarch64: + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.16.1-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.14.1-pl5321h8fffa31_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_h1992ac7_904.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.2-hba86a56_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.0.1-pyh7a1b43c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-11-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.0.1-pyhc7ab6ef_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sympy-1.14.0-pyh2585a3b_106.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.47-hd8ed1ab_0.conda - - conda_source: cuda-bindings[29afc263] @ ../cuda_bindings - - conda_source: cuda-core[496050ab] @ . - - conda_source: cuda-pathfinder[83159de6] @ ../cuda_pathfinder - p2: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-7_kmp_llvm.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.9.1-hcccb83c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.45.1-default_h5f4c503_101.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-2.0.0-py314h0bd77cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-crt-tools-13.3.33-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cuobjdump-13.3.29-h2079400_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cupti-13.3.35-he38c790_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvcc-tools-13.3.33-h614329b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvdisasm-13.3.29-h40ab4d6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvtx-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.33-he9431aa_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.33-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.33-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cupy-14.0.1-py314h8e5308c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cupy-core-14.0.1-py314h1d6db3a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.0.1-gpl_h62efc85_914.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fmt-12.1.0-h20c602a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.17.1-hba86a56_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.2-h8af1aa0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.3-h8af1aa0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-hcedddb3_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.5-h90308e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.2.0-h124e036_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.7-h90308e0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.3.0-h124e036_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmpy2-2.3.0-py314h887ad84_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.14-hfae3067_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-13.1.0-h1134a53_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.2-hcab7f73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.15-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_101.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260107.1-cxx17_h6983b43_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.4-hcfe818d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-5_haddc8a3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260526.0-cxx17_h6983b43_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.5-hac26362_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-5_hd72aa62_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcublas-13.5.1.27-he38c790_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcudnn-9.20.0.48-h0bf6004_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcudss-0.7.1.4-he387df4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufft-12.3.0.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurand-10.4.3.29-he38c790_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcusolver-12.2.2.18-he38c790_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcusparse-12.8.1.7-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.125-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.4-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.4.0-hf71c8f5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.127-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libflac-1.5.0-he9c94f4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.2-h8af1aa0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.2-hdae7a39_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-devel-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.86.4-hf53f6bf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-devel-1.7.0-hd24410f_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.12.2-default_ha470c98_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.3.0-h81d0cf9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-devel-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.2-h96a7f82_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-devel-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-devel-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h9b45113_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.11.2-h71be66a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-5_h88aeb00_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmagma-2.9.0-he3ecef4_6.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.2.0-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.12.0-hbae46ee_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h86ecc28_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.30-openmp_h1a8b088_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.0.0-h1915271_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.0.0-h1915271_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.0.0-h3d5001d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.0.0-h3d5001d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.0.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.0.0-he07c6df_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.0.0-h558496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.0.0-h558496d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.0.0-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.0.0-h2cb6e3c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.0.0-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.1-h9dfe790_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.1-hfae3067_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.18-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.55-h1abf092_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.33.5-h1f88751_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.60.2-h8171147_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.19-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-ha018e38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-7.35.1-h30ec8a2_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.62.3-hf685517_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.52.0-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtorch-2.10.0-cuda130_generic_he6ac1af_203.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.2-hdb009f0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libunwind-1.8.3-h6470e1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.14-hfefdfc9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libusb-1.0.29-h06eaf92_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.41.3-h1022ec0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuv-1.51.0-he30d5cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvorbis-1.3.7-h7ac5ae9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvpx-1.15.2-hfae3067_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.341.0-h8b8848b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.1-h3c6a4c8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.2-h79dcc73_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.2-h825857f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/llvm-openmp-22.1.0-he40846f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.3-py314hb76de3f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpc-1.3.1-h783934e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpfr-4.2.1-h2305555_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.2-h3c6a4c8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/nccl-2.29.3.1-h7d52dd6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.2-py314haac167e_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h0564a2a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.1-h546c87b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/optree-0.19.0-py314hd7d8586_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-he55ef5b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py312hce9e0af_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h663e864_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-h8547ced_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.3-hb06a95a_101_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pytorch-2.10.0-cuda130_generic_py314_h7cb4a1c_203.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pytorch-gpu-2.10.0-cuda130_generic_h63a1e35_203.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.12.13-h91f4b29_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.2-had2c13b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2025.5-hfeb5c2c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sleef-3.9.0-h5bb93e2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.12-had2c13b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.3-h9a39c52_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.1-hfefdfc9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.0.1-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2022.3.0-hfefdfc9_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/triton-3.6.0-cuda130py314h75a4554_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.24.0-h4f8a99f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.2.0-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2023.0.0-h57272ed_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.26.0-h4f8a99f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.47-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.48-h80f16a2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda @@ -2655,184 +2598,148 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.2-h57736b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.3-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxscrnsaver-1.2.4-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-xorgproto-2025.1-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.3-py314hd8ed1ab_101.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.3.1-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.33-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.25.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.2.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_118.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.0.1-pyh7a1b43c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-11-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.0.1-pyhc7ab6ef_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sympy-1.14.0-pyh2585a3b_106.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda_source: cuda-bindings[b73e05e0] @ ../cuda_bindings - - conda_source: cuda-core[b9ba9726] @ . - - conda_source: cuda-pathfinder[4dfff30f] @ ../cuda_pathfinder - p3: - - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.33-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - pypi: https://files.pythonhosted.org/packages/ab/0a/7240948c2d45ebe895d2f9abb1180bacaf77af24b7e3dcf7617c22596ab1/numba_cuda-0.0.12-py3-none-any.whl + win-64: + - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_he504192_904.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.2-hd47e2ca_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.9.1-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py314h5a2d7ad_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.33-h719f0c7_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.33-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.33-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.0.1-gpl_hb2d76f6_914.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.17.1-hd47e2ca_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.2-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.5-h1f5b9c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.2.0-h294ba9c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-hac47afa_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-13.1.0-h5a1b470_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.2-h637d24d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lame-3.100-hcfcfb64_1003.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.7-h1f5b9c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.88.2-h395db07_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.88.2-h74ecf4c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.3.0-h294ba9c_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lame-4.0-h4a41cd3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-5_hf2e6a31_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-5_h2a3cdd5_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_h2a3cdd5_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.4-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.2-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.2-hdbac1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.86.4-h0c9aed9_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.2-default_h4379cf1_1000.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.3.0-ha71e874_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.2-h7ce1215_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h2419aca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.2-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-hf3f85d1_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-5_hf9ab0e9_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.12.0-h932607e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.55-h7351971_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.60.0-hd5e4115_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.62.3-h15cfe45_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.2-h3cfd58e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.2-h779ef1b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.0-h4fa8253_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.0-hac47afa_455.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.2-py314h06c3c77_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-hb17fa0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpg123-1.32.9-h01009b0_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py312ha3f287d_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-h1eab103_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.2-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2025.5-h8fa7867_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.1-h49e36cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.0.1-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-h3155e25_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.12-h5112557_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.3-hbcac29b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.2.0-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_34.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda - conda: https://conda.anaconda.org/conda-forge/win-64/x264-1!164.3095-h8ffe710_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - - conda_source: cuda-bindings[1a320ca0] @ ../cuda_bindings - - conda_source: cuda-core[f1ea05b3] @ . - - conda_source: cuda-pathfinder[169735b8] @ ../cuda_pathfinder - numba-classic: + numba-mlir: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: - p1: + linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h039972f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h6d6c1bd_900.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.1-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h54862ce_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.2-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.6-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.7-h2b0a6b4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.29.0-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.4-h96ad9f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h7b12aa8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.5-h434b012_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda @@ -2840,7 +2747,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.3.2-ha23c83e_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.4.0-ha23c83e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda @@ -2854,90 +2761,95 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.1-h0d30a3d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.2-h0d30a3d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.2.1-h17a8019_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h10be129_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h3a9caae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.4.1-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-h174a0a3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.0-h1f0fae8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.0-h7e124b3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.0-h7e124b3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.0-h1f0fae8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.0-h1f0fae8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.0-h1f0fae8_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.0-hd41364c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.0-h7a07914_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.0-h7a07914_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.0-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.0-h78e8023_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.0-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.1-h7e124b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.1-h1f0fae8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.1-hd41364c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.1-h607c73d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.1-h21c0c73_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.1-hecca717_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-h9eeb4b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-hc50b9dd_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h6eeba95_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h2840a7c_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-h9d88235_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.24.1-he1eb515_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py312h33ff503_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py314hd4f4903_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.4-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-h65dd3cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-hf9ea5aa_0_cp314t.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314t.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.10-hdeec2a5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.2-h718be3e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.12-hdeec2a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.3-h1b60276_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.0.1-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.25.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda @@ -2953,54 +2865,50 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.14-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda - - pypi: https://files.pythonhosted.org/packages/01/8a/f767031dcd0d24c2bbab4b696dbcf004da4f3284e5e4649fc47bc0e2bb78/nvidia_nvvm-13.3.33-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/11/c8/26f2e4aae92f11522a96043892ba39a90eac610d5242523aa863212bc1c7/cuda_pathfinder-1.5.5-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/39/2a/6d2e9047d1fb243dbaa364b01e0297534b9ed7fd27dba1c9f361519cf69b/cuda_bindings-13.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/69/47/a415af0283e4db0398104c6d1c11c9861a98dc67a7aa442a7769ed5d6196/numba-0.65.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/6f/be/7d2159a318ebdba835e57ae4df13a799f199a3416a15b37a3fac4f8ce400/numba_cuda-0.30.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/12/20/e79b4bfe98f075195afb6343d41c498f9dbd2d161d7021d4d28bceb83581/cuda_bindings-13.3.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/5a/e0/572f2179b4353a0a4ff1265b8708629192ff1245fabdc0576e5276731f24/cuda_core-1.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/fc/b4/d088047afe39827556df21118cac9ffd20cc3f968c99a7681494d1eb333c/cuda_pathfinder-1.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/61/a1/54c1e9498ba0df91ca15a46f41af6320cb9faed6ec2dbb30b6cbff8887c4/cuda_toolkit-13.3.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9a/90/b844d0c513fe88d61e7c3bb1acf4764701597ee5146540a26e28acf91f5f/numba_cuda_mlir-0.4.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/63/27/ca7392b2d030277bdf0273e7d23255b3ee57d57a7c170a6f4fb3981e1e5d/numpy-2.5.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/f8/ab/049726d90147865a3ea53bae6cb7c35b98bf1fdf96cdb967101329625f83/nvidia_cuda_cccl-13.3.3.4.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/7e/ce/16d76f4b5b3f7460f5ebd17516685495c149c66651ffdd381f90e4d4e65c/nvidia_cuda_crt-13.3.73-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/83/19/e46ef3597ba47a9f8a91ab24533db42a600b659fc418dbe4af0b630bcb41/nvidia_cuda_nvcc-13.3.73-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - pypi: https://files.pythonhosted.org/packages/8b/2c/86916c8a34dcdb0c3ddd1c0e30545041bd781184e437b9cb76fcda70560b/nvidia_cuda_nvrtc-13.3.33-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl - pypi: https://files.pythonhosted.org/packages/97/be/5699b6e642b372f7d24c59c2f41383e2696825e20bab85f7399c7c6a56f7/nvidia_cuda_runtime-13.3.29-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/9a/8c/29b52f76ee4b4f94d5f1ef05797a83ae48ba8b6d5fcd5691dafb570a5f65/cuda_toolkit-13.3.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a1/4d/603557ab3cb171cc2a61d3678a39cb4dae3fd21275078bfbd1c0b0b5230b/cuda_core-1.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e6/4b/e3f2cd17822cf772a4a51a0a8080b0032e6d37b2dbe8cfb724eac4e31c52/llvmlite-0.47.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - pypi: https://files.pythonhosted.org/packages/f0/ee/580ca6f29dcab0221db8706badca1bbbb084f1975c4d4e83329c3a7e31f0/nvidia_nvjitlink-13.3.33-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/fe/fb/195d50d25ab68a76b817ffc68c45b1fb828598ce35a8e5c1736060628dab/nvidia_cuda_cccl-13.3.3.3.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - p2: + - pypi: https://files.pythonhosted.org/packages/f3/e7/ff646aa6015c7e6d12aad234e68925c87b6681d8d18c3ac40535994a3b0d/nvidia_nvvm-13.3.73-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl + linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.16.1-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.14.1-pl5321h8fffa31_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_hef17b83_900.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.1-hba86a56_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_h1992ac7_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.2-hba86a56_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.3-h8af1aa0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.6-h90308e0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.7-h90308e0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.3.0-h124e036_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.15-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h1134a53_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260107.1-cxx17_h6983b43_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.4-hcfe818d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260526.0-cxx17_h6983b43_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.5-hac26362_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda @@ -3008,7 +2916,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.3.2-hf71c8f5_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.4.0-hf71c8f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.127-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda @@ -3022,44 +2930,46 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-devel-1.7.0-hd24410f_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.1-h96a7f82_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.2-h96a7f82_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-devel-1.7.0-hd24410f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-devel-14.2.1-h3a99ef3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h0626a34_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h9b45113_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.4.1-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.11.2-hbae46ee_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.2.0-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.12.0-hbae46ee_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h86ecc28_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.0-h1915271_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.0-h1915271_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.0-h3d5001d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.0-h3d5001d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.0-he07c6df_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.0-he07c6df_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.0-h558496d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.0-h558496d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.0-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.0-h2cb6e3c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.0-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.1-h9a8427e_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.1-he6b9e7b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.1-he07c6df_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.1-h6fc7987_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.1-h9dfe790_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.1-hfae3067_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.19-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-h07e46df_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-ha018e38_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.33.5-h306233d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-7.35.1-h30ec8a2_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.62.3-hf685517_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.2-h10b116e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.2-hdb009f0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libunwind-1.8.3-h6470e1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.14-hfefdfc9_0.conda @@ -3070,36 +2980,38 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.341.0-h8b8848b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.2-h3c6a4c8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.6-py312hce9e0af_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h0564a2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py314he1698a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h663e864_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-h8547ced_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.12.13-h91f4b29_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.10-had2c13b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.2-hfeb5c2c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.12-had2c13b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.3-h9a39c52_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.0.1-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.2.0-hfae3067_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2023.0.0-h57272ed_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.25.0-h4f8a99f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.26.0-h4f8a99f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.47-h80f16a2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.48-h80f16a2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda @@ -3115,54 +3027,42 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-xorgproto-2025.1-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.14-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - pypi: https://files.pythonhosted.org/packages/0d/a0/1daeae599cadd612689dbbf70d7da1c01883964fc2fbc7386f3c630a68cf/cuda_core-1.0.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/11/c8/26f2e4aae92f11522a96043892ba39a90eac610d5242523aa863212bc1c7/cuda_pathfinder-1.5.5-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/46/36/246f73ec99cfeab2f2cb2ce7d4218766cc36a2da418901223f4f4da9c813/numba-0.65.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/4d/56/9a98585665531ee32c355422f7bbd22f20da56bfbea3f565373c1382c40b/numba_cuda-0.30.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/5f/7a/9cb8a7fb87a85b11e8753548ae1422be847c5dddf3ca9ff5b080b309e271/nvidia_cuda_cccl-13.3.3.3.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/b1/81/bff68ce829999c1e4209c761bbf903b1c06ec570416ddb25020864ad5907/cuda_bindings-13.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/e0/14/db2256f3045fa17763726c09d519be4f876bfadeed85cfea539b42ecae25/cuda_core-1.1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/fc/b4/d088047afe39827556df21118cac9ffd20cc3f968c99a7681494d1eb333c/cuda_pathfinder-1.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/61/a1/54c1e9498ba0df91ca15a46f41af6320cb9faed6ec2dbb30b6cbff8887c4/cuda_toolkit-13.3.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ac/fd/07d232b953f089e931257a67c273e8ce217b33fb97edcd7758f78b64a6d0/numba_cuda_mlir-0.4.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/96/bd/572971ffc14bd36676c821fc15d991b08fe6179cb09368250147475f954d/nvidia_cuda_cccl-13.3.3.4.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/fa/41/2089e411507d66458d67208bdd1bc562d492bb6458c3d2aea4603072a219/nvidia_cuda_crt-13.3.73-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/5c/14/9f5cdc994d5431e2f08f62ffe34509e7feabd1f2e18517e2d7720c6ff0fd/nvidia_cuda_nvcc-13.3.73-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/e7/b6/60a3641111d39ebfcfcd8b8bfd0290d7623c4b8b5f90952c2d84776f8ca4/nvidia_cuda_nvrtc-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - pypi: https://files.pythonhosted.org/packages/5f/e5/c1a221c8e6fecd071b80ea44c20fc253ae24f56e15e3f77cfbc3fb76e724/nvidia_cuda_runtime-13.3.29-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - pypi: https://files.pythonhosted.org/packages/69/30/45414e35ff2eee7db3da037e5707037ccf9d2b5218ffbdb055ea4d5aa98a/nvidia_nvjitlink-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/83/36/ce0d42d3a4465c858c379932f0080d29d22f04383ab79119c7c4f4cdd5ef/nvidia_nvvm-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/9a/8c/29b52f76ee4b4f94d5f1ef05797a83ae48ba8b6d5fcd5691dafb570a5f65/cuda_toolkit-13.3.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b6/55/a3b4a543185305a9bdf3d9759d53646ed96e55e7dfd43f53e7a421b8fbae/llvmlite-0.47.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/ce/67/5e7dba1ba576dd73da5dee894ca076ca5e959450dfff66d6d510a255d1f7/cuda_bindings-13.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e7/b6/60a3641111d39ebfcfcd8b8bfd0290d7623c4b8b5f90952c2d84776f8ca4/nvidia_cuda_nvrtc-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - p3: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda + - pypi: https://files.pythonhosted.org/packages/2f/05/35754a7105563fd9b496e5ee8e1acd986aef8258760c3cbccf419aee861a/nvidia_nvvm-13.3.73-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + win-64: + - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_he504192_904.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.2-hd47e2ca_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.14-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_h6d5d71d_900.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.1-hd47e2ca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.6-h1f5b9c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.7-h1f5b9c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.88.2-h395db07_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.88.2-h74ecf4c_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.3.0-h294ba9c_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lame-3.100-hcfcfb64_1003.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lame-4.0-h4a41cd3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda @@ -3174,21 +3074,25 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.1-h7ce1215_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.2-h7ce1215_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-14.2.1-h03b5201_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h172a326_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h2419aca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.4.1-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-h932607e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.12.0-h932607e_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.62.3-h15cfe45_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda @@ -3198,22 +3102,27 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.0.0-hac47afa_908.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.6-py312ha3f287d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.0.0-h57928b3_908.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-hb17fa0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpg123-1.32.9-h01009b0_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py314hffb9209_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-h1eab103_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h7c1dbca_0_cp314t.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314t.conda - conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.10-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.2-h8fa7867_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.0.1-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.12-h5112557_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.3-hbcac29b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.2.0-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda @@ -3223,106 +3132,174 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - numba-mlir: + samples: channels: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: - p1: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + linux-64: + - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h039972f_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.0-py314h4a8dc5f_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.2.0-h53410ce_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-crt-tools-13.3.73-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cuobjdump-13.3.73-hffce074_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cupti-13.3.75-h676940d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-tools-13.3.73-he02047a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvdisasm-13.3.73-hffce074_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvtx-13.3.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.73-h69a702a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.73-h4bc722e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cupy-14.1.1-py314hdea9c46_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cupy-core-14.1.1-py314hcd3b49b_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.1-gpl_h6d6c1bd_904.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.1-h27c8c51_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.6-h2b0a6b4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h54862ce_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-12.1.0-hff5e90c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.2-h27c8c51_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h0dff253_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.7-h2b0a6b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.0-py314h28848ee_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-ha770c72_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.29.0-hb700be7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.4-h96ad9f0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.5-h434b012_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h5875eb1_mkl.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_hfef963f_mkl.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcublas-13.6.0.2-h676940d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcudnn-9.25.0.15-ha4b6413_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcudss-0.7.1.4-h7bcfba5_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufft-12.3.0.29-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurand-10.4.3.29-h676940d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcusolver-12.2.6.9-h676940d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcusparse-12.8.2.51-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.3.2-ha23c83e_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.4.0-ha23c83e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfabric-2.6.0-ha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libfabric1-2.6.0-h6b3ec72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.1-h0d30a3d_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.2-h0d30a3d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.2.1-h17a8019_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.2.1-h17a8019_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h10be129_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h3a9caae_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.4.1-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-h174a0a3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h5e43f62_mkl.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmagma-2.10.0-hd93470c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.0-hb56ce9e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.0-hd85de46_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.0-hd85de46_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.0-hd41364c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.0-hb56ce9e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.0-hb56ce9e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.0-hb56ce9e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.0-hd41364c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.0-h7a07914_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.0-h7a07914_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.0-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.0-h78e8023_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.1-h1f0fae8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.1-h7e124b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.1-h7e124b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.1-hd41364c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.1-h1f0fae8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.1-h1f0fae8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.1-h1f0fae8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.1-hd41364c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.1-h7a07914_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.1-h7a07914_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.1-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.1-h78e8023_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.1-hecca717_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-h9eeb4b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-hc50b9dd_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpmix-5.0.8-h31fc519_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h6eeba95_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h538a264_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-h0c1763c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-h9d88235_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libtorch-2.10.0-cuda130_mkl_h1db683f_305.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.1-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.24.1-he1eb515_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda @@ -3333,33 +3310,73 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-22.1.8-h4922eb0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2026.1.0-hecca717_243.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.4.0-he0a73b1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-he0a73b1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mpi-1.0.1-openmpi.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpi4py-4.1.2-py314hab80c86_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nccl-2.30.7.1-h1aa9b5a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py314h2b28147_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.4-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/onemkl-license-2026.1.0-ha770c72_243.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-h65dd3cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openmpi-5.0.10-h67ed482_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/optree-0.19.1-py314h9891dd4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py314h8ec4b1a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.0.1-pyh7a1b43c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-11-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.0.1-pyhc7ab6ef_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-2.10.0-cuda130_mkl_py314_ha538682_305.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-gpu-2.10.0-cuda129_mkl_h0d04637_305.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.10-hdeec2a5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.2-h718be3e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.12-hdeec2a5_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.3-h1b60276_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/sleef-3.9.0-ha0421bc_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.0.1-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sympy-1.14.0-pyh2585a3b_106.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.25.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/triton-3.6.0-cuda130py314h1cdc6f0_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ucc-1.8.0-h2521932_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ucx-1.20.1-hf72d326_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hd6090a7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-h280c20c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda @@ -3374,118 +3391,176 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hceb46e0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.14-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda - - pypi: https://files.pythonhosted.org/packages/01/8a/f767031dcd0d24c2bbab4b696dbcf004da4f3284e5e4649fc47bc0e2bb78/nvidia_nvvm-13.3.33-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/11/c8/26f2e4aae92f11522a96043892ba39a90eac610d5242523aa863212bc1c7/cuda_pathfinder-1.5.5-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/3f/af/e1b107f034f7c133255c162b922bbad3da5be20ebf76df17662ae4bd31f6/nvidia_cuda_nvcc-13.3.33-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/51/08/1aeffc9a529a7f94c9cee9bfd3a991743398b5f90aab30f06f2a4bc8205e/cuda_core-1.0.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/52/f6/620a144d38e5496a6e8842b837d48885fb532594752194a01f81701d8b91/numba_cuda_mlir-0.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/8b/2c/86916c8a34dcdb0c3ddd1c0e30545041bd781184e437b9cb76fcda70560b/nvidia_cuda_nvrtc-13.3.33-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/8d/a7/998af901511d5efdc6e42fc597d32a69f34eecf86f1591a9d230ab3ab951/nvidia_cuda_crt-13.3.33-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/97/be/5699b6e642b372f7d24c59c2f41383e2696825e20bab85f7399c7c6a56f7/nvidia_cuda_runtime-13.3.29-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/9a/8c/29b52f76ee4b4f94d5f1ef05797a83ae48ba8b6d5fcd5691dafb570a5f65/cuda_toolkit-13.3.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d4/e0/c8a1f0c8f9ffdea4f5fe6dbab89b326cef4d85caf489dad39e209da89416/cuda_bindings-13.3.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + - conda: . + build: py314hd3a1e81_0 + - conda: ../cuda_bindings + build: py314hd3a1e81_0 + - conda: ../cuda_pathfinder + - pypi: https://files.pythonhosted.org/packages/fc/97/a7139cbecd8123d693c2b67b984a584d8088ea8a1f85617139b5879c0e47/cuda_cccl-1.1.1-cp314-cp314-manylinux_2_26_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/19/da/53b58aad8261451ca4e9384791ac8af1fb8b4ca976e8feba56a50d5e53ba/cutensor_cu13-2.7.0-py3-none-manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/d6/e1/05b50692b647cac3c18200ac485b04f342f00ed173c9cc46767274469a15/llvmlite-0.48.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/0f/26/885774c006de6620ed3d10f45d8e20fe0b8e6aad6d573211a2cbc8b3e528/numba-0.66.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/df/73/8934508d27efd9a930489059b980bc1e75336574be31bffb284a9e782fa7/numba_cuda-0.30.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/f0/ee/580ca6f29dcab0221db8706badca1bbbb084f1975c4d4e83329c3a7e31f0/nvidia_nvjitlink-13.3.33-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/fe/fb/195d50d25ab68a76b817ffc68c45b1fb828598ce35a8e5c1736060628dab/nvidia_cuda_cccl-13.3.3.3.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - p2: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda + - pypi: https://files.pythonhosted.org/packages/4c/74/a07afd16866ee9f3afcf60e7d5dd1ad3ddc5fb9d56998fce0629eb2671a9/nvmath_python-1.0.0-cp314-cp314-manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/f7/e1/e02fafc01c18f1868a2d2c030953f49e38d65f2d95884789a6c46ff308f1/nvtx-0.2.15-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + linux-aarch64: + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-7_kmp_llvm.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.16.1-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.14.1-pl5321h8fffa31_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-2.1.0-py314h0bd77cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.4.1-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-crt-tools-13.3.73-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cuobjdump-13.3.73-h2079400_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cupti-13.3.75-he38c790_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvcc-tools-13.3.73-h614329b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvdisasm-13.3.73-h40ab4d6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvtx-13.3.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.73-he9431aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.73-h579c4fd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.73-h7b14b0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cupy-14.1.1-py314hfd11e96_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cupy-core-14.1.1-py314hbb784cd_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.1-gpl_hef17b83_904.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.1-hba86a56_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_h1992ac7_904.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fmt-12.1.0-h20c602a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.2-hba86a56_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.3-h8af1aa0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.6-h90308e0_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.7-h90308e0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.3.0-h124e036_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmpy2-2.3.0-py314h887ad84_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.15-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h1134a53_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h8af1aa0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260107.1-cxx17_h6983b43_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.4-hcfe818d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.5-hac26362_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.2.0-he30d5cf_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcublas-13.6.0.2-he38c790_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcudnn-9.25.0.15-h0bf6004_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcudss-0.7.1.4-he387df4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufft-12.3.0.29-h8f3c8d4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurand-10.4.3.29-he38c790_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcusolver-12.2.6.9-he38c790_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcusparse-12.8.2.51-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.3.2-hf71c8f5_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.4.0-hf71c8f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.127-he30d5cf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libevent-2.1.12-h4ba1bb4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfabric-2.6.0-h8af1aa0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfabric1-2.6.0-h6b50f16_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libflac-1.5.0-he9c94f4_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-devel-1.7.0-hd24410f_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.1-h96a7f82_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.2-h96a7f82_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-devel-1.7.0-hd24410f_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-14.2.1-h3a99ef3_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-devel-14.2.1-h3a99ef3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h0626a34_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h9b45113_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.4.1-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.11.2-hbae46ee_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.2.0-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.12.0-hbae46ee_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmagma-2.10.0-he3ecef4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.0-h1915271_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.0-h1915271_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.0-h3d5001d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.0-h3d5001d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.0-he07c6df_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.0-he07c6df_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.0-h558496d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.0-h558496d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.0-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.0-h2cb6e3c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.0-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-openmp_h1a8b088_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.1-h9a8427e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.1-h9a8427e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.1-he6b9e7b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.1-he6b9e7b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.1-he07c6df_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.1-he07c6df_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.1-h558496d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.1-h558496d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.1-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.1-h2cb6e3c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.1-hfae3067_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.19-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-h07e46df_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-ha018e38_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpmix-5.0.8-h83c401c_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.33.5-h306233d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.33.5-h084db60_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.62.3-hf685517_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.2-h10b116e_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_19.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.2-hdb009f0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtorch-2.10.0-cuda130_generic_h3652b22_205.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libunwind-1.8.3-h6470e1d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.14-hfefdfc9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libusb-1.0.29-h06eaf92_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.1-h1022ec0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuv-1.52.1-h80f16a2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvorbis-1.3.7-h7ac5ae9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvpx-1.15.2-hfae3067_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.341.0-h8b8848b_0.conda @@ -3495,31 +3570,69 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/llvm-openmp-22.1.8-he40846f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.3-py314hb76de3f_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpc-1.4.0-he6dc3fb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpfr-4.2.2-h3faef18_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mpi-1.0.1-openmpi.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpi4py-4.1.2-py314hf3deed3_100.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/nccl-2.30.7.1-h2b99535_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.6-py314h314fbd6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h0564a2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.6-py314he1698a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h663e864_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openjpeg-2.5.4-h5da879a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openmpi-5.0.10-hbbf8ccc_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/optree-0.19.1-py314hd7d8586_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-h8547ced_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pillow-12.3.0-py314hac3e5ec_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-h1c24c05_0_cp314t.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.0.1-pyh7a1b43c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-11-hc364b38_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.0.1-pyhc7ab6ef_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pytorch-2.10.0-cuda130_generic_py314_h365112d_205.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pytorch-gpu-2.10.0-cuda129_generic_hda344be_205.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.10-had2c13b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.2-hfeb5c2c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.12-had2c13b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.3-h9a39c52_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sleef-3.9.0-h5bb93e2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.0.1-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.2.0-hfae3067_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sympy-1.14.0-pyh2585a3b_106.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2023.0.0-h57272ed_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.25.0-h4f8a99f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/triton-3.6.0-cuda130py314h75a4554_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ucc-1.8.0-he629949_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ucx-1.20.1-h62a42b4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.26.0-h4f8a99f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.47-h80f16a2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.48-h80f16a2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda @@ -3534,55 +3647,56 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxscrnsaver-1.2.4-h86ecc28_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-xorgproto-2025.1-he30d5cf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zlib-ng-2.3.3-ha7cb516_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.14-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314t.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - pypi: https://files.pythonhosted.org/packages/11/c8/26f2e4aae92f11522a96043892ba39a90eac610d5242523aa863212bc1c7/cuda_pathfinder-1.5.5-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/52/b8/83b1f563925b290f2d11a01a77a84013ba56052fe3653a5bef3ccfbb43d6/cuda_bindings-13.3.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/5f/7a/9cb8a7fb87a85b11e8753548ae1422be847c5dddf3ca9ff5b080b309e271/nvidia_cuda_cccl-13.3.3.3.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/5f/e5/c1a221c8e6fecd071b80ea44c20fc253ae24f56e15e3f77cfbc3fb76e724/nvidia_cuda_runtime-13.3.29-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + - conda: . + build: py314h3ff45e1_0 + - conda: ../cuda_bindings + build: py314h3ff45e1_0 + - conda: ../cuda_pathfinder + - pypi: https://files.pythonhosted.org/packages/d0/4e/89737a87b22a5ed8748951fb6446762ff1b0fb4aadc0865b759fbc51ba92/cuda_cccl-1.1.1-cp314-cp314-manylinux_2_24_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/b1/65/73c65022634bac7816bdeaf453a7c37820c4d6fcd79832108e2662d10cd6/cutensor_cu13-2.7.0-py3-none-manylinux2014_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/f7/c3/470b8c4ff9ae2db2f9cf5c3e73de76ed908a32788ae9eb5602d43e6a476b/llvmlite-0.48.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/93/99/edebf7de890b73973d839dd971cf73734adfb81ffa1b4504f84b9059c3e5/numba-0.66.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/bc/35/3c2a05375b01159632ed90384a04a08725b83b49d2e511f44158c5ec2c43/numba_cuda-0.30.4-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl - pypi: https://files.pythonhosted.org/packages/69/30/45414e35ff2eee7db3da037e5707037ccf9d2b5218ffbdb055ea4d5aa98a/nvidia_nvjitlink-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/82/dd/1206a7ca6ab15e3f02069707ca96222e202af681bb73756da7527f3cb837/numpy-2.4.6-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/83/36/ce0d42d3a4465c858c379932f0080d29d22f04383ab79119c7c4f4cdd5ef/nvidia_nvvm-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/9a/8c/29b52f76ee4b4f94d5f1ef05797a83ae48ba8b6d5fcd5691dafb570a5f65/cuda_toolkit-13.3.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b1/90/16712f7566d35bb86964ca3a29858e6ca2d9e6c75d5f869e56dc6f700001/numba_cuda_mlir-0.4.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/be/b6/bb07a3a63b5b7b55516366747892abbf3ee62d616684c40bb51e6cbfe956/nvidia_cuda_nvcc-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/d1/32/5ea57f8cd6ad5df2173d175ac5db4e06edde40028b1b1f6c539ea4c10290/nvidia_cuda_crt-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/e3/ab/db09228d5a8c124a93514726d2e18f31824f66d3a6769ee4e51721dd64cf/cuda_core-1.0.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl - - pypi: https://files.pythonhosted.org/packages/e7/b6/60a3641111d39ebfcfcd8b8bfd0290d7623c4b8b5f90952c2d84776f8ca4/nvidia_cuda_nvrtc-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - p3: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-h4c7d964_0.conda + - pypi: https://files.pythonhosted.org/packages/7a/a2/512f5d0a9e2bdfe0b52c7afe7dbdd3c140fa18ab41c1c863f59eee8808df/nvmath_python-1.0.0-cp314-cp314-manylinux_2_28_aarch64.whl + - pypi: https://files.pythonhosted.org/packages/e0/5b/ca0ba6fa769d08174b7a5b4775c279e2e26611cdd5e7833aa699187871c7/nvtx-0.2.15-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl + win-64: + - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.1.0-py314h5a2d7ad_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.73-h719f0c7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.73-h57928b3_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.73-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_he504192_904.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.2-hd47e2ca_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.14-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.1-gpl_h6d5d71d_904.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.1-hd47e2ca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.6-h1f5b9c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.7-h1f5b9c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.88.2-h395db07_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.88.2-h74ecf4c_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.3.0-h294ba9c_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/lame-3.100-hcfcfb64_1003.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h57928b3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/lame-4.0-h4a41cd3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda @@ -3594,22 +3708,27 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.1-h7ce1215_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.2-h7ce1215_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.2.1-h03b5201_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-14.2.1-h03b5201_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h172a326_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h2419aca_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.4.1-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-h932607e_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.12.0-h932607e_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.62.3-h15cfe45_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda @@ -3618,23 +3737,35 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.7-h4fa8253_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.0.0-hac47afa_908.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/mpg123-1.32.9-h01009b0_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.6-py314h02f10f6_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.0.0-h57928b3_908.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-hb17fa0b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-h1eab103_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.10-h5112557_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.2-h8fa7867_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.0.1-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.12-h5112557_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.3-hbcac29b_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.2.0-hac47afa_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda @@ -3644,6 +3775,20 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda + - conda: . + build: py314hd7f1909_0 + - conda: ../cuda_bindings + build: py314hd7f1909_0 + - conda: ../cuda_pathfinder + - pypi: https://files.pythonhosted.org/packages/f2/e9/bb426cdc083f7bce8482ec5f6ff932e1d9858a88a43eefbaa68cbb337416/cuda_cccl-1.1.1-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/a8/c2/b76e58bb8beb0ac95cbbfd79659d38b69f38b383f3e179671bcfa9caae6e/cutensor_cu13-2.7.0-py3-none-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/c9/2d/6a5171fb7236ac0895e1a02ccba3735bf291e8597239aa6421894d3c0ba8/llvmlite-0.48.0-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/66/c5/b46ad28ac3681d035ea21365c5e052149062e1a0a9affd0563d2760ea6ff/numba-0.66.0-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/3f/e3/613f6fc457f430775d124bea2e38033802fe97ab412a032191ac9b117d3a/numba_cuda-0.30.4-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/67/f2/ec9c05a108095828dfc58840978c627b3c313fdf2a567c6de9ffbbb46901/nvidia_nvjitlink-13.3.33-py3-none-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/43/da/d94c5904b0c7878be75994ba541b7937c9ecef50dc633fa10d149885cf4f/nvmath_python-1.0.0-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/20/77/a2b64335bab7c75fe1c054cc4ebe2d3b3234cbdb04d2e1d6ca73551c54f5/nvtx-0.2.15-cp314-cp314-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/21/82/3bf86d2e2808902013132e1ce905a7da0da53790f3836c64bf44d55e24f3/pywin32-312-cp314-cp314-win_amd64.whl packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda build_number: 20 @@ -3657,9 +3802,6 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] - run_exports: - strong: - - _openmp_mutex >=4.5 size: 28948 timestamp: 1770939786096 - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-7_kmp_llvm.conda @@ -3670,18 +3812,81 @@ packages: - llvm-openmp >=9.0.1 license: BSD-3-Clause license_family: BSD + purls: [] size: 8244 timestamp: 1764092331208 -- conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.3-hb03c661_0.conda - sha256: d88aa7ae766cf584e180996e92fef2aa7d8e0a0a5ab1d4d49c32390c1b5fff31 - md5: dcdc58c15961dbf17a0621312b01f5cb +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda + build_number: 20 + sha256: a2527b1d81792a0ccd2c05850960df119c2b6d8f5fdec97f2db7d25dc23b1068 + md5: 468fd3bb9e1f671d36c2cbc677e56f1d depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: LGPL-2.1-or-later - license_family: GPL - size: 584660 - timestamp: 1768327524772 + - libgomp >=7.5.0 + constrains: + - openmp_impl <0.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 28926 + timestamp: 1770939656741 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-7_kmp_llvm.conda + build_number: 7 + sha256: 3a5dfcf315e59dff4130e033b0f9de8c38fa5f65009d2d82452a3f57f5fcb39f + md5: ebcfdf7d6198fdb6f31f0e72efb15a26 + depends: + - llvm-openmp >=9.0.1 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 8293 + timestamp: 1764092286102 +- conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda + build_number: 20 + sha256: 8a1cee28bd0ee7451ada1cd50b64720e57e17ff994fc62dd8329bef570d382e4 + md5: 1626967b574d1784b578b52eaeb071e7 + depends: + - libgomp >=7.5.0 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - openmp_impl <0.0a0 + - msys2-conda-epoch <0.0a0 + license: BSD-3-Clause + license_family: BSD + size: 52252 + timestamp: 1770943776666 +- conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_3.conda + sha256: 2a7204314663eeda5dec482a956f0e2eaf289bd5b9953eaaaad0e81aa64638f2 + md5: 3845f3d75991bae0fb90884662f4327c + depends: + - cpython + - python-gil + license: MIT + license_family: MIT + purls: [] + size: 8144 + timestamp: 1784221492234 +- conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda + sha256: 1307719f0d8ee694fc923579a39c0621c23fdaa14ccdf9278a5aac5665ac58e9 + md5: 74ac5069774cdbc53910ec4d631a3999 + depends: + - pygments + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/accessible-pygments?source=hash-mapping + size: 1326096 + timestamp: 1734956217254 +- conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda + sha256: 6c4456a138919dae9edd3ac1a74b6fbe5fd66c05675f54df2f8ab8c8d0cc6cea + md5: 1fd9696649f65fd6611fcdb4ffec738a + depends: + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/alabaster?source=hash-mapping + size: 18684 + timestamp: 1733750512696 - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.16.1-hb03c661_0.conda sha256: cf93ca0f1f107e95a35969a4622684e08fcb8cf37f8cf4a1e9e424828386c921 md5: 8904e09bda369377b3dd07e2ac828c5d @@ -3693,6 +3898,16 @@ packages: purls: [] size: 592377 timestamp: 1781521980743 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.16.1-he30d5cf_0.conda + sha256: 105e4c19cfa770affcb9a64b9d2451f406914cd09a67664009910869fa01a639 + md5: 5427b5dcb268bddf1a69c16d1cb77a47 + depends: + - libgcc >=14 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 621865 + timestamp: 1781522013595 - conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.14.1-pl5321h039972f_1.conda sha256: b1d972a9b949a88babee681437535550b3ca5dbca6a23a40dffeb7900fec19fd md5: 5a78a69eb3b50f24b379e9d2a93163ae @@ -3705,59 +3920,188 @@ packages: purls: [] size: 3103347 timestamp: 1780752473089 -- conda: https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda - sha256: b08ef033817b5f9f76ce62dfcac7694e7b6b4006420372de22494503decac855 - md5: 346722a0be40f6edc53f12640d301338 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.14.1-pl5321h8fffa31_1.conda + sha256: a228f46f68fa3e2e50a09b5a4cefd1ee2c1ce868bfa2a288867b3d44b6e77427 + md5: a3c86229b531656c2bce99e8a6c6de4a depends: - - libgcc-ng >=12 - - libstdcxx-ng >=12 + - libstdcxx >=14 + - libgcc >=14 license: BSD-2-Clause license_family: BSD - size: 2706396 - timestamp: 1718551242397 -- conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-h39aace5_0.conda - sha256: a9c114cbfeda42a226e2db1809a538929d2f118ef855372293bd188f71711c48 - md5: 791365c5f65975051e4e017b5da3abf5 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: GPL-2.0-or-later - license_family: GPL - size: 68072 - timestamp: 1756738968573 -- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.45.1-default_hfdba357_101.conda - sha256: 74341b26a2b9475dc14ba3cf12432fcd10a23af285101883e720216d81d44676 - md5: 83aa53cb3f5fc849851a84d777a60551 + purls: [] + size: 4091040 + timestamp: 1780752489693 +- conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda + sha256: 3033fa8953f7f0c1bb5b89b5af77253badc14a89ba94d743dde3c9159e10fd5e + md5: 7a8ace8100a48355a34d87386012c57b depends: - - ld_impl_linux-64 2.45.1 default_hbd61a6d_101 - - sysroot_linux-64 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - size: 3744895 - timestamp: 1770267152681 -- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda - sha256: fb7bf36984a37ce7e4714d1d1da0bd0e3bfc679520f5cdc184afc676fd4b5da2 - md5: a0c5e0b7f58c8ceeb08e5bc41251d5a2 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 2214571 + timestamp: 1780752497150 +- conda: https://conda.anaconda.org/conda-forge/noarch/apeye-1.4.1-pyhd8ed1ab_1.conda + sha256: b554d2d2fc869a5955ebb3e5c8aea5e13ec49363b782b08e1802e29c91beaebf + md5: 0f2a7ba1dfc3b6117cfd864d25fa86ce depends: - - ld_impl_linux-64 2.46.1 default_hbd61a6d_102 - - sysroot_linux-64 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - run_exports: {} - size: 3713752 - timestamp: 1784214522814 -- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_102.conda - sha256: 08d7238663fc408ba2ab60b02fa3d06a7ca9d872962e03e90c7e0fdecb7ed1d0 - md5: 32fd07abe84eb14f17c7f5cc6fa8df82 + - apeye-core >=1.0.0b2 + - domdf-python-tools >=2.6.0 + - platformdirs >=2.3.0 + - python >=3.9 + - requests >=2.24.0 + constrains: + - cachecontrol >=0.12.6 + license: LGPL-3.0-or-later + license_family: LGPL + purls: + - pkg:pypi/apeye?source=hash-mapping + size: 95690 + timestamp: 1738250335247 +- conda: https://conda.anaconda.org/conda-forge/noarch/apeye-core-1.1.5-pyhd8ed1ab_1.conda + sha256: 3ee9787c3876c2ffb4b3c77ac73c0b28d67d18a376f4c952643cac95020a2a14 + md5: b60c08c6a0cbb505016075bb9e484e56 + depends: + - domdf-python-tools >=2.6.0 + - idna >=2.5 + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/apeye-core?source=hash-mapping + size: 94258 + timestamp: 1738681346787 +- conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda + sha256: 0658cac65071ace5beded633851681e6f0b381040c8ce313bbe2a0ab410c5072 + md5: b7d6244b9c7a660f10336645e73c2cd2 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 7126 + timestamp: 1742928603302 +- conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.2-pyhd8ed1ab_0.conda + sha256: fbbd8ce60cbd5c16f3fe559eb644551f94285caff30985ea961ff851c1cf25ac + md5: 89d495168582cb00428dad699d149624 + depends: + - python >=3.10 + constrains: + - astroid >=2,<5 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/asttokens?source=compressed-mapping + size: 34639 + timestamp: 1783975742052 +- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda + sha256: 1b6124230bb4e571b1b9401537ecff575b7b109cc3a21ee019f65e083b8399ab + md5: c6b0543676ecb1fb2d7643941fe375f2 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/attrs?source=hash-mapping + size: 64927 + timestamp: 1773935801332 +- conda: https://conda.anaconda.org/conda-forge/noarch/autodocsumm-0.2.15-pyhd8ed1ab_0.conda + sha256: 21cb40c7c5f47bf54d2722b1ab3c91f747ef2b80ba16ece058755371e5c6385b + md5: e51977d5fe34698e26a20950b8b449e6 + depends: + - python >=3.7 + - sphinx >=2.2,<10.0 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/autodocsumm?source=hash-mapping + size: 20495 + timestamp: 1774600916594 +- conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda + sha256: a14a9ad02101aab25570543a59c5193043b73dc311a25650134ed9e6cb691770 + md5: f1976ce927373500cc19d3c0b2c85177 + depends: + - python >=3.10 + - python + constrains: + - pytz >=2015.7 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/babel?source=hash-mapping + size: 7684321 + timestamp: 1772555330347 +- conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_3.conda + noarch: python + sha256: e5de6cb85d09f37584705a2411d4524f3208a88ac21edaff4dceef7495cb3c43 + md5: 88a83285035d8f01f5630d2a3acd2a80 + depends: + - python >=3.11 + license: PSF-2.0 + license_family: PSF + purls: [] + size: 10530 + timestamp: 1783016058154 +- conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.6.0-py314h680f03e_0.conda + noarch: generic + sha256: 709cac7434d1c5a8828105036212a2a36022a07d807e89e2e99cac939c2d2526 + md5: 40d89d8546ad6e139e73ec8f6d56068b + depends: + - python >=3.14 + license: BSD-3-Clause AND MIT AND EPL-2.0 + purls: + - pkg:pypi/backports-zstd?source=compressed-mapping + size: 7526 + timestamp: 1781450817767 +- conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.15.0-pyha770c72_0.conda + sha256: aed4b9dcf68ec2a75e5645fed14d77fd884d38d2e52bfa6ef4b278d90cd88781 + md5: 3b261da3fe9b4168738712832410b022 + depends: + - python >=3.10 + - soupsieve >=1.2 + - typing-extensions + license: MIT + license_family: MIT + purls: + - pkg:pypi/beautifulsoup4?source=hash-mapping + size: 92704 + timestamp: 1780853175566 +- conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda + sha256: fb7bf36984a37ce7e4714d1d1da0bd0e3bfc679520f5cdc184afc676fd4b5da2 + md5: a0c5e0b7f58c8ceeb08e5bc41251d5a2 + depends: + - ld_impl_linux-64 2.46.1 default_hbd61a6d_102 + - sysroot_linux-64 + - zstd >=1.5.7,<1.6.0a0 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 3713752 + timestamp: 1784214522814 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda + sha256: eebe159bf600943552e4319ff4ce27b6a2dadf0dcc5443e76dcee9259a408e11 + md5: 58f37d76b8234c69dbf2939d511bea0b + depends: + - ld_impl_linux-aarch64 2.46.1 default_h1979696_102 + - sysroot_linux-aarch64 + - zstd >=1.5.7,<1.6.0a0 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 4677171 + timestamp: 1784214549910 +- conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.46.1-default_ha84baeb_102.conda + sha256: 83476bc3ed6ee4f1d6e67e6e1360696a0ac3e99679f9c142674003cf721740e3 + md5: 7832bada38267be3333319febcf5e4fc depends: - - binutils_impl_linux-64 2.46.1 default_hfdba357_102 + - ld_impl_win-64 2.46.1 default_hfd38196_102 + - m2w64-sysroot_win-64 >=12.0.0.r0 + - zstd >=1.5.7,<1.6.0a0 license: GPL-3.0-only license_family: GPL - run_exports: {} - size: 36337 - timestamp: 1784214551894 + size: 6140284 + timestamp: 1784214565466 - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314h3de4e8d_1.conda sha256: 3ad3500bff54a781c29f16ce1b288b36606e2189d0b0ef2f67036554f47f12b0 md5: 8910d2c46f7e7b519129f486e0fe927a @@ -3775,6 +4119,40 @@ packages: - pkg:pypi/brotli?source=hash-mapping size: 367376 timestamp: 1764017265553 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.2.0-py314h352cb57_1.conda + sha256: 5a5b0cdcd7ed89c6a8fb830924967f6314a2b71944bc1ebc2c105781ba97aa75 + md5: a1b5c571a0923a205d663d8678df4792 + depends: + - libgcc >=14 + - libstdcxx >=14 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + constrains: + - libbrotlicommon 1.2.0 he30d5cf_1 + license: MIT + license_family: MIT + purls: + - pkg:pypi/brotli?source=hash-mapping + size: 373193 + timestamp: 1764017486851 +- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py314he701e3d_1.conda + sha256: 6854ee7675135c57c73a04849c29cbebc2fb6a3a3bfee1f308e64bf23074719b + md5: 1302b74b93c44791403cbeee6a0f62a3 + depends: + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libbrotlicommon 1.2.0 hfd05255_1 + license: MIT + license_family: MIT + purls: + - pkg:pypi/brotli?source=hash-mapping + size: 335782 + timestamp: 1764018443683 - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda sha256: 0b75d45f0bba3e95dc693336fa51f40ea28c980131fec438afb7ce6118ed05f6 md5: d2ffd7602c02f2b316fd921d39876885 @@ -3784,11 +4162,61 @@ packages: license: bzip2-1.0.6 license_family: BSD purls: [] - run_exports: - weak: - - bzip2 >=1.0.8,<2.0a0 size: 260182 timestamp: 1771350215188 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda + sha256: b3495077889dde6bb370938e7db82be545c73e8589696ad0843a32221520ad4c + md5: 840d8fc0d7b3209be93080bc20e07f2d + depends: + - libgcc >=14 + license: bzip2-1.0.6 + license_family: BSD + purls: [] + size: 192412 + timestamp: 1771350241232 +- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + sha256: 76dfb71df5e8d1c4eded2dbb5ba15bb8fb2e2b0fe42d94145d5eed4c75c35902 + md5: 4cb8e6b48f67de0b018719cdf1136306 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: bzip2-1.0.6 + license_family: BSD + purls: [] + size: 56115 + timestamp: 1771350256444 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda + sha256: 95e8e74062a5fe5f870ac8c90302b6e89945165fdaed7810606e84ddee6aac12 + md5: e27d2ac27b096dc51fedfcf775a53f9b + depends: + - __win + license: ISC + purls: [] + size: 132136 + timestamp: 1784754918886 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + sha256: 0a0544cf95f64394fe4959286f5c71f5444ad58feb0602e53becb27448d24da6 + md5: 0f51e2391ade309db462a55611263e9c + depends: + - __unix + license: ISC + purls: [] + size: 131780 + timestamp: 1784754889428 +- conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.4-pyha770c72_0.conda + sha256: cca3a26282a5bc37a10afb1aa2006a21c45033cbc4ff012f9501f56f2a115c12 + md5: 13bdbb9b693b29134c56a9a00c23de41 + depends: + - msgpack-python >=0.5.2,<2.0.0 + - python >=3.10 + - requests >=2.16.0 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/cachecontrol?source=compressed-mapping + size: 24906 + timestamp: 1782470439060 - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda sha256: 06525fa0c4e4f56e771a3b986d0fdf0f0fc5a3270830ee47e127a5105bde1b9a md5: bb6c4808bfa69d6f7f6b07e5846ced37 @@ -3816,9 +4244,66 @@ packages: purls: [] size: 989514 timestamp: 1766415934926 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda - sha256: c6339858a0aaf5d939e00d345c98b99e4558f285942b27232ac098ad17ac7f8e - md5: cf45f4278afd6f4e6d03eda0f435d527 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda + sha256: 675db823f3d6fb6bf747fab3b0170ba99b269a07cf6df1e49fff2f9972be9cd1 + md5: 043c13ed3a18396994be9b4fab6572ad + depends: + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - icu >=78.1,<79.0a0 + - libexpat >=2.7.3,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libgcc >=14 + - libglib >=2.86.3,<3.0a0 + - libpng >=1.6.53,<1.7.0a0 + - libstdcxx >=14 + - libxcb >=1.17.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.46.4,<1.0a0 + - xorg-libice >=1.1.2,<2.0a0 + - xorg-libsm >=1.2.6,<2.0a0 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: LGPL-2.1-only or MPL-1.1 + purls: [] + size: 927045 + timestamp: 1766416003626 +- conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda + sha256: 9ee4ad706c5d3e1c6c469785d60e3c2b263eec569be0eac7be33fbaef978bccc + md5: 52ea1beba35b69852d210242dd20f97d + depends: + - fontconfig >=2.15.0,<3.0a0 + - fonts-conda-ecosystem + - icu >=78.1,<79.0a0 + - libexpat >=2.7.3,<3.0a0 + - libfreetype >=2.14.1 + - libfreetype6 >=2.14.1 + - libglib >=2.86.3,<3.0a0 + - libpng >=1.6.53,<1.7.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.46.4,<1.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-only or MPL-1.1 + purls: [] + size: 1537783 + timestamp: 1766416059188 +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.7.22-pyhd8ed1ab_0.conda + sha256: fb167de4388e64e52aa3907ed099afab944c1fa6e5f74b281a312dae1bcf7f3b + md5: 37e13edbe3b48f1095a9d085ef9cd83b + depends: + - python >=3.10 + license: ISC + purls: + - pkg:pypi/certifi?source=compressed-mapping + size: 137015 + timestamp: 1784717699092 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.0-py314h4a8dc5f_0.conda + sha256: 39d0d45c4c73162c0aadd0b1bce6ce42ca354da65979f49d6084ff00ed5c26b4 + md5: 26f3b9c52441a170b2008cbc227f740a depends: - __glibc >=2.17,<3.0.a0 - libffi >=3.5.2,<3.6.0a0 @@ -3828,38 +4313,239 @@ packages: - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 300271 - timestamp: 1761203085220 -- conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-14.3.0-he8ccf15_18.conda - sha256: b90ec0e6a9eb22f7240b3584fe785457cff961fec68d40e6aece5d596f9bbd9a - md5: 0e3e144115c43c9150d18fa20db5f31c - depends: - - gcc_impl_linux-64 >=14.3.0,<14.3.1.0a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 31705 - timestamp: 1771378159534 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-bindings-12.9.6-py314h7ea930b_0.conda - sha256: e702dc911edce2bffa4e2c34958b4ccee09d4f3d245484195d4251fc757f3734 - md5: a8841fd311da95db72916f58eff3f5a6 + purls: + - pkg:pypi/cffi?source=compressed-mapping + size: 306297 + timestamp: 1783424159025 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-2.1.0-py314h0bd77cf_0.conda + sha256: d249228639bb1e98763ffa7c4d32e1862d5e428d9fef86c38df8a84445402ab6 + md5: 8e12e433607a8e9eb28d79b027c5612c depends: - - __glibc >=2.17,<3.0.a0 - - cuda-nvcc-impl >=12,<13.0a0 - - cuda-nvrtc >=12,<13.0a0 - - cuda-pathfinder >=1.1.0,<2 - - cuda-version >=12,<13.0a0 - - libcufile >=1,<2.0a0 + - libffi >=3.5.2,<3.6.0a0 - libgcc >=14 - - libnvjitlink >=12.3,<13 - - libstdcxx >=14 + - pycparser - python >=3.14,<3.15.0a0 - python_abi 3.14.* *_cp314 - constrains: - - cuda-cudart >=12,<13.0a0 - - cuda-python >=12.9.6,<12.10.0a0 - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - size: 4451465 - timestamp: 1773288432998 + license: MIT + license_family: MIT + purls: + - pkg:pypi/cffi?source=hash-mapping + size: 329473 + timestamp: 1783425307959 +- conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.1.0-py314h5a2d7ad_0.conda + sha256: cc87e3ddaedd546dec4be978422058cd323cd2e973e1e503edf01da18fc5ecd4 + md5: fbc8f87f9d7bad413932c7e7d9e45eb5 + depends: + - pycparser + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: + - pkg:pypi/cffi?source=compressed-mapping + size: 348640 + timestamp: 1783424290792 +- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.9-pyhd8ed1ab_0.conda + sha256: 8d8813ef655b4e75e4fb897abd83ad548882efad7b4e836b021b797f42780799 + md5: d154b40b109e503430979e8a8d099eaf + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/charset-normalizer?source=compressed-mapping + size: 61418 + timestamp: 1783505332569 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyh6dadd2b_0.conda + sha256: 5b5c96afdd801dd9c3b78ebc2cd9a9f3ce34186257415d394dde1aa8468aa3c0 + md5: 8a0d65027e25e367f9f1754f0604e8de + depends: + - __win + - colorama + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/click?source=compressed-mapping + size: 106227 + timestamp: 1783085395110 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.2-pyhc90fa1f_0.conda + sha256: ccc4787f511964f9a1f2d2d2859c91c5d571fb60f7f09d4c4e092c9b7a94e671 + md5: 2c4bd6aeb90bb157456841c3270a0d92 + depends: + - __unix + - python + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/click?source=compressed-mapping + size: 107155 + timestamp: 1783085363526 +- conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda + sha256: 4c287c2721d8a34c94928be8fe0e9a85754e90189dd4384a31b1806856b50a67 + md5: 61b8078a0905b12529abc622406cb62c + depends: + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + size: 27353 + timestamp: 1765303462831 +- conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/colorama?source=hash-mapping + size: 27011 + timestamp: 1733218222191 +- conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda + sha256: 576a44729314ad9e4e5ebe055fbf48beb8116b60e58f9070278985b2b634f212 + md5: 2da13f2b299d8e1995bafbbe9689a2f7 + depends: + - python >=3.9 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/comm?source=hash-mapping + size: 14690 + timestamp: 1753453984907 +- conda: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-15.2.0-h53410ce_19.conda + sha256: 1a53d0bd9d8197a7dc57f9b154e24d908ade29934e0a450ee6e40294d0a237f9 + md5: 3b482cadfc77f094c8b3016166292dfb + depends: + - gcc_impl_linux-64 >=15.2.0,<15.2.1.0a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 31857 + timestamp: 1778269225076 +- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.6-py314hd8ed1ab_100.conda + noarch: generic + sha256: 7a548856ef5307890a8cadfc196655117658f8c24589ce175caa4c1c2ded9d13 + md5: b28fe35fd43d5f425c0dccbe5b5039fd + depends: + - python >=3.14,<3.15.0a0 + - python_abi * *_cp314 + license: Python-2.0 + purls: [] + size: 49333 + timestamp: 1781254618863 +- pypi: https://files.pythonhosted.org/packages/12/20/e79b4bfe98f075195afb6343d41c498f9dbd2d161d7021d4d28bceb83581/cuda_bindings-13.3.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + name: cuda-bindings + version: 13.3.1 + sha256: 36febb7c1079d68a981dbbd8d5a67235b399802b82075c9388624719607e52b9 + requires_dist: + - cuda-pathfinder>=1.4.2 + - cuda-toolkit[nvfatbin,nvjitlink,nvrtc,nvvm]==13.* ; extra == 'all' + - cuda-toolkit[cufile]==13.* ; sys_platform == 'linux' and extra == 'all' + - cuda-toolkit==13.* ; extra == 'all' + - nvidia-cudla==13.* ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/b1/81/bff68ce829999c1e4209c761bbf903b1c06ec570416ddb25020864ad5907/cuda_bindings-13.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl + name: cuda-bindings + version: 13.3.1 + sha256: 1ab2f74ed65bfef4163ba07a8db16f1085e0729291db12a2423aff84ee8278b8 + requires_dist: + - cuda-pathfinder>=1.4.2 + - cuda-toolkit[nvfatbin,nvjitlink,nvrtc,nvvm]==13.* ; extra == 'all' + - cuda-toolkit[cufile]==13.* ; sys_platform == 'linux' and extra == 'all' + - cuda-toolkit==13.* ; extra == 'all' + - nvidia-cudla==13.* ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all' + requires_python: '>=3.10' +- conda: ../cuda_bindings + name: cuda-bindings + version: 13.3.1 + build: py314h3ff45e1_0 + subdir: linux-aarch64 + variants: + cuda_version: 13.3.* + python: 3.14.* + target_platform: linux-aarch64 + depends: + - python + - cuda-version + - cuda-pathfinder + - libnvjitlink + - cuda-nvrtc + - cuda-nvrtc >=13.3.33,<14.0a0 + - cuda-nvvm + - libnvfatbin + - libcufile + - libcufile >=1.18.1.6,<2.0a0 + - libgcc >=15 + - libgcc >=15 + - libstdcxx >=15 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + sources: + cuda-pathfinder: + path: ../cuda_pathfinder +- conda: ../cuda_bindings + name: cuda-bindings + version: 13.3.1 + build: py314hd3a1e81_0 + subdir: linux-64 + variants: + cuda_version: 13.3.* + python: 3.14.* + target_platform: linux-64 + depends: + - python + - cuda-version + - cuda-pathfinder + - libnvjitlink + - cuda-nvrtc + - cuda-nvrtc >=13.3.33,<14.0a0 + - cuda-nvvm + - libnvfatbin + - libcufile + - libcufile >=1.18.1.6,<2.0a0 + - libgcc >=15 + - libgcc >=15 + - libstdcxx >=15 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + sources: + cuda-pathfinder: + path: ../cuda_pathfinder +- conda: ../cuda_bindings + name: cuda-bindings + version: 13.3.1 + build: py314hd7f1909_0 + subdir: win-64 + variants: + c_compiler: vs2022 + cuda_version: 13.3.* + cxx_compiler: vs2022 + python: 3.14.* + target_platform: win-64 + depends: + - python + - cuda-version + - cuda-pathfinder + - libnvjitlink + - cuda-nvrtc + - cuda-nvrtc >=13.3.33,<14.0a0 + - cuda-nvvm + - libnvfatbin + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + sources: + cuda-pathfinder: + path: ../cuda_pathfinder - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-bindings-12.9.7-py314hadd79bd_1.conda sha256: e18c8bdbe6fd73d6ad6d5dbaf9a3c925f4c94e448e1c966648189328a094f937 md5: fb174f74002d25cbc66fefc22e6381d5 @@ -3879,3441 +4565,3110 @@ packages: - cuda-cudart >=12,<13.0a0 - libnvfatbin >=12,<13.0a0 license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - run_exports: {} size: 5057580 timestamp: 1782354994995 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-bindings-13.3.1-py314h42812f9_1.conda - sha256: bb849903cafd889b04fcc79505dd2180c44ba25dec2933df28c96b08689091db - md5: 47bca2eb219339b7854cf67a978820f5 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-bindings-12.9.7-py314hd8c1704_1.conda + sha256: bac8c75bf33b6f67d843af43c310bc30a5d755fb159faf9808f72bd5c9a01c87 + md5: 45d475e9c6dc8ec068e2ac226084a960 depends: - python - cuda-pathfinder >=1.5.5,<2 - - cuda-version >=13,<14.0a0 - - cuda-nvrtc >=13,<14.0a0 - - cuda-nvvm-impl >=13,<14.0a0 + - cuda-version >=12.2,<13.0a0 + - cuda-nvrtc >=12,<13.0a0 + - cuda-nvcc-impl >=12,<13.0a0 - libcufile >=1,<2.0a0 - - libnvfatbin >=13.0,<14.0a0 - - libnvjitlink >=13.0,<14.0a0 - - __glibc >=2.17,<3.0.a0 + - libnvjitlink >=12.3,<13 - libgcc >=14 + - python 3.14.* *_cp314 - libstdcxx >=14 - python_abi 3.14.* *_cp314 constrains: - - cuda-cudart >=13,<14.0a0 + - cuda-cudart >=12,<13.0a0 + - libnvfatbin >=12,<13.0a0 license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - run_exports: {} - size: 4840747 - timestamp: 1780110953653 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-crt-tools-12.9.86-ha770c72_2.conda - sha256: 2da9964591af14ba11b2379bed01d56e7185260ee0998d1a939add7fb752db45 - md5: 503a94e20d2690d534d676a764a1852c + size: 4673057 + timestamp: 1782355010659 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-bindings-12.9.7-py314h2547b3f_1.conda + sha256: 8f32f1668cf133a89b173edaef75db68f5f0c79e67a0f0d9d724d7ed052fca0d + md5: 590560507eb93304d08477e8ee3ef8f1 + depends: + - python + - cuda-pathfinder >=1.5.5,<2 + - cuda-version >=12,<13.0a0 + - cuda-nvrtc >=12,<13.0a0 + - cuda-nvcc-impl >=12,<13.0a0 + - libnvjitlink >=12.3,<13 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + constrains: + - cuda-cudart >=12,<13.0a0 + - libnvfatbin >=12,<13.0a0 + license: LicenseRef-NVIDIA-SOFTWARE-LICENSE + size: 4381879 + timestamp: 1782355421224 +- pypi: https://files.pythonhosted.org/packages/d0/4e/89737a87b22a5ed8748951fb6446762ff1b0fb4aadc0865b759fbc51ba92/cuda_cccl-1.1.1-cp314-cp314-manylinux_2_24_aarch64.whl + name: cuda-cccl + version: 1.1.1 + sha256: fb337eac92da867e9b2d3b2e45a9cbe563e92f26279715e6b8289f0ec4931c23 + requires_dist: + - numpy + - cuda-pathfinder>=1.2.3 + - cuda-core + - typing-extensions + - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'minimal-cu12' + - cuda-toolkit[cudart,nvcc,nvjitlink,nvrtc]==12.* ; extra == 'minimal-cu12' + - cuda-bindings>=13.0.0,<14.0.0 ; extra == 'minimal-cu13' + - cuda-toolkit[cudart,nvcc,nvjitlink,nvrtc,nvvm]==13.* ; extra == 'minimal-cu13' + - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'minimal-sysctk12' + - cuda-bindings>=13.0.0,<14.0.0 ; extra == 'minimal-sysctk13' + - cuda-cccl[minimal-cu12] ; extra == 'cu12' + - numba>=0.60.0,<0.66 ; extra == 'cu12' + - numba-cuda[cu12]>=0.23.0,!=0.27.*,!=0.28.*,!=0.29.*,!=0.30.0 ; extra == 'cu12' + - cuda-cccl[minimal-cu13] ; extra == 'cu13' + - numba>=0.60.0,<0.66 ; extra == 'cu13' + - numba-cuda[cu13]>=0.23.0,!=0.27.*,!=0.28.*,!=0.29.*,!=0.30.0 ; extra == 'cu13' + - cuda-cccl[minimal-sysctk12] ; extra == 'sysctk12' + - numba>=0.60.0,<0.66 ; extra == 'sysctk12' + - numba-cuda[cu12]>=0.23.0,!=0.27.*,!=0.28.*,!=0.29.*,!=0.30.0 ; extra == 'sysctk12' + - cuda-cccl[minimal-sysctk13] ; extra == 'sysctk13' + - numba>=0.60.0,<0.66 ; extra == 'sysctk13' + - numba-cuda[cu13]>=0.23.0,!=0.27.*,!=0.28.*,!=0.29.*,!=0.30.0 ; extra == 'sysctk13' + - cuda-cccl[cu12] ; extra == 'test-cu12' + - pytest ; extra == 'test-cu12' + - pytest-xdist ; extra == 'test-cu12' + - cuda-cccl[cu13] ; extra == 'test-cu13' + - pytest ; extra == 'test-cu13' + - pytest-xdist ; extra == 'test-cu13' + - cuda-cccl[sysctk12] ; extra == 'test-sysctk12' + - pytest ; extra == 'test-sysctk12' + - pytest-xdist ; extra == 'test-sysctk12' + - cuda-cccl[sysctk13] ; extra == 'test-sysctk13' + - pytest ; extra == 'test-sysctk13' + - pytest-xdist ; extra == 'test-sysctk13' + - cuda-cccl[cu12] ; extra == 'bench-cu12' + - cuda-bench[cu12] ; extra == 'bench-cu12' + - cupy-cuda12x ; extra == 'bench-cu12' + - pytest-benchmark ; extra == 'bench-cu12' + - cuda-cccl[cu13] ; extra == 'bench-cu13' + - cuda-bench[cu13] ; extra == 'bench-cu13' + - cupy-cuda13x ; extra == 'bench-cu13' + - pytest-benchmark ; extra == 'bench-cu13' + - cuda-cccl[sysctk12] ; extra == 'bench-sysctk12' + - cuda-bench[cu12] ; extra == 'bench-sysctk12' + - cupy-cuda12x ; extra == 'bench-sysctk12' + - pytest-benchmark ; extra == 'bench-sysctk12' + - cuda-cccl[sysctk13] ; extra == 'bench-sysctk13' + - cuda-bench[cu13] ; extra == 'bench-sysctk13' + - cupy-cuda13x ; extra == 'bench-sysctk13' + - pytest-benchmark ; extra == 'bench-sysctk13' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/f2/e9/bb426cdc083f7bce8482ec5f6ff932e1d9858a88a43eefbaa68cbb337416/cuda_cccl-1.1.1-cp314-cp314-win_amd64.whl + name: cuda-cccl + version: 1.1.1 + sha256: 755b399ea4bf74b5d5b3cf25b51683f70349091e887178a4216f56825c1e1277 + requires_dist: + - numpy + - cuda-pathfinder>=1.2.3 + - cuda-core + - typing-extensions + - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'minimal-cu12' + - cuda-toolkit[cudart,nvcc,nvjitlink,nvrtc]==12.* ; extra == 'minimal-cu12' + - cuda-bindings>=13.0.0,<14.0.0 ; extra == 'minimal-cu13' + - cuda-toolkit[cudart,nvcc,nvjitlink,nvrtc,nvvm]==13.* ; extra == 'minimal-cu13' + - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'minimal-sysctk12' + - cuda-bindings>=13.0.0,<14.0.0 ; extra == 'minimal-sysctk13' + - cuda-cccl[minimal-cu12] ; extra == 'cu12' + - numba>=0.60.0,<0.66 ; extra == 'cu12' + - numba-cuda[cu12]>=0.23.0,!=0.27.*,!=0.28.*,!=0.29.*,!=0.30.0 ; extra == 'cu12' + - cuda-cccl[minimal-cu13] ; extra == 'cu13' + - numba>=0.60.0,<0.66 ; extra == 'cu13' + - numba-cuda[cu13]>=0.23.0,!=0.27.*,!=0.28.*,!=0.29.*,!=0.30.0 ; extra == 'cu13' + - cuda-cccl[minimal-sysctk12] ; extra == 'sysctk12' + - numba>=0.60.0,<0.66 ; extra == 'sysctk12' + - numba-cuda[cu12]>=0.23.0,!=0.27.*,!=0.28.*,!=0.29.*,!=0.30.0 ; extra == 'sysctk12' + - cuda-cccl[minimal-sysctk13] ; extra == 'sysctk13' + - numba>=0.60.0,<0.66 ; extra == 'sysctk13' + - numba-cuda[cu13]>=0.23.0,!=0.27.*,!=0.28.*,!=0.29.*,!=0.30.0 ; extra == 'sysctk13' + - cuda-cccl[cu12] ; extra == 'test-cu12' + - pytest ; extra == 'test-cu12' + - pytest-xdist ; extra == 'test-cu12' + - cuda-cccl[cu13] ; extra == 'test-cu13' + - pytest ; extra == 'test-cu13' + - pytest-xdist ; extra == 'test-cu13' + - cuda-cccl[sysctk12] ; extra == 'test-sysctk12' + - pytest ; extra == 'test-sysctk12' + - pytest-xdist ; extra == 'test-sysctk12' + - cuda-cccl[sysctk13] ; extra == 'test-sysctk13' + - pytest ; extra == 'test-sysctk13' + - pytest-xdist ; extra == 'test-sysctk13' + - cuda-cccl[cu12] ; extra == 'bench-cu12' + - cuda-bench[cu12] ; extra == 'bench-cu12' + - cupy-cuda12x ; extra == 'bench-cu12' + - pytest-benchmark ; extra == 'bench-cu12' + - cuda-cccl[cu13] ; extra == 'bench-cu13' + - cuda-bench[cu13] ; extra == 'bench-cu13' + - cupy-cuda13x ; extra == 'bench-cu13' + - pytest-benchmark ; extra == 'bench-cu13' + - cuda-cccl[sysctk12] ; extra == 'bench-sysctk12' + - cuda-bench[cu12] ; extra == 'bench-sysctk12' + - cupy-cuda12x ; extra == 'bench-sysctk12' + - pytest-benchmark ; extra == 'bench-sysctk12' + - cuda-cccl[sysctk13] ; extra == 'bench-sysctk13' + - cuda-bench[cu13] ; extra == 'bench-sysctk13' + - cupy-cuda13x ; extra == 'bench-sysctk13' + - pytest-benchmark ; extra == 'bench-sysctk13' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/fc/97/a7139cbecd8123d693c2b67b984a584d8088ea8a1f85617139b5879c0e47/cuda_cccl-1.1.1-cp314-cp314-manylinux_2_26_x86_64.whl + name: cuda-cccl + version: 1.1.1 + sha256: 722f224f3aac82105681b230fadf0f477faa6ae3863323388e8873bf3120061f + requires_dist: + - numpy + - cuda-pathfinder>=1.2.3 + - cuda-core + - typing-extensions + - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'minimal-cu12' + - cuda-toolkit[cudart,nvcc,nvjitlink,nvrtc]==12.* ; extra == 'minimal-cu12' + - cuda-bindings>=13.0.0,<14.0.0 ; extra == 'minimal-cu13' + - cuda-toolkit[cudart,nvcc,nvjitlink,nvrtc,nvvm]==13.* ; extra == 'minimal-cu13' + - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'minimal-sysctk12' + - cuda-bindings>=13.0.0,<14.0.0 ; extra == 'minimal-sysctk13' + - cuda-cccl[minimal-cu12] ; extra == 'cu12' + - numba>=0.60.0,<0.66 ; extra == 'cu12' + - numba-cuda[cu12]>=0.23.0,!=0.27.*,!=0.28.*,!=0.29.*,!=0.30.0 ; extra == 'cu12' + - cuda-cccl[minimal-cu13] ; extra == 'cu13' + - numba>=0.60.0,<0.66 ; extra == 'cu13' + - numba-cuda[cu13]>=0.23.0,!=0.27.*,!=0.28.*,!=0.29.*,!=0.30.0 ; extra == 'cu13' + - cuda-cccl[minimal-sysctk12] ; extra == 'sysctk12' + - numba>=0.60.0,<0.66 ; extra == 'sysctk12' + - numba-cuda[cu12]>=0.23.0,!=0.27.*,!=0.28.*,!=0.29.*,!=0.30.0 ; extra == 'sysctk12' + - cuda-cccl[minimal-sysctk13] ; extra == 'sysctk13' + - numba>=0.60.0,<0.66 ; extra == 'sysctk13' + - numba-cuda[cu13]>=0.23.0,!=0.27.*,!=0.28.*,!=0.29.*,!=0.30.0 ; extra == 'sysctk13' + - cuda-cccl[cu12] ; extra == 'test-cu12' + - pytest ; extra == 'test-cu12' + - pytest-xdist ; extra == 'test-cu12' + - cuda-cccl[cu13] ; extra == 'test-cu13' + - pytest ; extra == 'test-cu13' + - pytest-xdist ; extra == 'test-cu13' + - cuda-cccl[sysctk12] ; extra == 'test-sysctk12' + - pytest ; extra == 'test-sysctk12' + - pytest-xdist ; extra == 'test-sysctk12' + - cuda-cccl[sysctk13] ; extra == 'test-sysctk13' + - pytest ; extra == 'test-sysctk13' + - pytest-xdist ; extra == 'test-sysctk13' + - cuda-cccl[cu12] ; extra == 'bench-cu12' + - cuda-bench[cu12] ; extra == 'bench-cu12' + - cupy-cuda12x ; extra == 'bench-cu12' + - pytest-benchmark ; extra == 'bench-cu12' + - cuda-cccl[cu13] ; extra == 'bench-cu13' + - cuda-bench[cu13] ; extra == 'bench-cu13' + - cupy-cuda13x ; extra == 'bench-cu13' + - pytest-benchmark ; extra == 'bench-cu13' + - cuda-cccl[sysctk12] ; extra == 'bench-sysctk12' + - cuda-bench[cu12] ; extra == 'bench-sysctk12' + - cupy-cuda12x ; extra == 'bench-sysctk12' + - pytest-benchmark ; extra == 'bench-sysctk12' + - cuda-cccl[sysctk13] ; extra == 'bench-sysctk13' + - cuda-bench[cu13] ; extra == 'bench-sysctk13' + - cupy-cuda13x ; extra == 'bench-sysctk13' + - pytest-benchmark ; extra == 'bench-sysctk13' + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-12.9.27-ha770c72_0.conda + sha256: 2ee3b9564ca326226e5cda41d11b251482df8e7c757e333d28ec75213c75d126 + md5: 87ff6381e33b76e5b9b179a2cdd005ec depends: - cuda-version >=12.9,<12.10.0a0 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 29138 - timestamp: 1753975252445 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-crt-tools-13.3.33-ha770c72_0.conda - sha256: 6703eab8637f41e6cb7fea7a4cfc7c8c59d3dc1d37e32ae01f34d05c33fca48e - md5: 1793e19df122252161d929c5f7bcd42b + size: 1150650 + timestamp: 1746189825236 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda + sha256: 51106d05567031d9b10a26bcaea95022c9ae91ce44758df5dec86d46985bef61 + md5: c7aab5efb8e8151a038f9eb271f23dcf depends: - cuda-version >=13.3,<13.4.0a0 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 30512 - timestamp: 1779905082733 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-12.9.79-h5888daf_0.conda - sha256: 57d1294ecfaf9dc8cdb5fc4be3e63ebc7614538bddb5de53cfd9b1b7de43aed5 - md5: cb15315d19b58bd9cd424084e58ad081 + purls: [] + size: 1475805 + timestamp: 1782773759292 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-12.9.27-h579c4fd_0.conda + sha256: b4efaee8fa95b9ec97a462dc343914a138ece704895e33caa52ac55968f7adfa + md5: 71e4d87a72bf003bd05f05a502288b2a depends: - - __glibc >=2.17,<3.0.a0 - - cuda-cudart_linux-64 12.9.79 h3f2d84a_0 + - arm-variant * sbsa - cuda-version >=12.9,<12.10.0a0 - - libgcc >=13 - - libstdcxx >=13 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23242 - timestamp: 1749218416505 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda - sha256: 3d74819f261d77a410e8f8ddbd973446c312ec76605d60619d9b85113eca9632 - md5: 3fc21c99786b908fd7f32ea279fc9780 - depends: - - __glibc >=2.17,<3.0.a0 - - cuda-cudart_linux-64 13.3.29 h376f20c_0 + size: 1149299 + timestamp: 1746189919921 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.4.1-h579c4fd_0.conda + sha256: 2f9d85d0297b0c461518e5665351d73ffc5f7c9e2aa8b6e3e1cd9498bdd31cd0 + md5: 29bc81fe5927466cd27f2e1151e8502a + depends: + - arm-variant * sbsa - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - run_exports: {} - size: 24659 - timestamp: 1779898425780 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-12.9.79-h5888daf_0.conda - sha256: 04d8235cb3cb3510c0492c3515a9d1a6053b50ef39be42b60cafb05044b5f4c6 - md5: ba38a7c3b4c14625de45784b773f0c71 + size: 1480995 + timestamp: 1782773779842 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-12.9.27-h57928b3_0.conda + sha256: 681eb1d9afd596e04329a82b04734c0e37c6ecb94b3380f3a378d61983e2a8cc + md5: 8f897dca7111f3bb4ded97ba6947b186 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-cudart 12.9.79 h5888daf_0 - - cuda-cudart-dev_linux-64 12.9.79 h3f2d84a_0 - - cuda-cudart-static 12.9.79 h5888daf_0 - cuda-version >=12.9,<12.10.0a0 - - libgcc >=13 - - libstdcxx >=13 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=12.9.79,<13.0a0 - size: 23687 - timestamp: 1749218464010 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-13.3.29-hecca717_0.conda - sha256: 050ac942737f501b5dee21c0bbfa77f4617c52269f188ab66a5e2b8b7acd0f22 - md5: e21171cc900f202b2af82f1afddbdfcf + size: 1139649 + timestamp: 1746189858434 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.4.1-h57928b3_0.conda + sha256: cc1524d3d25991ba509aa36b43c9b30ac1cde43820a4b318dbdd729e0ff029fe + md5: 64ff59f43bc9a8838324c8527d4d509d depends: - - __glibc >=2.17,<3.0.a0 - - cuda-cudart 13.3.29 hecca717_0 - - cuda-cudart-dev_linux-64 13.3.29 h376f20c_0 - - cuda-cudart-static 13.3.29 hecca717_0 - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=13.3.29,<14.0a0 - size: 25129 - timestamp: 1779898446163 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-12.9.79-h5888daf_0.conda - sha256: 6261e1d9af80e1ec308e3e5e2ff825d189ef922d24093beaf6efca12e67ce060 - md5: d3c4ac48f4967f09dd910d9c15d40c81 + size: 1467923 + timestamp: 1782773832153 +- pypi: https://files.pythonhosted.org/packages/5a/e0/572f2179b4353a0a4ff1265b8708629192ff1245fabdc0576e5276731f24/cuda_core-1.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + name: cuda-core + version: 1.1.0 + sha256: 3982a67eb16a8b9e9881455aa3d123db049891fab48b028434323bbde935e006 + requires_dist: + - cuda-pathfinder>=1.4.2 + - numpy + - backports-strenum ; python_full_version < '3.11' + - cuda-bindings[all]==12.* ; extra == 'cu12' + - cuda-toolkit==12.* ; extra == 'cu12' + - cuda-bindings[all]==13.* ; extra == 'cu13' + - cuda-toolkit==13.* ; extra == 'cu13' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/e0/14/db2256f3045fa17763726c09d519be4f876bfadeed85cfea539b42ecae25/cuda_core-1.1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl + name: cuda-core + version: 1.1.0 + sha256: 0a47d03b0bdb57f82ce3e8563b4fc4d7432be629ac07ad749ecd6821d683288d + requires_dist: + - cuda-pathfinder>=1.4.2 + - numpy + - backports-strenum ; python_full_version < '3.11' + - cuda-bindings[all]==12.* ; extra == 'cu12' + - cuda-toolkit==12.* ; extra == 'cu12' + - cuda-bindings[all]==13.* ; extra == 'cu13' + - cuda-toolkit==13.* ; extra == 'cu13' + requires_python: '>=3.10' +- conda: . + name: cuda-core + version: 1.1.0 + build: py314h3ff45e1_0 + subdir: linux-aarch64 + variants: + cuda_version: 13.3.* + python: 3.14.* + target_platform: linux-aarch64 + depends: + - python + - cuda-version + - numpy + - cuda-bindings + - cuda-pathfinder + - backports.strenum + - libgcc >=15 + - libgcc >=15 + - libstdcxx >=15 + - cuda-cudart >=13.3.29,<14.0a0 + - cuda-nvrtc >=13.3.33,<14.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 +- conda: . + name: cuda-core + version: 1.1.0 + build: py314h5e6f764_0 + subdir: win-64 + variants: + c_compiler: vs2022 + cuda_version: 12.* + cxx_compiler: vs2022 + python: 3.14.* + target_platform: win-64 + depends: + - python + - cuda-version + - numpy + - cuda-bindings + - cuda-pathfinder + - backports.strenum + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + - cuda-nvrtc >=12.9.86,<13.0a0 + - cuda-cudart >=12.9.79,<13.0a0 + license: Apache-2.0 +- conda: . + name: cuda-core + version: 1.1.0 + build: py314ha6d028f_0 + subdir: linux-64 + variants: + cuda_version: 12.* + python: 3.14.* + target_platform: linux-64 + depends: + - python + - cuda-version + - numpy + - cuda-bindings + - cuda-pathfinder + - backports.strenum + - libgcc >=15 + - libgcc >=15 + - libstdcxx >=15 + - python_abi 3.14.* *_cp314 + - cuda-nvrtc >=12.9.86,<13.0a0 + - cuda-cudart >=12.9.79,<13.0a0 + license: Apache-2.0 +- conda: . + name: cuda-core + version: 1.1.0 + build: py314hd3a1e81_0 + subdir: linux-64 + variants: + cuda_version: 13.3.* + python: 3.14.* + target_platform: linux-64 + depends: + - python + - cuda-version + - numpy + - cuda-bindings + - cuda-pathfinder + - backports.strenum + - libgcc >=15 + - libgcc >=15 + - libstdcxx >=15 + - cuda-cudart >=13.3.29,<14.0a0 + - cuda-nvrtc >=13.3.33,<14.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 +- conda: . + name: cuda-core + version: 1.1.0 + build: py314hd7f1909_0 + subdir: win-64 + variants: + c_compiler: vs2022 + cuda_version: 13.3.* + cxx_compiler: vs2022 + python: 3.14.* + target_platform: win-64 + depends: + - python + - cuda-version + - numpy + - cuda-bindings + - cuda-pathfinder + - backports.strenum + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - cuda-nvrtc >=13.3.33,<14.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 +- conda: . + name: cuda-core + version: 1.1.0 + build: py314he8946ed_0 + subdir: linux-aarch64 + variants: + cuda_version: 12.* + python: 3.14.* + target_platform: linux-aarch64 + depends: + - python + - cuda-version + - numpy + - cuda-bindings + - cuda-pathfinder + - backports.strenum + - libgcc >=15 + - libgcc >=15 + - libstdcxx >=15 + - python_abi 3.14.* *_cp314 + - cuda-nvrtc >=12.9.86,<13.0a0 + - cuda-cudart >=12.9.79,<13.0a0 + license: Apache-2.0 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-12.9.86-ha770c72_2.conda + sha256: e6257534c4b4b6b8a1192f84191c34906ab9968c92680fa09f639e7846a87304 + md5: 79d280de61e18010df5997daea4743df depends: - - __glibc >=2.17,<3.0.a0 - - cuda-cudart-static_linux-64 12.9.79 h3f2d84a_0 - cuda-version >=12.9,<12.10.0a0 - - libgcc >=13 - - libstdcxx >=13 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23283 - timestamp: 1749218442382 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-13.3.29-hecca717_0.conda - sha256: e2596138baef66e9b7fa08329e944d3ef8cca7c3d2da28d32bc37ff7e4801d1a - md5: 3a99ba2e09c508fd8b8b0eaf6d37a376 + size: 94239 + timestamp: 1753975242354 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.73-ha770c72_0.conda + sha256: 94894c81f0257fc8a7daee9e18f885ce5e26adf1494e05b57ffb0660d59096cd + md5: 05b21494055e653903a447c506e091c8 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-cudart-static_linux-64 13.3.29 h376f20c_0 - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24626 - timestamp: 1779898435744 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cuobjdump-13.3.29-hffce074_0.conda - sha256: 58e44a2b160362c687d0b91f51927c25883eceb419cad7f2948d60c6da412d9a - md5: c0f0a90bff63e1de8fde012ea985169d + size: 116550 + timestamp: 1782782846502 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-12.9.86-h579c4fd_2.conda + sha256: 1db1f3ff4b0f445ce4064eb323733f7612ce28bc879dd6849e162b1504b7474a + md5: 86be43a4154301b74f823bc6fe476629 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-nvdisasm - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 312247 - timestamp: 1779911081668 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cupti-13.3.35-h676940d_0.conda - sha256: e749092e3c8d3405a7fb9c59b481d0762b0939daee9bb8d838f265b415b86e61 - md5: 89a55c384bbf95ee806968e4dd4a3032 + size: 94794 + timestamp: 1753975199249 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.73-h579c4fd_0.conda + sha256: f7c7c73110c0d762030165b634eafbd921200d982ee3c34d42021838bee544dc + md5: 802c7fb645cef271966164736a763523 depends: - - __glibc >=2.28,<3.0.a0 + - arm-variant * sbsa - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 1600030 - timestamp: 1779895779561 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-impl-12.9.86-h85509e4_2.conda - sha256: 961cf20d411b7685cd744e6c6ed35efea547d095c62151d6f3053d9931bb994d - md5: 67458d2685e7503933efa550f3ee40f3 + size: 116641 + timestamp: 1782782854071 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-12.9.86-h57928b3_2.conda + sha256: 2fccde18cafec3cdb6697f37c576567ac623dc69531e2a81bbc83d8a86a82d1f + md5: 569c55bd368307e48191a2ed54c64428 depends: - - cuda-cudart >=12.9.79,<13.0a0 - - cuda-cudart-dev - - cuda-nvcc-dev_linux-64 12.9.86 he91c749_2 - - cuda-nvcc-tools 12.9.86 he02047a_2 - - cuda-nvvm-impl 12.9.86 h4bc722e_2 - cuda-version >=12.9,<12.10.0a0 - - libnvptxcompiler-dev 12.9.86 ha770c72_2 - constrains: - - gcc_impl_linux-64 >=6,<15.0a0 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27215 - timestamp: 1753975546846 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-tools-12.9.86-he02047a_2.conda - sha256: 0e849be7b5e4832ca218ec2c48a9ba3a15a984f629e2e54f38a53f4f57220341 - md5: dc256c9864c2e8e9c817fbca1c84a4bc - depends: - - __glibc >=2.17,<3.0.a0 - - cuda-crt-tools 12.9.86 ha770c72_2 - - cuda-nvvm-tools 12.9.86 h4bc722e_2 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=12 - - libstdcxx >=12 - constrains: - - gcc_impl_linux-64 >=6,<15.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27380012 - timestamp: 1753975454194 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-tools-13.3.33-he02047a_0.conda - sha256: 03eb789235ec13b06ba826af3e0fdda82a88de865e784d4a3bc75fc57a51cc98 - md5: 886a75eb0a30410f5b36ec319c8d90d5 + size: 95452 + timestamp: 1753975640812 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.73-h57928b3_0.conda + sha256: b1e55dca7962c05b3ed28025c4e650bcf11b6e775c374fe98f8bc58699b02baf + md5: 653dd441bddb625b0f12adfdf846cc14 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-crt-tools 13.3.33 ha770c72_0 - - cuda-nvvm-tools 13.3.33 h4bc722e_0 - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - - libstdcxx >=12 - constrains: - - gcc_impl_linux-64 >=6,<16.0a0 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 34635831 - timestamp: 1779905180976 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvdisasm-13.3.29-hffce074_0.conda - sha256: adac387decd7157635c896b5dc15b3dd37cc4c8eab92fa4c5e3fdfb79fa49050 - md5: 4aafe5bdda0be1dc549a6165e1f39dfa + size: 116958 + timestamp: 1782782896721 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-crt-tools-12.9.86-ha770c72_2.conda + sha256: 2da9964591af14ba11b2379bed01d56e7185260ee0998d1a939add7fb752db45 + md5: 503a94e20d2690d534d676a764a1852c + depends: + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 29138 + timestamp: 1753975252445 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-crt-tools-13.3.73-ha770c72_0.conda + sha256: c15de6531b48744560311f3db12a2503e57d5ed737f4613e9f5ec56e96ae1967 + md5: 0250c452d2fbe477d4ea1a4c43e8c2b5 depends: - - __glibc >=2.17,<3.0.a0 - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 4704236 - timestamp: 1779896392544 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-12.9.86-hecca717_1.conda - sha256: 68f81268c25befa9b70dc49af469ab0eb131960e3700b9a4edb46a32da343a28 - md5: 53f0062e2243b26e43ddac0b5267c6a3 + purls: [] + size: 30173 + timestamp: 1782782850002 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-crt-tools-12.9.86-h579c4fd_2.conda + sha256: dad493fdcef9a5b84269bdd22b5dfbe73300d99057f2fc1a1ad1114a944167c7 + md5: 6f66ef2abe496ac82066ea6b9f33ab90 depends: - - __glibc >=2.17,<3.0.a0 + - arm-variant * sbsa - cuda-version >=12.9,<12.10.0a0 - - libgcc >=14 - - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 67168282 - timestamp: 1760723629347 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda - sha256: a70641e7d81694f57c7df46a17b657594393082dad667532c29df9540b7f99ca - md5: 57124a775cb937bb2bfd10f09a230430 + size: 29186 + timestamp: 1753975202369 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-crt-tools-13.3.73-h579c4fd_0.conda + sha256: e8da911c9e2760b12d0bb7a6ad00d931043f49fc19780752c39b28cca93a1c66 + md5: 67a47638d4d03f2aee19406fba2b390b depends: - - __glibc >=2.17,<3.0.a0 + - arm-variant * sbsa - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - run_exports: {} - size: 39254802 - timestamp: 1779897349474 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-12.9.86-hecca717_1.conda - sha256: ae620051c16eabf7720a47c5115634d64f7703d32124555ad0afccfd4b8d7cf4 - md5: 0d28090f4e63410e20397c7975612837 + size: 30264 + timestamp: 1782782854967 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-crt-tools-12.9.86-h57928b3_2.conda + sha256: fb2283a55820eeff84c861b469cfee6a9d0ac9aebe02e82aae480a60068a7659 + md5: d0057a8511cb12745675db18ccbec8f2 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-nvrtc 12.9.86 hecca717_1 - cuda-version >=12.9,<12.10.0a0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - cuda-nvrtc-static >=12.9.86 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-nvrtc >=12.9.86,<13.0a0 - size: 36819 - timestamp: 1760723845601 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-13.3.33-hecca717_0.conda - sha256: 5ed71b75e73241ab007d92a6b1f28ce90cc50abf3615876e7ef8d3dea9443d58 - md5: 37fe136dc4411687579abf75826a0609 + size: 29604 + timestamp: 1753975679251 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-12.9.79-h5888daf_0.conda + sha256: 57d1294ecfaf9dc8cdb5fc4be3e63ebc7614538bddb5de53cfd9b1b7de43aed5 + md5: cb15315d19b58bd9cd424084e58ad081 depends: - __glibc >=2.17,<3.0.a0 - - cuda-nvrtc 13.3.33 hecca717_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - cuda-nvrtc-static >=13.3.33 + - cuda-cudart_linux-64 12.9.79 h3f2d84a_0 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=13 + - libstdcxx >=13 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-nvrtc >=13.3.33,<14.0a0 - size: 38404 - timestamp: 1779897472176 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvtx-13.3.29-hecca717_0.conda - sha256: 5af9ccd785d66de9b25907f33c05b3b96fb289b030d041dc106303c0ae10caea - md5: b9ece8f54967d0e38857e6c562273f68 + size: 23242 + timestamp: 1749218416505 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda + sha256: 3d74819f261d77a410e8f8ddbd973446c312ec76605d60619d9b85113eca9632 + md5: 3fc21c99786b908fd7f32ea279fc9780 depends: - __glibc >=2.17,<3.0.a0 + - cuda-cudart_linux-64 13.3.29 h376f20c_0 - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 33852 - timestamp: 1779896656406 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.33-h69a702a_0.conda - sha256: 5a379ec765df86fa34c253033fff9e916b3b8a01fc6a8ab2ec451e2ac7b57a2c - md5: 6dc6ffa1da0abc6d1fa4f5385aa93040 + purls: [] + size: 24659 + timestamp: 1779898425780 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-12.9.79-h3ae8b8a_0.conda + sha256: 3d6699fc27ffabf28a9d359b48e7b88437e4d945844718a58608627998db5d1b + md5: df78e19e5fe656631d1470aa0fcf6ced depends: - - cuda-nvvm-dev_linux-64 13.3.33.* - - cuda-nvvm-impl 13.3.33.* - - cuda-nvvm-tools 13.3.33.* + - arm-variant * sbsa + - cuda-cudart_linux-aarch64 12.9.79 h3ae8b8a_0 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=13 + - libstdcxx >=13 license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - size: 25697 - timestamp: 1779909800589 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.73-h69a702a_0.conda - sha256: d57adacdd922ee66e1b8c15aa07a7555819a24a6286f7e748d12018dad51141e - md5: 4e0f9af8d9a275dbd97763eeb50f4d7b + size: 23466 + timestamp: 1749218349235 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda + sha256: 7b02fe40d6a503f42e4ffe83bf2512876c7e4eb5374199b03045b0e17e14ec6f + md5: 8daff8683cfa57366f88b5a980d4bd03 depends: - - cuda-nvvm-dev_linux-64 13.3.73.* - - cuda-nvvm-impl 13.3.73.* - - cuda-nvvm-tools 13.3.73.* + - arm-variant * sbsa + - cuda-cudart_linux-aarch64 13.3.29 h8f3c8d4_0 + - cuda-version >=13.3,<13.4.0a0 + - libgcc >=14 + - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24732 - timestamp: 1782788494281 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-12.9.86-h4bc722e_2.conda - sha256: f4d34556174e4faa9d374ba2244707082870e1bbc1bb441ad3d9d2cea37da6af - md5: 82125dd3c0c4aa009faa00e2829b93d8 + purls: [] + size: 24782 + timestamp: 1779898439985 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-12.9.79-he0c23c2_0.conda + sha256: a30cd9adf3a70d069d4d87c5728ec16778b77071629612ca5d8513cd92d89c09 + md5: 0a243d4f000a0d2f51dd94ee9132b234 depends: - - __glibc >=2.17,<3.0.a0 + - cuda-cudart_win-64 12.9.79 he0c23c2_0 - cuda-version >=12.9,<12.10.0a0 - - libgcc >=12 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 21425520 - timestamp: 1753975283188 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.33-h4bc722e_0.conda - sha256: 1ea87e853ba917c14b222da1bff5179a3aa490ca5fd64e9ff1b865d2ca62e569 - md5: 3cdad839773c71e550927c626f8ba5fa + size: 170799 + timestamp: 1749218946117 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-12.9.79-h5888daf_0.conda + sha256: 04d8235cb3cb3510c0492c3515a9d1a6053b50ef39be42b60cafb05044b5f4c6 + md5: ba38a7c3b4c14625de45784b773f0c71 depends: - __glibc >=2.17,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 + - cuda-cudart 12.9.79 h5888daf_0 + - cuda-cudart-dev_linux-64 12.9.79 h3f2d84a_0 + - cuda-cudart-static 12.9.79 h5888daf_0 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=13 + - libstdcxx >=13 license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - size: 22428462 - timestamp: 1779905092854 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda - sha256: 41f356d6c38af4d2be789b13697469eb2eb61fc7aaf2765ae8dc5845587a36f7 - md5: e9fa0c38f175daa97354d21e74603588 + size: 23687 + timestamp: 1749218464010 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-13.3.29-hecca717_0.conda + sha256: 050ac942737f501b5dee21c0bbfa77f4617c52269f188ab66a5e2b8b7acd0f22 + md5: e21171cc900f202b2af82f1afddbdfcf depends: - __glibc >=2.17,<3.0.a0 + - cuda-cudart 13.3.29 hecca717_0 + - cuda-cudart-dev_linux-64 13.3.29 h376f20c_0 + - cuda-cudart-static 13.3.29 hecca717_0 - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 + - libgcc >=14 + - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 22429305 - timestamp: 1782782861319 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-12.9.86-h4bc722e_2.conda - sha256: 45f5e881ed0d973132a5475a0b5c066db6e748ef3a831a14dba8374b252e0067 - md5: f9af26e4079adcd72688a8e8dbecb229 + size: 25129 + timestamp: 1779898446163 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-12.9.79-h3ae8b8a_0.conda + sha256: d70f85411992e03494f2fe94a9852d79f366a92f40ba791611eda5551044afe9 + md5: d58cc487273764a11637456c06399ff0 depends: - - __glibc >=2.17,<3.0.a0 + - arm-variant * sbsa + - cuda-cudart 12.9.79 h3ae8b8a_0 + - cuda-cudart-dev_linux-aarch64 12.9.79 h3ae8b8a_0 + - cuda-cudart-static 12.9.79 h3ae8b8a_0 - cuda-version >=12.9,<12.10.0a0 - - libgcc >=12 + - libgcc >=13 + - libstdcxx >=13 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24246736 - timestamp: 1753975332907 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.33-h4bc722e_0.conda - sha256: 3fc9d3ba08b4a3b5fd0065f048e8c6007a8ca1c8df07b3538f4b61435ecbc2ac - md5: 99365fca01f05b4255c79180e6e86a43 + size: 23911 + timestamp: 1749218369632 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-13.3.29-h8f3c8d4_0.conda + sha256: 3ac23580a5152826def6f4ef8767ad24f38433ff47d85d8d971b9b67ee192e02 + md5: ce781c2e7b35de72a2b002d58f2e0d8f depends: - - __glibc >=2.17,<3.0.a0 + - arm-variant * sbsa + - cuda-cudart 13.3.29 h8f3c8d4_0 + - cuda-cudart-dev_linux-aarch64 13.3.29 h8f3c8d4_0 + - cuda-cudart-static 13.3.29 h8f3c8d4_0 - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 + - libgcc >=14 + - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - size: 29720382 - timestamp: 1779905121216 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.73-h4bc722e_0.conda - sha256: f853f097a67a197608fafc193ab877393c7735b1da2364572172cc9eff262775 - md5: d5c9cf56873f461074420e70970604a9 + size: 25269 + timestamp: 1779898455527 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-12.9.79-he0c23c2_0.conda + sha256: 1ee68f0ffd37889f0fc438d4da7124054b124632e1c3bc15950b9851b002473e + md5: e5bb074108bc2501f8374e80748aa181 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 + - cuda-cudart 12.9.79 he0c23c2_0 + - cuda-cudart-dev_win-64 12.9.79 he0c23c2_0 + - cuda-cudart-static 12.9.79 he0c23c2_0 + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 29734373 - timestamp: 1782782895477 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-12.9.79-h7938cbb_1.conda - sha256: 4f679dfbf2bf2d17abb507f31b0176c0e3572337b5005b9e36179948a53988ac - md5: 90d09865fb37d11d510444e34ebe6a09 + size: 23222 + timestamp: 1749219022963 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-12.9.79-h3f2d84a_0.conda + sha256: ffe86ed0144315b276f18020d836c8ef05bf971054cf7c3eb167af92494080d5 + md5: 86e40eb67d83f1a58bdafdd44e5a77c6 depends: - - cuda-cudart-dev + - cuda-cccl_linux-64 + - cuda-cudart-static_linux-64 + - cuda-cudart_linux-64 - cuda-version >=12.9,<12.10.0a0 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23668 - timestamp: 1761098836058 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-13.3.27-h7938cbb_0.conda - sha256: 716eb13fe58332ed1d5079edae720177da0aeb3bb51cb5a05072385faa8dd704 - md5: a251ae89c6c9a7f5e8a39adc9a3041bd + size: 389140 + timestamp: 1749218427266 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda + sha256: d95f1b404119e3f72edb7ac5dbd4443e2d7d040f7d68c3905c0dd7ad78f11311 + md5: 4165013e8d24dd61774458e6f2e36c32 depends: - - cuda-cudart-dev + - cuda-cccl_linux-64 + - cuda-cudart-static_linux-64 + - cuda-cudart_linux-64 - cuda-version >=13.3,<13.4.0a0 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 25007 - timestamp: 1779913616712 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cupy-14.0.1-py314h31ce861_0.conda - sha256: d59c279c87b545dd02f420f7590986b9eae7acb14c1bd5f3c174a78249c7dfc5 - md5: 889f514696060780ec0358539c17007b + purls: [] + size: 405020 + timestamp: 1779898430134 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-12.9.79-h3ae8b8a_0.conda + sha256: ad64a1ecfc933172dbc6407d71b1abb78dc7ffcd5cc871baee238350307a7c0c + md5: 60e07c05a51d5549bec1e7ee38849feb depends: - - cuda-cudart-dev_linux-64 - - cuda-nvrtc - - cuda-version >=13,<14.0a0 - - cupy-core 14.0.1 py314hed3c566_0 - - libcublas - - libcufft - - libcurand - - libcusolver - - libcusparse - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - size: 385283 - timestamp: 1771604567478 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cupy-core-14.0.1-py314hed3c566_0.conda - sha256: f048dbdee55577fad61221b87b0be44fc64de532138cf80b0e65fe0955d13b27 - md5: 494ca91005c44e23bd74d6fd086228d2 + - arm-variant * sbsa + - cuda-cccl_linux-aarch64 + - cuda-cudart-static_linux-aarch64 + - cuda-cudart_linux-aarch64 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 388797 + timestamp: 1749218354725 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda + sha256: 4e15b3a139285d1e86691d5987e7bf4b9e8cbce1df0af206e0c95299a8015644 + md5: f3855f0a74455604f9950bf91ce6d846 depends: - - __glibc >=2.28,<3.0.a0 - - cuda-pathfinder >=1.3.3,<2.0a0 - - libgcc >=14 - - libstdcxx >=14 - - numpy >=1.23,<3 - - numpy >=2.0 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - constrains: - - __cuda >=13.0 - - libcublas >=13,<14.0a0 - - cuda-nvrtc >=13,<14.0a0 - - nccl >=2.29.3.1,<3.0a0 - - cutensor >=2.5.0.2,<3.0a0 - - libcufft >=12,<13.0a0 - - scipy >=1.10,<1.17 - - cuda-version >=13,<14.0a0 - - optuna ~=3.0 - - cupy >=14.0.1,<14.1.0a0 - - libcusolver >=12,<13.0a0 - - libcurand >=10,<11.0a0 - - libcusparse >=12,<13.0a0 - license: MIT - license_family: MIT - size: 33970282 - timestamp: 1771604499034 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.4-py314h1807b08_0.conda - sha256: f700d10c2a794710a1656a6fdb8908fb04f3c7812ac4f17187777646ede1a3d9 - md5: 866fd3d25b767bccb4adc8476f4035cd + - arm-variant * sbsa + - cuda-cccl_linux-aarch64 + - cuda-cudart-static_linux-aarch64 + - cuda-cudart_linux-aarch64 + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 403650 + timestamp: 1779898443931 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-12.9.79-he0c23c2_0.conda + sha256: e022d36a333420130faf6473c49f8dab54bf976cf320577ffb06db0a0797b734 + md5: 3c3e2f6b5455783fd332a072d632ea78 + depends: + - cuda-cccl_win-64 + - cuda-cudart-static_win-64 + - cuda-cudart_win-64 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1190184 + timestamp: 1749218971019 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-13.3.29-hac47afa_0.conda + sha256: f77605b230a88d089e4294b9b4d650dd4ec4841a0bec9f528b6b4a736299dcb1 + md5: d387bc63f2d520cb434489e41a33614d + depends: + - cuda-cccl_win-64 + - cuda-cudart-static_win-64 + - cuda-cudart_win-64 + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1548117 + timestamp: 1779898493787 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-12.9.79-h5888daf_0.conda + sha256: 6261e1d9af80e1ec308e3e5e2ff825d189ef922d24093beaf6efca12e67ce060 + md5: d3c4ac48f4967f09dd910d9c15d40c81 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/cython?source=hash-mapping - size: 3806945 - timestamp: 1767576996860 -- conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - sha256: f0210259007f573e38f7b8037be9b36e53aa0906b786e9f1f931e0a24f8a18e6 - md5: 0e6a14f60b561b2fff81d325b4dc8283 + - cuda-cudart-static_linux-64 12.9.79 h3f2d84a_0 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23283 + timestamp: 1749218442382 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-13.3.29-hecca717_0.conda + sha256: e2596138baef66e9b7fa08329e944d3ef8cca7c3d2da28d32bc37ff7e4801d1a + md5: 3a99ba2e09c508fd8b8b0eaf6d37a376 depends: - __glibc >=2.17,<3.0.a0 + - cuda-cudart-static_linux-64 13.3.29 h376f20c_0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 3819412 - timestamp: 1782821647528 -- conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda - sha256: 22053a5842ca8ee1cf8e1a817138cdb5e647eb2c46979f84153f6ad7bde73020 - md5: 418c6ca5929a611cbd69204907a83995 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24626 + timestamp: 1779898435744 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-12.9.79-h3ae8b8a_0.conda + sha256: dac33edcebbf557563a41521f67961039186efbc276903d937b32243ef3be937 + md5: 365adcddf99b81eb323698fda31d507c depends: - - libgcc-ng >=12 - license: BSD-2-Clause - license_family: BSD - purls: [] - size: 760229 - timestamp: 1685695754230 -- conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda - sha256: 8bb557af1b2b7983cf56292336a1a1853f26555d9c6cecf1e5b2b96838c9da87 - md5: ce96f2f470d39bd96ce03945af92e280 + - arm-variant * sbsa + - cuda-cudart-static_linux-aarch64 12.9.79 h3ae8b8a_0 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23507 + timestamp: 1749218358755 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-13.3.29-h8f3c8d4_0.conda + sha256: 8f83d5e859f3ef949589b4ef2bf1eb0a99d02ad2941c6f9c0a802b96a1d65c25 + md5: a40f6427160d6394dfa189276386be91 depends: - - __glibc >=2.17,<3.0.a0 + - arm-variant * sbsa + - cuda-cudart-static_linux-aarch64 13.3.29 h8f3c8d4_0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - - libglib >=2.86.2,<3.0a0 - - libexpat >=2.7.3,<3.0a0 - license: AFL-2.1 OR GPL-2.0-or-later - purls: [] - size: 447649 - timestamp: 1764536047944 -- conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.20-py314h42812f9_0.conda - sha256: d9e89e351d7189c41615cfceca76b3bcacaa9c81d9945ac1caa6fb9e5184f610 - md5: 57e6fad901c05754d5256fe3ab9f277b + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24786 + timestamp: 1779898447855 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-12.9.79-he0c23c2_0.conda + sha256: 02d3ff9ec59c7f59132ffe9398746ad9422a75706e7cad19acc6c30a5c0fc763 + md5: 718879691b8119c893f587f46c734fca depends: - - python - - libgcc >=14 - - libstdcxx >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/debugpy?source=hash-mapping - size: 2886804 - timestamp: 1769744977998 -- conda: https://conda.anaconda.org/conda-forge/linux-64/dlpack-1.3-hecca717_0.conda - sha256: 537cc39a2e0df25025b5a39efcf94439a68487cfa3b7dc04d85035749827ff7e - md5: 1caabd075d924f9b93202b251fc897c1 + - cuda-cudart-static_win-64 12.9.79 he0c23c2_0 + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23249 + timestamp: 1749218998822 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-12.9.79-h3f2d84a_0.conda + sha256: d435f8a19b59b52ce460ee3a6bfd877288a0d1d645119a6ba60f1c3627dc5032 + md5: b87bf315d81218dd63eb46cc1eaef775 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - run_exports: {} - size: 19931 - timestamp: 1769613654030 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.0.1-gpl_hcddb375_914.conda - sha256: 0d465b145eb7166d6a3989f0befe790789624604945f53de767b169b1832c088 - md5: f0e9f1452786e2b32907e8d9a6b3c752 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1148889 + timestamp: 1749218381225 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda + sha256: fa920f2c2154ea2ace2d55457e43af8e7bfc2c94fa5ec7276792ad411d1011d1 + md5: 7d4fe2a79d971522b3ad68b772c197eb depends: - - __glibc >=2.17,<3.0.a0 - - alsa-lib >=1.2.15.3,<1.3.0a0 - - aom >=3.9.1,<3.10.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - gmp >=6.3.0,<7.0a0 - - harfbuzz >=12.3.2 - - lame >=3.100,<3.101.0a0 - - libass >=0.17.4,<0.17.5.0a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libjxl >=0.11,<1.0a0 - - liblzma >=5.8.2,<6.0a0 - - libopenvino >=2026.0.0,<2026.0.1.0a0 - - libopenvino-auto-batch-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-auto-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-hetero-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-intel-cpu-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-intel-gpu-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-intel-npu-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-ir-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-onnx-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-paddle-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-pytorch-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-tensorflow-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-tensorflow-lite-frontend >=2026.0.0,<2026.0.1.0a0 - - libopus >=1.6.1,<2.0a0 - - librsvg >=2.60.2,<3.0a0 - - libstdcxx >=14 - - libva >=2.23.0,<3.0a0 - - libvorbis >=1.3.7,<1.4.0a0 - - libvpl >=2.16.0,<2.17.0a0 - - libvpx >=1.15.2,<1.16.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.1,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.5,<4.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2025.5,<2025.6.0a0 - - svt-av1 >=4.0.1,<4.0.2.0a0 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - size: 12485347 - timestamp: 1773008832077 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.1-gpl_h6d6c1bd_904.conda - sha256: d9064d5f8575e4f7b6a2c73718f4d4b8986808d8a92eabc5f6b50d5a2fbb18ec - md5: 5acc906a0f5f8f56d28665ac6b840f8e + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 1126340 + timestamp: 1779898412056 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-12.9.79-h3ae8b8a_0.conda + sha256: d4be038bad9abf0eac1e88dc57c8db6a469db8eb5d7c281085dfbb018ef84212 + md5: 52498fedeb43bbd4c45f84a0fb722d21 depends: - - __glibc >=2.17,<3.0.a0 - - alsa-lib >=1.2.16,<1.3.0a0 - - aom >=3.14.1,<3.15.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.18.1,<3.0a0 - - fonts-conda-ecosystem - - gmp >=6.3.0,<7.0a0 - - harfbuzz >=14.2.1 - - lame >=3.100,<3.101.0a0 - - libass >=0.17.4,<0.17.5.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libjxl >=0.11,<1.0a0 - - liblzma >=5.8.3,<6.0a0 - - libopenvino >=2026.2.0,<2026.2.1.0a0 - - libopenvino-auto-batch-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-auto-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-hetero-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-intel-cpu-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-intel-gpu-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-intel-npu-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-ir-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-onnx-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-paddle-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-pytorch-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-tensorflow-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-tensorflow-lite-frontend >=2026.2.0,<2026.2.1.0a0 - - libopus >=1.6.1,<2.0a0 - - libplacebo >=7.360.1,<7.361.0a0 - - librsvg >=2.62.3,<3.0a0 - - libstdcxx >=14 - - libva >=2.23.0,<3.0a0 - - libvorbis >=1.3.7,<1.4.0a0 - - libvpl >=2.16.0,<2.17.0a0 - - libvpx >=1.15.2,<1.16.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.2,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.6,<4.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2026.2,<2026.3.0a0 - - svt-av1 >=4.0.1,<4.0.2.0a0 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - purls: [] - size: 12996053 - timestamp: 1780667981113 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h6d6c1bd_900.conda - sha256: 733a4d28449d2011924c60038205d1cf8fbb6ab17bbc14d0292ff3f1ad5e2000 - md5: f67dd5264815883b92396d0dddbfce78 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 1152498 + timestamp: 1749218333554 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda + sha256: efccfa33242cc65deb11312f46244da2e07ba8332352d31f0565e8243215fe09 + md5: 464a04d3d8ffcba349f4e21553dfbcdd depends: - - __glibc >=2.17,<3.0.a0 - - alsa-lib >=1.2.16.1,<1.3.0a0 - - aom >=3.14.1,<3.15.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.18.1,<3.0a0 - - fonts-conda-ecosystem - - gmp >=6.3.0,<7.0a0 - - harfbuzz >=14.2.1 - - lame >=3.100,<3.101.0a0 - - libass >=0.17.4,<0.17.5.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libjxl >=0.11,<1.0a0 - - liblzma >=5.8.3,<6.0a0 - - libopenvino >=2026.2.0,<2026.2.1.0a0 - - libopenvino-auto-batch-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-auto-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-hetero-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-intel-cpu-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-intel-gpu-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-intel-npu-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-ir-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-onnx-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-paddle-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-pytorch-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-tensorflow-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-tensorflow-lite-frontend >=2026.2.0,<2026.2.1.0a0 - - libopus >=1.6.1,<2.0a0 - - libplacebo >=7.360.1,<7.361.0a0 - - librsvg >=2.62.3,<3.0a0 - - libstdcxx >=14 - - libva >=2.23.0,<3.0a0 - - libvorbis >=1.3.7,<1.4.0a0 - - libvpl >=2.16.0,<2.17.0a0 - - libvpx >=1.15.2,<1.16.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.2,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.7,<4.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2026.2,<2026.3.0a0 - - svt-av1 >=4.0.1,<4.0.2.0a0 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 13047853 - timestamp: 1781693629355 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-12.1.0-hff5e90c_0.conda - sha256: d4e92ba7a7b4965341dc0fca57ec72d01d111b53c12d11396473115585a9ead6 - md5: f7d7a4104082b39e3b3473fbd4a38229 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 198107 - timestamp: 1767681153946 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.17.1-h27c8c51_0.conda - sha256: aa4a44dba97151221100a637c7f4bde619567afade9c0265f8e1c8eed8d7bd8c - md5: 867127763fbe935bab59815b6e0b7b5c - depends: - - __glibc >=2.17,<3.0.a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libuuid >=2.41.3,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 270705 - timestamp: 1771382710863 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.1-h27c8c51_0.conda - sha256: 2e50bdcebdf70a865b81f2456bbc586386451ec601c60f2b6cd22b8c40a2d384 - md5: e0e050cfa9fa85fe39632ab11cb7f3e0 + size: 1133087 + timestamp: 1779898428591 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-12.9.79-he0c23c2_0.conda + sha256: 6a3410cd7ce07955cb705801055ef129ebee1cd6390c6fe9e5f607b67c3dba36 + md5: 0dd152a1493d90356037604a865f050f depends: - - __glibc >=2.17,<3.0.a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libgcc >=14 - - libuuid >=2.42.1,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT - purls: [] - size: 281880 - timestamp: 1780450077431 -- conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.2-ha770c72_0.conda - sha256: 36857701b46828b6760c3c1652414ee504e7fc12740261ac6fcff3959b72bd7a - md5: eeec961fec28e747e1e1dc0446277452 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 354611 + timestamp: 1749218544740 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-13.3.29-hac47afa_0.conda + sha256: c837c4eaadbca4426f93ff99b4a0f05ca199f0fb43ec0eac4bd30a2cec4257d0 + md5: 999b16444442cf6d914cecef070d13de depends: - - libfreetype 2.14.2 ha770c72_0 - - libfreetype6 2.14.2 h73754d4_0 - license: GPL-2.0-only OR FTL - size: 174292 - timestamp: 1772757205296 -- conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda - sha256: c934c385889c7836f034039b43b05ccfa98f53c900db03d8411189892ced090b - md5: 8462b5322567212beeb025f3519fb3e2 + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 83026 + timestamp: 1779898478182 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-12.9.79-h3f2d84a_0.conda + sha256: 6cde0ace2b995b49d0db2eefb7bc30bf00ffc06bb98ef7113632dec8f8907475 + md5: 64508631775fbbf9eca83c84b1df0cae depends: - - libfreetype 2.14.3 ha770c72_0 - - libfreetype6 2.14.3 h73754d4_0 - license: GPL-2.0-only OR FTL - purls: [] - size: 173839 - timestamp: 1774298173462 -- conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda - sha256: 858283ff33d4c033f4971bf440cebff217d5552a5222ba994c49be990dacd40d - md5: f9f81ea472684d75b9dd8d0b328cf655 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 197249 + timestamp: 1749218394213 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda + sha256: a86028f94acf37b17ca2280734ae9dcc407cdf68a9c400102d323a3b15e52f0b + md5: 10949c6dfe9157fedb19170bd6e0b835 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: LGPL-2.1-or-later + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 61244 - timestamp: 1757438574066 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-14.3.0-h0dff253_18.conda - sha256: 9b34b57b06b485e33a40d430f71ac88c8f381673592507cf7161c50ff0832772 - md5: 52d6457abc42e320787ada5f9033fa99 - depends: - - conda-gcc-specs - - gcc_impl_linux-64 14.3.0 hbdf3cc3_18 - license: BSD-3-Clause - license_family: BSD - size: 29506 - timestamp: 1771378321585 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h6f77f03_18.conda - sha256: d120a7616f8b2717fc2a9d0246b53f69ce3fb33e565d22dba44e3d6827ee4f12 - md5: 094638a454410aa77586ffcc9a403aef - depends: - - gcc_impl_linux-64 15.2.0 he420e7e_18 - track_features: - - gcc_no_conda_specs - license: BSD-3-Clause - license_family: BSD - size: 29453 - timestamp: 1771378662937 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-14.3.0-hbdf3cc3_18.conda - sha256: 3b31a273b806c6851e16e9cf63ef87cae28d19be0df148433f3948e7da795592 - md5: 30bb690150536f622873758b0e8d6712 + size: 206064 + timestamp: 1779898416941 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-12.9.79-h3ae8b8a_0.conda + sha256: 4900ff2f000a4f8a70a7bc8576469640aa6590618fa9e73c84e066e025dcb760 + md5: cc2459ad427431e089d78d760cf24437 depends: - - binutils_impl_linux-64 >=2.45 - - libgcc >=14.3.0 - - libgcc-devel_linux-64 14.3.0 hf649bbc_118 - - libgomp >=14.3.0 - - libsanitizer 14.3.0 h8f1669f_18 - - libstdcxx >=14.3.0 - - libstdcxx-devel_linux-64 14.3.0 h9f08a49_118 - - sysroot_linux-64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 76302378 - timestamp: 1771378056505 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda - sha256: a48400ec4b73369c1c59babe4ad35821b63a88bba0ec40a80cea5f8c53a26b83 - md5: e3be72048d3c4a78b8e27ec48ba06252 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 212993 + timestamp: 1749218341193 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda + sha256: 15f0614bd0ae66c43148539d1c7cd4bbbd1b13aa14045a2339df5737e3d6e36e + md5: 4a7f98cadd8be6b7dcce34764fb38997 depends: - - binutils_impl_linux-64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_linux-64 15.2.0 hcc6f6b0_119 - - libgomp >=15.2.0 - - libsanitizer 15.2.0 h90f66d4_19 - - libstdcxx >=15.2.0 - - libstdcxx-devel_linux-64 15.2.0 hd446a21_119 - - sysroot_linux-64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 81180457 - timestamp: 1778269124617 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he420e7e_18.conda - sha256: a088cfd3ae6fa83815faa8703bc9d21cc915f17bd1b51aac9c16ddf678da21e4 - md5: cf56b6d74f580b91fd527e10d9a2e324 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 222441 + timestamp: 1779898433566 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-12.9.79-he0c23c2_0.conda + sha256: 6a89a53cdbcfafa0bb55abee1b58492c6a9a28e688abe04f48f0d01649c5f3e4 + md5: 71c9c2ab52226f990f268164381d8494 depends: - - binutils_impl_linux-64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_linux-64 15.2.0 hcc6f6b0_118 - - libgomp >=15.2.0 - - libsanitizer 15.2.0 h90f66d4_18 - - libstdcxx >=15.2.0 - - libstdcxx-devel_linux-64 15.2.0 hd446a21_118 - - sysroot_linux-64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 81814135 - timestamp: 1771378369317 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-15.2.0-h7be306e_27.conda - sha256: b24b13d467898a9b9a17a868a2686412a98f8935dc7cc51547dd90645d4e8436 - md5: 28bc49875f9c38e2401696b3e48d0798 - depends: - - gcc_impl_linux-64 15.2.0.* - - binutils_linux-64 - - sysroot_linux-64 - license: BSD-3-Clause - license_family: BSD - run_exports: - strong: - - libgcc >=15 - size: 29330 - timestamp: 1781279944230 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.5-h2b0a6b4_1.conda - sha256: b2a6fb56b8f2d576a3ae5e6c57b2dbab91d52d1f1658bf1b258747ae25bb9fde - md5: 7eb4977dd6f60b3aaab0715a0ea76f11 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23260 + timestamp: 1749218569458 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-13.3.29-hac47afa_0.conda + sha256: 3b858e8593d00fa36a6786d1c3d981369f84ae68d3700349dba4c1e4d779c904 + md5: f0253958e16223aabcc8b5561a6f98a7 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - size: 575109 - timestamp: 1771530561157 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.6-h2b0a6b4_0.conda - sha256: c5594497f0646e9079705b3199dbb2d5b13c48173cf110000fa1c8818e2b3e0c - md5: 7892f39a39ed39591a89a28eba03e987 + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24659 + timestamp: 1779898481919 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cuobjdump-13.3.73-hffce074_0.conda + sha256: a65cb1cecf1c10b5788d99c5c0e97878e1bd422e9626d0905a3f62ead1451440 + md5: 0e65be2f6812d0acf74e6c90fedeac7b depends: - __glibc >=2.17,<3.0.a0 + - cuda-nvdisasm + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.56,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: LGPL-2.1-or-later - license_family: LGPL + - libstdcxx >=14 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 577414 - timestamp: 1774985848058 -- conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.2.0-h96af755_1.conda - sha256: 88a5ad3571948bde22957d08ab01328b8a7eb04fdee66268b3125cc322dbde8b - md5: ba5b655d827f263090ad2dc514810328 + size: 311736 + timestamp: 1782782292034 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cuobjdump-13.3.73-h2079400_0.conda + sha256: 53aa0fc4bc74f4d84c80894aabfc2607047f5b29a92245140624b79f028d2927 + md5: 150ae26f23a415f44933da8faa38b9cc depends: - - __glibc >=2.17,<3.0.a0 + - cuda-nvdisasm + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - - spirv-tools >=2026,<2027.0a0 - license: BSD-3-Clause - license_family: BSD - size: 1353008 - timestamp: 1770195199411 -- conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda - sha256: 3c9b6a90937a96ad27d160304cdbe5e9961db613aba2b84ff673429f0c61d48e - md5: d175cb2c14104728ada04883786a309d + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 318084 + timestamp: 1782782359588 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cupti-13.3.75-h676940d_1.conda + sha256: 74102b8c0b16fdbcf2dbd0979737a39e9bbda91af648a9f02e463a941d3aaa5d + md5: 52cc2a03940221694e9ee60386f5892f depends: - - __glibc >=2.17,<3.0.a0 + - __glibc >=2.28,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - - spirv-tools >=2026,<2027.0a0 - license: BSD-3-Clause - license_family: BSD + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 1366082 - timestamp: 1777747028121 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - sha256: 309cf4f04fec0c31b6771a5809a1909b4b3154a2208f52351e1ada006f4c750c - md5: c94a5994ef49749880a8139cf9afcbe1 + size: 1600177 + timestamp: 1784050032907 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cupti-13.3.75-he38c790_1.conda + sha256: afa6a9949aff46241ae1d5622ef6911e03f8173d233f4d98d21af08e92477d63 + md5: 9e41ef2acc730e87a50c25c9fd15f553 depends: - - libgcc-ng >=12 - - libstdcxx-ng >=12 - license: GPL-2.0-or-later OR LGPL-3.0-or-later + - __glibc >=2.28,<3.0.a0 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 + - libgcc >=14 + - libstdcxx >=14 + constrains: + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 460055 - timestamp: 1718980856608 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.0-py314h28848ee_1.conda - sha256: c542d8f0097f9b51175a94246c2d4b40755cc1c156bf893911a44ec94ddf8478 - md5: a99b82fda10aecd4ed853172bf4f6a28 + size: 1453802 + timestamp: 1784050064858 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_linux-64-12.9.86-he91c749_2.conda + sha256: a1672a34439a72869de9e011e935d41b62fc8dfb1a2700e85ed8a7a129b79981 + md5: 19d4e090217f0ea89d30bedb7461c048 depends: - - __glibc >=2.17,<3.0.a0 - - gmp >=6.3.0,<7.0a0 - - libgcc >=14 - - mpc >=1.3.1,<2.0a0 - - mpfr >=4.2.1,<5.0a0 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: LGPL-3.0-or-later - license_family: LGPL - size: 254716 - timestamp: 1773245106880 -- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda - sha256: 25ba37da5c39697a77fce2c9a15e48cf0a84f1464ad2aafbe53d8357a9f6cc8c - md5: 2cd94587f3a401ae05e03a6caf09539d + - cuda-crt-dev_linux-64 12.9.86 ha770c72_2 + - cuda-nvvm-dev_linux-64 12.9.86 ha770c72_2 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=6 + - libnvptxcompiler-dev_linux-64 12.9.86 ha770c72_2 + constrains: + - gcc_impl_linux-64 >=6,<15.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 28121 + timestamp: 1753975535813 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_linux-aarch64-12.9.86-h4310d6a_2.conda + sha256: f4b2917f38867dd1ad9cfb029c790cfdbee89f79919cd43b7ce0142cc77bfd35 + md5: e508550bd3d76ef97eaf5aab9ca757cd + depends: + - arm-variant * sbsa + - cuda-crt-dev_linux-aarch64 12.9.86 h579c4fd_2 + - cuda-nvvm-dev_linux-aarch64 12.9.86 h579c4fd_2 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=6 + - libnvptxcompiler-dev_linux-aarch64 12.9.86 h579c4fd_2 + constrains: + - gcc_impl_linux-aarch64 >=6,<15.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 28252 + timestamp: 1753975422031 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_win-64-12.9.86-h36c15f3_2.conda + sha256: e50255fe30f60135414e8b657c4ffdb12938af06463c959280eceb7166f69eb5 + md5: 20c8a059c5175ab804e7fc94213eb464 + depends: + - cuda-crt-dev_win-64 12.9.86 h57928b3_2 + - cuda-nvvm-dev_win-64 12.9.86 h57928b3_2 + - cuda-version >=12.9,<12.10.0a0 + - libnvptxcompiler-dev_win-64 12.9.86 h57928b3_2 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23452957 + timestamp: 1753976361068 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-impl-12.9.86-h85509e4_2.conda + sha256: 961cf20d411b7685cd744e6c6ed35efea547d095c62151d6f3053d9931bb994d + md5: 67458d2685e7503933efa550f3ee40f3 + depends: + - cuda-cudart >=12.9.79,<13.0a0 + - cuda-cudart-dev + - cuda-nvcc-dev_linux-64 12.9.86 he91c749_2 + - cuda-nvcc-tools 12.9.86 he02047a_2 + - cuda-nvvm-impl 12.9.86 h4bc722e_2 + - cuda-version >=12.9,<12.10.0a0 + - libnvptxcompiler-dev 12.9.86 ha770c72_2 + constrains: + - gcc_impl_linux-64 >=6,<15.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27215 + timestamp: 1753975546846 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvcc-impl-12.9.86-h614329b_2.conda + sha256: 60ca00b86a28f3f1abd080df6685c415a51f9a0267e65b3a56783b9b97265486 + md5: 7ad15773a6b7617fb36cc3d92034f3e9 + depends: + - arm-variant * sbsa + - cuda-cudart >=12.9.79,<13.0a0 + - cuda-cudart-dev + - cuda-nvcc-dev_linux-aarch64 12.9.86 h4310d6a_2 + - cuda-nvcc-tools 12.9.86 h614329b_2 + - cuda-nvvm-impl 12.9.86 h7b14b0b_2 + - cuda-version >=12.9,<12.10.0a0 + - libnvptxcompiler-dev 12.9.86 h579c4fd_2 + constrains: + - gcc_impl_linux-aarch64 >=6,<15.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27322 + timestamp: 1753975427660 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvcc-impl-12.9.86-h53cbb54_2.conda + sha256: d52c7b77b7d4f707efb3b76f93beb1c2b97883db6605818c1727935df9babe5d + md5: 17181de579b111f1cbad7af2b45aed0e + depends: + - cuda-cudart >=12.9.79,<13.0a0 + - cuda-cudart-dev + - cuda-nvcc-dev_win-64 12.9.86 h36c15f3_2 + - cuda-nvcc-tools 12.9.86 he0c23c2_2 + - cuda-nvvm-impl 12.9.86 h2466b09_2 + - cuda-version >=12.9,<12.10.0a0 + - libnvptxcompiler-dev 12.9.86 h57928b3_2 + constrains: + - vc >=14.2 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27684 + timestamp: 1753976469818 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-tools-12.9.86-he02047a_2.conda + sha256: 0e849be7b5e4832ca218ec2c48a9ba3a15a984f629e2e54f38a53f4f57220341 + md5: dc256c9864c2e8e9c817fbca1c84a4bc depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: LGPL-2.0-or-later - license_family: LGPL - size: 99596 - timestamp: 1755102025473 -- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda - sha256: 885fa7d1d7e2ad9ed0a700ee0d81ceb49de278253082d517959b22d6336eecce - md5: cf09e9fc938518e91d0706572cadf17a + - cuda-crt-tools 12.9.86 ha770c72_2 + - cuda-nvvm-tools 12.9.86 h4bc722e_2 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=12 + - libstdcxx >=12 + constrains: + - gcc_impl_linux-64 >=6,<15.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27380012 + timestamp: 1753975454194 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-tools-13.3.73-he02047a_0.conda + sha256: 2367b8c3b2b950ae6c3ec2e5353e343ab81d652786f9f4a894d8aec87d8220ec + md5: 5425950025883aab32919f2a42e1274b depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: LGPL-2.0-or-later - license_family: LGPL + - cuda-crt-tools 13.3.73 ha770c72_0 + - cuda-nvvm-tools 13.3.73 h4bc722e_0 + - cuda-version >=13.3,<13.4.0a0 + - libgcc >=12 + - libstdcxx >=12 + constrains: + - gcc_impl_linux-64 >=6,<16.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 100054 - timestamp: 1780454302233 -- conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.3.2-py314h42812f9_0.conda - sha256: fdeec5dbb5f964b1709f3d6f697137f0e68650e09ffa80b9b1bee2afb2373da4 - md5: 511748f9debe034ff88eef99bc215fd3 + size: 34673506 + timestamp: 1782782957431 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvcc-tools-12.9.86-h614329b_2.conda + sha256: 1cc064e076c417bca2de7fb6ee28df0964cbad25eada2131a48b43ab36cdea33 + md5: ab332ca8da729b13bf7e5b0022c2702c depends: - - python - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/greenlet?source=hash-mapping - size: 255601 - timestamp: 1771658388272 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-14.3.0-h76987e4_18.conda - sha256: 1b490c9be9669f9c559db7b2a1f7d8b973c58ca0c6f21a5d2ba3f0ab2da63362 - md5: 19189121d644d4ef75fed05383bc75f5 - depends: - - gcc 14.3.0 h0dff253_18 - - gxx_impl_linux-64 14.3.0 h2185e75_18 - license: BSD-3-Clause - license_family: BSD - size: 28883 - timestamp: 1771378355605 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_18.conda - sha256: 2d0f5eb8b2dce1e799e5bd70e874d6dfc62bed76f3f6aef21eba711db8c1b95b - md5: d2858ce79166e9afc367bd064d73e112 - depends: - - gcc 15.2.0 h6f77f03_18 - - gxx_impl_linux-64 15.2.0 hda75c37_18 - license: BSD-3-Clause - license_family: BSD - size: 28723 - timestamp: 1771378698305 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-14.3.0-h2185e75_18.conda - sha256: 38ffca57cc9c264d461ac2ce9464a9d605e0f606d92d831de9075cb0d95fc68a - md5: 6514b3a10e84b6a849e1b15d3753eb22 - depends: - - gcc_impl_linux-64 14.3.0 hbdf3cc3_18 - - libstdcxx-devel_linux-64 14.3.0 h9f08a49_118 - - sysroot_linux-64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 14566100 - timestamp: 1771378271421 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_18.conda - sha256: 48946f1f43d699b68123fb39329ef5acf3d9cbf8f96bdb8fb14b6197f5402825 - md5: e39123ab71f2e4cf989aa6aa5fafdaaf - depends: - - gcc_impl_linux-64 15.2.0 he420e7e_18 - - libstdcxx-devel_linux-64 15.2.0 hd446a21_118 - - sysroot_linux-64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 15587873 - timestamp: 1771378609722 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda - sha256: 3f5288346b9fe233352443b3c2e31f1fde845e39d3e96475fc05ec2e782af158 - md5: 9d41f3899b512199af0a4bb939b83e21 + - arm-variant * sbsa + - cuda-crt-tools 12.9.86 h579c4fd_2 + - cuda-nvvm-tools 12.9.86 h7b14b0b_2 + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=12 + - libstdcxx >=12 + constrains: + - gcc_impl_linux-aarch64 >=6,<15.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23974390 + timestamp: 1753975366926 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvcc-tools-13.3.73-h614329b_0.conda + sha256: 12647ea85e8d75b48d0bfff9222e076d2d20c24689f48414b577a2176280151c + md5: 6246dee3560d72d373ade2038c5686e6 depends: - - gcc_impl_linux-64 15.2.0 he0086c7_19 - - libstdcxx-devel_linux-64 15.2.0 hd446a21_119 - - sysroot_linux-64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 16356816 - timestamp: 1778269332159 -- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-15.2.0-hcb00b6d_27.conda - sha256: f78da7a8b49943a6ce48372a5bc85ab741ac86666f1040e8876545065ec1096e - md5: 5e194579a5f72c70102f342aa362f5f9 + - arm-variant * sbsa + - cuda-crt-tools 13.3.73 h579c4fd_0 + - cuda-nvvm-tools 13.3.73 h7b14b0b_0 + - cuda-version >=13.3,<13.4.0a0 + - libgcc >=12 + - libstdcxx >=12 + constrains: + - gcc_impl_linux-aarch64 >=6,<16.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 30836345 + timestamp: 1782782963192 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvcc-tools-12.9.86-he0c23c2_2.conda + sha256: e28baff7cbee6bbc30797adfe09f497c9ac2b69deb7f5152fc7e238c2f37e42b + md5: b018676d60a0f1e51a120382db5221fc depends: - - gxx_impl_linux-64 15.2.0.* - - gcc_linux-64 ==15.2.0 h7be306e_27 - - binutils_linux-64 - - sysroot_linux-64 - license: BSD-3-Clause - license_family: BSD - run_exports: - strong: - - libstdcxx >=15 - - libgcc >=15 - size: 27848 - timestamp: 1781279944230 -- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-13.1.0-h6083320_0.conda - sha256: 08dc098dcc5c3445331a834f46602b927cb65d2768189f3f032a6e4643f15cd9 - md5: 5baf48da05855be929c5a50f4377794d + - cuda-crt-tools 12.9.86 h57928b3_2 + - cuda-nvvm-tools 12.9.86 h2466b09_2 + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27361 + timestamp: 1753976245101 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvdisasm-13.3.73-hffce074_0.conda + sha256: b69e14ccc7192729d6b50442401e429d70435f18f365be5e21d658c4de240f76 + md5: 4e6afe47c9930b435ca158beff6e4e96 depends: - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.2,<79.0a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 2615630 - timestamp: 1773217509651 -- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-h6083320_0.conda - sha256: da9901aa1e20cbc2369fda212039b294dd02bce95f005539bab840b7310bf7d0 - md5: 21ee4640b7c2d94e584349fa12b29b9a + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 4704495 + timestamp: 1782772091030 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvdisasm-13.3.73-h40ab4d6_0.conda + sha256: f97607312040f276c1879869145a2e1404ae92e6069ae470f5b40da265ae2a5d + md5: 8f3b95b831b5d2e54e5ee8a4816b1e19 depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.3,<79.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - libglib >=2.88.1,<3.0a0 - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT + constrains: + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 2362258 - timestamp: 1780450503234 -- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.2-h33c6efd_0.conda - sha256: 142a722072fa96cf16ff98eaaf641f54ab84744af81754c292cb81e0881c0329 - md5: 186a18e3ba246eccfc7cff00cd19a870 + size: 4672889 + timestamp: 1782772111260 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-12.9.86-hecca717_1.conda + sha256: 68f81268c25befa9b70dc49af469ab0eb131960e3700b9a4edb46a32da343a28 + md5: 53f0062e2243b26e43ddac0b5267c6a3 depends: - __glibc >=2.17,<3.0.a0 + - cuda-version >=12.9,<12.10.0a0 - libgcc >=14 - libstdcxx >=14 - license: MIT - license_family: MIT - size: 12728445 - timestamp: 1767969922681 -- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda - sha256: fbf86c4a59c2ed05bbffb2ba25c7ed94f6185ec30ecb691615d42342baa1a16a - md5: c80d8a3b84358cb967fa81e7075fbc8a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - purls: [] - size: 12723451 - timestamp: 1773822285671 -- conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda - sha256: bc231d69eb6663db0e09738fb916c5e5507147cf1ac60f364f964004e0b29bab - md5: 10909406c1b0e4b57f9f4f0eb0999af8 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 67168282 + timestamp: 1760723629347 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda + sha256: a70641e7d81694f57c7df46a17b657594393082dad667532c29df9540b7f99ca + md5: 57124a775cb937bb2bfd10f09a230430 depends: - __glibc >=2.17,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - license: MIT - license_family: MIT + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 1013714 - timestamp: 1774422680665 -- conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.9.0-hb700be7_0.conda - sha256: edad668db79c6c4899d46e1cd4a331f5d008f9ed8f7d2e39e1dfe1a2d81acec0 - md5: 26311c5112b5c713f472bdfbb5ec5aa3 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 1009795 - timestamp: 1765886047465 -- conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.4-hecca717_0.conda - sha256: 425388f6dcddf438d15ea5050656ba854aef9025712e61bafb23ed34aff22e88 - md5: 85e32c66a890d4eb25bbe95ae4747466 + size: 39254802 + timestamp: 1779897349474 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-12.9.86-h8f3c8d4_1.conda + sha256: e7f8d835d7bf993dcad9fba6db5af89c35b2b4f0282799b729bf6ad2c3bd896d + md5: 48187c09673a42f9930764e8170b8787 depends: - - __glibc >=2.17,<3.0.a0 - - intel-gmmlib >=22.9.0,<23.0a0 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 - libgcc >=14 - libstdcxx >=14 - - libva >=2.23.0,<3.0a0 - license: MIT - license_family: MIT - size: 8783533 - timestamp: 1773230300873 -- conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda - sha256: 7cbd7fda22db70c64af64c9173434a4ede58e4f220bda52a044e469aa94c65cb - md5: aaf7c3db8c7c4533deb5449d3ba1c51f + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 33382016 + timestamp: 1760723722396 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda + sha256: cd16532e362662c88f6bc3b009457b3d36b33ca990f0deabece6def7d44aaa72 + md5: 7147a017b16d0d7c93c53d261e0ef0b6 depends: - - __glibc >=2.17,<3.0.a0 - - intel-gmmlib >=22.10.0,<23.0a0 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - - libva >=2.23.0,<3.0a0 - license: MIT - license_family: MIT - purls: [] - size: 8782375 - timestamp: 1776080148587 -- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda - sha256: 0960d06048a7185d3542d850986d807c6e37ca2e644342dd0c72feefcf26c2a4 - md5: b38117a3c920364aff79f870c984b4a3 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: LGPL-2.1-or-later + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 134088 - timestamp: 1754905959823 -- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda - sha256: 3e307628ca3527448dd1cb14ad7bb9d04d1d28c7d4c5f97ba196ae984571dd25 - md5: fb53fb07ce46a575c5d004bbc96032c2 + size: 37806494 + timestamp: 1779897383028 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-12.9.86-hac47afa_1.conda + sha256: d90ef446ac859db26286a5d39d39333c4e4cee31ba5042b5c7922bd25de531f6 + md5: d68b5d96a53c80dc3dbbd8f7c3b8106d depends: - - __glibc >=2.17,<3.0.a0 - - keyutils >=1.6.3,<2.0a0 - - libedit >=3.1.20250104,<3.2.0a0 - - libedit >=3.1.20250104,<4.0a0 - - libgcc >=14 - - libstdcxx >=14 - - openssl >=3.5.5,<4.0a0 - license: MIT - license_family: MIT - purls: [] - size: 1386730 - timestamp: 1769769569681 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 - sha256: aad2a703b9d7b038c0f745b853c6bb5f122988fe1a7a096e0e606d9cbec4eaab - md5: a8832b479f93521a9e7b5b743803be51 + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 58467504 + timestamp: 1760723834711 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda + sha256: 7306b27c3a70cf1c35d4d200c1936037c9d6484322a39fac1967439a20585003 + md5: ab010d7a1be0e140b65f6bf8473180fb depends: - - libgcc-ng >=12 - license: LGPL-2.0-only - license_family: LGPL + - cuda-version >=13.3,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 508258 - timestamp: 1664996250081 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda - sha256: 112b5b9462572d970f4abd2912f76a25ee7db158b1e7260163d91dd8a630db84 - md5: 8b3ce45e929cd8e8e5f4d18586b56d8b + size: 35152509 + timestamp: 1779897499641 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-12.9.86-hecca717_1.conda + sha256: ae620051c16eabf7720a47c5115634d64f7703d32124555ad0afccfd4b8d7cf4 + md5: 0d28090f4e63410e20397c7975612837 depends: - __glibc >=2.17,<3.0.a0 + - cuda-nvrtc 12.9.86 hecca717_1 + - cuda-version >=12.9,<12.10.0a0 - libgcc >=14 - - libjpeg-turbo >=3.1.4.1,<4.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: MIT - license_family: MIT - purls: [] - size: 251971 - timestamp: 1780211695895 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda - sha256: 565941ac1f8b0d2f2e8f02827cbca648f4d18cd461afc31f15604cd291b5c5f3 - md5: 12bd9a3f089ee6c9266a37dab82afabd - depends: - - __glibc >=2.17,<3.0.a0 - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-64 2.45.1 - license: GPL-3.0-only - license_family: GPL - size: 725507 - timestamp: 1770267139900 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda - sha256: 3d584956604909ff5df353767f3a2a2f60e07d070b328d109f30ac40cd62df6c - md5: 18335a698559cdbcd86150a48bf54ba6 - depends: - - __glibc >=2.17,<3.0.a0 - - zstd >=1.5.7,<1.6.0a0 + - libstdcxx >=14 constrains: - - binutils_impl_linux-64 2.45.1 - license: GPL-3.0-only - license_family: GPL - purls: [] - size: 728002 - timestamp: 1774197446916 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - sha256: 27d83f1188cd19bcb7754a078b3fa7f4cfb8527f8eb2fde54dd01fc529d1adec - md5: 449500f2c089da11c40f5c21312e3e07 + - cuda-nvrtc-static >=12.9.86 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 36819 + timestamp: 1760723845601 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-13.3.33-hecca717_0.conda + sha256: 5ed71b75e73241ab007d92a6b1f28ce90cc50abf3615876e7ef8d3dea9443d58 + md5: 37fe136dc4411687579abf75826a0609 depends: - __glibc >=2.17,<3.0.a0 - - zstd >=1.5.7,<1.6.0a0 + - cuda-nvrtc 13.3.33 hecca717_0 + - cuda-version >=13.3,<13.4.0a0 + - libgcc >=14 + - libstdcxx >=14 constrains: - - binutils_impl_linux-64 2.46.1 - license: GPL-3.0-only - license_family: GPL - run_exports: {} - size: 745303 - timestamp: 1784214507189 -- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda - sha256: f84cb54782f7e9cea95e810ea8fef186e0652d0fa73d3009914fa2c1262594e1 - md5: a752488c68f2e7c456bcbd8f16eec275 + - cuda-nvrtc-static >=13.3.33 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 38404 + timestamp: 1779897472176 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-12.9.86-h8f3c8d4_1.conda + sha256: b1d1a74cbbdcf46c4ee737279df3220eb7a29393999bc96b3c1398f7de78c912 + md5: 2346ee558cbfb7b857c8353ffc2553fa depends: - - __glibc >=2.17,<3.0.a0 + - arm-variant * sbsa + - cuda-nvrtc 12.9.86 h8f3c8d4_1 + - cuda-version >=12.9,<12.10.0a0 - libgcc >=14 - libstdcxx >=14 - license: Apache-2.0 - license_family: Apache - purls: [] - size: 261513 - timestamp: 1773113328888 -- conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.28.2-hb700be7_0.conda - sha256: 5384380213daffbd7fe4d568b2cf2ab9f2476f7a5f228a3d70280e98333eaf0f - md5: 4323e07abff8366503b97a0f17924b76 + constrains: + - cuda-nvrtc-static >=12.9.86 + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 36250 + timestamp: 1760723865518 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-13.3.33-h8f3c8d4_0.conda + sha256: e4a9f008471235dc0888d0b08511145066ace6ae8666ee55335138e221e6ecd4 + md5: ef35d58c106a148ac95dc6d0474cd4ed depends: - - __glibc >=2.17,<3.0.a0 + - arm-variant * sbsa + - cuda-nvrtc 13.3.33 h8f3c8d4_0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - license: MIT - license_family: MIT - size: 858387 - timestamp: 1772045965844 -- conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.29.0-hb700be7_0.conda - sha256: d87cfc5eaa08eefff97d891ecb49faa958fcfc32a425767796269c4100d4e516 - md5: f3c3bc77c96af553f761af0e78bc8d9d + constrains: + - arm-variant * sbsa + - cuda-nvrtc-static >=13.3.33 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 38773 + timestamp: 1779897502880 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-12.9.86-hac47afa_1.conda + sha256: 1e1c41f95d606eaf6581fccf9546ed6ee4053c42b78e11057cd6d2801b96f0e2 + md5: b97225dd005cb0dcdca7911c61ca38e5 + depends: + - cuda-nvrtc 12.9.86 hac47afa_1 + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 35214 + timestamp: 1760724506186 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-13.3.33-hac47afa_0.conda + sha256: dd20cfdb605f8c8c9cccd851e3ce2f1387281d3b6f7ee42f323119898dd848d2 + md5: c7a4384bbc6f3f241f2389eeccb4cc73 + depends: + - cuda-nvrtc 13.3.33 hac47afa_0 + - cuda-version >=13.3,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 37954 + timestamp: 1779898185609 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvtx-13.3.29-hecca717_0.conda + sha256: 5af9ccd785d66de9b25907f33c05b3b96fb289b030d041dc106303c0ae10caea + md5: b9ece8f54967d0e38857e6c562273f68 depends: - __glibc >=2.17,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - license: MIT - license_family: MIT + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 875773 - timestamp: 1780142086148 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda - sha256: a7a4481a4d217a3eadea0ec489826a69070fcc3153f00443aa491ed21527d239 - md5: 6f7b4302263347698fd24565fbf11310 + size: 33852 + timestamp: 1779896656406 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvtx-13.3.29-h8f3c8d4_0.conda + sha256: c790d485bb8b4afcbd38d6aabc3534f4b0f96d31e02e0697079098599b86d84f + md5: e45c070b75baf2c66c54193aaeb6ca6e depends: - - __glibc >=2.17,<3.0.a0 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 constrains: - - libabseil-static =20260107.1=cxx17* - - abseil-cpp =20260107.1 - license: Apache-2.0 - license_family: Apache + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 1384817 - timestamp: 1770863194876 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.4-h96ad9f0_0.conda - sha256: 035eb8b54e03e72e42ef707420f9979c7427776ea99e0f1e3c969f92eb573f19 - md5: d3be7b2870bf7aff45b12ea53165babd + size: 35014 + timestamp: 1779896683393 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.73-h69a702a_0.conda + sha256: d57adacdd922ee66e1b8c15aa07a7555819a24a6286f7e748d12018dad51141e + md5: 4e0f9af8d9a275dbd97763eeb50f4d7b depends: - - libgcc >=13 - - __glibc >=2.17,<3.0.a0 - - libzlib >=1.3.1,<2.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - fribidi >=1.0.10,<2.0a0 - - libiconv >=1.18,<2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - harfbuzz >=11.0.1 - license: ISC - purls: [] - size: 152179 - timestamp: 1749328931930 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda - build_number: 5 - sha256: 18c72545080b86739352482ba14ba2c4815e19e26a7417ca21a95b76ec8da24c - md5: c160954f7418d7b6e87eaf05a8913fa9 - depends: - - libopenblas >=0.3.30,<0.3.31.0a0 - - libopenblas >=0.3.30,<1.0a0 - constrains: - - mkl <2026 - - liblapack 3.11.0 5*_openblas - - libcblas 3.11.0 5*_openblas - - blas 2.305 openblas - - liblapacke 3.11.0 5*_openblas - license: BSD-3-Clause - license_family: BSD - size: 18213 - timestamp: 1765818813880 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h5875eb1_mkl.conda - build_number: 5 - sha256: 328d64d4eb51047c39a8039a30eb47695855829d0a11b72d932171cb1dcdfad3 - md5: 9d2f2e3a943d38f972ceef9cde8ba4bf - depends: - - mkl >=2025.3.0,<2026.0a0 - constrains: - - liblapack 3.11.0 5*_mkl - - liblapacke 3.11.0 5*_mkl - - libcblas 3.11.0 5*_mkl - - blas 2.305 mkl - track_features: - - blas_mkl - - blas_mkl_2 - license: BSD-3-Clause - license_family: BSD - size: 18744 - timestamp: 1765818556597 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-6_h4a7cf45_openblas.conda - build_number: 6 - sha256: 7bfe936dbb5db04820cf300a9cc1f5ee8d5302fc896c2d66e30f1ee2f20fbfd6 - md5: 6d6d225559bfa6e2f3c90ee9c03d4e2e - depends: - - libopenblas >=0.3.32,<0.3.33.0a0 - - libopenblas >=0.3.32,<1.0a0 - constrains: - - blas 2.306 openblas - - liblapack 3.11.0 6*_openblas - - liblapacke 3.11.0 6*_openblas - - libcblas 3.11.0 6*_openblas - - mkl <2026 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 18621 - timestamp: 1774503034895 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda - build_number: 8 - sha256: b2da6bfd72a1c9cb143ccf64bf5b28790cb4eb58bd1cb978f6537b2322f7d48b - md5: 00fc660ab1b2f5ca07e92b4900d10c79 - depends: - - libopenblas >=0.3.33,<0.3.34.0a0 - - libopenblas >=0.3.33,<1.0a0 - constrains: - - blas 2.308 openblas - - mkl <2027 - - libcblas 3.11.0 8*_openblas - - liblapack 3.11.0 8*_openblas - - liblapacke 3.11.0 8*_openblas - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 18804 - timestamp: 1779859100675 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda - sha256: 318f36bd49ca8ad85e6478bd8506c88d82454cc008c1ac1c6bf00a3c42fa610e - md5: 72c8fd1af66bd67bf580645b426513ed - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - purls: [] - size: 79965 - timestamp: 1764017188531 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda - sha256: 12fff21d38f98bc446d82baa890e01fd82e3b750378fedc720ff93522ffb752b - md5: 366b40a69f0ad6072561c1d09301c886 - depends: - - __glibc >=2.17,<3.0.a0 - - libbrotlicommon 1.2.0 hb03c661_1 - - libgcc >=14 - license: MIT - license_family: MIT + - cuda-nvvm-dev_linux-64 13.3.73.* + - cuda-nvvm-impl 13.3.73.* + - cuda-nvvm-tools 13.3.73.* + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 34632 - timestamp: 1764017199083 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda - sha256: a0c15c79997820bbd3fbc8ecf146f4fe0eca36cc60b62b63ac6cf78857f1dd0d - md5: 4ffbb341c8b616aa2494b6afb26a0c5f + size: 24732 + timestamp: 1782788494281 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.73-he9431aa_0.conda + sha256: aaa45b15436cf0fe279efeddb0c8456ecbfe7b9a269ae01de725af22e88e29c2 + md5: 6b2562f71c917867830ebec5899d0aff depends: - - __glibc >=2.17,<3.0.a0 - - libbrotlicommon 1.2.0 hb03c661_1 - - libgcc >=14 - license: MIT - license_family: MIT + - cuda-nvvm-dev_linux-aarch64 13.3.73.* + - cuda-nvvm-impl 13.3.73.* + - cuda-nvvm-tools 13.3.73.* + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 298378 - timestamp: 1764017210931 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.77-h3ff7636_0.conda - sha256: 9517cce5193144af0fcbf19b7bd67db0a329c2cc2618f28ffecaa921a1cbe9d3 - md5: 09c264d40c67b82b49a3f3b89037bd2e - depends: - - __glibc >=2.17,<3.0.a0 - - attr >=2.5.2,<2.6.0a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - size: 121429 - timestamp: 1762349484074 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.77-hd0affe5_1.conda - sha256: 37c41b1024d0c75da76822e3c079aabaf121618a32fe05e53a897b35a88008fc - md5: 499cd8e2d4358986dbe3b30e8fe1bf6a + size: 24930 + timestamp: 1782788514971 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.73-h719f0c7_0.conda + sha256: 0695be0be2ef990ad821d4f1e481c275c717fd77f790a9fca50557771d1c3da4 + md5: 681a2be43dcc68156ed403872cefa25e depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD + - cuda-nvvm-dev_win-64 13.3.73.* + - cuda-nvvm-impl 13.3.73.* + - cuda-nvvm-tools 13.3.73.* + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 124432 - timestamp: 1774333989027 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - sha256: cc8c9fc6ddf0fbd3d1275b558ae9abad6cda23bced268732e2da21a87bb358cd - md5: f9f17eab7f3df1c6fd4b1a548a2f683a + size: 25400 + timestamp: 1782788559176 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-12.9.86-ha770c72_2.conda + sha256: 522722dcaffd133e0c7500c69dc70e21ac34d6762dcbaabfe847439f944028f0 + md5: 7b386291414c7eea113d25ac28a33772 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - purls: [] - run_exports: - weak: - - libcap >=2.78,<2.79.0a0 - size: 124335 - timestamp: 1775488792584 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-5_h0358290_openblas.conda - build_number: 5 - sha256: 0cbdcc67901e02dc17f1d19e1f9170610bd828100dc207de4d5b6b8ad1ae7ad8 - md5: 6636a2b6f1a87572df2970d3ebc87cc0 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27096 + timestamp: 1753975261562 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda + sha256: 64859da589e9d4512b564d813273407b30a4213238f787ef958b84a7960cf469 + md5: ad71cad219a0ba0234e5592a279e8b3f depends: - - libblas 3.11.0 5_h4a7cf45_openblas - constrains: - - liblapacke 3.11.0 5*_openblas - - blas 2.305 openblas - - liblapack 3.11.0 5*_openblas - license: BSD-3-Clause - license_family: BSD - size: 18194 - timestamp: 1765818837135 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-5_hfef963f_mkl.conda - build_number: 5 - sha256: 8352f472c49c42a83a20387b5f6addab1f910c5a62f4f5b8998d7dc89131ba2e - md5: 9b6cb3aa4b7912121c64b97a76ca43d5 - depends: - - libblas 3.11.0 5_h5875eb1_mkl - constrains: - - liblapack 3.11.0 5*_mkl - - liblapacke 3.11.0 5*_mkl - - blas 2.305 mkl - track_features: - - blas_mkl - license: BSD-3-Clause - license_family: BSD - size: 18385 - timestamp: 1765818571086 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-6_h0358290_openblas.conda - build_number: 6 - sha256: 57edafa7796f6fa3ebbd5367692dd4c7f552be42109c2dd1a7c89b55089bf374 - md5: 36ae340a916635b97ac8a0655ace2a35 - depends: - - libblas 3.11.0 6_h4a7cf45_openblas - constrains: - - blas 2.306 openblas - - liblapack 3.11.0 6*_openblas - - liblapacke 3.11.0 6*_openblas - license: BSD-3-Clause - license_family: BSD + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 18622 - timestamp: 1774503050205 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda - build_number: 8 - sha256: 1a2bc77bb26520255904a3d9b1f40e6bf0bf9d8d3405c7709dd162282820915a - md5: 33a413f1095f8325e5c30fde3b0d2445 + size: 27969 + timestamp: 1782782853086 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-12.9.86-h579c4fd_2.conda + sha256: 5f27299818ecef44d6cf46a99465671744f6074c14618b5f8491a03a62942a7f + md5: c59b036058d7bf78ac0a99618c321e85 depends: - - libblas 3.11.0 8_h4a7cf45_openblas - constrains: - - blas 2.308 openblas - - liblapacke 3.11.0 8*_openblas - - liblapack 3.11.0 8*_openblas - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 18778 - timestamp: 1779859107964 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcublas-13.5.1.27-h676940d_0.conda - sha256: 39a1183f64d4ebff942117f7be9c0883b772ddf5796dee18bdda1d52949a9627 - md5: 7bd32031313d7dca6c8250429b94bd03 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27218 + timestamp: 1753975206503 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.73-h579c4fd_0.conda + sha256: 38718cc1669374cbc6442d727c0fa7f90d9a5d11c4c8d32ea75da309d28eadb1 + md5: 8326b68628d6d40a0cab0f6751d6a6d8 depends: - - __glibc >=2.28,<3.0.a0 - - cuda-nvrtc + - arm-variant * sbsa - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 382200769 - timestamp: 1779912294439 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcudnn-9.20.0.48-ha4b6413_0.conda - sha256: a257a62d502db1dea11af321fc757bb7ae44cde6472d07b147da96098310e7b3 - md5: a41b3904663dcc0c7f53862666fede36 - depends: - - __glibc >=2.28,<3.0.a0 - - cuda-nvrtc - - cuda-version >=13,<14.0a0 - - libcublas - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - constrains: - - libcudnn-jit <0a - license: LicenseRef-cuDNN-Software-License-Agreement - size: 332092133 - timestamp: 1773180273500 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcudss-0.7.1.4-h7bcfba5_1.conda - sha256: 7d3afc0e0e5bff4d9adcf2f3454ac97a8812b5802ca04498e1f5d8db9d3fb24c - md5: 6111650cfce61896d705230a878cc1a8 + purls: [] + size: 27935 + timestamp: 1782782857355 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-12.9.86-h57928b3_2.conda + sha256: 455dbf0ec81efdbd40c0387d82c77689721f6d34b6e7694ca0d51bad9392eddc + md5: 23f7e70c03eabd2139b5e659c8e188b4 depends: - - __glibc >=2.28,<3.0.a0 - - _openmp_mutex >=4.5 - - cuda-version >=13,<14.0a0 - - libcublas - - libgcc >=14 - - libstdcxx >=14 - constrains: - - libcudss0 <0.0.0a0 - - libcudss-commlayer-nccl 0.7.1.4 hd557bf5_1 - - libcudss-commlayer-mpi 0.7.1.4 h6647138_1 + - cuda-version >=12.9,<12.10.0a0 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 62715991 - timestamp: 1770671835770 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufft-12.3.0.29-hecca717_0.conda - sha256: bd69d4b63be28c36e0fa962256666672e3f2eff5dfc06bdd545acef278f83754 - md5: b347b9844eb16238c7f7b62cd2bd1e68 + size: 27284 + timestamp: 1753975714790 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.73-h57928b3_0.conda + sha256: 400fa3aa271496bd173a3bb93a0ec8819fc73c795223156b14dcab9a7d0a7fda + md5: 7ff0ccae277707c5cb50965f84fee4e0 depends: - - __glibc >=2.17,<3.0.a0 - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 150951336 - timestamp: 1779897536120 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.14.1.1-hbc026e6_1.conda - sha256: 5fa43e8a8d335fc0c3a6aeb2e7b0debc7d8495b8a60a56ac30f23b0e852ab74a - md5: cab1818eada3952ed09c8dcbb7c26af7 + purls: [] + size: 27987 + timestamp: 1782782907080 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-12.9.86-h4bc722e_2.conda + sha256: f4d34556174e4faa9d374ba2244707082870e1bbc1bb441ad3d9d2cea37da6af + md5: 82125dd3c0c4aa009faa00e2829b93d8 depends: - __glibc >=2.17,<3.0.a0 - cuda-version >=12.9,<12.10.0a0 - - libgcc >=14 - - libstdcxx >=14 - - rdma-core >=59.0 + - libgcc >=12 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 969845 - timestamp: 1761098818759 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda - sha256: 72b9c44d6d33c6d384ddaef755e717c781782cbcb32cfba454a8d8084f02ac55 - md5: 434bbefad502f7a9f7eaf7558c645d75 + size: 21425520 + timestamp: 1753975283188 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda + sha256: 41f356d6c38af4d2be789b13697469eb2eb61fc7aaf2765ae8dc5845587a36f7 + md5: e9fa0c38f175daa97354d21e74603588 depends: - - __glibc >=2.28,<3.0.a0 + - __glibc >=2.17,<3.0.a0 - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - - rdma-core >=63.0 + - libgcc >=12 license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - run_exports: {} - size: 1117538 - timestamp: 1782772352403 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-dev-1.18.1.6-h676940d_0.conda - sha256: 52dc8675f15f5831b6a6854e00f56ac8ff5d5c86adc8f6c86bd03fc5320cd8f9 - md5: b942c9fa0929a283f89841c811adcb68 + size: 22429305 + timestamp: 1782782861319 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-12.9.86-h7b14b0b_2.conda + sha256: 100accfc6f608004ddef4b9004ee5179eddbac19e7d5c4c7bd5e6e8b71bd7c5d + md5: 8e9fceb7b677be7107cc9c20f8d71d86 depends: - - __glibc >=2.28,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libcufile 1.18.1.6 h053a66a_0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - libcufile-static >=1.18.1.6 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=12 license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - libcufile >=1.18.1.6,<2.0a0 - size: 43551 - timestamp: 1782772370844 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcurand-10.4.3.29-h676940d_0.conda - sha256: 9a1615a44f0d01fcc23b4f1be4c8f86b2e19e3974481e826180dd261b67dcad6 - md5: 6172124b5a746cc1f3f9fc7fac9f6740 + size: 21601172 + timestamp: 1753975236344 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda + sha256: a41e62f9f3e6887a57c7e3c747b8762c60279b34e51b356df2474c0852e3cd24 + md5: 9163c2edad94dc8f1e194c41351eb383 depends: - - __glibc >=2.28,<3.0.a0 + - arm-variant * sbsa - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 + - libgcc >=12 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 43805393 - timestamp: 1779897559895 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcusolver-12.2.2.18-h676940d_0.conda - sha256: 96d35c33ff30aec3f2226ffc2308f8bdb5b6e9bf661769038f1287976110cb2b - md5: 6fe9b15c855e59034cb62fd86e4d3eea + purls: [] + size: 21565754 + timestamp: 1782782874457 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-12.9.86-h2466b09_2.conda + sha256: 7b995ea653816b129bae6e4ee92898824a39fe82227472537bf75ac6ece7e955 + md5: d8cea7bc32045bde718d0b1ceb595445 depends: - - __glibc >=2.28,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 - - libcublas >=13.5.1.27,<13.6.0a0 - - libcusparse >=12.8.1.7,<12.9.0a0 - - libgcc >=14 - - libnvjitlink >=13.3.33,<14.0a0 - - libstdcxx >=14 + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 181482480 - timestamp: 1779918401910 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libcusparse-12.8.1.7-hecca717_0.conda - sha256: 9d639f7eeb83db88ab7329c901f5679ab6406a1c91395143510b748d3476f71f - md5: 293d5f4328bb8d4ab3fa7cd0ce29b9c4 + size: 31168 + timestamp: 1753975780038 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda + sha256: 923a4ce23f1b4c9d733ad3b776de0569d51ec0a036935ee699d136d388684eae + md5: 1218693a2f626407453930c7af8d188d depends: - - __glibc >=2.17,<3.0.a0 - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libnvjitlink >=13.3.33,<14.0a0 - - libstdcxx >=14 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 145249472 - timestamp: 1779913723266 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda - sha256: aa8e8c4be9a2e81610ddf574e05b64ee131fab5e0e3693210c9d6d2fba32c680 - md5: 6c77a605a7a689d17d4819c0f8ac9a00 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - purls: [] - size: 73490 - timestamp: 1761979956660 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.3.2-ha23c83e_4.conda - sha256: d15432f07f654583978712e034d308b103a8b4650f0fdec172b5031a8af2b6c9 - md5: b26a64dfb24fef32d3330e37ce5e4f44 - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - constrains: - - __glibc >=2.17 - license: MIT - license_family: MIT purls: [] - size: 311420 - timestamp: 1777838991858 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.125-hb03c661_1.conda - sha256: c076a213bd3676cc1ef22eeff91588826273513ccc6040d9bea68bccdc849501 - md5: 9314bc5a1fe7d1044dc9dfd3ef400535 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libpciaccess >=0.18,<0.19.0a0 - license: MIT - license_family: MIT - size: 310785 - timestamp: 1757212153962 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda - sha256: 7d3187c11b7ae66c5595a8afd5a7ce352a490527fdf6614cab129bc7f2c16ba3 - md5: d8d16b9b32a3c5df7e5b3350e2cbe058 + size: 32375 + timestamp: 1782782913178 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-12.9.86-h4bc722e_2.conda + sha256: 45f5e881ed0d973132a5475a0b5c066db6e748ef3a831a14dba8374b252e0067 + md5: f9af26e4079adcd72688a8e8dbecb229 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libpciaccess >=0.19,<0.20.0a0 - license: MIT - license_family: MIT - purls: [] - size: 311505 - timestamp: 1778975798004 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda - sha256: d789471216e7aba3c184cd054ed61ce3f6dac6f87a50ec69291b9297f8c18724 - md5: c277e0a4d549b03ac1e9d6cbbe3d017b + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24246736 + timestamp: 1753975332907 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.73-h4bc722e_0.conda + sha256: f853f097a67a197608fafc193ab877393c7735b1da2364572172cc9eff262775 + md5: d5c9cf56873f461074420e70970604a9 depends: - - ncurses - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - ncurses >=6.5,<7.0a0 - license: BSD-2-Clause - license_family: BSD + - cuda-version >=13.3,<13.4.0a0 + - libgcc >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 134676 - timestamp: 1738479519902 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_2.conda - sha256: 7fd5408d359d05a969133e47af580183fbf38e2235b562193d427bb9dad79723 - md5: c151d5eb730e9b7480e6d48c0fc44048 + size: 29734373 + timestamp: 1782782895477 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-12.9.86-h7b14b0b_2.conda + sha256: f5cf91e491e150e37cd224fa648c07f6b1cd2cbfee5affba10625df7ba0b0425 + md5: 9a35dcda5573a713183f5159ec282364 depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_2 - license: LicenseRef-libglvnd - size: 44840 - timestamp: 1731330973553 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda - sha256: 9a25ea93e8272785405a21d30f84e620befb1d545f6dfaae18f06103b5df0443 - md5: 75e9f795be506c96dd43cb09c7c8d557 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + - libgcc >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 24411824 + timestamp: 1753975273689 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.73-h7b14b0b_0.conda + sha256: f96eb5d7c663c501a6e254e03818fa52f177dfd3a3a969a5ec71144787a95128 + md5: 9b78eff3eff8405a3c3c02ab47268409 depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_3 - license: LicenseRef-libglvnd + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 + - libgcc >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 46500 - timestamp: 1779728188901 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.4-hecca717_0.conda - sha256: d78f1d3bea8c031d2f032b760f36676d87929b18146351c4464c66b0869df3f5 - md5: e7f7ce06ec24cfcfb9e36d28cf82ba57 + size: 29030637 + timestamp: 1782782902389 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-12.9.86-h2466b09_2.conda + sha256: 5692a559206420f77e376a598329db966da762ad574866f9cc80a447d26ac49c + md5: 25e269101d3eb39715a48998bc04289e depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - expat 2.7.4.* - license: MIT - license_family: MIT - size: 76798 - timestamp: 1771259418166 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.5-hecca717_0.conda - sha256: e8c2b57f6aacabdf2f1b0924bd4831ce5071ba080baa4a9e8c0d720588b6794c - md5: 49f570f3bc4c874a06ea69b7225753af + - cuda-version >=12.9,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 40286977 + timestamp: 1753975898550 +- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.73-h2466b09_0.conda + sha256: b06b40a782cae69f4c208bb64a83da6603d83b3ea7eb4b77a70d806189dedb98 + md5: 119e34d79508b512d33235312fdaff7d depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - expat 2.7.5.* - license: MIT - license_family: MIT + - cuda-version >=13.3,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 76624 - timestamp: 1774719175983 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - sha256: 16feffd9ddbbe5b718515d38ee376c685ba95491cd901244e24671d20b952a77 - md5: b24d3c612f71e7aa74158d92106318b2 + size: 45302858 + timestamp: 1782782927290 +- pypi: https://files.pythonhosted.org/packages/fc/b4/d088047afe39827556df21118cac9ffd20cc3f968c99a7681494d1eb333c/cuda_pathfinder-1.6.0-py3-none-any.whl + name: cuda-pathfinder + version: 1.6.0 + sha256: 1503af579d8379c24bdd65528379bc57039b0455be9f5f9686cf8e473a1fce51 + requires_python: '>=3.10' +- conda: ../cuda_pathfinder + name: cuda-pathfinder + version: 1.5.6 + build: pyh4616a5c_0 + subdir: noarch + variants: + target_platform: noarch depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - expat 2.8.1.* - license: MIT - license_family: MIT - purls: [] - run_exports: {} - size: 77856 - timestamp: 1781203599810 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - sha256: 31f19b6a88ce40ebc0d5a992c131f57d919f73c0b92cd1617a5bec83f6e961e6 - md5: a360c33a5abe61c07959e449fa1453eb + - python >=3.10 + - python * + license: Apache-2.0 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.6.0-pyhc364b38_0.conda + sha256: a949bc139e9bc53d9d6dd0fe18b587f3ed49e870fe5994c7b6ae424d698f00cd + md5: d154eea5563eb45f05031ef90fed6518 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT - purls: [] - run_exports: - weak: - - libffi >=3.5.2,<3.6.0a0 - size: 58592 - timestamp: 1769456073053 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda - sha256: e755e234236bdda3d265ae82e5b0581d259a9279e3e5b31d745dc43251ad64fb - md5: 47595b9d53054907a00d95e4d47af1d6 + - python >=3.10 + - cuda-version >=12.0,<14 + - python + license: Apache-2.0 + license_family: APACHE + size: 46398 + timestamp: 1784649204190 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-12.9.79-h7938cbb_1.conda + sha256: 4f679dfbf2bf2d17abb507f31b0176c0e3572337b5005b9e36179948a53988ac + md5: 90d09865fb37d11d510444e34ebe6a09 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libogg >=1.3.5,<1.4.0a0 - - libstdcxx >=14 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 424563 - timestamp: 1764526740626 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.2-ha770c72_0.conda - sha256: 2e1bfe1e856eb707d258f669ef6851af583ceaffab5e64821b503b0f7cd09e9e - md5: 26c746d14402a3b6c684d045b23b9437 + - cuda-cudart-dev + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23668 + timestamp: 1761098836058 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-13.3.27-h7938cbb_0.conda + sha256: 716eb13fe58332ed1d5079edae720177da0aeb3bb51cb5a05072385faa8dd704 + md5: a251ae89c6c9a7f5e8a39adc9a3041bd depends: - - libfreetype6 >=2.14.2 - license: GPL-2.0-only OR FTL - size: 8035 - timestamp: 1772757210108 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda - sha256: 38f014a7129e644636e46064ecd6b1945e729c2140e21d75bb476af39e692db2 - md5: e289f3d17880e44b633ba911d57a321b + - cuda-cudart-dev + - cuda-version >=13.3,<13.4.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 25007 + timestamp: 1779913616712 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-12.9.79-h16bee8c_1.conda + sha256: 6fa8a4d4548b114acd3c9849b65b5d9fcf1ca8f39cd2b792ce5167a51955100c + md5: 875bfddc9855f12e9f518ef8e44c2d85 depends: - - libfreetype6 >=2.14.3 - license: GPL-2.0-only OR FTL - purls: [] - size: 8049 - timestamp: 1774298163029 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.2-h73754d4_0.conda - sha256: aba65b94bdbed52de17ec3d0c6f2ebac2ef77071ad22d6900d1614d0dd702a0c - md5: 8eaba3d1a4d7525c6814e861614457fd + - arm-variant * sbsa + - cuda-cudart-dev + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 23784 + timestamp: 1761098779882 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-13.3.27-h16bee8c_0.conda + sha256: edee9a24047014874cb0b324702967f7a99c0b209bee96544eb84de8714a3306 + md5: a2ea427fd6a0c3fc57d32e541b13f912 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - freetype >=2.14.2 - license: GPL-2.0-only OR FTL - size: 386316 - timestamp: 1772757193822 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda - sha256: 16f020f96da79db1863fcdd8f2b8f4f7d52f177dd4c58601e38e9182e91adf1d - md5: fb16b4b69e3f1dcfe79d80db8fd0c55d - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - freetype >=2.14.3 - license: GPL-2.0-only OR FTL - purls: [] - size: 384575 - timestamp: 1774298162622 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda - sha256: faf7d2017b4d718951e3a59d081eb09759152f93038479b768e3d612688f83f5 - md5: 0aa00f03f9e39fb9876085dee11a85d4 - depends: - - __glibc >=2.17,<3.0.a0 - - _openmp_mutex >=4.5 + - arm-variant * sbsa + - cuda-cudart-dev + - cuda-version >=13.3,<13.4.0a0 constrains: - - libgcc-ng ==15.2.0=*_18 - - libgomp 15.2.0 he0feb66_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 1041788 - timestamp: 1771378212382 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - sha256: 8e0a3b5e41272e5678499b5dfc4cddb673f9e935de01eb0767ce857001229f46 - md5: 57736f29cc2b0ec0b6c2952d3f101b6a - depends: - - __glibc >=2.17,<3.0.a0 - - _openmp_mutex >=4.5 + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 25101 + timestamp: 1779913642980 +- pypi: https://files.pythonhosted.org/packages/61/a1/54c1e9498ba0df91ca15a46f41af6320cb9faed6ec2dbb30b6cbff8887c4/cuda_toolkit-13.3.1-py2.py3-none-any.whl + name: cuda-toolkit + version: 13.3.1 + sha256: 2ceda460a540323d52469bcfde48b48c1861f6482e4b5ea3cb5bdac00a1b11bd + requires_dist: + - nvidia-cublas==13.6.0.2.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-cccl==13.3.3.4.1.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-crt==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-culibos==13.3.33.* ; (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-cuobjdump==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-cupti==13.3.75.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-cuxxfilt==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-nvcc==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-nvdisasm==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-nvrtc==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-opencl==13.3.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-profiler-api==13.3.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-runtime==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-sanitizer-api==13.3.75.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-tileiras==13.3.36.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cudla==13.3.29.* ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all' + - nvidia-cufft==12.3.0.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cufile==1.18.1.6.* ; (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-curand==10.4.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cusolver==12.2.6.9.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cusparse==12.8.2.51.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-npp==13.1.2.81.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-nvfatbin==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-nvjitlink>=13.3.33,<14 ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-nvjpeg==13.2.1.68.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-nvml-dev==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-nvptxcompiler==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-nvtx==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-nvvm==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') + - nvidia-cuda-cccl==13.3.3.4.1.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cccl') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cccl') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cccl') + - nvidia-cuda-crt==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'crt') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'crt') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'crt') + - nvidia-cublas==13.6.0.2.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cublas') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cublas') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cublas') + - nvidia-cuda-nvrtc==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cublas') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cublas') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cublas') + - nvidia-cuda-runtime==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cudart') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cudart') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cudart') + - nvidia-cudla==13.3.29.* ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cudla' + - nvidia-cufft==12.3.0.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cufft') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cufft') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cufft') + - nvidia-nvjitlink>=13.3.33,<14 ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cufft') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cufft') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cufft') + - nvidia-cufile==1.18.1.6.* ; (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cufile') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cufile') + - nvidia-cuda-culibos==13.3.33.* ; (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'culibos') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'culibos') + - nvidia-cuda-cuobjdump==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cuobjdump') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cuobjdump') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cuobjdump') + - nvidia-cuda-cupti==13.3.75.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cupti') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cupti') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cupti') + - nvidia-curand==10.4.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'curand') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'curand') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'curand') + - nvidia-cublas==13.6.0.2.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cusolver') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cusolver') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cusolver') + - nvidia-cusolver==12.2.6.9.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cusolver') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cusolver') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cusolver') + - nvidia-cusparse==12.8.2.51.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cusolver') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cusolver') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cusolver') + - nvidia-nvjitlink>=13.3.33,<14 ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cusolver') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cusolver') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cusolver') + - nvidia-cusparse==12.8.2.51.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cusparse') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cusparse') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cusparse') + - nvidia-nvjitlink>=13.3.33,<14 ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cusparse') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cusparse') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cusparse') + - nvidia-cuda-cuxxfilt==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cuxxfilt') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cuxxfilt') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cuxxfilt') + - nvidia-npp==13.1.2.81.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'npp') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'npp') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'npp') + - nvidia-cuda-crt==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvcc') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvcc') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvcc') + - nvidia-cuda-nvcc==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvcc') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvcc') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvcc') + - nvidia-cuda-runtime==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvcc') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvcc') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvcc') + - nvidia-nvvm==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvcc') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvcc') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvcc') + - nvidia-cuda-nvdisasm==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvdisasm') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvdisasm') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvdisasm') + - nvidia-nvfatbin==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvfatbin') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvfatbin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvfatbin') + - nvidia-nvjitlink>=13.3.33,<14 ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvjitlink') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvjitlink') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvjitlink') + - nvidia-nvjpeg==13.2.1.68.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvjpeg') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvjpeg') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvjpeg') + - nvidia-nvml-dev==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvml') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvml') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvml') + - nvidia-nvptxcompiler==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvptxcompiler') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvptxcompiler') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvptxcompiler') + - nvidia-cuda-nvrtc==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvrtc') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvrtc') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvrtc') + - nvidia-nvtx==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvtx') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvtx') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvtx') + - nvidia-nvvm==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvvm') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvvm') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvvm') + - nvidia-cuda-opencl==13.3.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'opencl') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'opencl') + - nvidia-cuda-profiler-api==13.3.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'profiler') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'profiler') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'profiler') + - nvidia-cuda-sanitizer-api==13.3.75.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'sanitizer') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'sanitizer') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'sanitizer') + - nvidia-cuda-nvcc==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'tileiras') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'tileiras') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'tileiras') + - nvidia-cuda-tileiras==13.3.36.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'tileiras') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'tileiras') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'tileiras') + - nvidia-nvjitlink>=13.3.33,<14 ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'tileiras') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'tileiras') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'tileiras') + - nvidia-nvvm==13.3.73.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'tileiras') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'tileiras') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'tileiras') +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda + sha256: 5f5f428031933f117ff9f7fcc650e6ea1b3fef5936cf84aa24af79167513b656 + md5: b6d5d7f1c171cbd228ea06b556cfa859 constrains: - - libgcc-ng ==15.2.0=*_19 - - libgomp 15.2.0 he0feb66_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - run_exports: {} - size: 1041084 - timestamp: 1778269013026 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda - sha256: e318a711400f536c81123e753d4c797a821021fb38970cebfb3f454126016893 - md5: d5e96b1ed75ca01906b3d2469b4ce493 - depends: - - libgcc 15.2.0 he0feb66_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27526 - timestamp: 1771378224552 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda - sha256: 9dcf54adfaa5e861123c2da4f2f0451a685464ea7e5a41ad91cf67b31d658d98 - md5: 331ee9b72b9dff570d56b1302c5ab37d - depends: - - libgcc 15.2.0 he0feb66_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 27694 - timestamp: 1778269016987 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_18.conda - sha256: d2c9fad338fd85e4487424865da8e74006ab2e2475bd788f624d7a39b2a72aee - md5: 9063115da5bc35fdc3e1002e69b9ef6e - depends: - - libgfortran5 15.2.0 h68bc16d_18 + - cudatoolkit 12.9|12.9.* + - __cuda >=12 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 21578 + timestamp: 1746134436166 +- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda + sha256: bd8ee668f416bdd0f6548b2413550ae83d3834665a5be869a2daf99233ec526e + md5: 0fd72afdcc74560b80eb74b78767c454 constrains: - - libgfortran-ng ==15.2.0=*_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - __cuda >=13 + - cudatoolkit 13.3|13.3.* + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 27523 - timestamp: 1771378269450 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda - sha256: 561a42758ef25b9ce308c4e2cf56daee4f06138385a17e29a492cd928e00be6f - md5: 42bf7eca1a951735fa06c0e3c0d5c8e6 + size: 22083 + timestamp: 1779891651771 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cupy-14.1.1-py314hdea9c46_0.conda + sha256: dac33d019fb7ee98dd6feb3ac14ca59332d81ffd107a4e7d45536945891a1db3 + md5: c8fc2efe5667dce75aacfec161806bbc depends: - - libgfortran5 15.2.0 h68bc16d_19 - constrains: - - libgfortran-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - cuda-cudart-dev_linux-64 + - cuda-nvrtc + - cuda-version >=13,<14.0a0 + - cupy-core 14.1.1 py314hcd3b49b_0 + - libcublas + - libcufft + - libcurand + - libcusolver + - libcusparse + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT purls: [] - size: 27655 - timestamp: 1778269042954 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_18.conda - sha256: 539b57cf50ec85509a94ba9949b7e30717839e4d694bc94f30d41c9d34de2d12 - md5: 646855f357199a12f02a87382d429b75 + size: 421709 + timestamp: 1780316401372 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cupy-14.1.1-py314hfd11e96_0.conda + sha256: aced3960169082f38ae99635afd18eafb0308238e8a09321c9a896a51ecedc33 + md5: 7a7caa01f530eead2586dce402971e32 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15.2.0 - constrains: - - libgfortran 15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - cuda-cudart-dev_linux-aarch64 + - cuda-nvrtc + - cuda-version >=13,<14.0a0 + - cupy-core 14.1.1 py314hbb784cd_0 + - libcublas + - libcufft + - libcurand + - libcusolver + - libcusparse + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT purls: [] - size: 2482475 - timestamp: 1771378241063 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda - sha256: 057978bb69fea29ed715a9b98adf71015c31baecc4aeb2bfc20d4fd5d83579d4 - md5: 85072b0ad177c966294f129b7c04a2d5 + size: 420847 + timestamp: 1780316869701 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cupy-core-14.1.1-py314hcd3b49b_0.conda + sha256: 889aa90131be7ba56a3606e277ce65a7476ef16025ce21c43bd6719045d7752b + md5: 5c294ee360395ce9ba8c9b434bf0743a depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15.2.0 + - __glibc >=2.28,<3.0.a0 + - cuda-pathfinder >=1.3.4,<2.0a0 + - libgcc >=14 + - libstdcxx >=14 + - numpy >=1.23,<3 + - numpy >=2.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 constrains: - - libgfortran 15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 2483673 - timestamp: 1778269025089 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_2.conda - sha256: dc2752241fa3d9e40ce552c1942d0a4b5eeb93740c9723873f6fcf8d39ef8d2d - md5: 928b8be80851f5d8ffb016f9c81dae7a - depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_2 - - libglx 1.7.0 ha4b6fd6_2 - license: LicenseRef-libglvnd - size: 134712 - timestamp: 1731330998354 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda - sha256: ec353b3076ed8e357ed961d0e9ff6997491cade0e603de5bd18a2e301ac78ebd - md5: f25206d7322c0e9648e8b83694d143ab - depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_3 - - libglx 1.7.0 ha4b6fd6_3 - license: LicenseRef-libglvnd - purls: [] - size: 133469 - timestamp: 1779728207669 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_2.conda - sha256: e281356c0975751f478c53e14f3efea6cd1e23c3069406d10708d6c409525260 - md5: 53e7cbb2beb03d69a478631e23e340e9 - depends: - - __glibc >=2.17,<3.0.a0 - - libgl 1.7.0 ha4b6fd6_2 - - libglx-devel 1.7.0 ha4b6fd6_2 - license: LicenseRef-libglvnd - size: 113911 - timestamp: 1731331012126 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda - sha256: 41d7d864ad1f199bdb06ff6cc3931455c8af62f1d2071a08c6fa08affbcb678f - md5: 63e43d278ee5084813fe3c2edf4834ce - depends: - - __glibc >=2.17,<3.0.a0 - - libgl 1.7.0 ha4b6fd6_3 - - libglx-devel 1.7.0 ha4b6fd6_3 - license: LicenseRef-libglvnd - purls: [] - size: 115664 - timestamp: 1779728218325 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.4-h6548e54_1.conda - sha256: a27e44168a1240b15659888ce0d9b938ed4bdb49e9ea68a7c1ff27bcea8b55ce - md5: bb26456332b07f68bf3b7622ed71c0da + - libcurand >=10,<11.0a0 + - nccl >=2.30.4.1,<3.0a0 + - optuna ~=3.0 + - libcufft >=12,<13.0a0 + - __cuda >=13.0 + - cutensor >=2.6.0.4,<3.0a0 + - scipy >=1.14,<1.17 + - libcusparse >=12,<13.0a0 + - libcusolver >=12,<13.0a0 + - cupy >=14.1.1,<14.2.0a0 + - libcublas >=13,<14.0a0 + - cuda-nvrtc >=13,<14.0a0 + - cuda-version >=13,<14.0a0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/cupy?source=hash-mapping + size: 33124062 + timestamp: 1780316313713 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cupy-core-14.1.1-py314hbb784cd_0.conda + sha256: 8e0dd49a0f80eb57608ecf9156c412fdbc90bc43f93b2889e0be91a1e4f4cb8a + md5: 82c30b190795fc419f23a8aa569d3205 depends: - - __glibc >=2.17,<3.0.a0 - - libffi >=3.5.2,<3.6.0a0 + - __glibc >=2.28,<3.0.a0 + - cuda-pathfinder >=1.3.4,<2.0a0 - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 + - libstdcxx >=14 + - numpy >=1.23,<3 + - numpy >=2.0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 constrains: - - glib 2.86.4 *_1 - license: LGPL-2.1-or-later - size: 4398701 - timestamp: 1771863239578 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.1-h0d30a3d_2.conda - sha256: 33eb5d5310a5c2c0a4707a0afa644801c2e08c8f70c45e1f62f354116dfe0970 - md5: 17d484ab9c8179c6a6e5b7dbb5065afc + - optuna ~=3.0 + - libcufft >=12,<13.0a0 + - libcusparse >=12,<13.0a0 + - scipy >=1.14,<1.17 + - nccl >=2.30.4.1,<3.0a0 + - libcurand >=10,<11.0a0 + - cupy >=14.1.1,<14.2.0a0 + - __cuda >=13.0 + - cutensor >=2.6.0.4,<3.0a0 + - libcublas >=13,<14.0a0 + - libcusolver >=12,<13.0a0 + - cuda-nvrtc >=13,<14.0a0 + - cuda-version >=13,<14.0a0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/cupy?source=hash-mapping + size: 38189816 + timestamp: 1780316835718 +- pypi: https://files.pythonhosted.org/packages/19/da/53b58aad8261451ca4e9384791ac8af1fb8b4ca976e8feba56a50d5e53ba/cutensor_cu13-2.7.0-py3-none-manylinux2014_x86_64.whl + name: cutensor-cu13 + version: 2.7.0 + sha256: 9a4187a153ddd431dca4313e2efc6f6f8bd4fda4dd0e41d863c9e039705b6f8f +- pypi: https://files.pythonhosted.org/packages/a8/c2/b76e58bb8beb0ac95cbbfd79659d38b69f38b383f3e179671bcfa9caae6e/cutensor_cu13-2.7.0-py3-none-win_amd64.whl + name: cutensor-cu13 + version: 2.7.0 + sha256: 7834c69b40cce5f6c086624ccb88a70a05461e263e52e368a9eaebca937c1c0f +- pypi: https://files.pythonhosted.org/packages/b1/65/73c65022634bac7816bdeaf453a7c37820c4d6fcd79832108e2662d10cd6/cutensor_cu13-2.7.0-py3-none-manylinux2014_aarch64.whl + name: cutensor-cu13 + version: 2.7.0 + sha256: 293730541bdcc260c2f735ba4aa123cd907ca143a964252d1912a58c1e37c18a +- conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda + sha256: f0210259007f573e38f7b8037be9b36e53aa0906b786e9f1f931e0a24f8a18e6 + md5: 0e6a14f60b561b2fff81d325b4dc8283 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libffi >=3.5.2,<3.6.0a0 - - pcre2 >=10.47,<10.48.0a0 - - libzlib >=1.3.2,<2.0a0 - - libiconv >=1.18,<2.0a0 - constrains: - - glib >2.66 - license: LGPL-2.1-or-later - purls: [] - size: 4754097 - timestamp: 1778508800134 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_2.conda - sha256: 1175f8a7a0c68b7f81962699751bb6574e6f07db4c9f72825f978e3016f46850 - md5: 434ca7e50e40f4918ab701e3facd59a0 + - libstdcxx >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/cython?source=hash-mapping + size: 3819412 + timestamp: 1782821647528 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda + sha256: 4add54f62b3fbdc7f8e1238f5e5990e16a561bed33d18e3dbc1db1d4f6cf8572 + md5: c8ec76477232c7e59f68545a1b4fb8ea depends: - - __glibc >=2.17,<3.0.a0 - license: LicenseRef-libglvnd - size: 132463 - timestamp: 1731330968309 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda - sha256: e019ebe4e3f5cdf23e2f5e58ddf7ade27988c53820115b17b98f218ebcc87748 - md5: eb83f3f8cecc3e9bff9e250817fc69b6 - depends: - - __glibc >=2.17,<3.0.a0 - license: LicenseRef-libglvnd - purls: [] - size: 133586 - timestamp: 1779728183422 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_2.conda - sha256: 2d35a679624a93ce5b3e9dd301fff92343db609b79f0363e6d0ceb3a6478bfa7 - md5: c8013e438185f33b13814c5c488acd5c - depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_2 - - xorg-libx11 >=1.8.10,<2.0a0 - license: LicenseRef-libglvnd - size: 75504 - timestamp: 1731330988898 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda - sha256: 2f74713c9ca408ea84e88a30a9028153e7b553e8bb42e06139eac9a753c27da9 - md5: ec3c4350aa0261bf7f87b8ca15c8e80e - depends: - - __glibc >=2.17,<3.0.a0 - - libglvnd 1.7.0 ha4b6fd6_3 - - xorg-libx11 >=1.8.13,<2.0a0 - license: LicenseRef-libglvnd - purls: [] - size: 76586 - timestamp: 1779728199059 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_2.conda - sha256: 0a930e0148ab6e61089bbcdba25a2e17ee383e7de82e7af10cc5c12c82c580f3 - md5: 27ac5ae872a21375d980bd4a6f99edf3 - depends: - - __glibc >=2.17,<3.0.a0 - - libglx 1.7.0 ha4b6fd6_2 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-xorgproto - license: LicenseRef-libglvnd - size: 26388 - timestamp: 1731331003255 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda - sha256: a17ae2d4cb2de04a20882ae14ec3cc1958e868a4dec81e3d7eca30115ee50e94 - md5: 16b6330783ce0d1ae8d22782173b32c9 - depends: - - __glibc >=2.17,<3.0.a0 - - libglx 1.7.0 ha4b6fd6_3 - - xorg-libx11 >=1.8.13,<2.0a0 - - xorg-xorgproto - license: LicenseRef-libglvnd - purls: [] - size: 27363 - timestamp: 1779728211402 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda - sha256: 21337ab58e5e0649d869ab168d4e609b033509de22521de1bfed0c031bfc5110 - md5: 239c5e9546c38a1e884d69effcf4c882 + - libgcc >=14 + - libstdcxx >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/cython?source=hash-mapping + size: 3747072 + timestamp: 1782821625037 +- conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda + sha256: 8900c3a11e71521ed7400265a36686c4ed3973b937658c1f58cc74b707a1c173 + md5: 596f6f1a842a246dbe778dce002d0ca5 depends: - - __glibc >=2.17,<3.0.a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 603262 - timestamp: 1771378117851 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - sha256: 5abe4ab9d93f6c9757d654f1969ae2267d4505315c1f2f8fe705fd60af084f1b - md5: faac990cb7aedc7f3a2224f2c9b0c26c + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/cython?source=hash-mapping + size: 3338147 + timestamp: 1782821777709 +- conda: https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda + sha256: 22053a5842ca8ee1cf8e1a817138cdb5e647eb2c46979f84153f6ad7bde73020 + md5: 418c6ca5929a611cbd69204907a83995 depends: - - __glibc >=2.17,<3.0.a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD purls: [] - run_exports: - strong: - - _openmp_mutex >=4.5 - size: 603817 - timestamp: 1778268942614 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.2-default_hafda6a7_1000.conda - sha256: 2cf160794dda62cf93539adf16d26cfd31092829f2a2757dbdd562984c1b110a - md5: 0ed3aa3e3e6bc85050d38881673a692f + size: 760229 + timestamp: 1685695754230 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda + sha256: 33fe66d025cf5bac7745196d1a3dd7a437abcf2dbce66043e9745218169f7e17 + md5: 6e5a87182d66b2d1328a96b61ca43a62 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libxml2 - - libxml2-16 >=2.14.6 - license: BSD-3-Clause + - libgcc-ng >=12 + license: BSD-2-Clause license_family: BSD - size: 2449916 - timestamp: 1765103845133 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda - sha256: 5041d295813dfb84652557839825880aae296222ab725972285c5abe3b6e4288 - md5: c197985b58bc813d26b42881f0021c82 + purls: [] + size: 347363 + timestamp: 1685696690003 +- conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda + sha256: 2aa2083c9c186da7d6f975ccfbef654ed54fff27f4bc321dbcd12cee932ec2c4 + md5: ed2c27bda330e3f0ab41577cf8b9b585 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libxml2 - - libxml2-16 >=2.14.6 - license: BSD-3-Clause + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: BSD-2-Clause license_family: BSD purls: [] - size: 2436378 - timestamp: 1770953868164 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.3.0-h4c17acf_1.conda - sha256: 2bdd1cdd677b119abc5e83069bec2e28fe6bfb21ebaea3cd07acee67f38ea274 - md5: c2a0c1d0120520e979685034e0b79859 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: Apache-2.0 OR BSD-3-Clause - size: 1448617 - timestamp: 1758894401402 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h10be129_0.conda - sha256: 8b70955d5e9a49d08945d4f8e2eab855b2efa5fce9cb9bc5e75d86764e6f2f38 - md5: 3a9428b74c403c71048104d38437b48c + size: 618643 + timestamp: 1685696352968 +- conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.16.2-h24cb091_1.conda + sha256: 8bb557af1b2b7983cf56292336a1a1853f26555d9c6cecf1e5b2b96838c9da87 + md5: ce96f2f470d39bd96ce03945af92e280 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 - libstdcxx >=14 - license: Apache-2.0 OR BSD-3-Clause + - libzlib >=1.3.1,<2.0a0 + - libglib >=2.86.2,<3.0a0 + - libexpat >=2.7.3,<3.0a0 + license: AFL-2.1 OR GPL-2.0-or-later purls: [] - size: 1435782 - timestamp: 1776989559668 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - sha256: c467851a7312765447155e071752d7bf9bf44d610a5687e32706f480aad2833f - md5: 915f5995e94f60e9a4826e0b0920ee88 + size: 447649 + timestamp: 1764536047944 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda + sha256: 3af801577431af47c0b72a82bb93c654f03072dece0a2a6f92df8a6802f52a22 + md5: a4b6b82427d15f0489cef0df2d82f926 depends: - - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 - libgcc >=14 - license: LGPL-2.1-only + - libglib >=2.86.2,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - libexpat >=2.7.3,<3.0a0 + license: AFL-2.1 OR GPL-2.0-or-later purls: [] - size: 790176 - timestamp: 1754908768807 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda - sha256: cc9aba923eea0af8e30e0f94f2ad7156e2984d80d1e8e7fe6be5a1f257f0eb32 - md5: 8397539e3a0bbd1695584fb4f927485a + size: 480416 + timestamp: 1764536098891 +- conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.21-py314h42812f9_0.conda + sha256: c16696b23e1d75b6eea7d0c8b9c31c03d1987eeb61852f09b6d4042ca015acd3 + md5: a7eb8029c4fe320c0179085707017c2d depends: - - __glibc >=2.17,<3.0.a0 + - python - libgcc >=14 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib - size: 633710 - timestamp: 1762094827865 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.4.1-hb03c661_0.conda - sha256: 10056646c28115b174de81a44e23e3a0a3b95b5347d2e6c45cc6d49d35294256 - md5: 6178c6f2fb254558238ef4e6c56fb782 - depends: + - libstdcxx >=14 - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib - purls: [] - size: 633831 - timestamp: 1775962768273 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-h174a0a3_1.conda - sha256: 0c8a78c6a42a6e4c6de3a5e82d692f60400d43f4cc80591745f28b37daad9c70 - md5: 850f48943d6b4589800a303f0de6a816 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + purls: + - pkg:pypi/debugpy?source=hash-mapping + size: 2842115 + timestamp: 1780390153580 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/debugpy-1.8.21-py314he6363bd_0.conda + sha256: 43190a70e3f29c069240dee617587fe1b2e06113a030175f0ed709654e0d1cc2 + md5: 099237839b088f7af0e9877b24de98cd depends: - - __glibc >=2.17,<3.0.a0 + - python - libgcc >=14 + - python 3.14.* *_cp314 - libstdcxx >=14 - - libhwy >=1.4.0,<1.5.0a0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 1846962 - timestamp: 1777065125966 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.11.2-ha09017c_0.conda - sha256: 0c2399cef02953b719afe6591223fb11d287d5a108ef8bb9a02dd509a0f738d7 - md5: 1df8c1b1d6665642107883685db6cf37 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + purls: + - pkg:pypi/debugpy?source=hash-mapping + size: 2819457 + timestamp: 1780390172965 +- conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.21-py314hb98de8c_0.conda + sha256: daa9397ffba6722f27c21b2f0a02b197f3ba9baedb484a155539743ec5ea3ac3 + md5: 945786ac874b8e821a675fbdd885f844 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libhwy >=1.3.0,<1.4.0a0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - license: BSD-3-Clause - license_family: BSD - size: 1883476 - timestamp: 1770801977654 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-5_h47877c9_openblas.conda - build_number: 5 - sha256: c723b6599fcd4c6c75dee728359ef418307280fa3e2ee376e14e85e5bbdda053 - md5: b38076eb5c8e40d0106beda6f95d7609 - depends: - - libblas 3.11.0 5_h4a7cf45_openblas - constrains: - - blas 2.305 openblas - - liblapacke 3.11.0 5*_openblas - - libcblas 3.11.0 5*_openblas - license: BSD-3-Clause - license_family: BSD - size: 18200 - timestamp: 1765818857876 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-5_h5e43f62_mkl.conda - build_number: 5 - sha256: b411a9dccb21cd6231f8f66b63916a6520a7b23363e6f9d1d111e8660f2798b0 - md5: 88155c848e1278b0990692e716c9eab4 - depends: - - libblas 3.11.0 5_h5875eb1_mkl - constrains: - - liblapacke 3.11.0 5*_mkl - - libcblas 3.11.0 5*_mkl - - blas 2.305 mkl - track_features: - - blas_mkl - license: BSD-3-Clause - license_family: BSD - size: 18398 - timestamp: 1765818583873 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-6_h47877c9_openblas.conda - build_number: 6 - sha256: 371f517eb7010b21c6cc882c7606daccebb943307cb9a3bf2c70456a5c024f7d - md5: 881d801569b201c2e753f03c84b85e15 - depends: - - libblas 3.11.0 6_h4a7cf45_openblas - constrains: - - blas 2.306 openblas - - liblapacke 3.11.0 6*_openblas - - libcblas 3.11.0 6*_openblas - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 18624 - timestamp: 1774503065378 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda - build_number: 8 - sha256: 168e327d737059553e15cc6ec36d76b9bbb3931c2a7721555fd68b4c9348b247 - md5: 809be8ba8712c77bc7d44c2d99390dc4 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + purls: + - pkg:pypi/debugpy?source=hash-mapping + size: 4022782 + timestamp: 1780390190830 +- conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.3.1-pyhd8ed1ab_0.conda + sha256: 430bd9d731b265f0bedb3183ac3ecfaa1656390c092b6e864ff8cc1229843c8c + md5: 61dcf784d59ef0bd62c57d982b154ace depends: - - libblas 3.11.0 8_h4a7cf45_openblas - constrains: - - blas 2.308 openblas - - libcblas 3.11.0 8*_openblas - - liblapacke 3.11.0 8*_openblas - license: BSD-3-Clause + - python >=3.10 + license: BSD-2-Clause license_family: BSD - purls: [] - size: 18790 - timestamp: 1779859115086 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda - sha256: 755c55ebab181d678c12e49cced893598f2bab22d582fbbf4d8b83c18be207eb - md5: c7c83eecbb72d88b940c249af56c8b17 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - xz 5.8.2.* - license: 0BSD - purls: [] - size: 113207 - timestamp: 1768752626120 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - sha256: ec30e52a3c1bf7d0425380a189d209a52baa03f22fb66dd3eb587acaa765bd6d - md5: b88d90cad08e6bc8ad540cb310a761fb + purls: + - pkg:pypi/decorator?source=compressed-mapping + size: 16102 + timestamp: 1779115228886 +- conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.6.0-pyhd8ed1ab_0.conda + sha256: 446d5d68b2e76ed4afbd23fdde580b242e4fd309006fc246181437942ef1fac7 + md5: 788c6a27890b964b6980d062d593c5da depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - constrains: - - xz 5.8.3.* - license: 0BSD - purls: [] - run_exports: - weak: - - liblzma >=5.8.3,<6.0a0 - size: 113478 - timestamp: 1775825492909 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libmagma-2.9.0-hd93470c_6.conda - sha256: 5ea4675cb4a900795a5eb33519307cf985fd3787eb0cf33142e52ecc8eb8a7d4 - md5: 886e83a08e0ad01d7fe868972bc729f3 + - domdf-python-tools >=2.2.0 + - python >=3.10 + - tinycss2 >=1.2.1 + license: MIT + license_family: MIT + purls: + - pkg:pypi/dict2css?source=hash-mapping + size: 16157 + timestamp: 1779358557191 +- conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda + sha256: fa5966bb1718bbf6967a85075e30e4547901410cc7cb7b16daf68942e9a94823 + md5: 24c1ca34138ee57de72a943237cde4cc depends: - - __glibc >=2.28,<3.0.a0 - - _openmp_mutex >=4.5 - - cuda-cudart - - cuda-version >=13,<14.0a0 - - libblas >=3.9.0,<4.0a0 - - libcublas - - libcusparse - - libgcc >=14 - - liblapack >=3.9.0,<4.0a0 - - libstdcxx >=14 - license: BSD-3-Clause - license_family: BSD - size: 387811432 - timestamp: 1767135866822 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - sha256: fe171ed5cf5959993d43ff72de7596e8ac2853e9021dec0344e583734f1e0843 - md5: 2c21e66f50753a083cbe6b80f38268fa + - python >=3.9 + license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 + purls: + - pkg:pypi/docutils?source=hash-mapping + size: 402700 + timestamp: 1733217860944 +- conda: https://conda.anaconda.org/conda-forge/noarch/domdf-python-tools-3.10.0-pyhff2d567_0.conda + sha256: e7a7121de51caa332e73a0a7345d78fb514a8460311347be5d8eba0738c66c31 + md5: 0254332c3957f0ae09a58670c2d7ea01 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-2-Clause - license_family: BSD - purls: [] - run_exports: {} - size: 92400 - timestamp: 1769482286018 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - sha256: ba7c5d294e3d80f08ac5a39564217702d1a752e352e486210faff794ac5001b4 - md5: db63358239cbe1ff86242406d440e44a + - importlib-metadata >=3.6.0 + - importlib-resources >=3.0.0 + - natsort >=7.0.1 + - python >=3.9 + - typing-extensions >=3.7.4.1 + license: MIT + license_family: MIT + purls: + - pkg:pypi/domdf-python-tools?source=hash-mapping + size: 96253 + timestamp: 1739444562482 +- conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhcf101f3_1.conda + sha256: 6a9ca88e9cb9410fbc2a3ec8ef8fa691bfd69541b652cd9e6ec1accf02f07cb1 + md5: 2c4a76362cf961db49bc9dbd8707dcef depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: LGPL-2.1-or-later + - pygments >=2.6.1 + - python >=3.10 + - typing-extensions >=3.7.4.3 + - python + constrains: + - sphinx >=3.4.0 + - sphinx-toolbox >=2.16.0 + license: LGPL-3.0-or-later license_family: LGPL - purls: [] - run_exports: - weak: - - libnl >=3.11.0,<4.0a0 - size: 741323 - timestamp: 1731846827427 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda - sha256: 927fe72b054277cde6cb82597d0fcf6baf127dcbce2e0a9d8925a68f1265eef5 - md5: d864d34357c3b65a4b731f78c0801dc4 + purls: + - pkg:pypi/enum-tools?source=hash-mapping + size: 31183 + timestamp: 1777266899521 +- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + sha256: ee6cf346d017d954255bbcbdb424cddea4d14e4ed7e9813e429db1d795d01144 + md5: 8e662bd460bda79b1ea39194e3c4c9ab depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: LGPL-2.1-only - license_family: GPL - purls: [] - size: 33731 - timestamp: 1750274110928 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_0.conda - sha256: 3de6aed48ca7a705aa22444b54ad7236f0e1f9dc7f41ec3e2273e6cb991be213 - md5: 1f9be211f7ec5c88b1d2d561aee7884d + - python >=3.10 + - typing_extensions >=4.6.0 + license: MIT and PSF-2.0 + purls: + - pkg:pypi/exceptiongroup?source=hash-mapping + size: 21333 + timestamp: 1763918099466 +- conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda + sha256: 210c8165a58fdbf16e626aac93cc4c14dbd551a01d1516be5ecad795d2422cad + md5: ff9efb7f7469aed3c4a8106ffa29593c + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/executing?source=hash-mapping + size: 30753 + timestamp: 1756729456476 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ffmpeg-8.1.2-gpl_h54862ce_904.conda + sha256: 35accb6f0fe430d89ca22e240ea3c7d964c23acfba637d40807dbf9207c96fbd + md5: 5cfeaeb36151f58c6166eb30eaa7d06a depends: - __glibc >=2.17,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 + - alsa-lib >=1.2.16.1,<1.3.0a0 + - aom >=3.14.1,<3.15.0a0 + - bzip2 >=1.0.8,<2.0a0 + - dav1d >=1.2.1,<1.2.2.0a0 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + - gmp >=6.3.0,<7.0a0 + - lame >=3.100,<3.101.0a0 + - libass >=0.17.5,<0.17.6.0a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 + - libharfbuzz >=14.2.1 + - libiconv >=1.18,<2.0a0 + - libjxl >=0.12.0,<0.13.0a0 + - liblzma >=5.8.3,<6.0a0 + - libopenvino >=2026.2.1,<2026.2.2.0a0 + - libopenvino-auto-batch-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-auto-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-hetero-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-intel-cpu-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-intel-gpu-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-intel-npu-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-ir-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-onnx-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-paddle-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-pytorch-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-tensorflow-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-tensorflow-lite-frontend >=2026.2.1,<2026.2.2.0a0 + - libopus >=1.6.1,<2.0a0 + - libplacebo >=7.360.1,<7.361.0a0 + - librsvg >=2.62.3,<3.0a0 - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement + - libva >=2.24.1,<3.0a0 + - libvorbis >=1.3.7,<1.4.0a0 + - libvpl >=2.16.0,<2.17.0a0 + - libvpx >=1.15.2,<1.16.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - openh264 >=2.6.0,<2.6.1.0a0 + - openssl >=3.5.7,<4.0a0 + - pulseaudio-client >=17.0,<17.1.0a0 + - sdl2 >=2.32.56,<3.0a0 + - shaderc >=2026.3,<2026.4.0a0 + - svt-av1 >=4.2.0,<4.2.1.0a0 + - x264 >=1!164.3095,<1!165 + - x265 >=3.5,<3.6.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + constrains: + - __cuda >=12.8 + license: GPL-2.0-or-later + license_family: GPL purls: [] - size: 472135 - timestamp: 1779897596590 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_1.conda - sha256: 2f4f4824d6eb16693fa04aca1f872b64df48445e26e8a357dc538bf9825c25fa - md5: df0f2d96a171e8f843d4f03fa3d8d3d9 + size: 13046477 + timestamp: 1784313887787 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_h1992ac7_904.conda + sha256: 44a1d8beb071b4b14689444df0487bb5c1794ccc33ccb606e91a7153fcabdb5a + md5: d1f5b8f8342d1858f550d86709dd77d6 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=13.3,<13.4.0a0 + - alsa-lib >=1.2.16.1,<1.3.0a0 + - aom >=3.14.1,<3.15.0a0 + - bzip2 >=1.0.8,<2.0a0 + - dav1d >=1.2.1,<1.2.2.0a0 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + - gmp >=6.3.0,<7.0a0 + - lame >=3.100,<3.101.0a0 + - libass >=0.17.5,<0.17.6.0a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 + - libharfbuzz >=14.2.1 + - libiconv >=1.18,<2.0a0 + - libjxl >=0.12.0,<0.13.0a0 + - liblzma >=5.8.3,<6.0a0 + - libopenvino >=2026.2.1,<2026.2.2.0a0 + - libopenvino-arm-cpu-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-auto-batch-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-auto-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-hetero-plugin >=2026.2.1,<2026.2.2.0a0 + - libopenvino-ir-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-onnx-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-paddle-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-pytorch-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-tensorflow-frontend >=2026.2.1,<2026.2.2.0a0 + - libopenvino-tensorflow-lite-frontend >=2026.2.1,<2026.2.2.0a0 + - libopus >=1.6.1,<2.0a0 + - libplacebo >=7.360.1,<7.361.0a0 + - librsvg >=2.62.3,<3.0a0 - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 470857 - timestamp: 1782920237017 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-12.9.86-hecca717_2.conda - sha256: 3b1c851f4fc42d347ce1c1606bdd195343a47f121e0fceb7a1f1e5aa1d497da9 - md5: 3461b0f2d5cbb7973d361f9e85241d98 + - libvorbis >=1.3.7,<1.4.0a0 + - libvpx >=1.15.2,<1.16.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - openh264 >=2.6.0,<2.6.1.0a0 + - openssl >=3.5.7,<4.0a0 + - pulseaudio-client >=17.0,<17.1.0a0 + - sdl2 >=2.32.56,<3.0a0 + - shaderc >=2026.3,<2026.4.0a0 + - svt-av1 >=4.2.0,<4.2.1.0a0 + - x264 >=1!164.3095,<1!165 + - x265 >=3.5,<3.6.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + constrains: + - __cuda >=12.8 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 12735298 + timestamp: 1784313834215 +- conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_he504192_904.conda + sha256: a31772d389fa14ca3eec690a4f07b8308116302392a48f6affab01cbcaa97e23 + md5: 9a9e4bdb63c2a32c82f97c168c9602a3 + depends: + - aom >=3.14.1,<3.15.0a0 + - bzip2 >=1.0.8,<2.0a0 + - dav1d >=1.2.1,<1.2.2.0a0 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + - lame >=4.0,<4.1.0a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libharfbuzz >=14.2.1 + - libiconv >=1.18,<2.0a0 + - libjxl >=0.12.0,<0.13.0a0 + - liblzma >=5.8.3,<6.0a0 + - libopus >=1.6.1,<2.0a0 + - librsvg >=2.62.3,<3.0a0 + - libvorbis >=1.3.7,<1.4.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - libxml2 + - libxml2-16 >=2.14.6 + - libzlib >=1.3.2,<2.0a0 + - openh264 >=2.6.0,<2.6.1.0a0 + - openssl >=3.5.7,<4.0a0 + - sdl2 >=2.32.56,<3.0a0 + - shaderc >=2026.3,<2026.4.0a0 + - svt-av1 >=4.2.0,<4.2.1.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - x264 >=1!164.3095,<1!165 + - x265 >=3.5,<3.6.0a0 + constrains: + - __cuda >=12.8 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 11022986 + timestamp: 1784315529510 +- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.32.0-pyhd8ed1ab_0.conda + sha256: 6a06e1c22da45e25f757901ffff25906731459109be183319c7f1a5a662c0b9a + md5: ac3366aa3754b212f91588b1ae3e54dc + depends: + - python >=3.10 + license: Unlicense + purls: + - pkg:pypi/filelock?source=compressed-mapping + size: 77187 + timestamp: 1784663191506 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fmt-12.1.0-hff5e90c_0.conda + sha256: d4e92ba7a7b4965341dc0fca57ec72d01d111b53c12d11396473115585a9ead6 + md5: f7d7a4104082b39e3b3473fbd4a38229 depends: - __glibc >=2.17,<3.0.a0 - - cuda-version >=12,<12.10.0a0 - libgcc >=14 - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 30515495 - timestamp: 1760723776293 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda - sha256: f5d0aed3cfb504239fac6e03e994f36c34725acba5382adc516cbfdd6993a959 - md5: 2795538ca415afd5d35aec7c6cd2e385 + license: MIT + license_family: MIT + purls: [] + size: 198107 + timestamp: 1767681153946 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fmt-12.1.0-h20c602a_0.conda + sha256: 7826619c80af5a5fb0c1f2a965c93f4b92670523e12ff45c592daa3f11340746 + md5: 067209b690c2d7f42e1e4c370d1aff12 depends: - - __glibc >=2.17,<3.0.a0 - - cuda-version >=13,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement + license: MIT + license_family: MIT purls: [] - run_exports: {} - size: 31168008 - timestamp: 1779897778168 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvptxcompiler-dev-12.9.86-ha770c72_2.conda - sha256: 1e7a7b34f8639a5feb75ba864127059e4d83edfe1a516547f0dbb9941e7b8f8b - md5: 3fd926c321c6dbf386aa14bd8b125bfb - depends: - - cuda-version >=12.9,<12.10.0a0 - - libnvptxcompiler-dev_linux-64 12.9.86 ha770c72_2 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27046 - timestamp: 1753975516342 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda - sha256: ffb066ddf2e76953f92e06677021c73c85536098f1c21fcd15360dbc859e22e4 - md5: 68e52064ed3897463c0e958ab5c8f91b - depends: - - libgcc >=13 - - __glibc >=2.17,<3.0.a0 + size: 197671 + timestamp: 1767681179883 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 + sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b + md5: 0c96522c6bdaed4b1566d11387caaf45 license: BSD-3-Clause license_family: BSD purls: [] - size: 218500 - timestamp: 1745825989535 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.30-pthreads_h94d23a6_4.conda - sha256: 199d79c237afb0d4780ccd2fbf829cea80743df60df4705202558675e07dd2c5 - md5: be43915efc66345cccb3c310b6ed0374 + size: 397370 + timestamp: 1566932522327 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 + sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c + md5: 34893075a5c9e55cdafac56607368fc6 + license: OFL-1.1 + license_family: Other + purls: [] + size: 96530 + timestamp: 1620479909603 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 + sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 + md5: 4d59c254e01d9cde7957100457e2d5fb + license: OFL-1.1 + license_family: Other + purls: [] + size: 700814 + timestamp: 1620479612257 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda + sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 + md5: 49023d73832ef61042f6a237cb2687e7 + license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 + license_family: Other + purls: [] + size: 1620504 + timestamp: 1727511233259 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.2-h27c8c51_0.conda + sha256: d77a47bc2b340b997c680241751e581672d1d0377a680eaf0b19026f013f56b7 + md5: 3c702747058a5d0af93fe71e559327f3 depends: - __glibc >=2.17,<3.0.a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - constrains: - - openblas >=0.3.30,<0.3.31.0a0 - license: BSD-3-Clause - license_family: BSD - size: 5927939 - timestamp: 1763114673331 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.32-pthreads_h94d23a6_0.conda - sha256: 6dc30b28f32737a1c52dada10c8f3a41bc9e021854215efca04a7f00487d09d9 - md5: 89d61bc91d3f39fda0ca10fcd3c68594 + - libuuid >=2.42.2,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + license: MIT + purls: [] + size: 292684 + timestamp: 1784754430789 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.2-hba86a56_0.conda + sha256: 12e49d4bcc7b57ebcb51e199921604ec6218c6a09d345449b2bc7772fe5061b7 + md5: 4c3b60329dd9fbd20940b28d6f45f4a1 depends: - - __glibc >=2.17,<3.0.a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - constrains: - - openblas >=0.3.32,<0.3.33.0a0 + - libuuid >=2.42.2,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + license: MIT + purls: [] + size: 305564 + timestamp: 1784754428554 +- conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.2-hd47e2ca_0.conda + sha256: 3263ba9ad9e78a927964c76e0b2b4c745d279394928f4d381272b771ec816235 + md5: 8a2cb80ec7f2a366dd53b48403844154 + depends: + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libiconv >=1.18,<2.0a0 + - libintl >=0.22.5,<1.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + purls: [] + size: 216273 + timestamp: 1784754573317 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 + sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61 + md5: fee5683a3f04bd15cbd8318b096a27ab + depends: + - fonts-conda-forge license: BSD-3-Clause license_family: BSD purls: [] - size: 5928890 - timestamp: 1774471724897 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda - sha256: 3d9aa85648e5e18a6d66db98b8c4317cc426721ad7a220aa86330d1ccedc8903 - md5: 2d3278b721e40468295ca755c3b84070 + size: 3667 + timestamp: 1566974674465 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda + sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 + md5: a7970cd949a077b7cb9696379d338681 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - constrains: - - openblas >=0.3.33,<0.3.34.0a0 + - font-ttf-ubuntu + - font-ttf-inconsolata + - font-ttf-dejavu-sans-mono + - font-ttf-source-code-pro license: BSD-3-Clause license_family: BSD purls: [] - size: 5931919 - timestamp: 1776993658641 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.0.0-hb56ce9e_1.conda - sha256: a396a2d1aa267f21c98717ac097138b32e41e4c40ae501729bded3801476eeb5 - md5: 9f0596e995efe372c470ff45c93131cb - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 6582302 - timestamp: 1772727204779 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.0-h1f0fae8_1.conda - sha256: 7f489b58a4729026440ccb07d8caea2ea30cee9df7e8690378b5f29a6cb89dbe - md5: 5130986ef756de97796f10594d29e1af + size: 4059 + timestamp: 1762351264405 +- conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.14.3-ha770c72_0.conda + sha256: c934c385889c7836f034039b43b05ccfa98f53c900db03d8411189892ced090b + md5: 8462b5322567212beeb025f3519fb3e2 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2023.0.0 - license: Apache-2.0 + - libfreetype 2.14.3 ha770c72_0 + - libfreetype6 2.14.3 h73754d4_0 + license: GPL-2.0-only OR FTL purls: [] - size: 6826433 - timestamp: 1781798761467 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.0-hb56ce9e_0.conda - sha256: 1f2d5f0236eaf872c6c11891e59d9f4166913f3ab3b342352d12280b02b58185 - md5: db1296fbbd6fe992484e37f5ba9a6f27 + size: 173839 + timestamp: 1774298173462 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.3-h8af1aa0_1.conda + sha256: 1112c56bc19cbce233b30d9d31ce8eb6fcc100c9baa5145315aaa1e3a25b5178 + md5: 5e8e88bfb3fbb0df0f9f8bb890721e07 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE + - libfreetype 2.14.3 h8af1aa0_1 + - libfreetype6 2.14.3 hdae7a39_1 + license: GPL-2.0-only OR FTL purls: [] - size: 6813018 - timestamp: 1780395324902 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.0.0-hd85de46_1.conda - sha256: 286de85805dc69ce0bd25367ae2a20c8096ddef35eb2483474eb246dacd5387e - md5: ee41df976413676f794af2785b291b0c - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 114431 - timestamp: 1772727230331 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.0-h7e124b3_1.conda - sha256: 86c6157aa1718f24b1fcc07f7241cbc8df8c30e881dfd554c1999bd888855262 - md5: 12019449d82d7d3d54b369a99be714ba + size: 174060 + timestamp: 1780933507786 +- conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda + sha256: a0e419e96146159f12344c870dca608d11bca36841f228092b986ffc2e1e0f02 + md5: e77293b32225b136a8be300f93d0e89f depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.2.0 h1f0fae8_1 - - libstdcxx >=14 - - tbb >=2023.0.0 - license: Apache-2.0 + - libfreetype 2.14.3 h57928b3_1 + - libfreetype6 2.14.3 hdbac1cb_1 + - zlib + license: GPL-2.0-only OR FTL purls: [] - size: 114553 - timestamp: 1781798782628 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.0-hd85de46_0.conda - sha256: b926fd97763e5c8fc2f4f53eaa657818eca85eab6f7d3992d3ceef5bd86349ca - md5: 17ccdfee138a9369103983a5b8e30675 + size: 185584 + timestamp: 1780934817461 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.16-hb03c661_0.conda + sha256: 858283ff33d4c033f4971bf440cebff217d5552a5222ba994c49be990dacd40d + md5: f9f81ea472684d75b9dd8d0b328cf655 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libopenvino 2026.2.0 hb56ce9e_0 - - libstdcxx >=14 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE + license: LGPL-2.1-or-later purls: [] - size: 115526 - timestamp: 1780395345452 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.0.0-hd85de46_1.conda - sha256: 9988ed6339a5eb044ae8d079e2b22f5a310c41e49a0cf716057f30b21ef9cec2 - md5: ca025fa5c42ba94453636a2ae333de6b - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 249056 - timestamp: 1772727247597 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.0-h7e124b3_1.conda - sha256: 46d53912d41a08f26e2cd856cda93ae6e54e5b9a230385075d0c7ad2f4a3ee80 - md5: 422d5938f038515a7d084ab4446edbbb + size: 61244 + timestamp: 1757438574066 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda + sha256: 1bfcd715bcb49a0b22d5d1899a22c6ff884b06f8e141eb746f3949752469a422 + md5: f3ac54914f7d3e1d68cb8d891765e5f9 depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libopenvino 2026.2.0 h1f0fae8_1 - - libstdcxx >=14 - - tbb >=2023.0.0 - license: Apache-2.0 + license: LGPL-2.1-or-later purls: [] - size: 250964 - timestamp: 1781798795949 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.0-hd85de46_0.conda - sha256: 0f386b1f58fbe63bd599855a08bd9d738615730cba86d9e64f2bba8d3872d24e - md5: 0453294b5631705c297c822fe963e7fc + size: 62909 + timestamp: 1757438620177 +- conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda + sha256: 15011071ee56c216ffe276c8d734427f1f893f275ef733f728d13f610ed89e6e + md5: c27bd87e70f970010c1c6db104b88b18 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.2.0 hb56ce9e_0 - - libstdcxx >=14 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-or-later purls: [] - size: 250550 - timestamp: 1780395355986 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.0.0-hd41364c_1.conda - sha256: c7db498aeda5b0f36b347f4211b93b66ba108faaf54157a08bae8fa3c3af5f81 - md5: 07a23e96db38f63d9763f666b2db66aa - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 - license_family: APACHE - size: 211582 - timestamp: 1772727264950 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.0-hd41364c_0.conda - sha256: dbb54fe5cbb27d9528797826c9aa80b0f742bc07e44652c09de2c79750719a5d - md5: 5542641915bccd4e95b15658062eb8f0 + size: 64394 + timestamp: 1757438741305 +- conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.6.0-pyhd8ed1ab_0.conda + sha256: fe0156e6d658be3531aad2a99e42e8ad1ee23c69837d469c44c1b6010373913d + md5: 7d7e6c826ba0743fc491ebee0e7b899c depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.2.0 hb56ce9e_0 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 - license_family: APACHE - purls: [] - size: 216023 - timestamp: 1780395366723 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.0-hd41364c_1.conda - sha256: 4e5b545b05cb2d95c98e760d66243f68cde8029877ed8ac8f62e14e121593353 - md5: aa76687726f31ab951afb9968fb352b7 + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/fsspec?source=compressed-mapping + size: 149709 + timestamp: 1781615868173 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-14.3.0-h6f77f03_19.conda + sha256: 5c86862941a44b2554e23e623ddb8f18c95474cacf536635e38ee431385b7d4a + md5: 444fafd4d1acdfe80c49b559a2569ba1 + depends: + - gcc_impl_linux-64 14.3.0 h235f0fe_19 + track_features: + - gcc_no_conda_specs + license: BSD-3-Clause + license_family: BSD + size: 29453 + timestamp: 1778268811434 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc-15.2.0-h0dff253_19.conda + sha256: 54a0d9ee655ba83b78b7a796f12224b26c24943d8970559ecc47ccd6c2b0fa72 + md5: 18ec2ee87e4f532afa459ce8ea9a6b02 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.2.0 h1f0fae8_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 + - conda-gcc-specs + - gcc_impl_linux-64 15.2.0 he0086c7_19 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 215501 - timestamp: 1781798807667 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.0.0-hb56ce9e_1.conda - sha256: 01a28c0bd1f205b3800e7759e30bc8e8a75836e0d5a73a745b4da42837bbb174 - md5: b43b96578573ddbcc8d084ae6e44c964 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 13173323 - timestamp: 1772727282718 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.0-h1f0fae8_1.conda - sha256: 7e485478d665279a6f278132e8cec3c501183be7d56186c7c60b3875483c1fb7 - md5: 1b11e6141c37c0aa7077d8afed643288 + size: 29561 + timestamp: 1778269371353 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-14.3.0-h24a549f_19.conda + sha256: 6a5a295db229df19906e1aadb27d38270827985fca03f4165e3da468c3edfd01 + md5: 0ad8a664ad6cd5767114cddaa931d608 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.2.0 h1f0fae8_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2023.0.0 - license: Apache-2.0 - purls: [] - size: 13647258 - timestamp: 1781798819601 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.0-hb56ce9e_0.conda - sha256: 87aa0a430b462c275a5f7b7ffb5f490d37d8ce97ccdc3d6e93b8bccb3d66f19f - md5: 930ac67c3e49a2ec1b45bcc2c2f701fd + - gcc_impl_linux-aarch64 14.3.0 h398eab4_19 + track_features: + - gcc_no_conda_specs + license: BSD-3-Clause + license_family: BSD + size: 29634 + timestamp: 1778268833581 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_19.conda + sha256: 3d75b775f6ab3977b2b72b9940806603158d10d60ff3e66930a59b74c4305219 + md5: 6b596ff6f13f6e46365d2182c6ea1e53 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.2.0 hb56ce9e_0 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE + - gcc_impl_linux-aarch64 15.2.0 h3530432_19 + track_features: + - gcc_no_conda_specs + license: BSD-3-Clause + license_family: BSD purls: [] - size: 13586589 - timestamp: 1780395378959 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.0.0-hb56ce9e_1.conda - sha256: 720b87e1d5f1a10c577e040d4bf425072a978e925c6dfab8b1551bc848007c94 - md5: 26e8e92c90d1a22af6eac8e9507d9b8f + size: 29538 + timestamp: 1778269115054 +- conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-h6123e3b_19.conda + sha256: 7f8ee38e98ecc50818a509d794abcd4f1dbbe3d154cdc3e4dba6eeb6cbe75faa + md5: 64a4036e06e497afe50d690c63906e38 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - ocl-icd >=2.3.3,<3.0a0 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 11402462 - timestamp: 1772727323957 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.0-h1f0fae8_1.conda - sha256: 57b50e34355e5aba5fb1d768c631238fcf3f7070ad725a68c10d1cbec56ea21c - md5: 327b32c09092b8f28b4dbd6ebb71fa91 + - gcc_impl_win-64 15.2.0 h062b9a2_19 + track_features: + - gcc_no_conda_specs + license: BSD-3-Clause + license_family: BSD + size: 1199452 + timestamp: 1778273446640 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-14.3.0-h235f0fe_19.conda + sha256: 1e2500ca976d4831c953d1c6db7b238d2e6806910b930e3eb631b79ba5c3ba41 + md5: 99936dc616b7ce97b0468759b8a7c64e depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.2.0 h1f0fae8_1 - - libstdcxx >=14 - - ocl-icd >=2.3.4,<3.0a0 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2023.0.0 - license: Apache-2.0 + - binutils_impl_linux-64 >=2.45 + - libgcc >=14.3.0 + - libgcc-devel_linux-64 14.3.0 hf649bbc_119 + - libgomp >=14.3.0 + - libsanitizer 14.3.0 h8f1669f_19 + - libstdcxx >=14.3.0 + - libstdcxx-devel_linux-64 14.3.0 h9f08a49_119 + - sysroot_linux-64 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 77667192 + timestamp: 1778268558509 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda + sha256: a48400ec4b73369c1c59babe4ad35821b63a88bba0ec40a80cea5f8c53a26b83 + md5: e3be72048d3c4a78b8e27ec48ba06252 + depends: + - binutils_impl_linux-64 >=2.45 + - libgcc >=15.2.0 + - libgcc-devel_linux-64 15.2.0 hcc6f6b0_119 + - libgomp >=15.2.0 + - libsanitizer 15.2.0 h90f66d4_19 + - libstdcxx >=15.2.0 + - libstdcxx-devel_linux-64 15.2.0 hd446a21_119 + - sysroot_linux-64 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 12381073 - timestamp: 1781798859383 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.0-hb56ce9e_0.conda - sha256: 1efa48f137a3720a83276ee0b50201d540e1d41a92efe323118c43410ccf697b - md5: bc71ff82983c3d233928d3d89c141f82 + size: 81180457 + timestamp: 1778269124617 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-14.3.0-h398eab4_19.conda + sha256: 48ad41e482417ecb1b0c608139192ccb35ab09df195df69085b9b9378000287b + md5: ad45f72d96f497f6cdfc31c86534c47f depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.2.0 hb56ce9e_0 - - libstdcxx >=14 - - ocl-icd >=2.3.4,<3.0a0 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE + - binutils_impl_linux-aarch64 >=2.45 + - libgcc >=14.3.0 + - libgcc-devel_linux-aarch64 14.3.0 h25ba3ff_119 + - libgomp >=14.3.0 + - libsanitizer 14.3.0 hedb4206_19 + - libstdcxx >=14.3.0 + - libstdcxx-devel_linux-aarch64 14.3.0 h57c8d61_119 + - sysroot_linux-aarch64 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 68567347 + timestamp: 1778268606528 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda + sha256: cd23829b5fb7f3ff5f44eab2da1a993e06bdf759b681a0a7a73bb5783755b6b3 + md5: 66dfb62e7a47e2b511f9c5ee0ff1abf3 + depends: + - binutils_impl_linux-aarch64 >=2.45 + - libgcc >=15.2.0 + - libgcc-devel_linux-aarch64 15.2.0 h55c397f_119 + - libgomp >=15.2.0 + - libsanitizer 15.2.0 he19c465_19 + - libstdcxx >=15.2.0 + - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_119 + - sysroot_linux-aarch64 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 12325490 - timestamp: 1780395417543 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.0.0-hb56ce9e_1.conda - sha256: df7eb2b23a1af38f2cd2281353309f2e2a04da1374ecedc7c6745c2a67ba617c - md5: 01ba8b179ac45b2b37fe2d4225dddcc7 + size: 73237372 + timestamp: 1778268860495 +- conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-h062b9a2_19.conda + sha256: 9a1087fc15253a923d6c4f3a313285b1ad7f5e8c849f24086bc0696b9383313b + md5: 04354147d91b3ac936a4f410af5e1d0f depends: - - __glibc >=2.17,<3.0.a0 - - level-zero >=1.28.2,<2.0a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 1994640 - timestamp: 1772727360780 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.0-h1f0fae8_1.conda - sha256: 9faaef86d0a0dbba58a6b7dc3677f0de155e6741b11534c591df4dd245989c2b - md5: 16e1f1517166b8cb31055233b1224ab9 + - binutils_impl_win-64 >=2.45 + - libgcc >=15.2.0 + - libgcc-devel_win-64 15.2.0 hbb59886_119 + - libgomp >=15.2.0 + - libstdcxx >=15.2.0 + - libstdcxx-devel_win-64 15.2.0 h0a72980_119 + - m2w64-sysroot_win-64 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 62130152 + timestamp: 1778273122806 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.44.7-h2b0a6b4_0.conda + sha256: 1c22e37f9d7e06e9e0582ee5a55c2ddd19ea75f71f44eb13b56f504ef5c37aa5 + md5: 5d355db3e937086e22cf4cb5fe19787c depends: - __glibc >=2.17,<3.0.a0 - - level-zero >=1.29.0,<2.0a0 - libgcc >=14 - - libopenvino 2026.2.0 h1f0fae8_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2023.0.0 - license: Apache-2.0 + - libglib >=2.88.2,<3.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - liblzma >=5.8.3,<6.0a0 + - libpng >=1.6.58,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + license: LGPL-2.1-or-later + license_family: LGPL purls: [] - size: 2624019 - timestamp: 1781798892881 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.0-hb56ce9e_0.conda - sha256: c300e263c51208457a320c98f94f1b18e713451577ed81ab425793e52e483d03 - md5: 30b2cabfd4d3e08af17e324260a0fb65 + size: 581631 + timestamp: 1782591374199 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.7-h90308e0_0.conda + sha256: f406e0b58a51da8648b100316c7b5893e5585256b67eb410126e2357a901f0d2 + md5: 6b26b46bbc0761e0f256699eab75202d depends: - - __glibc >=2.17,<3.0.a0 - - level-zero >=1.29.0,<2.0a0 - libgcc >=14 - - libopenvino 2026.2.0 hb56ce9e_0 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE + - libglib >=2.88.2,<3.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - liblzma >=5.8.3,<6.0a0 + - libpng >=1.6.58,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + license: LGPL-2.1-or-later + license_family: LGPL purls: [] - size: 2619772 - timestamp: 1780395452811 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.0.0-hd41364c_1.conda - sha256: 8e7356b0b80b3f180615e264694d6811d388b210155d419553ff64e42f78ffa0 - md5: aa002c4d343b01cdcc458c95cd071d1b + size: 588681 + timestamp: 1782593151876 +- conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.7-h1f5b9c4_0.conda + sha256: 4965bf7c84c9b7c970f1f7bc475962e43441018cf9551682a4a22960c5090588 + md5: 5daba86dbe8072c7e49f74013ef308cd depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 - license_family: APACHE - size: 192778 - timestamp: 1772727380069 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.0-hd41364c_0.conda - sha256: 4e8e2c111820120d563d58e0863d239e0ff155f5bcbf5cf88fa3084b52fa0829 - md5: e63fab556e1ffa1ae56a6b4dace8b98c + - libglib >=2.88.2,<3.0a0 + - libintl >=0.22.5,<1.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - liblzma >=5.8.3,<6.0a0 + - libpng >=1.6.58,<1.7.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 579329 + timestamp: 1782591520147 +- conda: https://conda.anaconda.org/conda-forge/win-64/glib-2.88.2-h395db07_0.conda + sha256: b67107959a71dbf9f5c2e95511f18095d9ac6f0001f0de4a1b6e14282162989e + md5: 7d203837b88a2255b32dca555d37ca50 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.2.0 hb56ce9e_0 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 - license_family: APACHE + - python * + - packaging + - libglib ==2.88.2 h7ce1215_0 + - glib-tools ==2.88.2 h74ecf4c_0 + - libintl-devel + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libintl >=0.22.5,<1.0a0 + license: LGPL-2.1-or-later purls: [] - size: 201661 - timestamp: 1780395466300 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.0-hd41364c_1.conda - sha256: e0165152cc633ae8e041ac732c51169959e27e48a981f11950bb21fd0274fecb - md5: 7c21104f61dc46a6b8f3ce2b105e9881 + size: 75973 + timestamp: 1782463965040 +- conda: https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.88.2-h74ecf4c_0.conda + sha256: c604b6ca42c6271f281b1c0616e0d50bd800f8fc913a91a2753c2551b3b6b16c + md5: 63c615f0c525ee64f72e557e583b6257 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.2.0 h1f0fae8_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 + - libglib ==2.88.2 h7ce1215_0 + - libffi + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libintl >=0.22.5,<1.0a0 + license: LGPL-2.1-or-later purls: [] - size: 202097 - timestamp: 1781798907064 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.0.0-h7a07914_1.conda - sha256: 35a68214201e807bd9a31f94e618cb6a5385198e89eef46dde6c122cff77da58 - md5: 218084544c2e7e78e4b8877ec37b8cdb + size: 251644 + timestamp: 1782463965040 +- conda: https://conda.anaconda.org/conda-forge/linux-64/glslang-16.3.0-h96af755_0.conda + sha256: 3c9b6a90937a96ad27d160304cdbe5e9961db613aba2b84ff673429f0c61d48e + md5: d175cb2c14104728ada04883786a309d depends: - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 1860687 - timestamp: 1772727397981 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.0-h7a07914_0.conda - sha256: d34154e5dfdb43fce02ba15277d52e9b0a524d789826e6b1ea8289fd76a8ad75 - md5: 1fffc68405e92be38303bfdad42a25a6 + - spirv-tools >=2026,<2027.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1366082 + timestamp: 1777747028121 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.3.0-h124e036_0.conda + sha256: bae4806f4076cf9f91089fbeae7c9357ce4348df3657c25b249ac4487beed230 + md5: c0045dffcc3660ecd1b9123df377796f depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - libgcc >=14 - - libopenvino 2026.2.0 hb56ce9e_0 - - libprotobuf >=6.33.5,<6.33.6.0a0 - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE + - spirv-tools >=2026,<2027.0a0 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 1936193 - timestamp: 1780395477218 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.0-h7a07914_1.conda - sha256: 081ee84091459766b2bd817430af901ff6efeddfd34ceaf0e9c04a07b32fb8a0 - md5: bbf2c614a45b6115e7c1b04a1ff9ef07 + size: 1359428 + timestamp: 1777747105441 +- conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.3.0-h294ba9c_0.conda + sha256: d80276b89d8aeab6ff0d8d7d4b9af336b368fc0b8fa28ea8cde6f6f2aa07bacf + md5: 7d6fed8a6ebeeebd6362790e22e56bb3 depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.2.0 h1f0fae8_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - license: Apache-2.0 + - spirv-tools >=2026,<2027.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 1944892 - timestamp: 1781798920651 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.0.0-h7a07914_1.conda - sha256: cb37b717480207a66443a93d4342cf88210a74c0820fc0edd70e4fc791a64779 - md5: 74915e5e271ef76a89f711eff5959a75 + size: 5074630 + timestamp: 1777747167205 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda + sha256: 309cf4f04fec0c31b6771a5809a1909b4b3154a2208f52351e1ada006f4c750c + md5: c94a5994ef49749880a8139cf9afcbe1 depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 684224 - timestamp: 1772727417276 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.0-h7a07914_0.conda - sha256: e0d2e852c4cf581efc6e5065b5ae48ab782bc4430d5dde358387c777eaaa9e95 - md5: 25841468f7fa47d4358f962b8b60b19a + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: GPL-2.0-or-later OR LGPL-3.0-or-later + purls: [] + size: 460055 + timestamp: 1718980856608 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda + sha256: a5e341cbf797c65d2477b27d99091393edbaa5178c7d69b7463bb105b0488e69 + md5: 7cbfb3a8bb1b78a7f5518654ac6725ad depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.2.0 hb56ce9e_0 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: GPL-2.0-or-later OR LGPL-3.0-or-later purls: [] - size: 689792 - timestamp: 1780395490135 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.0-h7a07914_1.conda - sha256: cb3c1cefe5b07162fa5f42cac64a3b56d61378954ad3adc347b4044a493e2087 - md5: 2cd295974c11e0e2f2947b3dd96cbe4b + size: 417323 + timestamp: 1718980707330 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.3.0-py314h28848ee_1.conda + sha256: c542d8f0097f9b51175a94246c2d4b40755cc1c156bf893911a44ec94ddf8478 + md5: a99b82fda10aecd4ed853172bf4f6a28 depends: - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 + - gmp >=6.3.0,<7.0a0 - libgcc >=14 - - libopenvino 2026.2.0 h1f0fae8_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - license: Apache-2.0 - purls: [] - size: 691109 - timestamp: 1781798934483 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.0.0-hecca717_1.conda - sha256: 086469e5cd8bfde48975fe8641a7d6924e3da00d75dd06c99e03a78df03a0568 - md5: 559ef86008749861a53025f669004f18 + - mpc >=1.3.1,<2.0a0 + - mpfr >=4.2.1,<5.0a0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: LGPL-3.0-or-later + license_family: LGPL + purls: + - pkg:pypi/gmpy2?source=hash-mapping + size: 254716 + timestamp: 1773245106880 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmpy2-2.3.0-py314h887ad84_1.conda + sha256: 416ce5853b797d1b9a4cde37bdcbc64c6c163f0a0e37cd21490bf8989016c9dd + md5: abb2355559989c73f3cad4cf98eafaa8 depends: - - __glibc >=2.17,<3.0.a0 + - gmp >=6.3.0,<7.0a0 - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 1185558 - timestamp: 1772727435039 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.0-hecca717_0.conda - sha256: 712a3ca68db324a503cfe13223b992fbb90fced5e53d561941b4186c4714bb08 - md5: 4abf4fe404eabad43831c6d496d97747 + - mpc >=1.3.1,<2.0a0 + - mpfr >=4.2.1,<5.0a0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + license: LGPL-3.0-or-later + license_family: LGPL + purls: + - pkg:pypi/gmpy2?source=hash-mapping + size: 245553 + timestamp: 1773245145237 +- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.15-hecca717_0.conda + sha256: 885fa7d1d7e2ad9ed0a700ee0d81ceb49de278253082d517959b22d6336eecce + md5: cf09e9fc938518e91d0706572cadf17a depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libopenvino 2026.2.0 hb56ce9e_0 - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE + license: LGPL-2.0-or-later + license_family: LGPL purls: [] - size: 1223721 - timestamp: 1780395502677 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.0-hecca717_1.conda - sha256: 9944c66eb0cbffcb8cd737e1db2ca72ed34326f006bdedb204910895e0cf3539 - md5: f7193f7d2ffb3645540675945fc05f2c + size: 100054 + timestamp: 1780454302233 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.15-hfae3067_0.conda + sha256: 3e529c517a76a1f4497c51eeedeeb927d33f732dcdb48055a020a83eb3e4e95c + md5: 4db044857ab1d09b2e8f0013c65387c1 depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libopenvino 2026.2.0 h1f0fae8_1 - libstdcxx >=14 - license: Apache-2.0 + license: LGPL-2.0-or-later + license_family: LGPL purls: [] - size: 1226248 - timestamp: 1781798946751 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.0.0-h78e8023_1.conda - sha256: 3a9a404bc9fd39e7395d49f4bd8facb58a01a31aeceabe8723a9d4f8eb5cc381 - md5: fb20f4234bc0e29af1baa13d35e36785 - depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - - snappy >=1.2.2,<1.3.0a0 - license: Apache-2.0 - license_family: APACHE - size: 1257870 - timestamp: 1772727453738 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.0-h78e8023_0.conda - sha256: 7df7413374e2e4e2c77960c0e4265d4a5871668f2766545253b91585c9bf50b7 - md5: cded5d117c53c5963fbab737a5333a33 + size: 103119 + timestamp: 1780455096710 +- conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda + sha256: 88b6601f8edae59834b59b521e293ff3b58361dc1603240f5a8328c24e6936ad + md5: ff9a9bfe791f56b0227597a7651a6af0 depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.2.0 hb56ce9e_0 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - - snappy >=1.2.2,<1.3.0a0 - license: Apache-2.0 - license_family: APACHE + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.0-or-later + license_family: LGPL purls: [] - size: 1281126 - timestamp: 1780395514787 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.0-h78e8023_1.conda - sha256: 2b2bc9ef6dfde1752bf363e463b6b0020c7674c98b6c1aed0a551ac2ea5ac494 - md5: 78008823be2f1e1a3ef286ce2ef9c032 + size: 97308 + timestamp: 1780454389458 +- conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.5.3-py314h42812f9_0.conda + sha256: 5560dd553d53751f70d7a64a4b9474799045d56ee8b4396c44f09e602babf551 + md5: 82a0491c0457c046b0da5d34cdd617cd depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.2.0 h1f0fae8_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 + - python - libstdcxx >=14 - - snappy >=1.2.2,<1.3.0a0 - license: Apache-2.0 - purls: [] - size: 1283246 - timestamp: 1781798960009 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.0.0-hecca717_1.conda - sha256: e7cee37c92ed0b62c0458c13937b6ad66319f1879f236a31c3a67391a999f429 - md5: 0f0281435478b981f672a44d0029018c - depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libopenvino 2026.0.0 hb56ce9e_1 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 456585 - timestamp: 1772727473378 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.0-hecca717_0.conda - sha256: 72474e82f180fb15d8cf207b2ded6c12041871ebf9cae02c81c3a5c381b3f4c9 - md5: 37a1e17203f653196077d666365632fc - depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.2.0 hb56ce9e_0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - purls: [] - size: 500837 - timestamp: 1780395526579 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.0-hecca717_1.conda - sha256: 5a2c5cabb91a241f624b7c99973664dea39013a4189a3700ff5f57e0901e0ef0 - md5: 94b6ad5b5ca490fc6ab1ddbf65178a95 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + purls: + - pkg:pypi/greenlet?source=hash-mapping + size: 268323 + timestamp: 1782524630562 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/greenlet-3.5.3-py314he6363bd_0.conda + sha256: 9df3484c85f62afd9a3fbc1a6a5ce9acbcbaab280d449107edf769111dbb0aa7 + md5: b84e5ba5446550d95c2bed53b9195ca6 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libopenvino 2026.2.0 h1f0fae8_1 + - python - libstdcxx >=14 - license: Apache-2.0 - purls: [] - size: 503112 - timestamp: 1781798972815 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda - sha256: f1061a26213b9653bbb8372bfa3f291787ca091a9a3060a10df4d5297aad74fd - md5: 2446ac1fe030c2aa6141386c1f5a6aed - depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 324993 - timestamp: 1768497114401 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.18-hb9d3cd8_0.conda - sha256: 0bd91de9b447a2991e666f284ae8c722ffb1d84acb594dbd0c031bd656fa32b2 - md5: 70e3400cbbfa03e96dcde7fc13e38c7b - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 + - python 3.14.* *_cp314 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT - size: 28424 - timestamp: 1749901812541 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda - sha256: f41721636a7c2e51bc2c642e1127955ab9c81145470714fdaac44d4d09e4af41 - md5: 33082e13b4769b48cfeb648e15bfe3fc + purls: + - pkg:pypi/greenlet?source=hash-mapping + size: 272769 + timestamp: 1782524641528 +- conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.5.3-py314hb98de8c_0.conda + sha256: 3e7382c137b987f4015d701afdfd8eaf580b24008a80bad80b2f51da437722ce + md5: 5a81d686e0ae1e9eff5081ea846b7cb4 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT + purls: + - pkg:pypi/greenlet?source=hash-mapping + size: 249776 + timestamp: 1782524684535 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-14.3.0-h76987e4_19.conda + sha256: 32ff46517d91ee041287687d65140f7b0e8d08bb3fca141e5f97cc4a7ad7e255 + md5: 1167f6b6bfaf9ba5a450c5c8f3a21795 + depends: + - gcc 14.3.0 h6f77f03_19 + - gxx_impl_linux-64 14.3.0 h2185e75_19 + license: BSD-3-Clause + license_family: BSD + size: 28877 + timestamp: 1778268830629 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx-15.2.0-h76987e4_19.conda + sha256: b00817919d7b2d68e3299031c5332855576ae086ac80032aa0a78b7f6f12dae4 + md5: 327876a856b3a45001cfb9a855efa65f + depends: + - gcc 15.2.0 h0dff253_19 + - gxx_impl_linux-64 15.2.0 hda75c37_19 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 29147 - timestamp: 1773533027610 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-h9eeb4b2_0.conda - sha256: 26cbbd3d7b91801826c779c3f7e87d071856d5cbe3d55b22777ca0d984fb02ed - md5: e6324dfe6c02e0736bb9235f8ef3c8a6 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - libdovi >=3.3.2,<4.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - lcms2 >=2.19,<3.0a0 - - shaderc >=2026.2,<2026.3.0a0 - license: LGPL-2.1-or-later - purls: [] - size: 549348 - timestamp: 1777835950707 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.55-h421ea60_0.conda - sha256: 36ade759122cdf0f16e2a2562a19746d96cf9c863ffaa812f2f5071ebbe9c03c - md5: 5f13ffc7d30ffec87864e678df9957b4 - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libzlib >=1.3.1,<2.0a0 - license: zlib-acknowledgement - size: 317669 - timestamp: 1770691470744 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda - sha256: 377cfe037f3eeb3b1bf3ad333f724a64d32f315ee1958581fc671891d63d3f89 - md5: eba48a68a1a2b9d3c0d9511548db85db - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libzlib >=1.3.2,<2.0a0 - license: zlib-acknowledgement - purls: [] - size: 317729 - timestamp: 1776315175087 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h2b00c02_0.conda - sha256: afbf195443269ae10a940372c1d37cda749355d2bd96ef9587a962abd87f2429 - md5: 11ac478fa72cf12c214199b8a96523f4 + size: 28945 + timestamp: 1778269389494 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-14.3.0-ha384071_19.conda + sha256: 95cdda0bc4df220683aceb03b0989a2b979debfd526660d4f38180e1abec5cd6 + md5: ab314316b1497e7896813f7e9e67ee39 depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.0,<20260108.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 + - gcc 14.3.0 h24a549f_19 + - gxx_impl_linux-aarch64 14.3.0 h0d4f5d4_19 license: BSD-3-Clause license_family: BSD - size: 3638698 - timestamp: 1769749419271 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h6eeba95_1.conda - sha256: a59aa3f076d5710c618ca8fd12d9cd8211d8b738f6b0e0c98517c0162f23a5de - md5: 7a4b11f3dd7374f1991a4088390d07c1 - depends: - - __glibc >=2.17,<3.0.a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 + size: 29038 + timestamp: 1778268850192 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_19.conda + sha256: 23e75a54b9ff48563a3be38c1d17232cf3d95fcddc938852b33090aea6d22505 + md5: e528c6fa3071fcad03ba0e530217fbe9 + depends: + - gcc 15.2.0 h24a549f_19 + - gxx_impl_linux-aarch64 15.2.0 h03e2352_19 license: BSD-3-Clause license_family: BSD purls: [] - size: 3675765 - timestamp: 1780003831209 -- conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.60.2-h61e6d4b_0.conda - sha256: 38b3189cf246f7265e06917f32d046ac375117c88834d045efe73ec48ceacc59 - md5: d62da3d560992bfa2feb611d7be813b8 + size: 29003 + timestamp: 1778269132414 +- conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_19.conda + sha256: 53d60a36476fbe46f495f3d12b986a8e80d28367a05caccdb8d517a7309faf7c + md5: c03b67785fe6fd200ffb9caccde2be18 depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - gdk-pixbuf >=2.44.5,<3.0a0 - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - constrains: - - __glibc >=2.17 - license: LGPL-2.1-or-later - size: 4011590 - timestamp: 1771399906142 -- conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda - sha256: 5571bd8239d71961d4e3ce972f865b3ea95a91ce0b53d5749fe2dd24254ddbda - md5: 492c8d9b1c564c2e948b6cb4ba0f8261 + - gcc 15.2.0 h6123e3b_19 + - gxx_impl_win-64 15.2.0 h22fd5bf_19 + license: BSD-3-Clause + license_family: BSD + size: 824523 + timestamp: 1778273529902 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-14.3.0-h2185e75_19.conda + sha256: a31694c26d6a525d44f81130ebf7b9abe18771b7eaecb2cf93630c0b8b8fb936 + md5: 8b867d053ed89743eeac52c3a50f112d + depends: + - gcc_impl_linux-64 14.3.0 h235f0fe_19 + - libstdcxx-devel_linux-64 14.3.0 h9f08a49_119 + - sysroot_linux-64 + - tzdata + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 15235650 + timestamp: 1778268773535 +- conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda + sha256: 3f5288346b9fe233352443b3c2e31f1fde845e39d3e96475fc05ec2e782af158 + md5: 9d41f3899b512199af0a4bb939b83e21 depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.18.0,<3.0a0 - - fonts-conda-ecosystem - - gdk-pixbuf >=2.44.6,<3.0a0 - - harfbuzz >=14.2.0 - - libgcc >=14 - - libglib >=2.88.1,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - constrains: - - __glibc >=2.17 - license: LGPL-2.1-or-later + - gcc_impl_linux-64 15.2.0 he0086c7_19 + - libstdcxx-devel_linux-64 15.2.0 hd446a21_119 + - sysroot_linux-64 + - tzdata + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 3476570 - timestamp: 1780450632624 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-14.3.0-h8f1669f_18.conda - sha256: e03ed186eefb46d7800224ad34bad1268c9d19ecb8f621380a50601c6221a4a7 - md5: ad3a0e2dc4cce549b2860e2ef0e6d75b + size: 16356816 + timestamp: 1778269332159 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-14.3.0-h0d4f5d4_19.conda + sha256: d83ab2a25d52a2f564c9692aae1ef876a66ca2815f9997812df6babcf37d9e6e + md5: e0761ef9f08505f6d1544ab0e202c764 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14.3.0 - - libstdcxx >=14.3.0 + - gcc_impl_linux-aarch64 14.3.0 h398eab4_19 + - libstdcxx-devel_linux-aarch64 14.3.0 h57c8d61_119 + - sysroot_linux-aarch64 + - tzdata license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 7949259 - timestamp: 1771377982207 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_18.conda - sha256: 0329e23d54a567c259adc962a62172eaa55e6ca33c105ef67b4f3cdb4ef70eaa - md5: ff754fbe790d4e70cf38aea3668c3cb3 + size: 13722799 + timestamp: 1778268804579 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda + sha256: afb0fc36b93539a8e43a8063c8d3e1b4bace38a5a0c3c9e1978c72792d633c62 + md5: 7214ae8a8aade7b48a2bfd8bbb4d9e79 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15.2.0 - - libstdcxx >=15.2.0 + - gcc_impl_linux-aarch64 15.2.0 h3530432_19 + - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_119 + - sysroot_linux-aarch64 + - tzdata license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 8095113 - timestamp: 1771378289674 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - sha256: 7a58892a52739ce4c0f7109de9e91b4353104748eb04fc6441d88e8af444ba99 - md5: 67eef12ce33f7ff99900c212d7076fc2 + purls: [] + size: 14640001 + timestamp: 1778269082840 +- conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_19.conda + sha256: 2f3b16794653b12a4aebe9e8073f51dd5f8ff1c82b40585434d1a7f32ff0a558 + md5: 816b9049907b42a6a4ec655aebe67d3c depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=15.2.0 - - libstdcxx >=15.2.0 + - gcc_impl_win-64 15.2.0 h062b9a2_19 + - libstdcxx-devel_win-64 15.2.0 h0a72980_119 + - m2w64-sysroot_win-64 + - tzdata license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - run_exports: - weak: - - libsanitizer 15.2.0 - size: 7930689 - timestamp: 1778269054623 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda - sha256: 57cb5f92110324c04498b96563211a1bca6a74b2918b1e8df578bfed03cc32e4 - md5: 067590f061c9f6ea7e61e3b2112ed6b3 + size: 14813951 + timestamp: 1778273408391 +- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 + md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 depends: - - __glibc >=2.17,<3.0.a0 - - lame >=3.100,<3.101.0a0 - - libflac >=1.5.0,<1.6.0a0 - - libgcc >=14 - - libogg >=1.3.5,<1.4.0a0 - - libopus >=1.5.2,<2.0a0 - - libstdcxx >=14 - - libvorbis >=1.3.7,<1.4.0a0 - - mpg123 >=1.32.9,<1.33.0a0 - license: LGPL-2.1-or-later - license_family: LGPL + - python >=3.10 + - hyperframe >=6.1,<7 + - hpack >=4.1,<5 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/h2?source=hash-mapping + size: 95967 + timestamp: 1756364871835 +- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-14.2.1-ha770c72_1.conda + sha256: 853beec89ff91cbbf630f1d305b69153eb28a3cb78af95ddc1fb4d30e524c6f4 + md5: 72e956a71241633d8c80aa198fd08784 + depends: + - libharfbuzz-devel 14.2.1 h17a8019_1 + license: MIT + license_family: MIT purls: [] - size: 355619 - timestamp: 1765181778282 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.21-h280c20c_3.conda - sha256: 64e5c80cbce4680a2d25179949739a6def695d72c40ca28f010711764e372d97 - md5: 7af961ef4aa2c1136e11dd43ded245ab + size: 11039 + timestamp: 1782800611635 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h8af1aa0_1.conda + sha256: 57b157674ecee4d16e2873a3624095b4ed1859ce8c574b161e0d9c1723788733 + md5: 41198d1dd71d97c1507e6bd17edd10c7 depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - license: ISC + - libharfbuzz-devel 14.2.1 h3a99ef3_1 + license: MIT + license_family: MIT purls: [] - size: 277661 - timestamp: 1772479381288 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda - sha256: d716847b7deca293d2e49ed1c8ab9e4b9e04b9d780aea49a97c26925b28a7993 - md5: fd893f6a3002a635b5e50ceb9dd2c0f4 + size: 11079 + timestamp: 1782800518091 +- conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h57928b3_1.conda + sha256: c8bf564f2c415b82f056eff98b8967fb75c86821398998f20289397b5acf1ef7 + md5: e706de885f817f9832c56f1c9ad7ce71 depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.2,<79.0a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: blessing + - libharfbuzz-devel 14.2.1 h03b5201_1 + license: MIT + license_family: MIT purls: [] - size: 951405 - timestamp: 1772818874251 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.2-h0c1763c_0.conda - sha256: 1ab603b6ec93933e76027e1f23b21b22b858ba1b56f1e1695ef6fe5e80cb7358 - md5: 062b0ac602fb0adf250e3dfa86f221c4 + size: 11542 + timestamp: 1782801047786 +- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.2.0-pyhd8ed1ab_0.conda + sha256: fdcea5d7cb314485d3907192ef024c704311548c5b0cbeb390cd1951051e29d2 + md5: b395909221b9bd1df066e5930e18855b depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libzlib >=1.3.2,<2.0a0 - license: blessing - purls: [] - size: 957849 - timestamp: 1780574429573 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda - sha256: 365376f4815e5e80def2b3462a2419708b7c292da0da85278386c2618621fff4 - md5: 4aed8e657e9ff156bdbe849b4df44389 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libzlib >=1.3.2,<2.0a0 - license: blessing - run_exports: - weak: - - libsqlite >=3.53.3,<4.0a0 - size: 962119 - timestamp: 1782519076616 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda - sha256: 78668020064fdaa27e9ab65cd2997e2c837b564ab26ce3bf0e58a2ce1a525c6e - md5: 1b08cd684f34175e4514474793d44bcb - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc 15.2.0 he0feb66_18 - constrains: - - libstdcxx-ng ==15.2.0=*_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 5852330 - timestamp: 1771378262446 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - sha256: dff1058c76ec6b8759e41cefa2508162d00e4a5e6721aa68ec3fd10094e702dc - md5: 5794b3bdc38177caf969dabd3af08549 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc 15.2.0 he0feb66_19 - constrains: - - libstdcxx-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - run_exports: {} - size: 5852044 - timestamp: 1778269036376 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_18.conda - sha256: 3c902ffd673cb3c6ddde624cdb80f870b6c835f8bf28384b0016e7d444dd0145 - md5: 6235adb93d064ecdf3d44faee6f468de - depends: - - libstdcxx 15.2.0 h934c35e_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27575 - timestamp: 1771378314494 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda - sha256: 0672b6b6e1791c92e8eccad58081a99d614fcf82bca5841f9dfa3c3e658f83b9 - md5: e5ce228e579726c07255dbf90dc62101 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/hpack?source=compressed-mapping + size: 32884 + timestamp: 1782283986153 +- conda: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyhd8ed1ab_2.conda + sha256: 8027e436ad59e2a7392f6036392ef9d6c223798d8a1f4f12d5926362def02367 + md5: cf25bfddbd3bc275f3d3f9936cee1dd3 depends: - - libstdcxx 15.2.0 h934c35e_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 27776 - timestamp: 1778269074600 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.10-hd0affe5_4.conda - sha256: f0356bb344a684e7616fc84675cfca6401140320594e8686be30e8ac7547aed2 - md5: 1d4c18d75c51ed9d00092a891a547a7d + - python >=3.9 + - six >=1.9 + - webencodings + license: MIT + license_family: MIT + purls: + - pkg:pypi/html5lib?source=hash-mapping + size: 94853 + timestamp: 1734075276288 +- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 + md5: 8e6923fc12f1fe8f8c4e5c9f343256ac depends: - - __glibc >=2.17,<3.0.a0 - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - size: 491953 - timestamp: 1770738638119 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - sha256: 2293884d59cf0436c37fc0a4bad71011a8de2a6913610d1c701a7703377c1f75 - md5: ea0da9c20bbb221b530810c3c68bbe62 + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/hyperframe?source=hash-mapping + size: 17397 + timestamp: 1737618427549 +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_1.conda + sha256: c054e32ac4c14426006edf9d01981dc564559b4065af7c13c26be904e1babf04 + md5: 3c7763347873f07adfd87e8001b5b1d1 depends: - __glibc >=2.17,<3.0.a0 - - libcap >=2.78,<2.79.0a0 - libgcc >=14 - license: LGPL-2.1-or-later + - libstdcxx >=14 + license: MIT + license_family: MIT purls: [] - run_exports: {} - size: 493022 - timestamp: 1780084748140 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-hd0affe5_0.conda - sha256: c5008b602cb5c819f7b52d418b3ed17e1818cbbf6705b189e7ab36bb70cce3d8 - md5: 8ee3cb7f64be0e8c4787f3a4dbe024e6 + size: 12709032 + timestamp: 1784588496729 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda + sha256: ba4e1acdaf6c66961d6a1863c10851dde2378fa18af48de0156b9874556ca438 + md5: da55da4ed68dcac1ce28faa0a3450b65 depends: - - __glibc >=2.17,<3.0.a0 - - libcap >=2.77,<2.78.0a0 - libgcc >=14 - license: LGPL-2.1-or-later + - libstdcxx >=14 + license: MIT + license_family: MIT purls: [] - size: 492799 - timestamp: 1773797095649 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda - sha256: e5f8c38625aa6d567809733ae04bb71c161a42e44a9fa8227abe61fa5c60ebe0 - md5: cd5a90476766d53e901500df9215e927 + size: 12870753 + timestamp: 1784588696185 +- conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_1.conda + sha256: 61f16ae57ee8956d5c1f69e703f7abaebb972d0def1edc5704d7198430398295 + md5: e3232ea6dafd9f12663f860a3194d6dc depends: - - __glibc >=2.17,<3.0.a0 - - lerc >=4.0.0,<5.0a0 - - libdeflate >=1.25,<1.26.0a0 - - libgcc >=14 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - - libstdcxx >=14 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: HPND + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT purls: [] - size: 435273 - timestamp: 1762022005702 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libtorch-2.10.0-cuda130_mkl_hb2e6204_303.conda - sha256: a9cedb62ea683d6446a72d6f03af60462870d70d7ad3eb68ccd1d505ebd1bb2d - md5: 638f651bebabee410207b804afc84f30 + size: 14346784 + timestamp: 1784588850918 +- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.18-pyhcf101f3_0.conda + sha256: c75632ea624aa450a394f570749420c5a2e0997d0216bc29d5d45b0f39df0426 + md5: 577b04680ae422adb86fc60d7b940659 depends: - - __glibc >=2.28,<3.0.a0 - - _openmp_mutex * *_llvm - - _openmp_mutex >=4.5 - - cuda-cudart >=13.0.96,<14.0a0 - - cuda-cupti >=13.0.85,<14.0a0 - - cuda-nvrtc >=13.0.88,<14.0a0 - - cuda-nvtx >=13.0.85,<14.0a0 - - cuda-version >=13.0,<14 - - fmt >=12.1.0,<12.2.0a0 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libblas * *mkl - - libcblas >=3.11.0,<4.0a0 - - libcublas >=13.1.0.3,<14.0a0 - - libcudnn >=9.19.0.56,<10.0a0 - - libcudss >=0.7.1.4,<0.7.2.0a0 - - libcufft >=12.0.0.61,<13.0a0 - - libcufile >=1.15.1.6,<2.0a0 - - libcurand >=10.4.0.35,<11.0a0 - - libcusolver >=12.0.4.66,<13.0a0 - - libcusparse >=12.6.3.3,<13.0a0 - - libgcc >=14 - - libmagma >=2.9.0,<2.9.1.0a0 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - - libuv >=1.51.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - llvm-openmp >=22.1.0 - - mkl >=2025.3.0,<2026.0a0 - - nccl >=2.29.3.1,<3.0a0 - - pybind11-abi 11 - - sleef >=3.9.0,<4.0a0 - constrains: - - pytorch-gpu 2.10.0 - - pytorch 2.10.0 cuda130_mkl_*_303 - - pytorch-cpu <0.0a0 + - python >=3.10 + - python license: BSD-3-Clause license_family: BSD - size: 487186668 - timestamp: 1772223626192 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.10-hd0affe5_4.conda - sha256: ed4d2c01fbeb1330f112f7e399408634db277d3dfb2dec1d0395f56feaa24351 - md5: 6c74fba677b61a0842cbf0f63eee683b + purls: + - pkg:pypi/idna?source=compressed-mapping + size: 163869 + timestamp: 1781620148226 +- conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda + sha256: 5a047f9eac290e679b4e6f6f4cbfcc5acdfbf031a4f06824d4ddb590cdbb850b + md5: 92617c2ba2847cca7a6ed813b6f4ab79 depends: - - __glibc >=2.17,<3.0.a0 - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - size: 144654 - timestamp: 1770738650966 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - sha256: 287d05680e49eea51b8145fbf34bc213c0618b04f32e450e9da5d715e5134e38 - md5: 89e5671a076d99516a6acd72a35b1640 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/imagesize?source=hash-mapping + size: 15729 + timestamp: 1773752188889 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda + sha256: 43e2a5497cad1598ff88a3e69f69bc88b7b8f141fa63c60eab5db296317318b8 + md5: ffc17e785d64e12fc311af9184221839 depends: - - __glibc >=2.17,<3.0.a0 - - libcap >=2.78,<2.79.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later + - python >=3.10 + - zipp >=3.20 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/importlib-metadata?source=compressed-mapping + size: 34766 + timestamp: 1779714582554 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-7.1.0-pyhd8ed1ab_0.conda + sha256: 6a2f86ef0965605d742b5b94229bf8b829258d0a9f640e3651901cc72ef9a0a5 + md5: e3bffa82b874f8b9a2631bddb3869529 + depends: + - importlib_resources >=7.1.0,<7.1.1.0a0 + - python >=3.10 + license: Apache-2.0 + license_family: APACHE purls: [] - run_exports: {} - size: 145969 - timestamp: 1780084753104 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-hd0affe5_0.conda - sha256: 1a1e367c04d66030aa93b4d33905f7f6fbb59cfc292e816fe3e9c1e8b3f4d1e2 - md5: 2c2270f93d6f9073cbf72d821dfc7d72 + size: 10354 + timestamp: 1776068852701 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-7.1.0-pyhd8ed1ab_0.conda + sha256: a563a51aa522998172838e867e6dedcf630bc45796e8612f5a1f6d73e9c8125a + md5: 0ba6225c279baf7ea9473a62ea0ec9ae depends: - - __glibc >=2.17,<3.0.a0 - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - purls: [] - size: 145087 - timestamp: 1773797108513 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda - sha256: 71c8b9d5c72473752a0bb6e91b01dd209a03916cb71f36cc6a564e3a2a132d7a - md5: e179a69edd30d75c0144d7a380b88f28 + - python >=3.10 + - zipp >=3.1.0 + constrains: + - importlib-resources >=7.1.0,<7.1.1.0a0 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/importlib-resources?source=hash-mapping + size: 34809 + timestamp: 1776068839274 +- conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 + md5: 9614359868482abba1bd15ce465e3c42 + depends: + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/iniconfig?source=hash-mapping + size: 13387 + timestamp: 1760831448842 +- conda: https://conda.anaconda.org/conda-forge/linux-64/intel-gmmlib-22.10.0-hb700be7_0.conda + sha256: bc231d69eb6663db0e09738fb916c5e5507147cf1ac60f364f964004e0b29bab + md5: 10909406c1b0e4b57f9f4f0eb0999af8 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 @@ -7321,4809 +7676,3900 @@ packages: license: MIT license_family: MIT purls: [] - size: 75995 - timestamp: 1757032240102 -- conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda - sha256: 3d17b7aa90610afc65356e9e6149aeac0b2df19deda73a51f0a09cf04fd89286 - md5: 56f65185b520e016d29d01657ac02c0d + size: 1013714 + timestamp: 1774422680665 +- conda: https://conda.anaconda.org/conda-forge/linux-64/intel-media-driver-26.1.6-hecca717_0.conda + sha256: 7cbd7fda22db70c64af64c9173434a4ede58e4f220bda52a044e469aa94c65cb + md5: aaf7c3db8c7c4533deb5449d3ba1c51f depends: - __glibc >=2.17,<3.0.a0 + - intel-gmmlib >=22.10.0,<23.0a0 - libgcc >=14 - libstdcxx >=14 + - libva >=2.23.0,<3.0a0 license: MIT license_family: MIT purls: [] - size: 154203 - timestamp: 1770566529700 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda - sha256: 89c84f5b26028a9d0f5c4014330703e7dff73ba0c98f90103e9cef6b43a5323c - md5: d17e3fb595a9f24fa9e149239a33475d - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libudev1 >=257.4 - license: LGPL-2.1-or-later - purls: [] - size: 89551 - timestamp: 1748856210075 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda - sha256: 1a7539cfa7df00714e8943e18de0b06cceef6778e420a5ee3a2a145773758aee - md5: db409b7c1720428638e7c0d509d3e1b5 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - size: 40311 - timestamp: 1766271528534 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42-h5347b49_0.conda - sha256: bc1b08c92626c91500fd9f26f2c797f3eb153b627d53e9c13cd167f1e12b2829 - md5: 38ffe67b78c9d4de527be8315e5ada2c + size: 8782375 + timestamp: 1776080148587 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyh6dadd2b_0.conda + sha256: e3ff0b3d5db5c31830030406f50ac2c9a5c31b86f1c2cef87a6042f0a4c77eb7 + md5: dd5c51d5c42381ba4a2e0ce32e02ba17 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - __win + - comm >=0.1.1 + - debugpy >=1.6.5 + - ipython >=7.23.1 + - jupyter_client >=8.9.0 + - jupyter_core >=5.1,!=6.0.* + - matplotlib-inline >=0.1 + - nest-asyncio2 >=1.7.0 + - packaging >=22 + - psutil >=5.7 + - python >=3.10 + - pyzmq >=25 + - tornado >=6.4.1 + - traitlets >=5.4.0 + - python + constrains: + - appnope >=0.1.2 license: BSD-3-Clause license_family: BSD - purls: [] - size: 40297 - timestamp: 1775052476770 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.1-h5347b49_0.conda - sha256: 3f0edf1280e2f6684a986f821eaa3e123d2694a00b31b96ca0d4a4c12c129231 - md5: 7d0a66598195ef00b6efc55aefc7453b + purls: + - pkg:pypi/ipykernel?source=hash-mapping + size: 138046 + timestamp: 1781101760172 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.3.0-pyha191276_0.conda + sha256: 305ad9226363ff5f259c404dd9a7508183a2e150739b2adc43db7d817234da66 + md5: 2b47a10e4d98334f8171ff60aea05ff3 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 40163 - timestamp: 1779118517630 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda - sha256: 9b1bdce27a7e31f7d241aeecff67a1f3101d52a2b1e33ccc2cdf2613072bf81f - md5: 01bb81d12c957de066ea7362007df642 + - __linux + - comm >=0.1.1 + - debugpy >=1.6.5 + - ipython >=7.23.1 + - jupyter_client >=8.9.0 + - jupyter_core >=5.1,!=6.0.* + - matplotlib-inline >=0.1 + - nest-asyncio2 >=1.7.0 + - packaging >=22 + - psutil >=5.7 + - python >=3.10 + - pyzmq >=25 + - tornado >=6.4.1 + - traitlets >=5.4.0 + - python + constrains: + - appnope >=0.1.2 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/ipykernel?source=compressed-mapping + size: 138635 + timestamp: 1781101665847 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.15.0-pyh53cf698_0.conda + sha256: d9fa14ec35119901bf702a9a3e8a5570daef2aada7d03878e4c24d9de912302b + md5: 2f4ea7f616b30363d8dde5cc15e7af2e depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 + - __unix + - decorator >=5.1.0 + - ipython_pygments_lexers >=1.0.0 + - jedi >=0.18.2 + - matplotlib-inline >=0.1.6 + - prompt-toolkit >=3.0.41,<3.1.0 + - psutil >=7 + - pygments >=2.14.0 + - python >=3.11 + - stack_data >=0.6.0 + - traitlets >=5.13.0 + - typing_extensions >=4.6 + - pexpect >4.6 + - python license: BSD-3-Clause license_family: BSD - purls: [] - run_exports: - weak: - - libuuid >=2.42.2,<3.0a0 - size: 40017 - timestamp: 1781625522462 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.51.0-hb03c661_1.conda - sha256: c180f4124a889ac343fc59d15558e93667d894a966ec6fdb61da1604481be26b - md5: 0f03292cc56bf91a077a134ea8747118 + purls: + - pkg:pypi/ipython?source=compressed-mapping + size: 658801 + timestamp: 1782482716877 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.15.0-pyhe2676ad_0.conda + sha256: c3df12e766572060be653933aae5f6a09ccebfa86cff3b10b9b880ace29088d9 + md5: a4c278221ad4da75ba1637f8d230e658 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - __win + - decorator >=5.1.0 + - ipython_pygments_lexers >=1.0.0 + - jedi >=0.18.2 + - matplotlib-inline >=0.1.6 + - prompt-toolkit >=3.0.41,<3.1.0 + - psutil >=7 + - pygments >=2.14.0 + - python >=3.11 + - stack_data >=0.6.0 + - traitlets >=5.13.0 + - typing_extensions >=4.6 + - colorama >=0.4.4 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/ipython?source=hash-mapping + size: 657739 + timestamp: 1782482745122 +- conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda + sha256: 894682a42a7d659ae12878dbcb274516a7031bbea9104e92f8e88c1f2765a104 + md5: bd80ba060603cc228d9d81c257093119 + depends: + - pygments + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/ipython-pygments-lexers?source=hash-mapping + size: 13993 + timestamp: 1737123723464 +- conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.20.0-pyhcf101f3_0.conda + sha256: 744143551c1c7b528b82533fb641b9d7db20b2203abc4c2635c387fa6c089fc3 + md5: c2b3d37aa1411031126036ee76a8a861 + depends: + - python >=3.10 + - parso >=0.8.6,<0.9.0 + - python + license: Apache-2.0 AND MIT + purls: + - pkg:pypi/jedi?source=compressed-mapping + size: 2715215 + timestamp: 1782251948616 +- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + sha256: fc9ca7348a4f25fed2079f2153ecdcf5f9cf2a0bc36c4172420ca09e1849df7b + md5: 04558c96691bed63104678757beb4f8d + depends: + - markupsafe >=2.0 + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/jinja2?source=hash-mapping + size: 120685 + timestamp: 1764517220861 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda + sha256: db973a37d75db8e19b5f44bbbdaead0c68dde745407f281e2a7fe4db74ec51d7 + md5: ada41c863af263cc4c5fcbaff7c3e4dc + depends: + - attrs >=22.2.0 + - jsonschema-specifications >=2023.3.6 + - python >=3.10 + - referencing >=0.28.4 + - rpds-py >=0.25.0 + - python license: MIT license_family: MIT - size: 895108 - timestamp: 1753948278280 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.23.0-he1eb515_0.conda - sha256: 255c7d00b54e26f19fad9340db080716bced1d8539606e2b8396c57abd40007c - md5: 25813fe38b3e541fc40007592f12bae5 + purls: + - pkg:pypi/jsonschema?source=hash-mapping + size: 82356 + timestamp: 1767839954256 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda + sha256: 0a4f3b132f0faca10c89fdf3b60e15abb62ded6fa80aebfc007d05965192aa04 + md5: 439cd0f567d697b20a8f45cb70a1005a depends: - - __glibc >=2.17,<3.0.a0 - - libdrm >=2.4.125,<2.5.0a0 - - libegl >=1.7.0,<2.0a0 - - libgcc >=14 - - libgl >=1.7.0,<2.0a0 - - libglx >=1.7.0,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - wayland >=1.24.0,<2.0a0 - - wayland-protocols - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 + - python >=3.10 + - referencing >=0.31.0 + - python license: MIT license_family: MIT - purls: [] - size: 221308 - timestamp: 1765652453244 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda - sha256: ca494c99c7e5ecc1b4cd2f72b5584cef3d4ce631d23511184411abcbb90a21a5 - md5: b4ecbefe517ed0157c37f8182768271c - depends: - - libogg - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - libgcc >=14 - - libogg >=1.3.5,<1.4.0a0 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 285894 - timestamp: 1753879378005 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda - sha256: 38850657dd6835613ef16b34895a54bea98bc7639db6a649c886b331635714fc - md5: 9f6b0090c3902b2c763a16f7dace7b6e + purls: + - pkg:pypi/jsonschema-specifications?source=hash-mapping + size: 19236 + timestamp: 1757335715225 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-cache-1.0.1-pyhff2d567_0.conda + sha256: 054d397dd45ed08bffb0976702e553dfb0d0b0a477da9cff36e2ea702e928f48 + md5: b0ee650829b8974202a7abe7f8b81e5a depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - intel-media-driver >=26.1.2,<26.2.0a0 - - libva >=2.23.0,<3.0a0 + - attrs + - click + - importlib-metadata + - nbclient >=0.2 + - nbformat + - python >=3.9 + - pyyaml + - sqlalchemy >=1.3.12,<3 + - tabulate license: MIT license_family: MIT - purls: [] - size: 287992 - timestamp: 1772980546550 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda - sha256: 8e1119977f235b488ab32d540c018d3fd1eccefc3dd3859921a0ff555d8c10d2 - md5: 10f5008f1c89a40b09711b5a9cdbd229 + purls: + - pkg:pypi/jupyter-cache?source=hash-mapping + size: 31236 + timestamp: 1731777189586 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.9.1-pyhcf101f3_0.conda + sha256: 48b18974cc93b2c0d2681563237034e521f51d1878f0bbc6a5a67ca31b1608a6 + md5: 49440e66df843bee2273937e8032ec43 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 + - jupyter_core >=5.1 + - python >=3.10 + - python-dateutil >=2.8.2 + - pyzmq >=25.0 + - tornado >=6.4.1 + - traitlets >=5.3 + - typing_extensions >=4.13.0 + - python license: BSD-3-Clause license_family: BSD - purls: [] - size: 1070048 - timestamp: 1762010217363 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda - sha256: a68280d57dfd29e3d53400409a39d67c4b9515097eba733aa6fe00c880620e2b - md5: 31ad065eda3c2d88f8215b1289df9c89 + purls: + - pkg:pypi/jupyter-client?source=compressed-mapping + size: 117954 + timestamp: 1781019994076 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda + sha256: ed709a6c25b731e01563521ef338b93986cd14b5bc17f35e9382000864872ccc + md5: a8db462b01221e9f5135be466faeb3e0 depends: - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxrandr >=1.5.5,<2.0a0 + - __win + - pywin32 + - platformdirs >=2.5 + - python >=3.10 + - traitlets >=5.3 + - python constrains: - - libvulkan-headers 1.4.341.0.* - license: Apache-2.0 - license_family: APACHE - purls: [] - size: 199795 - timestamp: 1770077125520 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda - sha256: 3aed21ab28eddffdaf7f804f49be7a7d701e8f0e46c856d801270b470820a37b - md5: aea31d2e5b1091feca96fcfe945c3cf9 + - pywin32 >=300 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/jupyter-core?source=hash-mapping + size: 64679 + timestamp: 1760643889625 +- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda + sha256: 1d34b80e5bfcd5323f104dbf99a2aafc0e5d823019d626d0dce5d3d356a2a52a + md5: b38fe4e78ee75def7e599843ef4c1ab0 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 + - __unix + - python + - platformdirs >=2.5 + - python >=3.10 + - traitlets >=5.3 + - python constrains: - - libwebp 1.6.0 + - pywin32 >=300 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyter-core?source=hash-mapping + size: 65503 + timestamp: 1760643864586 +- conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda + sha256: 41557eeadf641de6aeae49486cef30d02a6912d8da98585d687894afd65b356a + md5: 86d9cba083cd041bfbf242a01a7a1999 + constrains: + - sysroot_linux-64 ==2.28 + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later + license_family: GPL purls: [] - size: 429011 - timestamp: 1752159441324 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda - sha256: 666c0c431b23c6cec6e492840b176dde533d48b7e6fb8883f5071223433776aa - md5: 92ed62436b625154323d40d5f2f11dd7 + size: 1278712 + timestamp: 1765578681495 +- conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda + sha256: 5d224bf4df9bac24e69de41897c53756108c5271a0e5d2d2f66fd4e2fbc1d84b + md5: bb3b7cad9005f2cbf9d169fb30263f3e + constrains: + - sysroot_linux-aarch64 ==2.28 + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later + license_family: GPL + purls: [] + size: 1248134 + timestamp: 1765578613607 +- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda + sha256: 0960d06048a7185d3542d850986d807c6e37ca2e644342dd0c72feefcf26c2a4 + md5: b38117a3c920364aff79f870c984b4a3 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - - pthread-stubs - - xorg-libxau >=1.0.11,<2.0a0 - - xorg-libxdmcp - license: MIT - license_family: MIT + license: LGPL-2.1-or-later purls: [] - size: 395888 - timestamp: 1727278577118 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda - sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c - md5: 5aa797f8787fe7a17d1b0821485b5adc + size: 134088 + timestamp: 1754905959823 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda + sha256: 5ce830ca274b67de11a7075430a72020c1fb7d486161a82839be15c2b84e9988 + md5: e7df0aab10b9cbb73ab2a467ebfaf8c7 depends: - - libgcc-ng >=12 + - libgcc >=13 license: LGPL-2.1-or-later purls: [] - size: 100393 - timestamp: 1702724383534 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.1-hca5e8e5_0.conda - sha256: d2195b5fbcb0af1ff7b345efdf89290c279b8d1d74f325ae0ac98148c375863c - md5: 2bca1fbb221d9c3c8e3a155784bbc2e9 + size: 129048 + timestamp: 1754906002667 +- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbde042b_1.conda + sha256: 9b07046870772f28740e3f6149f09ff222843733087a33c5540b169c6289652d + md5: 54157a1c8c0bb70f62dd0b17fba7e7f2 depends: - __glibc >=2.17,<3.0.a0 + - keyutils >=1.6.3,<2.0a0 + - libedit >=3.1.20250104,<3.2.0a0 + - libedit >=3.1.20250104,<4.0a0 - libgcc >=14 - libstdcxx >=14 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - xkeyboard-config - - xorg-libxau >=1.0.12,<2.0a0 - license: MIT/X11 Derivative + - openssl >=3.5.7,<4.0a0 + license: MIT license_family: MIT - size: 837922 - timestamp: 1764794163823 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda - sha256: 046f2ff4acebd8729fac03e99c8c307dfb48b6a32894ba8c11576e78f6e76e43 - md5: dc8b067e22b414172bedd8e3f03f3c95 + purls: [] + size: 1388990 + timestamp: 1781859420533 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-h2fb54aa_1.conda + sha256: b644718416a22b5d57c1194ea7207b7f8d33d6a2b42775763782d76cd7457aea + md5: 5fd2304064ef6199d1f91ec60ee7b820 depends: - - __glibc >=2.17,<3.0.a0 + - keyutils >=1.6.3,<2.0a0 + - libedit >=3.1.20250104,<3.2.0a0 + - libedit >=3.1.20250104,<4.0a0 - libgcc >=14 - libstdcxx >=14 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - xkeyboard-config - - xorg-libxau >=1.0.12,<2.0a0 - license: MIT/X11 Derivative + - openssl >=3.5.7,<4.0a0 + license: MIT license_family: MIT purls: [] - size: 851166 - timestamp: 1780213397575 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.2-hca6bf5a_0.conda - sha256: 08d2b34b49bec9613784f868209bb7c3bb8840d6cf835ff692e036b09745188c - md5: f3bc152cb4f86babe30f3a4bf0dbef69 + size: 1518484 + timestamp: 1781859412954 +- conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h719d79b_1.conda + sha256: c55745796e762ba9e817ab1fc0f21f1a049e202f90fa762df39578f37923f6c2 + md5: 00335c2c4a98656554771aaf6f1a7400 depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.2,<79.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - libxml2 2.15.2 + - openssl >=3.5.7,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 557492 - timestamp: 1772704601644 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda - sha256: 3d44f737c5ae52d5af32682cc1530df433f401f8e58a7533926536244127572a - md5: e79d2c2f24b027aa8d5ab1b1ba3061e7 + purls: [] + size: 750320 + timestamp: 1781859644591 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 + sha256: aad2a703b9d7b038c0f745b853c6bb5f122988fe1a7a096e0e606d9cbec4eaab + md5: a8832b479f93521a9e7b5b743803be51 depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.3,<79.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - libxml2 2.15.3 - license: MIT - license_family: MIT + - libgcc-ng >=12 + license: LGPL-2.0-only + license_family: LGPL purls: [] - size: 559775 - timestamp: 1776376739004 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.2-he237659_0.conda - sha256: 275c324f87bda1a3b67d2f4fcc3555eeff9e228a37655aa001284a7ceb6b0392 - md5: e49238a1609f9a4a844b09d9926f2c3d + size: 508258 + timestamp: 1664996250081 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 + sha256: 2502904a42df6d94bd743f7b73915415391dd6d31d5f50cb57c0a54a108e7b0a + md5: ab05bcf82d8509b4243f07e93bada144 + depends: + - libgcc-ng >=12 + license: LGPL-2.0-only + license_family: LGPL + purls: [] + size: 604863 + timestamp: 1664997611416 +- conda: https://conda.anaconda.org/conda-forge/win-64/lame-4.0-h4a41cd3_0.conda + sha256: ed10e660e52e7180cef2e2e90d912c21b8e84fed4f0bccf03dfd42a79b113846 + md5: fe5aa7c5c8c387db5fadce4d814a8d04 + depends: + - mpg123 >=1.32.9,<1.33.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.0-only + license_family: LGPL + purls: [] + size: 357834 + timestamp: 1783769697203 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_1.conda + sha256: 112b5b9462572d970f4abd2912f76a25ee7db158b1e7260163d91dd8a630db84 + md5: 8b3ce45e929cd8e8e5f4d18586b56d8b depends: - __glibc >=2.17,<3.0.a0 - - icu >=78.2,<79.0a0 - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libxml2-16 2.15.2 hca6bf5a_0 - - libzlib >=1.3.1,<2.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 license: MIT license_family: MIT - size: 45968 - timestamp: 1772704614539 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda - sha256: 3bc5551720c58591f6ea1146f7d1539c734ed1c40e7b9f5cb8cb7e900c509aba - md5: 995d8c8bad2a3cc8db14675a153dec2b + purls: [] + size: 251971 + timestamp: 1780211695895 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_1.conda + sha256: ed213207bbf11663181941e0931caa9ce748f0544688e8e0fbcf330bca279389 + md5: 9183fda4be2b4ee5760cdb8e540439c8 depends: - - __glibc >=2.17,<3.0.a0 - - icu >=78.3,<79.0a0 - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libxml2-16 2.15.3 hca6bf5a_0 - - libzlib >=1.3.2,<2.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - libtiff >=4.7.1,<4.8.0a0 license: MIT license_family: MIT purls: [] - size: 46810 - timestamp: 1776376751152 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda - sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4 - md5: edb0dca6bc32e4f4789199455a1dbeb8 + size: 296564 + timestamp: 1780211834883 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda + sha256: 27d83f1188cd19bcb7754a078b3fa7f4cfb8527f8eb2fde54dd01fc529d1adec + md5: 449500f2c089da11c40f5c21312e3e07 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=13 + - zstd >=1.5.7,<1.6.0a0 constrains: - - zlib 1.3.1 *_2 - license: Zlib - license_family: Other - size: 60963 - timestamp: 1727963148474 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - sha256: 55044c403570f0dc26e6364de4dc5368e5f3fc7ff103e867c487e2b5ab2bcda9 - md5: d87ff7921124eccd67248aa483c23fec + - binutils_impl_linux-64 2.46.1 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 745303 + timestamp: 1784214507189 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda + sha256: 2c4901f4227b0850328ed0c69f958b30ad2cd18982f7a31c7c1f911827004d08 + md5: 489444d0acb2a579d2a002d85a08c059 depends: - - __glibc >=2.17,<3.0.a0 + - zstd >=1.5.7,<1.6.0a0 constrains: - - zlib 1.3.2 *_2 - license: Zlib - license_family: Other + - binutils_impl_linux-aarch64 2.46.1 + license: GPL-3.0-only + license_family: GPL purls: [] - run_exports: - weak: - - libzlib >=1.3.2,<2.0a0 - size: 63629 - timestamp: 1774072609062 -- conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-22.1.0-h4922eb0_0.conda - sha256: 543c9f17cf6ee6d7b635823fb9009df421d510c36739534df6ae43eadaf6ff4e - md5: 5e7da5333653c631d27732893b934351 + size: 905305 + timestamp: 1784214534868 +- conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.46.1-default_hfd38196_102.conda + sha256: e3cb27be096acab3c8d5ed36961e291e3e6e9c2323dd3fd565623a4c093e931c + md5: 179ed4e90a5c9560bebb28292a726f12 depends: - - __glibc >=2.17,<3.0.a0 + - zstd >=1.5.7,<1.6.0a0 constrains: - - intel-openmp <0.0a0 - - openmp 22.1.0|22.1.0.* - license: Apache-2.0 WITH LLVM-exception - license_family: APACHE - size: 6136884 - timestamp: 1772024545000 -- conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-hb9d3cd8_2.conda - sha256: d652c7bd4d3b6f82b0f6d063b0d8df6f54cc47531092d7ff008e780f3261bdda - md5: 33405d2a66b1411db9f7242c8b97c9e7 + - binutils_impl_win-64 2.46.1 + license: GPL-3.0-only + license_family: GPL + size: 896485 + timestamp: 1784214548635 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda + sha256: f84cb54782f7e9cea95e810ea8fef186e0652d0fa73d3009914fa2c1262594e1 + md5: a752488c68f2e7c456bcbd8f16eec275 depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: GPL-3.0-or-later - license_family: GPL + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 + license_family: Apache purls: [] - size: 513088 - timestamp: 1727801714848 -- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda - sha256: c279be85b59a62d5c52f5dd9a4cd43ebd08933809a8416c22c3131595607d4cf - md5: 9a17c4307d23318476d7fbf0fedc0cde + size: 261513 + timestamp: 1773113328888 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda + sha256: 8957fd460c1c132c8031f65fd5f56ec3807fd71b7cab2c5e2b0937b13404ab36 + md5: d13423b06447113a90b5b1366d4da171 depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - constrains: - - jinja2 >=3.0.0 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/markupsafe?source=hash-mapping - size: 27424 - timestamp: 1772445227915 -- conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2025.3.0-h0e700b2_463.conda - sha256: 659d79976f06d2b796a0836414573a737a0856b05facfa77e5cc114081a8b3d4 - md5: f121ddfc96e6a93a26d85906adf06208 + - libstdcxx >=14 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 240444 + timestamp: 1773114901155 +- conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda + sha256: 45df58fca800b552b17c3914cc9ab0d55a82c5172d72b5c44a59c710c06c5473 + md5: 54b231d595bc1ff9bff668dd443ee012 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 172395 + timestamp: 1773113455582 +- conda: https://conda.anaconda.org/conda-forge/linux-64/level-zero-1.29.0-hb700be7_0.conda + sha256: d87cfc5eaa08eefff97d891ecb49faa958fcfc32a425767796269c4100d4e516 + md5: f3c3bc77c96af553f761af0e78bc8d9d depends: - __glibc >=2.17,<3.0.a0 - - _openmp_mutex * *_llvm - - _openmp_mutex >=4.5 - libgcc >=14 - libstdcxx >=14 - - llvm-openmp >=21.1.8 - - tbb >=2022.3.0 - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary - size: 125728406 - timestamp: 1767634121080 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.5.4-np2py314h6477eea_1.conda - sha256: bf58f5b2d89958e8880cfde4e5e3d86f230485c5f5f1043fc47a56656f9655c6 - md5: af93de29d470abbe21a6adc2ec58516e + license: MIT + license_family: MIT + purls: [] + size: 875773 + timestamp: 1780142086148 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda + sha256: a7a4481a4d217a3eadea0ec489826a69070fcc3153f00443aa491ed21527d239 + md5: 6f7b4302263347698fd24565fbf11310 depends: - - python - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - libgcc >=14 - - python_abi 3.14.* *_cp314 - - numpy >=1.23,<3 - license: MPL-2.0 AND Apache-2.0 - size: 345273 - timestamp: 1771362516002 -- conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-h24ddda3_1.conda - sha256: 1bf794ddf2c8b3a3e14ae182577c624fa92dea975537accff4bc7e5fea085212 - md5: aa14b9a5196a6d8dd364164b7ce56acf + - libstdcxx >=14 + constrains: + - libabseil-static =20260107.1=cxx17* + - abseil-cpp =20260107.1 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 1384817 + timestamp: 1770863194876 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260526.0-cxx17_h7b12aa8_1.conda + sha256: 32933de2d4fa6e6ffd949052815b49cb65a0649ad70007155c533ab97ea8cefd + md5: c4393db381bffa0a83a8d9e47b238106 depends: - __glibc >=2.17,<3.0.a0 - - gmp >=6.3.0,<7.0a0 - - libgcc >=13 - - mpfr >=4.2.1,<5.0a0 - license: LGPL-3.0-or-later - license_family: LGPL - size: 116777 - timestamp: 1725629179524 -- conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h90cbb55_3.conda - sha256: f25d2474dd557ca66c6231c8f5ace5af312efde1ba8290a6ea5e1732a4e669c0 - md5: 2eeb50cab6652538eee8fc0bc3340c81 - depends: - - __glibc >=2.17,<3.0.a0 - - gmp >=6.3.0,<7.0a0 - - libgcc >=13 - license: LGPL-3.0-only - license_family: LGPL - size: 634751 - timestamp: 1725746740014 -- conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda - sha256: 39c4700fb3fbe403a77d8cc27352fa72ba744db487559d5d44bf8411bb4ea200 - md5: c7f302fd11eeb0987a6a5e1f3aed6a21 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - license: LGPL-2.1-only - license_family: LGPL + - libgcc >=14 + - libstdcxx >=14 + constrains: + - abseil-cpp =20260526.0 + - libabseil-static =20260526.0=cxx17* + license: Apache-2.0 + license_family: Apache purls: [] - size: 491140 - timestamp: 1730581373280 -- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.1.2-py314h9891dd4_1.conda - sha256: d41c2734d314303e329680aeef282766fe399a0ce63297a68a2f8f9b43b1b68a - md5: c6752022dcdbf4b9ef94163de1ab7f03 + size: 1437712 + timestamp: 1780524559298 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260107.1-cxx17_h6983b43_0.conda + sha256: 37675140819e10235a8ff342cb09f688f843ac390b64856d8e230700bbd7d5aa + md5: 2a19160c13e688710dd200812fc9a6d3 depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 + constrains: + - abseil-cpp =20260107.1 + - libabseil-static =20260107.1=cxx17* license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/msgpack?source=hash-mapping - size: 103380 - timestamp: 1762504077009 -- conda: https://conda.anaconda.org/conda-forge/linux-64/nccl-2.29.3.1-h8340e53_0.conda - sha256: 3c232b089333a410033c81e31b0e8e7a627fadf781834a105a5160fabdd86423 - md5: 23700d608d839686cec4060178b94da8 + purls: [] + size: 1401836 + timestamp: 1770863223557 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260526.0-cxx17_h6983b43_1.conda + sha256: 51f53ae6266889f0972a10c2773465da5554fdf55ac15b9dea3e7f77520022d9 + md5: d8637f7cc7143fe4ad2eceac8e8cf033 depends: - - __glibc >=2.28,<3.0.a0 - - cuda-version >=13,<14.0a0 - libgcc >=14 - libstdcxx >=14 - license: BSD-3-Clause - license_family: BSD - size: 221809897 - timestamp: 1770778626119 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 - md5: 47e340acb35de30501a76c7c799c41d7 + constrains: + - abseil-cpp =20260526.0 + - libabseil-static =20260526.0=cxx17* + license: Apache-2.0 + license_family: Apache + purls: [] + size: 1457025 + timestamp: 1780524543286 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libass-0.17.5-h434b012_0.conda + sha256: 24d4b59a0267e1c159c3af82df106b42faeefccceba3c489044c93abf113c503 + md5: c1cb4d6e8a6e3f724740dee5346fc8b4 depends: + - libgcc >=14 - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: X11 AND BSD-3-Clause + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libzlib >=1.3.2,<2.0a0 + - fribidi >=1.0.16,<2.0a0 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + - libiconv >=1.18,<2.0a0 + - harfbuzz >=14.2.1 + license: ISC purls: [] - size: 891641 - timestamp: 1738195959188 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - sha256: fc89f74bbe362fb29fa3c037697a89bec140b346a2469a90f7936d1d7ea4d8a3 - md5: fc21868a1a5aacc937e7a18747acb8a5 + size: 154964 + timestamp: 1782298715788 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.5-hac26362_0.conda + sha256: e6029ed8232ea197f54ffffb7701b85ae1ee2850d44699d9554fadb95c578bd7 + md5: 00b2bb0ddef69e0fe6d42aff08abeaec depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 - license: X11 AND BSD-3-Clause + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - fontconfig >=2.18.1,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.16,<2.0a0 + - libiconv >=1.18,<2.0a0 + - harfbuzz >=14.2.1 + - libzlib >=1.3.2,<2.0a0 + license: ISC purls: [] - run_exports: - weak: - - ncurses >=6.6,<7.0a0 - size: 918956 - timestamp: 1777422145199 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.2-py314h2b28147_1.conda - sha256: 1d8377c8001c15ed12c2713b723213474b435706ab9d34ede69795d64af9e94d - md5: 4ea6b620fdf24a1a0bc4f1c7134dfafb + size: 178938 + timestamp: 1782298717792 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h4a7cf45_openblas.conda + build_number: 8 + sha256: b2da6bfd72a1c9cb143ccf64bf5b28790cb4eb58bd1cb978f6537b2322f7d48b + md5: 00fc660ab1b2f5ca07e92b4900d10c79 depends: - - python - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libcblas >=3.9.0,<4.0a0 - - python_abi 3.14.* *_cp314 - - libblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 + - libopenblas >=0.3.33,<0.3.34.0a0 + - libopenblas >=0.3.33,<1.0a0 constrains: - - numpy-base <0a0 + - blas 2.308 openblas + - mkl <2027 + - libcblas 3.11.0 8*_openblas + - liblapack 3.11.0 8*_openblas + - liblapacke 3.11.0 8*_openblas license: BSD-3-Clause license_family: BSD - size: 8926994 - timestamp: 1770098474394 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.3-py314h2b28147_0.conda - sha256: f2ba8cb0d86a6461a6bcf0d315c80c7076083f72c6733c9290086640723f79ec - md5: 36f5b7eb328bdc204954a2225cf908e2 + purls: [] + size: 18804 + timestamp: 1779859100675 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-8_h5875eb1_mkl.conda + build_number: 8 + sha256: e30f7fa2a2fb6985f9ac6604575cb318b9ae44e263f6cacc282daee9dbd6127d + md5: 8ae84a87356b604a62f1aee136ef8efb depends: - - python - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.14.* *_cp314 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 + - mkl >=2026.0.0,<2027.0a0 constrains: - - numpy-base <0a0 + - blas 2.308 mkl + - libcblas 3.11.0 8*_mkl + - liblapacke 3.11.0 8*_mkl + - liblapack 3.11.0 8*_mkl + track_features: + - blas_mkl + - blas_mkl_2 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/numpy?source=hash-mapping - size: 8927860 - timestamp: 1773839233468 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py312h33ff503_0.conda - sha256: dfcbeadb3e7ad0da7a55a0525884ca34c19584154e13cc4159396b305d1bd445 - md5: 6e31d55ee1110fda83b4f4045f4d73ff + purls: [] + size: 19257 + timestamp: 1779859078137 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda + build_number: 8 + sha256: c897399c943168c646f659952f73a9154f9122d7e9b151649dbe075dfdcd484b + md5: 8b44dad125760faa2b3925f5a6e3112d depends: - - python - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - liblapack >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - - python_abi 3.12.* *_cp312 - - libcblas >=3.9.0,<4.0a0 + - libopenblas >=0.3.33,<0.3.34.0a0 + - libopenblas >=0.3.33,<1.0a0 constrains: - - numpy-base <0a0 + - libcblas 3.11.0 8*_openblas + - liblapack 3.11.0 8*_openblas + - mkl <2027 + - blas 2.308 openblas + - liblapacke 3.11.0 8*_openblas license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/numpy?source=hash-mapping - size: 8759520 - timestamp: 1779169200325 -- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py314h2b28147_0.conda - sha256: bc61ae892973751a6b0e6ecea57ed6d7053224bddcb007165d6ceb1d7344ad47 - md5: f49b5f950379e0b97c35ca97682f7c6a + purls: [] + size: 18843 + timestamp: 1779859042591 +- conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda + build_number: 8 + sha256: 43a87b59e6d4c68d80b2e4de487b1b54d66fe1f9a06636909b5a5ab9eae27269 + md5: 4a0ce24b1a946ff77ae9eaa7ef015a33 depends: - - python - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - liblapack >=3.9.0,<4.0a0 - - python_abi 3.14.* *_cp314 - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 + - mkl >=2026.0.0,<2027.0a0 constrains: - - numpy-base <0a0 + - libcblas 3.11.0 8*_mkl + - liblapacke 3.11.0 8*_mkl + - blas 2.308 mkl + - liblapack 3.11.0 8*_mkl license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/numpy?source=hash-mapping - size: 8928909 - timestamp: 1779169198391 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.3-hb9d3cd8_0.conda - sha256: 2254dae821b286fb57c61895f2b40e3571a070910fdab79a948ff703e1ea807b - md5: 56f8947aa9d5cf37b0b3d43b83f34192 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - opencl-headers >=2024.10.24 - license: BSD-2-Clause - license_family: BSD - size: 106742 - timestamp: 1743700382939 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.4-hb03c661_1.conda - sha256: 75f3bf733523a338f73d6c276c4a26634877cd970edb558f2769d9fa52b100a9 - md5: c2871ba95727fd1382c05db66048b64c + purls: [] + size: 68103 + timestamp: 1779859688049 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda + sha256: 318f36bd49ca8ad85e6478bd8506c88d82454cc008c1ac1c6bf00a3c42fa610e + md5: 72c8fd1af66bd67bf580645b426513ed depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - opencl-headers >=2025.6.13 - license: BSD-2-Clause - license_family: BSD + license: MIT + license_family: MIT purls: [] - size: 109598 - timestamp: 1780362789611 -- conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-h5888daf_0.conda - sha256: 2b6ce54174ec19110e1b3c37455f7cd138d0e228a75727a9bba443427da30a36 - md5: 45c3d2c224002d6d0d7769142b29f986 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - license: Apache-2.0 - license_family: APACHE - size: 55357 - timestamp: 1749853464518 -- conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-hecca717_0.conda - sha256: 8de2f0cd8a659b01abf86e7fbb8cea4f28ada62fd288429a2bbc040db1b98dd0 - md5: c930c8052d780caa41216af7de472226 + size: 79965 + timestamp: 1764017188531 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda + sha256: 5fa8c163c8d776503aa68cdaf798ff9440c76a0a1c3ea84e0c43dbf1ece8af4d + md5: 8ec1d03f3000108899d1799d9964f281 depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE + license: MIT + license_family: MIT purls: [] - size: 55754 - timestamp: 1773844383536 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-hc22cd8d_0.conda - sha256: 3f231f2747a37a58471c82a9a8a80d92b7fece9f3fce10901a5ac888ce00b747 - md5: b28cf020fd2dead0ca6d113608683842 + size: 80030 + timestamp: 1764017273715 +- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda + sha256: 5097303c2fc8ebf9f9ea9731520aa5ce4847d0be41764edd7f6dee2100b82986 + md5: 444b0a45bbd1cb24f82eedb56721b9c4 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - license: BSD-2-Clause - license_family: BSD + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT purls: [] - size: 731471 - timestamp: 1739400677213 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda - sha256: 44c877f8af015332a5d12f5ff0fb20ca32f896526a7d0cdb30c769df1144fb5c - md5: f61eb8cd60ff9057122a3d338b99c00f + size: 82042 + timestamp: 1764017799966 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda + sha256: 12fff21d38f98bc446d82baa890e01fd82e3b750378fedc720ff93522ffb752b + md5: 366b40a69f0ad6072561c1d09301c886 depends: - __glibc >=2.17,<3.0.a0 - - ca-certificates + - libbrotlicommon 1.2.0 hb03c661_1 - libgcc >=14 - license: Apache-2.0 - license_family: Apache + license: MIT + license_family: MIT purls: [] - size: 3164551 - timestamp: 1769555830639 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - sha256: d48f5c22b9897c01e4dff3680f1f57ceb02711ab9c62f74339b080419dfad34b - md5: 79dd2074b5cd5c5c6b2930514a11e22d + size: 34632 + timestamp: 1764017199083 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda + sha256: 494365e8f58799ea95a6e82334ef696e9c2120aecd6626121694b30a15033301 + md5: 47e5b71b77bb8b47b4ecf9659492977f depends: - - __glibc >=2.17,<3.0.a0 - - ca-certificates + - libbrotlicommon 1.2.0 he30d5cf_1 - libgcc >=14 - license: Apache-2.0 - license_family: Apache + license: MIT + license_family: MIT purls: [] - run_exports: - weak: - - openssl >=3.6.3,<4.0a0 - size: 3159683 - timestamp: 1781069855778 -- conda: https://conda.anaconda.org/conda-forge/linux-64/optree-0.19.0-py314h9891dd4_0.conda - sha256: 620379ebc27e1c43b9a8defdb167442a3413de949a464305443833db32ba7a83 - md5: e13172f02effa3c9f07571ed0ddef44d + size: 33166 + timestamp: 1764017282936 +- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda + sha256: 3239ce545cf1c32af6fffb7fc7c75cb1ef5b6ea8221c66c85416bb2d46f5cccb + md5: 450e3ae947fc46b60f1d8f8f318b40d4 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - typing-extensions >=4.12 - license: Apache-2.0 - license_family: Apache - size: 504345 - timestamp: 1771868359859 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hadf4263_0.conda - sha256: 3613774ad27e48503a3a6a9d72017087ea70f1426f6e5541dbdb59a3b626eaaf - md5: 79f71230c069a287efe3a8614069ddf1 + - libbrotlicommon 1.2.0 hfd05255_1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: [] + size: 34449 + timestamp: 1764017851337 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.2.0-hb03c661_1.conda + sha256: a0c15c79997820bbd3fbc8ecf146f4fe0eca36cc60b62b63ac6cf78857f1dd0d + md5: 4ffbb341c8b616aa2494b6afb26a0c5f depends: - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - harfbuzz >=11.0.1 - - libexpat >=2.7.0,<3.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libgcc >=13 - - libglib >=2.84.2,<3.0a0 - - libpng >=1.6.49,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - license: LGPL-2.1-or-later - size: 455420 - timestamp: 1751292466873 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda - sha256: 315b52bfa6d1a820f4806f6490d472581438a28e21df175290477caec18972b0 - md5: d53ffc0edc8eabf4253508008493c5bc + - libbrotlicommon 1.2.0 hb03c661_1 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 298378 + timestamp: 1764017210931 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.2.0-he30d5cf_1.conda + sha256: f998c03257b9aa1f7464446af2cf424862f0e54258a2a588309853e45ae771df + md5: 6553a5d017fe14859ea8a4e6ea5def8f depends: - - __glibc >=2.17,<3.0.a0 - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.16,<2.0a0 - - harfbuzz >=13.2.1 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 + - libbrotlicommon 1.2.0 he30d5cf_1 - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - license: LGPL-2.1-or-later + license: MIT + license_family: MIT purls: [] - size: 458036 - timestamp: 1774281947855 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda - sha256: 5e6f7d161356fefd981948bea5139c5aa0436767751a6930cb1ca801ebb113ff - md5: 7a3bff861a6583f1889021facefc08b1 + size: 309304 + timestamp: 1764017292044 +- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda + sha256: 3226df6b7df98734440739f75527d585d42ca2bfe912fbe8d1954c512f75341a + md5: ccd93cfa8e54fd9df4e83dbe55ff6e8c + depends: + - libbrotlicommon 1.2.0 hfd05255_1 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: [] + size: 252903 + timestamp: 1764017901735 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda + sha256: cc8c9fc6ddf0fbd3d1275b558ae9abad6cda23bced268732e2da21a87bb358cd + md5: f9f17eab7f3df1c6fd4b1a548a2f683a depends: - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 1222481 - timestamp: 1763655398280 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda - sha256: 43d37bc9ca3b257c5dd7bf76a8426addbdec381f6786ff441dc90b1a49143b6a - md5: c01af13bdc553d1a8fbfff6e8db075f0 + size: 124335 + timestamp: 1775488792584 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda + sha256: 14b6654d942be7a68496d4e52d6aa4e217cf82005a42c20d1880eb473e34eb3a + md5: 1503ce9f8a3df149a33ccd7c300ec1d2 depends: - libgcc >=14 - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - license: MIT - license_family: MIT + license: BSD-3-Clause + license_family: BSD purls: [] - size: 450960 - timestamp: 1754665235234 -- conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_0.conda - sha256: f15574ed6c8c8ed8c15a0c5a00102b1efe8b867c0bd286b498cd98d95bd69ae5 - md5: 4f225a966cfee267a79c5cb6382bd121 + size: 109192 + timestamp: 1775490102029 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_h0358290_openblas.conda + build_number: 8 + sha256: 1a2bc77bb26520255904a3d9b1f40e6bf0bf9d8d3405c7709dd162282820915a + md5: 33a413f1095f8325e5c30fde3b0d2445 depends: - - python - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.14.* *_cp314 + - libblas 3.11.0 8_h4a7cf45_openblas + constrains: + - blas 2.308 openblas + - liblapacke 3.11.0 8*_openblas + - liblapack 3.11.0 8*_openblas license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/psutil?source=hash-mapping - size: 231303 - timestamp: 1769678156552 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda - sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 - md5: b3c17d95b5a10c6e64a21fa17573e70e - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: MIT - license_family: MIT purls: [] - size: 8252 - timestamp: 1726802366959 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda - sha256: 23c98a5000356e173568dc5c5770b53393879f946f3ace716bbdefac2a8b23d2 - md5: b11a4c6bf6f6f44e5e143f759ffa2087 + size: 18778 + timestamp: 1779859107964 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-8_hfef963f_mkl.conda + build_number: 8 + sha256: a3ea22126a74321ddf754a0efaf998486ffb8b9ec69fc735b3f0eacb6ffc8a4e + md5: 2101410a3915785b2c1595d1ae94e32c depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - license: MIT - license_family: MIT + - libblas 3.11.0 8_h5875eb1_mkl + constrains: + - blas 2.308 mkl + - liblapacke 3.11.0 8*_mkl + - liblapack 3.11.0 8*_mkl + track_features: + - blas_mkl + license: BSD-3-Clause + license_family: BSD purls: [] - size: 118488 - timestamp: 1736601364156 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda - sha256: 0a0858c59805d627d02bdceee965dd84fde0aceab03a2f984325eec08d822096 - md5: b8ea447fdf62e3597cb8d2fae4eb1a90 + size: 18902 + timestamp: 1779859085492 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda + build_number: 8 + sha256: 3ba039f0705022939d90e36c1ed2fcbafd7f5bb77563e3702202ae796b32f4d2 + md5: 76242b7ad6e43809afa8671dd609b4ed depends: - - __glibc >=2.17,<3.0.a0 - - dbus >=1.16.2,<2.0a0 - - libgcc >=14 - - libglib >=2.86.1,<3.0a0 - - libiconv >=1.18,<2.0a0 - - libsndfile >=1.2.2,<1.3.0a0 - - libsystemd0 >=257.10 - - libxcb >=1.17.0,<2.0a0 + - libblas 3.11.0 8_haddc8a3_openblas constrains: - - pulseaudio 17.0 *_3 - license: LGPL-2.1-or-later - license_family: LGPL + - liblapack 3.11.0 8*_openblas + - liblapacke 3.11.0 8*_openblas + - blas 2.308 openblas + license: BSD-3-Clause + license_family: BSD purls: [] - size: 750785 - timestamp: 1763148198088 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda - sha256: a44655c1c3e1d43ed8704890a91e12afd68130414ea2c0872e154e5633a13d7e - md5: 7eccb41177e15cc672e1babe9056018e + size: 18817 + timestamp: 1779859049133 +- conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_h2a3cdd5_mkl.conda + build_number: 8 + sha256: 2a5b6555b481df4603e44cba49a6ef727584fd2f3c5235dd4bcb3028fffbdfb5 + md5: 09f1d8e4d2675d34ad2acb115211d10c depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.2,<6.0a0 - - libnsl >=2.0.1,<2.1.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libuuid >=2.41.3,<3.0a0 - - libxcrypt >=4.4.36 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.5,<4.0a0 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata + - libblas 3.11.0 8_h8455456_mkl constrains: - - python_abi 3.12.* *_cp312 - license: Python-2.0 + - liblapacke 3.11.0 8*_mkl + - blas 2.308 mkl + - liblapack 3.11.0 8*_mkl + license: BSD-3-Clause + license_family: BSD purls: [] - size: 31608571 - timestamp: 1772730708989 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda - build_number: 101 - sha256: cb0628c5f1732f889f53a877484da98f5a0e0f47326622671396fb4f2b0cd6bd - md5: c014ad06e60441661737121d3eae8a60 + size: 68443 + timestamp: 1779859701498 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcublas-13.6.0.2-h676940d_0.conda + sha256: d10ce5ea92af1cccc0ed4640506489762f273f2e40debaf6300be2c866f17e8b + md5: b94086b1a487ca78ec1836dfd4a3efca depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 + - __glibc >=2.28,<3.0.a0 + - cuda-nvrtc + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - liblzma >=5.8.2,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libuuid >=2.41.3,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.5,<4.0a0 - - python_abi 3.14.* *_cp314 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 + - libstdcxx >=14 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 36702440 - timestamp: 1770675584356 - python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda - build_number: 100 - sha256: 6d28ac2b061179deb434d3d57afa98ffd20ec3c5d44ab8048a1ca33424b22d38 - md5: 0b9b2f83b5b600e1ac38becde8d0dd44 + size: 384624985 + timestamp: 1782782999955 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcublas-13.6.0.2-he38c790_0.conda + sha256: 8fa5353563c235d0958020b696a062b09f67843a821060b730c6e78498270c3b + md5: 621518a8211f31f6bd373ef92e41ed38 depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.8.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 + - __glibc >=2.28,<3.0.a0 + - arm-variant * sbsa + - cuda-nvrtc + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - liblzma >=5.8.3,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.53.2,<4.0a0 - - libuuid >=2.42.1,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - - ncurses >=6.6,<7.0a0 - - openssl >=3.5.7,<4.0a0 - - python_abi 3.14.* *_cp314 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 + - libstdcxx >=14 + constrains: + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - run_exports: - weak: - - python_abi 3.14.* *_cp314 - noarch: - - python - size: 36717183 - timestamp: 1781255094700 - python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-2.10.0-cuda130_mkl_py314_h382c374_303.conda - sha256: d86f460bddc5b3c443b109e30a1c7f1f9b4044eabf6356c49f19dd660720e395 - md5: 1a0371ac3f70358740c260541508f0f5 + size: 494103751 + timestamp: 1782783041668 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcudnn-9.25.0.15-ha4b6413_0.conda + sha256: af030c58c1f3c4e0613d56d3a3095e0fb3d1f845ecc0844684b16727b991d95b + md5: da6ca95b4f3a9e2931e05327e0f1736d depends: - - __cuda - __glibc >=2.28,<3.0.a0 - - _openmp_mutex * *_llvm - - _openmp_mutex >=4.5 - - cuda-cudart >=13.0.96,<14.0a0 - - cuda-cupti >=13.0.85,<14.0a0 - - cuda-nvrtc >=13.0.88,<14.0a0 - - cuda-nvtx >=13.0.85,<14.0a0 - - cuda-version >=13.0,<14 - - filelock - - fmt >=12.1.0,<12.2.0a0 - - fsspec - - jinja2 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libblas * *mkl - - libcblas >=3.11.0,<4.0a0 - - libcublas >=13.1.0.3,<14.0a0 - - libcudnn >=9.19.0.56,<10.0a0 - - libcudss >=0.7.1.4,<0.7.2.0a0 - - libcufft >=12.0.0.61,<13.0a0 - - libcufile >=1.15.1.6,<2.0a0 - - libcurand >=10.4.0.35,<11.0a0 - - libcusolver >=12.0.4.66,<13.0a0 - - libcusparse >=12.6.3.3,<13.0a0 + - cuda-nvrtc + - cuda-version >=13,<14.0a0 + - libcublas - libgcc >=14 - - libmagma >=2.9.0,<2.9.1.0a0 - - libprotobuf >=6.33.5,<6.33.6.0a0 - libstdcxx >=14 - - libtorch 2.10.0 cuda130_mkl_hb2e6204_303 - - libuv >=1.51.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - llvm-openmp >=22.1.0 - - mkl >=2025.3.0,<2026.0a0 - - mpmath <1.4 - - nccl >=2.29.3.1,<3.0a0 - - networkx - - numpy >=1.23,<3 - - optree >=0.13.0 - - pybind11 <3.0.2 - - pybind11-abi 11 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - setuptools - - sleef >=3.9.0,<4.0a0 - - sympy >=1.13.3 - - triton 3.6.0 - - typing_extensions >=4.10.0 + - libzlib >=1.3.2,<2.0a0 constrains: - - pytorch-gpu 2.10.0 - - pytorch-cpu <0.0a0 - license: BSD-3-Clause - license_family: BSD - size: 25484211 - timestamp: 1772227839293 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-gpu-2.10.0-cuda129_mkl_h0d04637_303.conda - sha256: 9807474ce5bbbf81e7a92dd724f38f0dffcfefe5494619c2e94f2df469553bf5 - md5: 1050dc8cf80cd0a9e63f361c12ee0e82 - depends: - - pytorch 2.10.0 cuda*_mkl*303 - license: BSD-3-Clause - license_family: BSD - size: 53576 - timestamp: 1772317256452 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda - sha256: b318fb070c7a1f89980ef124b80a0b5ccf3928143708a85e0053cde0169c699d - md5: 2035f68f96be30dc60a5dfd7452c7941 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - yaml >=0.2.5,<0.3.0a0 - license: MIT - license_family: MIT - purls: - - pkg:pypi/pyyaml?source=hash-mapping - size: 202391 - timestamp: 1770223462836 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_2.conda - noarch: python - sha256: be66c1f85c3b48137200d62c12d918f4f8ad329423daef04fed292818efd3c28 - md5: 082985717303dab433c976986c674b35 + - libcudnn-jit <0a + license: LicenseRef-cuDNN-Software-License-Agreement + purls: [] + size: 440351874 + timestamp: 1784705313152 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcudnn-9.25.0.15-h0bf6004_0.conda + sha256: 03707e84c5438042a2f1745cf09df5d32a641fa5551bf45009aa6d9a26aa2f76 + md5: 64521b3bafca9b1fae60753ff4425630 depends: - - python + - __glibc >=2.28,<3.0.a0 + - arm-variant * sbsa + - cuda-nvrtc + - cuda-version >=13,<14.0a0 + - libcublas - libgcc >=14 - libstdcxx >=14 - - __glibc >=2.17,<3.0.a0 - - zeromq >=4.3.5,<4.4.0a0 - - _python_abi3_support 1.* - - cpython >=3.12 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/pyzmq?source=hash-mapping - size: 211567 - timestamp: 1771716961404 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-61.0-h192683f_0.conda - sha256: 8e0b7962cf8bec9a016cd91a6c6dc1f9ebc8e7e316b1d572f7b9047d0de54717 - md5: d487d93d170e332ab39803e05912a762 + - libzlib >=1.3.2,<2.0a0 + constrains: + - libcudnn-jit <0a + license: LicenseRef-cuDNN-Software-License-Agreement + purls: [] + size: 533513327 + timestamp: 1784705356469 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcudss-0.7.1.4-h7bcfba5_1.conda + sha256: 7d3afc0e0e5bff4d9adcf2f3454ac97a8812b5802ca04498e1f5d8db9d3fb24c + md5: 6111650cfce61896d705230a878cc1a8 depends: - - __glibc >=2.17,<3.0.a0 + - __glibc >=2.28,<3.0.a0 + - _openmp_mutex >=4.5 + - cuda-version >=13,<14.0a0 + - libcublas - libgcc >=14 - - libnl >=3.11.0,<4.0a0 - libstdcxx >=14 - - libsystemd0 >=257.10 - - libudev1 >=257.10 - license: Linux-OpenIB - license_family: BSD + constrains: + - libcudss0 <0.0.0a0 + - libcudss-commlayer-nccl 0.7.1.4 hd557bf5_1 + - libcudss-commlayer-mpi 0.7.1.4 h6647138_1 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 1268666 - timestamp: 1769154883613 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - sha256: f0931894c751b22be09d7c976343a2957a14a59cfe0db04d916d1b93bd66ffcf - md5: da47d3251c0f0d16b2801afe5a77b532 + size: 62715991 + timestamp: 1770671835770 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcudss-0.7.1.4-he387df4_1.conda + sha256: b51195f067cb90871b0673dfe8564015513c4f81509018313efcb0a14d3f2391 + md5: c53276b4f3f8eeaa91813b8a0196eb91 depends: - - __glibc >=2.17,<3.0.a0 + - __glibc >=2.28,<3.0.a0 + - _openmp_mutex >=4.5 + - arm-variant * sbsa + - cuda-version >=13,<14.0a0 + - libcublas - libgcc >=14 - - libnl >=3.11.0,<4.0a0 - libstdcxx >=14 - - libsystemd0 >=257.13 - - libudev1 >=257.13 - license: Linux-OpenIB - license_family: BSD + constrains: + - libcudss-commlayer-nccl 0.7.1.4 h7a53d9e_1 + - libcudss-commlayer-mpi 0.7.1.4 h40415f0_1 + - libcudss0 <0.0.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - run_exports: - weak: - - rdma-core >=63.0 - size: 1281605 - timestamp: 1778528449130 -- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - sha256: 12ffde5a6f958e285aa22c191ca01bbd3d6e710aa852e00618fa6ddc59149002 - md5: d7d95fc8287ea7bf33e0e7116d2b95ec + size: 62631375 + timestamp: 1770671821410 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufft-12.3.0.29-hecca717_0.conda + sha256: bd69d4b63be28c36e0fa962256666672e3f2eff5dfc06bdd545acef278f83754 + md5: b347b9844eb16238c7f7b62cd2bd1e68 depends: - __glibc >=2.17,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - ncurses >=6.5,<7.0a0 - license: GPL-3.0-only - license_family: GPL + - libstdcxx >=14 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - run_exports: - weak: - - readline >=8.3,<9.0a0 - size: 345073 - timestamp: 1765813471974 -- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.30.0-py314h2e6c369_0.conda - sha256: e53b0cbf3b324eaa03ca1fe1a688fdf4ab42cea9c25270b0a7307d8aaaa4f446 - md5: c1c368b5437b0d1a68f372ccf01cb133 + size: 150951336 + timestamp: 1779897536120 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufft-12.3.0.29-h8f3c8d4_0.conda + sha256: 3dcfa541037fea5cc939bfa0db4ba44732c3a0eeff794ad034bf92eff3cdef83 + md5: eb4f4bc9f2509cf6f71d78317d39a7df depends: - - python + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.14.* *_cp314 + - libstdcxx >=14 constrains: - - __glibc >=2.17 - license: MIT - license_family: MIT - purls: - - pkg:pypi/rpds-py?source=hash-mapping - size: 376121 - timestamp: 1764543122774 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py314h0f05182_1.conda - sha256: 3bd8db7556e87c98933a47ff9f962af7b8e0dc3757a72180b27cbfcb1f98d2d9 - md5: 4f35ae1228a6c5d9df593367ffe8dda1 - depends: - - python - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/ruamel-yaml-clib?source=hash-mapping - size: 150041 - timestamp: 1766159514023 -- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.17.1-py314hf07bd8e_0.conda - sha256: 1ae427836d7979779c9005388a05993a3addabcc66c4422694639a4272d7d972 - md5: d0510124f87c75403090e220db1e9d41 + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 151379070 + timestamp: 1779897582547 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.14.1.1-hbc026e6_1.conda + sha256: 5fa43e8a8d335fc0c3a6aeb2e7b0debc7d8495b8a60a56ac30f23b0e852ab74a + md5: cab1818eada3952ed09c8dcbb7c26af7 depends: - __glibc >=2.17,<3.0.a0 - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 + - cuda-version >=12.9,<12.10.0a0 - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - - liblapack >=3.9.0,<4.0a0 - libstdcxx >=14 - - numpy <2.7 - - numpy >=1.23,<3 - - numpy >=1.25.2 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/scipy?source=hash-mapping - size: 17225275 - timestamp: 1771880751368 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda - sha256: 987ad072939fdd51c92ea8d3544b286bb240aefda329f9b03a51d9b7e777f9de - md5: cdd138897d94dc07d99afe7113a07bec + - rdma-core >=59.0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 969845 + timestamp: 1761098818759 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda + sha256: 72b9c44d6d33c6d384ddaef755e717c781782cbcb32cfba454a8d8084f02ac55 + md5: 434bbefad502f7a9f7eaf7558c645d75 depends: - - libstdcxx >=14 + - __glibc >=2.28,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - libgl >=1.7.0,<2.0a0 - - sdl3 >=3.2.22,<4.0a0 - - libegl >=1.7.0,<2.0a0 - license: Zlib + - libstdcxx >=14 + - rdma-core >=63.0 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 589145 - timestamp: 1757842881000 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.10-hdeec2a5_0.conda - sha256: 04fa7dab2b8f688e3fc4b7ae4522fd3935fb0601e3329cda8b40d63c60d6cc05 - md5: 845c0b154836c034f361668bec2a4f20 + size: 1117538 + timestamp: 1782772352403 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.14.1.1-had8bf56_1.conda + sha256: fbc1fa6b3ddf946b2999c9820310682739505df71e1e2ac513a72efb951fa3e5 + md5: ee136db5a5409dddc78eaf7658fccffe depends: - - __glibc >=2.17,<3.0.a0 + - __glibc >=2.28,<3.0.a0 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 - libgcc >=14 - libstdcxx >=14 - - xorg-libxcursor >=1.2.3,<2.0a0 - - libusb >=1.0.29,<2.0a0 - - libxkbcommon >=1.13.2,<2.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - - xorg-libxi >=1.8.3,<2.0a0 - - liburing >=2.14,<2.15.0a0 - - libunwind >=1.8.3,<1.9.0a0 - - xorg-libxtst >=1.2.5,<2.0a0 - - wayland >=1.25.0,<2.0a0 - - dbus >=1.16.2,<2.0a0 - - libgl >=1.7.0,<2.0a0 - - xorg-libxscrnsaver >=1.2.4,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - libdrm >=2.4.127,<2.5.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libegl >=1.7.0,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - - libudev1 >=257.13 - license: Zlib - purls: [] - size: 2148830 - timestamp: 1780262823658 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.2-hdeec2a5_0.conda - sha256: 64b982664550e01c25f8f09333c0ee54d4764a80fe8636b8aaf881fe6e8a0dbe - md5: 88a69db027a8ff59dab972a09d69a1ab - depends: - - __glibc >=2.17,<3.0.a0 - - libstdcxx >=14 - - libgcc >=14 - - xorg-libxscrnsaver >=1.2.4,<2.0a0 - - libdrm >=2.4.125,<2.5.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - - libudev1 >=257.10 - - pulseaudio-client >=17.0,<17.1.0a0 - - xorg-libxtst >=1.2.5,<2.0a0 - - libegl >=1.7.0,<2.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - xorg-libxcursor >=1.2.3,<2.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - - liburing >=2.14,<2.15.0a0 - - libxkbcommon >=1.13.1,<2.0a0 - - libunwind >=1.8.3,<1.9.0a0 - - libusb >=1.0.29,<2.0a0 - - dbus >=1.16.2,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - libgl >=1.7.0,<2.0a0 - - xorg-libxi >=1.8.2,<2.0a0 - - wayland >=1.24.0,<2.0a0 - license: Zlib - size: 2138749 - timestamp: 1771668185803 -- conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2025.5-h718be3e_1.conda - sha256: 0c2d6f24ee2b614ee1da4d7d99cc9944ea1ace65455a47d48d8c1f726317168a - md5: 8dc8dda113c4c568256bdd486b6e842e + - rdma-core >=59.0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 909365 + timestamp: 1761098964619 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda + sha256: 71af687b188c5028d0788d7916adb3f80568d766bf3380b71b600f246d1b9021 + md5: 547968e609a6c1f038fd18a318f3268c depends: - - __glibc >=2.17,<3.0.a0 - - glslang >=16,<17.0a0 + - __glibc >=2.28,<3.0.a0 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - - spirv-tools >=2026,<2027.0a0 - license: Apache-2.0 - license_family: Apache - size: 113513 - timestamp: 1770208767759 -- conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.2-h718be3e_0.conda - sha256: c6e3280867e54c97996a4fedda0ab72c92d48d1d69258bddf910130df72c169d - md5: 6438976979721e2f60ec47327d8d38df + - rdma-core >=63.0 + constrains: + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 997204 + timestamp: 1782772368681 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcurand-10.4.3.29-h676940d_0.conda + sha256: 9a1615a44f0d01fcc23b4f1be4c8f86b2e19e3974481e826180dd261b67dcad6 + md5: 6172124b5a746cc1f3f9fc7fac9f6740 depends: - - __glibc >=2.17,<3.0.a0 - - glslang >=16,<17.0a0 + - __glibc >=2.28,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - - spirv-tools >=2026,<2027.0a0 - license: Apache-2.0 - license_family: Apache + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 113684 - timestamp: 1777360595361 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sleef-3.9.0-ha0421bc_0.conda - sha256: 57afc2ab5bdb24cf979964018dddbc5dfaee130b415e6863765e45aed2175ee4 - md5: e8a0b4f5e82ecacffaa5e805020473cb + size: 43805393 + timestamp: 1779897559895 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurand-10.4.3.29-he38c790_0.conda + sha256: 6e87b78b2023040d1c5ef44d235f9cb1754a03dd2118a6253c52dd0c4cb53cb7 + md5: c2018231a808007ca5cf1c6c19ad6bf5 depends: - - __glibc >=2.17,<3.0.a0 - - _openmp_mutex >=4.5 + - __glibc >=2.28,<3.0.a0 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - license: BSL-1.0 - size: 1951720 - timestamp: 1756274576844 -- conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda - sha256: 48f3f6a76c34b2cfe80de9ce7f2283ecb55d5ed47367ba91e8bb8104e12b8f11 - md5: 98b6c9dc80eb87b2519b97bcf7e578dd + constrains: + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 44131451 + timestamp: 1779897594729 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcusolver-12.2.6.9-h676940d_0.conda + sha256: c72cb48bd4983527ec78972fcb982b197250d3f0144461a4500c4dde2da36af8 + md5: c2b24b3215b808a2b74d5a72f9af66b6 depends: + - __glibc >=2.28,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 + - libcublas >=13.6.0.2,<13.7.0a0 + - libcusparse >=12.8.2.51,<12.9.0a0 - libgcc >=14 - - __glibc >=2.17,<3.0.a0 + - libnvjitlink >=13.3.33,<14.0a0 - libstdcxx >=14 - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 45829 - timestamp: 1762948049098 -- conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.1-hb700be7_0.conda - sha256: 003180b3a2e0c6490b1f3461cf9e0ed740b1bbf88ee4b73ee177b94bea0dc95d - md5: 8809e0bd5ec279bfe4bb6651c3ed2730 + size: 197068627 + timestamp: 1782788745128 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcusolver-12.2.6.9-he38c790_0.conda + sha256: fce9a38c32b21ec94096f7970bb6deef8acebe5ea9502686d9d452f2ef04e578 + md5: bbc8b27d6de6b10f4be7a9eeebf549b3 depends: - - __glibc >=2.17,<3.0.a0 + - __glibc >=2.28,<3.0.a0 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 + - libcublas >=13.6.0.2,<13.7.0a0 + - libcusparse >=12.8.2.51,<12.9.0a0 - libgcc >=14 + - libnvjitlink >=13.3.33,<14.0a0 - libstdcxx >=14 constrains: - - spirv-headers >=1.4.341.0,<1.4.341.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 2296977 - timestamp: 1770089626195 -- conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_0.conda - sha256: 309d1a3317e91a03611bc960fc807cf2c0c5baacbfddea0f5636438a76c52256 - md5: 0c2b1d811632f1f4aa923450a002ff4f + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 213907807 + timestamp: 1782788769847 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcusparse-12.8.2.51-hecca717_0.conda + sha256: 23ed1ae0414d204615fece50c58a80462193c08b4da6f177a4a134447c62efff + md5: 0ee8865db10f700dd542ac18126d0cbb depends: - __glibc >=2.17,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 + - libnvjitlink >=13.3.33,<14.0a0 - libstdcxx >=14 - constrains: - - spirv-headers >=1.4.350.0,<1.4.350.1.0a0 - license: Apache-2.0 - license_family: APACHE + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 2392190 - timestamp: 1780139567779 -- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.49-py314h0f05182_0.conda - sha256: 85b8d29abab6896abc18956a6e6cff3cba939b63440039be8471f5ca51096686 - md5: 40330dd2ec87f319b1c4dffe0db4f4e7 - depends: - - python - - greenlet !=0.4.17 - - typing-extensions >=4.6.0 - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/sqlalchemy?source=hash-mapping - size: 4030326 - timestamp: 1775241332871 -- conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.0.1-hecca717_0.conda - sha256: 4a1d2005153b9454fc21c9bad1b539df189905be49e851ec62a6212c2e045381 - md5: 2a2170a3e5c9a354d09e4be718c43235 + size: 145373224 + timestamp: 1782772363943 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcusparse-12.8.2.51-h8f3c8d4_0.conda + sha256: 4380936c019026f2212ec03d3a126023517a4ae632286361ac164ba4705241b4 + md5: bbedccc780278a6ed92b281ce1e1fe17 depends: - - __glibc >=2.17,<3.0.a0 + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 + - libnvjitlink >=13.3.33,<14.0a0 - libstdcxx >=14 - license: BSD-2-Clause - license_family: BSD + constrains: + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 2619743 - timestamp: 1769664536467 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-hb700be7_2.conda - sha256: 975710e4b7f1b13c3c30b7fbf21e22f50abe0463b6b47a231582fdedcc45c961 - md5: 8f7278ca5f7456a974992a8b34284737 + size: 161928305 + timestamp: 1782772386311 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda + sha256: aa8e8c4be9a2e81610ddf574e05b64ee131fab5e0e3693210c9d6d2fba32c680 + md5: 6c77a605a7a689d17d4819c0f8ac9a00 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libhwloc >=2.12.2,<2.12.3.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 181329 - timestamp: 1767886632911 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda - sha256: 30cb9355c2fefc20ff1a3d6566b9714d5614086a2524c07721fc344eb20515ae - md5: 7073b15f9364ebc118998601ac6ca6a6 + license: MIT + license_family: MIT + purls: [] + size: 73490 + timestamp: 1761979956660 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda + sha256: 48814b73bd462da6eed2e697e30c060ae16af21e9fbed30d64feaf0aad9da392 + md5: a9138815598fe6b91a1d6782ca657b0c depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libhwloc >=2.13.0,<2.13.1.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE + license: MIT + license_family: MIT purls: [] - size: 182331 - timestamp: 1778673758649 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - sha256: cafeec44494f842ffeca27e9c8b0c27ed714f93ac77ddadc6aaf726b5554ebac - md5: cffd3bdd58090148f4cfcd831f4b26ab + size: 71117 + timestamp: 1761979776756 +- conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda + sha256: 834e4881a18b690d5ec36f44852facd38e13afe599e369be62d29bd675f107ee + md5: e77030e67343e28b084fabd7db0ce43e depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - constrains: - - xorg-libx11 >=1.8.12,<2.0a0 - license: TCL - license_family: BSD + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT purls: [] - size: 3301196 - timestamp: 1769460227866 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - build_number: 103 - sha256: 43624eab22f5f29df7d6ffe914cf442f28fd559b55b290906255492826e636e8 - md5: 48a1049e710857572fc2a832aa394d9f + size: 156818 + timestamp: 1761979842440 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdovi-3.4.0-ha23c83e_0.conda + sha256: cea351b57c30d70e288b53ea69a1dcf6b750992f5d7717a7fc364072fa1209e7 + md5: 4377d220f09344452b227d699cacce4f depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libzlib >=1.3.2,<2.0a0 - constrains: - - xorg-libx11 >=1.8.13,<2.0a0 - license: TCL - run_exports: - weak: - - tk >=8.6.13,<8.7.0a0 - size: 3550916 - timestamp: 1784229071544 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.5-py314h5bd0f2a_0.conda - sha256: ed8d06093ff530a2dae9ed1e51eb6f908fbfd171e8b62f4eae782d67b420be5a - md5: dc1ff1e915ab35a06b6fa61efae73ab5 - depends: - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: Apache - purls: - - pkg:pypi/tornado?source=hash-mapping - size: 912476 - timestamp: 1774358032579 -- conda: https://conda.anaconda.org/conda-forge/linux-64/triton-3.6.0-cuda130py314h1cdc6f0_1.conda - sha256: 8046a92b0ceb057d131c10f6c012f9e46b414978fb230403e10476e8a0220599 - md5: b855d8e91cb36e00ef5b7e6424de667f - depends: - - python - - setuptools - - cuda-nvcc-tools - - cuda-cuobjdump - - cuda-cudart - - cuda-cupti - - libstdcxx >=14 - - libgcc >=14 - - __glibc >=2.28,<3.0.a0 - - cuda-version >=13.0,<14 - - zstd >=1.5.7,<1.6.0a0 - - python_abi 3.14.* *_cp314 - - libzlib >=1.3.1,<2.0a0 - - cuda-cupti >=13.0.85,<14.0a0 + constrains: + - __glibc >=2.17 license: MIT license_family: MIT - size: 236152104 - timestamp: 1771627549811 -- conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.11.29-h2112641_0.conda - sha256: a5b92c2cedcaba3b877d6c4aab42853f57b6bb26f9c901cfb5aa5da03269d310 - md5: 5552b8d0f33cf86753d35da1b3ec0736 + purls: [] + size: 404998 + timestamp: 1784281566921 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.4.0-hf71c8f5_0.conda + sha256: d12c0db93410085c827587352f05b24ba56ac786285752a4b2aba59309b09832 + md5: 318831d864fbd3a513d71bb0db5ff9e6 depends: - - libstdcxx >=14 - libgcc >=14 - - __glibc >=2.17,<3.0.a0 constrains: - __glibc >=2.17 - license: Apache-2.0 OR MIT - run_exports: {} - size: 20782187 - timestamp: 1784166603021 -- conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.24.0-hd6090a7_1.conda - sha256: 3aa04ae8e9521d9b56b562376d944c3e52b69f9d2a0667f77b8953464822e125 - md5: 035da2e4f5770f036ff704fa17aace24 + license: MIT + license_family: MIT + purls: [] + size: 408693 + timestamp: 1784281571706 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdrm-2.4.127-hb03c661_0.conda + sha256: 7d3187c11b7ae66c5595a8afd5a7ce352a490527fdf6614cab129bc7f2c16ba3 + md5: d8d16b9b32a3c5df7e5b3350e2cbe058 depends: - __glibc >=2.17,<3.0.a0 - - libexpat >=2.7.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - libgcc >=14 - - libstdcxx >=14 + - libpciaccess >=0.19,<0.20.0a0 license: MIT license_family: MIT - size: 329779 - timestamp: 1761174273487 -- conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.25.0-hd6090a7_0.conda - sha256: ea374d57a8fcda281a0a89af0ee49a2c2e99cc4ac97cf2e2db7064e74e764bdb - md5: 996583ea9c796e5b915f7d7580b51ea6 + purls: [] + size: 311505 + timestamp: 1778975798004 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.127-he30d5cf_0.conda + sha256: 2a941ffcd6b09380344c2cb5b198d2743ce4fc30ec9a5c8c83e53368d8015aef + md5: 987d35ad350bb552a30f3d314f6c7655 depends: - - __glibc >=2.17,<3.0.a0 - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - libgcc >=14 - - libstdcxx >=14 + - libpciaccess >=0.19,<0.20.0a0 license: MIT license_family: MIT purls: [] - size: 334139 - timestamp: 1773959575393 -- conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 - sha256: 175315eb3d6ea1f64a6ce470be00fa2ee59980108f246d3072ab8b977cb048a5 - md5: 6c99772d483f566d59e25037fea2c4b1 + size: 345283 + timestamp: 1778975814771 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda + sha256: d789471216e7aba3c184cd054ed61ce3f6dac6f87a50ec69291b9297f8c18724 + md5: c277e0a4d549b03ac1e9d6cbbe3d017b depends: - - libgcc-ng >=12 - license: GPL-2.0-or-later - license_family: GPL + - ncurses + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - ncurses >=6.5,<7.0a0 + license: BSD-2-Clause + license_family: BSD purls: [] - size: 897548 - timestamp: 1660323080555 -- conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 - sha256: 76c7405bcf2af639971150f342550484efac18219c0203c5ee2e38b8956fe2a0 - md5: e7f6ed84d4623d52ee581325c1587a6b + size: 134676 + timestamp: 1738479519902 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda + sha256: c0b27546aa3a23d47919226b3a1635fccdb4f24b94e72e206a751b33f46fd8d6 + md5: fb640d776fc92b682a14e001980825b1 depends: - - libgcc-ng >=10.3.0 - - libstdcxx-ng >=10.3.0 - license: GPL-2.0-or-later - license_family: GPL + - ncurses + - libgcc >=13 + - ncurses >=6.5,<7.0a0 + license: BSD-2-Clause + license_family: BSD purls: [] - size: 3357188 - timestamp: 1646609687141 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-h280c20c_1.conda - sha256: 2bd7452f68c39bfff954385b062aca9389262369e318739af270d23af47580a5 - md5: bb1e548a92b0efa12c3e2385ae2d4529 + size: 148125 + timestamp: 1738479808948 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libegl-1.7.0-ha4b6fd6_3.conda + sha256: 9a25ea93e8272785405a21d30f84e620befb1d545f6dfaae18f06103b5df0443 + md5: 75e9f795be506c96dd43cb09c7c8d557 depends: - - libgcc >=14 - __glibc >=2.17,<3.0.a0 - - xorg-libx11 >=1.8.13,<2.0a0 - license: MIT - license_family: MIT + - libglvnd 1.7.0 ha4b6fd6_3 + license: LicenseRef-libglvnd purls: [] - size: 440702 - timestamp: 1781482698093 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.47-hb03c661_0.conda - sha256: 19c2bb14bec84b0e995b56b752369775c75f1589314b43733948bb5f471a6915 - md5: b56e0c8432b56decafae7e78c5f29ba5 + size: 46500 + timestamp: 1779728188901 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_3.conda + sha256: b987d3874edfcd9c7ddca86c003cb04ae51160a72c173a24cd46ab9eeb8886ab + md5: ec017f25e5d01ef9dd81e95ff73ff051 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - xorg-libx11 >=1.8.13,<2.0a0 - license: MIT - license_family: MIT - size: 399291 - timestamp: 1772021302485 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda - sha256: c12396aabb21244c212e488bbdc4abcdef0b7404b15761d9329f5a4a39113c4b - md5: fb901ff28063514abb6046c9ec2c4a45 + - libglvnd 1.7.0 hd24410f_3 + license: LicenseRef-libglvnd + purls: [] + size: 54600 + timestamp: 1779728234591 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + sha256: 2e14399d81fb348e9d231a82ca4d816bf855206923759b69ad006ba482764131 + md5: a1cfcc585f0c42bf8d5546bb1dfb668d depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: MIT - license_family: MIT + - libgcc-ng >=12 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 58628 - timestamp: 1734227592886 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda - sha256: 277841c43a39f738927145930ff963c5ce4c4dacf66637a3d95d802a64173250 - md5: 1c74ff8c35dcadf952a16f752ca5aa49 + size: 427426 + timestamp: 1685725977222 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libevent-2.1.12-h4ba1bb4_1.conda + sha256: 01333cc7d6e6985dd5700b43660d90e9e58049182017fd24862088ecbe1458e4 + md5: 96ae6083cd1ac9f6bc81631ac835b317 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libuuid >=2.38.1,<3.0a0 - - xorg-libice >=1.1.2,<2.0a0 - license: MIT - license_family: MIT + - libgcc-ng >=12 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 27590 - timestamp: 1741896361728 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda - sha256: 516d4060139dbb4de49a4dcdc6317a9353fb39ebd47789c14e6fe52de0deee42 - md5: 861fb6ccbc677bb9a9fb2468430b9c6a + size: 438992 + timestamp: 1685726046519 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda + sha256: 16feffd9ddbbe5b718515d38ee376c685ba95491cd901244e24671d20b952a77 + md5: b24d3c612f71e7aa74158d92106318b2 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libxcb >=1.17.0,<2.0a0 + constrains: + - expat 2.8.1.* license: MIT license_family: MIT purls: [] - size: 839652 - timestamp: 1770819209719 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda - sha256: 6bc6ab7a90a5d8ac94c7e300cc10beb0500eeba4b99822768ca2f2ef356f731b - md5: b2895afaf55bf96a8c8282a2e47a5de0 + size: 77856 + timestamp: 1781203599810 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda + sha256: 20a5726bc8705d91437c9e6ef83b30da64a1719b869656d20a1ee818333ea5ac + md5: fac3b65a605cd253037fdf3daf2de8d9 depends: - - __glibc >=2.17,<3.0.a0 - libgcc >=14 + constrains: + - expat 2.8.1.* license: MIT license_family: MIT purls: [] - size: 15321 - timestamp: 1762976464266 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda - sha256: 832f538ade441b1eee863c8c91af9e69b356cd3e9e1350fff4fe36cc573fc91a - md5: 2ccd714aa2242315acaf0a67faea780b + size: 77649 + timestamp: 1781203572523 +- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda + sha256: 1a54d874addda73b6f7164d5f3905821277a1831bcc05edd74b3085391688571 + md5: ccc490c81ffe14181861beac0e8f3169 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-libxfixes >=6.0.1,<7.0a0 - - xorg-libxrender >=0.9.11,<0.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - expat 2.8.1.* license: MIT license_family: MIT purls: [] - size: 32533 - timestamp: 1730908305254 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda - sha256: 25d255fb2eef929d21ff660a0c687d38a6d2ccfbcbf0cc6aa738b12af6e9d142 - md5: 1dafce8548e38671bea82e3f5c6ce22f + size: 71631 + timestamp: 1781203724164 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfabric-2.6.0-ha770c72_0.conda + sha256: 45bb0eb92000a3f82555cc948013935aace8a1ea522b79700f58d3906c18e846 + md5: b04e60c49d09399a009f3bb70bb53a23 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - license: MIT - license_family: MIT + - libfabric1 2.6.0 h6b3ec72_0 + license: BSD-2-Clause OR GPL-2.0-only + license_family: BSD purls: [] - size: 20591 - timestamp: 1762976546182 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda - sha256: 79c60fc6acfd3d713d6340d3b4e296836a0f8c51602327b32794625826bd052f - md5: 34e54f03dfea3e7a2dcf1453a85f1085 + size: 14365 + timestamp: 1782364120544 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfabric-2.6.0-h8af1aa0_0.conda + sha256: b0a8c7e03897b28b5d18afe3d2a81d22db665cfbc60db580c6d5a5ec2701b832 + md5: d22c0987ebdad5301396bf8bf2003d17 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - license: MIT - license_family: MIT + - libfabric1 2.6.0 h6b50f16_0 + license: BSD-2-Clause OR GPL-2.0-only + license_family: BSD purls: [] - size: 50326 - timestamp: 1769445253162 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda - sha256: 83c4c99d60b8784a611351220452a0a85b080668188dce5dfa394b723d7b64f4 - md5: ba231da7fccf9ea1e768caf5c7099b84 + size: 14418 + timestamp: 1782364086739 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfabric1-2.6.0-h6b3ec72_0.conda + sha256: ba8de6a838bc0727ef8e5a1409c6735465b7b582627a9b4c2704126e53903f43 + md5: 7d8c510157360d0a6fdd84a1d3db8de7 depends: - - __glibc >=2.17,<3.0.a0 + - __glibc >=2.28,<3.0.a0 - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - license: MIT - license_family: MIT + - libnl >=3.11.0,<4.0a0 + - rdma-core >=63.0 + license: BSD-2-Clause OR GPL-2.0-only + license_family: BSD purls: [] - size: 20071 - timestamp: 1759282564045 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda - sha256: 1a724b47d98d7880f26da40e45f01728e7638e6ec69f35a3e11f92acd05f9e7a - md5: 17dcc85db3c7886650b8908b183d6876 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxfixes >=6.0.1,<7.0a0 - license: MIT - license_family: MIT - size: 47179 - timestamp: 1727799254088 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda - sha256: 495f99c8eacfa4ae2d8fed2a7f2105777af89acdc204df145d2bbbc380ac631b - md5: adba2e334082bb218db806d4c12277c9 + size: 734920 + timestamp: 1782364119825 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfabric1-2.6.0-h6b50f16_0.conda + sha256: 90f5fd379a36779c54f92dcea2a211b06eedd982c6948a3e9b5baf0132617653 + md5: 385cd929680ecee54788f6e718f55d63 depends: - - __glibc >=2.17,<3.0.a0 + - __glibc >=2.28,<3.0.a0 - libgcc >=14 - - xorg-libx11 >=1.8.13,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - license: MIT - license_family: MIT + - libnl >=3.11.0,<4.0a0 + - rdma-core >=63.0 + license: BSD-2-Clause OR GPL-2.0-only + license_family: BSD purls: [] - size: 47717 - timestamp: 1779111857071 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda - sha256: 80ed047a5cb30632c3dc5804c7716131d767089f65877813d4ae855ee5c9d343 - md5: e192019153591938acf7322b6459d36e + size: 802702 + timestamp: 1782364085626 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda + sha256: 31f19b6a88ce40ebc0d5a992c131f57d919f73c0b92cd1617a5bec83f6e961e6 + md5: a360c33a5abe61c07959e449fa1453eb depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - license: MIT - license_family: MIT - purls: [] - size: 30456 - timestamp: 1769445263457 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda - sha256: 044c7b3153c224c6cedd4484dd91b389d2d7fd9c776ad0f4a34f099b3389f4a1 - md5: 96d57aba173e878a2089d5638016dc5e - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 license: MIT license_family: MIT purls: [] - size: 33005 - timestamp: 1734229037766 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda - sha256: 58e8fc1687534124832d22e102f098b5401173212ac69eb9fd96b16a3e2c8cb2 - md5: 303f7a0e9e0cd7d250bb6b952cecda90 + size: 58592 + timestamp: 1769456073053 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda + sha256: 3df4c539449aabc3443bbe8c492c01d401eea894603087fca2917aa4e1c2dea9 + md5: 2f364feefb6a7c00423e80dcb12db62a depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 + - libgcc >=14 license: MIT license_family: MIT purls: [] - size: 14412 - timestamp: 1727899730073 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda - sha256: 752fdaac5d58ed863bbf685bb6f98092fe1a488ea8ebb7ed7b606ccfce08637a - md5: 7bbe9a0cc0df0ac5f5a8ad6d6a11af2f + size: 55952 + timestamp: 1769456078358 +- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda + sha256: 59d01f2dfa8b77491b5888a5ab88ff4e1574c9359f7e229da254cdfe27ddc190 + md5: 720b39f5ec0610457b725eb3f396219a depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxi >=1.7.10,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT purls: [] - size: 32808 - timestamp: 1727964811275 -- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hb03c661_0.conda - sha256: 7a8c64938428c2bfd016359f9cb3c44f94acc256c6167dbdade9f2a1f5ca7a36 - md5: aa8d21be4b461ce612d8f5fb791decae + size: 45831 + timestamp: 1769456418774 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.5.0-he200343_1.conda + sha256: e755e234236bdda3d265ae82e5b0581d259a9279e3e5b31d745dc43251ad64fb + md5: 47595b9d53054907a00d95e4d47af1d6 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=14 - license: MIT - license_family: MIT + - libiconv >=1.18,<2.0a0 + - libogg >=1.3.5,<1.4.0a0 + - libstdcxx >=14 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 570010 - timestamp: 1766154256151 -- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda - sha256: 6d9ea2f731e284e9316d95fa61869fe7bbba33df7929f82693c121022810f4ad - md5: a77f85f77be52ff59391544bfe73390a + size: 424563 + timestamp: 1764526740626 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libflac-1.5.0-he9c94f4_1.conda + sha256: 175cdc1865c3d6becc87e96bf44010a8e14f3021600ddad59417ed36e677b1ea + md5: cbe37f1d15f60b5e5272955b55b65325 depends: - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - license: MIT - license_family: MIT - purls: [] - size: 85189 - timestamp: 1753484064210 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h41580af_10.conda - sha256: 325d370b28e2b9cc1f765c5b4cdb394c91a5d958fbd15da1a14607a28fee09f6 - md5: 755b096086851e1193f3b10347415d7c - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 + - libiconv >=1.18,<2.0a0 + - libogg >=1.3.5,<1.4.0a0 - libstdcxx >=14 - - krb5 >=1.22.2,<1.23.0a0 - - libsodium >=1.0.21,<1.0.22.0a0 - license: MPL-2.0 - license_family: MOZILLA - purls: [] - size: 311150 - timestamp: 1772476812121 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 - md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 - depends: - - __glibc >=2.17,<3.0.a0 - - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD purls: [] - run_exports: - weak: - - zstd >=1.5.7,<1.6.0a0 - size: 601375 - timestamp: 1764777111296 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - build_number: 20 - sha256: a2527b1d81792a0ccd2c05850960df119c2b6d8f5fdec97f2db7d25dc23b1068 - md5: 468fd3bb9e1f671d36c2cbc677e56f1d + size: 397272 + timestamp: 1764526699497 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda + sha256: 38f014a7129e644636e46064ecd6b1945e729c2140e21d75bb476af39e692db2 + md5: e289f3d17880e44b633ba911d57a321b depends: - - libgomp >=7.5.0 - constrains: - - openmp_impl <0.0a0 - license: BSD-3-Clause - license_family: BSD + - libfreetype6 >=2.14.3 + license: GPL-2.0-only OR FTL purls: [] - run_exports: - strong: - - _openmp_mutex >=4.5 - size: 28926 - timestamp: 1770939656741 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-7_kmp_llvm.conda - build_number: 7 - sha256: 3a5dfcf315e59dff4130e033b0f9de8c38fa5f65009d2d82452a3f57f5fcb39f - md5: ebcfdf7d6198fdb6f31f0e72efb15a26 + size: 8049 + timestamp: 1774298163029 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_1.conda + sha256: db75d0fc080992dc67db8e24d7bb2a2f2a0b25bfce8870fa45a82a4b5f6111a2 + md5: a13e600f9d18488b1fd1257344dbfdaa depends: - - llvm-openmp >=9.0.1 - license: BSD-3-Clause - license_family: BSD - size: 8293 - timestamp: 1764092286102 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.3-he30d5cf_0.conda - sha256: ea2233e2db9908c2e5f29d3ca420a546b4583253f4f70abb5494cdd676866d42 - md5: 4a98cbc4ade694520227402ff8880630 + - libfreetype6 >=2.14.3 + license: GPL-2.0-only OR FTL + purls: [] + size: 8381 + timestamp: 1780933505754 +- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda + sha256: 035d0c67bf9f7a16f4a1764f420c120f1a995d071bb265fcc66ef688ef709d7b + md5: e45b52fb9a81c9e2708465a706e05952 depends: - - libgcc >=14 - license: LGPL-2.1-or-later - license_family: GPL - size: 615729 - timestamp: 1768327548407 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.16.1-he30d5cf_0.conda - sha256: 105e4c19cfa770affcb9a64b9d2451f406914cd09a67664009910869fa01a639 - md5: 5427b5dcb268bddf1a69c16d1cb77a47 + - libfreetype6 >=2.14.3 + license: GPL-2.0-only OR FTL + purls: [] + size: 8711 + timestamp: 1780934891782 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda + sha256: 16f020f96da79db1863fcdd8f2b8f4f7d52f177dd4c58601e38e9182e91adf1d + md5: fb16b4b69e3f1dcfe79d80db8fd0c55d depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - license: LGPL-2.1-or-later - license_family: LGPL + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - freetype >=2.14.3 + license: GPL-2.0-only OR FTL purls: [] - size: 621865 - timestamp: 1781522013595 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.14.1-pl5321h8fffa31_1.conda - sha256: a228f46f68fa3e2e50a09b5a4cefd1ee2c1ce868bfa2a288867b3d44b6e77427 - md5: a3c86229b531656c2bce99e8a6c6de4a + size: 384575 + timestamp: 1774298162622 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_1.conda + sha256: 34fe8276befd6c42956c4acd969caeddbdc7ea8e6ed054b8388709b6c3e94ba4 + md5: 426cc33f8745ce11a73baf73db3954a7 depends: - - libstdcxx >=14 - libgcc >=14 - license: BSD-2-Clause - license_family: BSD + - libpng >=1.6.58,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - freetype >=2.14.3 + license: GPL-2.0-only OR FTL purls: [] - size: 4091040 - timestamp: 1780752489693 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/aom-3.9.1-hcccb83c_0.conda - sha256: ac438ce5d3d3673a9188b535fc7cda413b479f0d52536aeeac1bd82faa656ea0 - md5: cc744ac4efe5bcaa8cca51ff5b850df0 + size: 424236 + timestamp: 1780933505195 +- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda + sha256: 0bbd19c9f7c4d0232b31892e6a4d1f82b8d19d1b84d89725f1f491b336447758 + md5: 4e4d54f9f98383d977ba56ef39ebf46d depends: - - libgcc-ng >=12 - - libstdcxx-ng >=12 - license: BSD-2-Clause - license_family: BSD - size: 3250813 - timestamp: 1718551360260 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/attr-2.5.1-h4e544f5_1.tar.bz2 - sha256: 2c793b48e835a8fac93f1664c706442972a0206963bf8ca202e83f7f4d29a7d7 - md5: 1ef6c06fec1b6f5ee99ffe2152e53568 + - libpng >=1.6.58,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - freetype >=2.14.3 + license: GPL-2.0-only OR FTL + purls: [] + size: 340411 + timestamp: 1780934813224 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda + sha256: 8e0a3b5e41272e5678499b5dfc4cddb673f9e935de01eb0767ce857001229f46 + md5: 57736f29cc2b0ec0b6c2952d3f101b6a depends: - - libgcc-ng >=12 - license: GPL-2.0-or-later + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + constrains: + - libgcc-ng ==15.2.0=*_19 + - libgomp 15.2.0 he0feb66_19 + license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 74992 - timestamp: 1660065534958 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.45.1-default_h5f4c503_101.conda - sha256: e90ab42a5225dc1eaa6e4e7201cd7b8ed52dad6ec46814be7e5a4039433ae85c - md5: df6e1dc38cbe5642350fa09d4a1d546b + purls: [] + size: 1041084 + timestamp: 1778269013026 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda + sha256: 4592b096e553f67799ae70d4b6167eeda3ec74587d68c7aecbf4e7b1df136681 + md5: f35b3f52d0a2ec4ffe3c89ba135cdb9a depends: - - ld_impl_linux-aarch64 2.45.1 default_h1979696_101 - - sysroot_linux-aarch64 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only + - _openmp_mutex >=4.5 + constrains: + - libgomp 15.2.0 h8acb6b2_19 + - libgcc-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 4741684 - timestamp: 1770267224406 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda - sha256: eebe159bf600943552e4319ff4ce27b6a2dadf0dcc5443e76dcee9259a408e11 - md5: 58f37d76b8234c69dbf2939d511bea0b + purls: [] + size: 622462 + timestamp: 1778268755949 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_19.conda + sha256: 80e80ef5e31b00b12539db3c5aaecde60dab91381abfc1060e323d5c3b016dce + md5: cc5d690fc1c629038f13c68e88e65f44 depends: - - ld_impl_linux-aarch64 2.46.1 default_h1979696_102 - - sysroot_linux-aarch64 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only + - _openmp_mutex >=4.5 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - msys2-conda-epoch <0.0a0 + - libgcc-ng ==15.2.0=*_19 + - libgomp 15.2.0 h8ee18e1_19 + license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - run_exports: {} - size: 4677171 - timestamp: 1784214549910 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_linux-aarch64-2.46.1-default_hf1166c9_102.conda - sha256: d41099a3fe2809a3ab3e4c718ecff4d5f8879e7949f3c8e8efa97fa06a90248c - md5: 9a340123cb7217eae51c5cae24484631 + size: 821854 + timestamp: 1778273037795 +- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-14.3.0-hf649bbc_119.conda + sha256: e1815bb11d5abe886979e95889d84310d83d078d36a3567ca67cbf57a3876d88 + md5: 7d517e32d656a8880d98c0e4fc8ddc2c depends: - - binutils_impl_linux-aarch64 2.46.1 default_h5f4c503_102 - license: GPL-3.0-only + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - run_exports: {} - size: 36196 - timestamp: 1784214578949 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.2.0-py314h352cb57_1.conda - sha256: 5a5b0cdcd7ed89c6a8fb830924967f6314a2b71944bc1ebc2c105781ba97aa75 - md5: a1b5c571a0923a205d663d8678df4792 - depends: - - libgcc >=14 - - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 - - python_abi 3.14.* *_cp314 - constrains: - - libbrotlicommon 1.2.0 he30d5cf_1 - license: MIT - license_family: MIT - purls: - - pkg:pypi/brotli?source=hash-mapping - size: 373193 - timestamp: 1764017486851 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda - sha256: b3495077889dde6bb370938e7db82be545c73e8589696ad0843a32221520ad4c - md5: 840d8fc0d7b3209be93080bc20e07f2d + size: 3091520 + timestamp: 1778268364856 +- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda + sha256: 38a557eba305468ac1f90ac85e50d8defd76141cb0b8a43b2fc1aca71dd5d5f2 + md5: 683fcb168e1df9a21fa80d5aa2d9330b depends: - - libgcc >=14 - license: bzip2-1.0.6 - license_family: BSD + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - run_exports: - weak: - - bzip2 >=1.0.8,<2.0a0 - size: 192412 - timestamp: 1771350241232 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda - sha256: 675db823f3d6fb6bf747fab3b0170ba99b269a07cf6df1e49fff2f9972be9cd1 - md5: 043c13ed3a18396994be9b4fab6572ad + size: 3095909 + timestamp: 1778268932148 +- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-14.3.0-h25ba3ff_119.conda + sha256: e06d098cd33eac577b9c994a47243de5439ca8fd9ff6e790723fbfdc3d61a76c + md5: 970ca6cb337de6a7bccfaaa344e9863b depends: - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libgcc >=14 - - libglib >=2.86.3,<3.0a0 - - libpng >=1.6.53,<1.7.0a0 - - libstdcxx >=14 - - libxcb >=1.17.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.46.4,<1.0a0 - - xorg-libice >=1.1.2,<2.0a0 - - xorg-libsm >=1.2.6,<2.0a0 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - license: LGPL-2.1-only or MPL-1.1 - purls: [] - size: 927045 - timestamp: 1766416003626 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-2.0.0-py314h0bd77cf_1.conda - sha256: 728e55b32bf538e792010308fbe55d26d02903ddc295fbe101167903a123dd6f - md5: f333c475896dbc8b15efd8f7c61154c7 + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 2346647 + timestamp: 1778268433769 +- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda + sha256: fe600a63a39281e6994e27fe79360cd6bd8e576c3ce1af32ce8673b011f46c21 + md5: 18ad0f0b94071d91fa962a1bf3983a78 depends: - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - pycparser - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - size: 318357 - timestamp: 1761203973223 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/conda-gcc-specs-14.3.0-hadff5d6_18.conda - sha256: 7b018e74d2f828e887faabc9d5c5bef6d432c3356dcac3e691ee6b24bc82ef52 - md5: 184c1aba41c40e6bc59fa91b37cd7c3f + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 2353893 + timestamp: 1778268665954 +- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_119.conda + sha256: 5ea9053e6c903e1ebba35e478df14f9f0fd520ad9dadc944ca5697688d621e97 + md5: 8b4a82e71682c1de2b0839023d6e3133 depends: - - gcc_impl_linux-aarch64 >=14.3.0,<14.3.1.0a0 + - m2-conda-epoch license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL - size: 31474 - timestamp: 1771377963347 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-bindings-12.9.6-py314h43a89f9_0.conda - sha256: c40817cd154533689590dfc96a349c55499e0795307eec26591a03892a6f39ee - md5: 774fdb9381cc4abd87fedd87d9c65e02 + size: 2419170 + timestamp: 1778272969212 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda + sha256: 9dcf54adfaa5e861123c2da4f2f0451a685464ea7e5a41ad91cf67b31d658d98 + md5: 331ee9b72b9dff570d56b1302c5ab37d depends: - - cuda-nvcc-impl >=12,<13.0a0 - - cuda-nvrtc >=12,<13.0a0 - - cuda-pathfinder >=1.1.0,<2 - - cuda-version >=12.2,<13.0a0 - - libcufile >=1,<2.0a0 - - libgcc >=14 - - libnvjitlink >=12.3,<13 - - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 - - python_abi 3.14.* *_cp314 - constrains: - - cuda-cudart >=12,<13.0a0 - - cuda-python >=12.9.6,<12.10.0a0 - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - size: 3959387 - timestamp: 1773288705142 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-bindings-12.9.7-py314hd8c1704_1.conda - sha256: bac8c75bf33b6f67d843af43c310bc30a5d755fb159faf9808f72bd5c9a01c87 - md5: 45d475e9c6dc8ec068e2ac226084a960 + - libgcc 15.2.0 he0feb66_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27694 + timestamp: 1778269016987 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda + sha256: 1137f93f477f56199ded24117430045a0c02cbe8b10031beac3b9ad2138539d3 + md5: 770cf892e5530f43e63cadc673e85653 depends: - - python - - cuda-pathfinder >=1.5.5,<2 - - cuda-version >=12.2,<13.0a0 - - cuda-nvrtc >=12,<13.0a0 - - cuda-nvcc-impl >=12,<13.0a0 - - libcufile >=1,<2.0a0 - - libnvjitlink >=12.3,<13 - - libgcc >=14 - - python 3.14.* *_cp314 - - libstdcxx >=14 - - python_abi 3.14.* *_cp314 - constrains: - - cuda-cudart >=12,<13.0a0 - - libnvfatbin >=12,<13.0a0 - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - run_exports: {} - size: 4673057 - timestamp: 1782355010659 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-bindings-13.3.1-py314he6363bd_1.conda - sha256: 424b1cee0553f7927acc6ff6d53729bec98e51c5f0c050d243ef2f21dc362059 - md5: 9d9dbd3ad4d20c5fee4b5278b0056905 + - libgcc 15.2.0 h8acb6b2_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27738 + timestamp: 1778268759211 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda + sha256: 561a42758ef25b9ce308c4e2cf56daee4f06138385a17e29a492cd928e00be6f + md5: 42bf7eca1a951735fa06c0e3c0d5c8e6 depends: - - python - - cuda-pathfinder >=1.5.5,<2 - - cuda-version >=13,<14.0a0 - - cuda-nvrtc >=13,<14.0a0 - - cuda-nvvm-impl >=13,<14.0a0 - - libcufile >=1,<2.0a0 - - libcudla >=13.0,<14.0a0 - - libnvfatbin >=13.0,<14.0a0 - - libnvjitlink >=13.0,<14.0a0 - - libgcc >=14 - - python 3.14.* *_cp314 - - libstdcxx >=14 - - python_abi 3.14.* *_cp314 + - libgfortran5 15.2.0 h68bc16d_19 constrains: - - cuda-cudart >=13,<14.0a0 - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - run_exports: {} - size: 4411208 - timestamp: 1780110964819 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-crt-tools-12.9.86-h579c4fd_2.conda - sha256: dad493fdcef9a5b84269bdd22b5dfbe73300d99057f2fc1a1ad1114a944167c7 - md5: 6f66ef2abe496ac82066ea6b9f33ab90 - depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 29186 - timestamp: 1753975202369 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-crt-tools-13.3.33-h579c4fd_0.conda - sha256: 3e21e9230214e6c8936df08e211d0a323bd658808d1bb669eba1ed9a519512c8 - md5: f4f5d73ad0aaae9907a7e673393cb8e4 + - libgfortran-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27655 + timestamp: 1778269042954 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda + sha256: e5ad94be72634233510b33ba792a3339921bd468f0b8bc6961ea05eded251d9b + md5: c7a5b5decf969ead5ecada83654164cf depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 30727 - timestamp: 1779905123621 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-12.9.79-h3ae8b8a_0.conda - sha256: 3d6699fc27ffabf28a9d359b48e7b88437e4d945844718a58608627998db5d1b - md5: df78e19e5fe656631d1470aa0fcf6ced + - libgfortran5 15.2.0 h1b7bec0_19 + constrains: + - libgfortran-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 27728 + timestamp: 1778268784621 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda + sha256: 057978bb69fea29ed715a9b98adf71015c31baecc4aeb2bfc20d4fd5d83579d4 + md5: 85072b0ad177c966294f129b7c04a2d5 depends: - - arm-variant * sbsa - - cuda-cudart_linux-aarch64 12.9.79 h3ae8b8a_0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=13 - - libstdcxx >=13 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23466 - timestamp: 1749218349235 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda - sha256: 7b02fe40d6a503f42e4ffe83bf2512876c7e4eb5374199b03045b0e17e14ec6f - md5: 8daff8683cfa57366f88b5a980d4bd03 + - __glibc >=2.17,<3.0.a0 + - libgcc >=15.2.0 + constrains: + - libgfortran 15.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 2483673 + timestamp: 1778269025089 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda + sha256: af8e9bdcaa77f133a8ee4c1ef57ef564d9c45aa262abf9f5ef9b50eb99d96407 + md5: 779dbb494de6d3d6477cab52eb34285a depends: - - arm-variant * sbsa - - cuda-cudart_linux-aarch64 13.3.29 h8f3c8d4_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement + - libgcc >=15.2.0 + constrains: + - libgfortran 15.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - run_exports: {} - size: 24782 - timestamp: 1779898439985 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-12.9.79-h3ae8b8a_0.conda - sha256: d70f85411992e03494f2fe94a9852d79f366a92f40ba791611eda5551044afe9 - md5: d58cc487273764a11637456c06399ff0 + size: 1487244 + timestamp: 1778268767295 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-1.7.0-ha4b6fd6_3.conda + sha256: ec353b3076ed8e357ed961d0e9ff6997491cade0e603de5bd18a2e301ac78ebd + md5: f25206d7322c0e9648e8b83694d143ab depends: - - arm-variant * sbsa - - cuda-cudart 12.9.79 h3ae8b8a_0 - - cuda-cudart-dev_linux-aarch64 12.9.79 h3ae8b8a_0 - - cuda-cudart-static 12.9.79 h3ae8b8a_0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=13 - - libstdcxx >=13 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=12.9.79,<13.0a0 - size: 23911 - timestamp: 1749218369632 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-13.3.29-h8f3c8d4_0.conda - sha256: 3ac23580a5152826def6f4ef8767ad24f38433ff47d85d8d971b9b67ee192e02 - md5: ce781c2e7b35de72a2b002d58f2e0d8f + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_3 + - libglx 1.7.0 ha4b6fd6_3 + license: LicenseRef-libglvnd + purls: [] + size: 133469 + timestamp: 1779728207669 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_3.conda + sha256: 05c75a2034bdbca29bab467d02ad770ed5e524e4f0670432258f2d8487c95348 + md5: 6e893c36f31502dd195d3d58f455fdbd depends: - - arm-variant * sbsa - - cuda-cudart 13.3.29 h8f3c8d4_0 - - cuda-cudart-dev_linux-aarch64 13.3.29 h8f3c8d4_0 - - cuda-cudart-static 13.3.29 h8f3c8d4_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=13.3.29,<14.0a0 - size: 25269 - timestamp: 1779898455527 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-12.9.79-h3ae8b8a_0.conda - sha256: dac33edcebbf557563a41521f67961039186efbc276903d937b32243ef3be937 - md5: 365adcddf99b81eb323698fda31d507c + - libglvnd 1.7.0 hd24410f_3 + - libglx 1.7.0 hd24410f_3 + license: LicenseRef-libglvnd + purls: [] + size: 148112 + timestamp: 1779728248678 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgl-devel-1.7.0-ha4b6fd6_3.conda + sha256: 41d7d864ad1f199bdb06ff6cc3931455c8af62f1d2071a08c6fa08affbcb678f + md5: 63e43d278ee5084813fe3c2edf4834ce depends: - - arm-variant * sbsa - - cuda-cudart-static_linux-aarch64 12.9.79 h3ae8b8a_0 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=13 - - libstdcxx >=13 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23507 - timestamp: 1749218358755 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-13.3.29-h8f3c8d4_0.conda - sha256: 8f83d5e859f3ef949589b4ef2bf1eb0a99d02ad2941c6f9c0a802b96a1d65c25 - md5: a40f6427160d6394dfa189276386be91 + - __glibc >=2.17,<3.0.a0 + - libgl 1.7.0 ha4b6fd6_3 + - libglx-devel 1.7.0 ha4b6fd6_3 + license: LicenseRef-libglvnd + purls: [] + size: 115664 + timestamp: 1779728218325 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-devel-1.7.0-hd24410f_3.conda + sha256: b7483884e5e8df362f113d7d7694f0a37ecf6409f1acaaa889f312688917c067 + md5: 3a0adce33b3b8a52c76389db1edfec1b depends: - - arm-variant * sbsa - - cuda-cudart-static_linux-aarch64 13.3.29 h8f3c8d4_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24786 - timestamp: 1779898447855 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cuobjdump-13.3.29-h2079400_0.conda - sha256: be8e5b71615efe7f89d71f4d8cf73ea85fce920ef8fa5da36f1b13eec08073f2 - md5: 58aee96f25fddcfe3be78119b30d66d6 + - libgl 1.7.0 hd24410f_3 + - libglx-devel 1.7.0 hd24410f_3 + license: LicenseRef-libglvnd + purls: [] + size: 116084 + timestamp: 1779728257534 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.88.2-h0d30a3d_0.conda + sha256: 4bee10e62796f01e4fa2b5849135b1cc061337fe9cf5eb9bd79e9664922ae0e4 + md5: 889febc66cd9e4190f80ef9718fa239b depends: - - cuda-nvdisasm - - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 318659 - timestamp: 1779911096155 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cupti-13.3.35-he38c790_0.conda - sha256: c0dc030fe541d6dbad7d8f992f341af1321615ef8b2b56dffd61ddffb3162848 - md5: 40c0afa5ad04ed5b0cef0aab50420bc0 + - __glibc >=2.17,<3.0.a0 + - libiconv >=1.18,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - libffi >=3.5.2,<3.6.0a0 + - pcre2 >=10.47,<10.48.0a0 + constrains: + - glib >2.66 + license: LGPL-2.1-or-later + purls: [] + size: 4754220 + timestamp: 1782463895250 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.2-h96a7f82_0.conda + sha256: 6a13152a81513117b8d41bf64dea56c731d877bcced5a24fab738e3c0f9ac58c + md5: 31d404d8c0755d0f9062a4459f5a1084 depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - libstdcxx >=14 + - libffi >=3.5.2,<3.6.0a0 + - pcre2 >=10.47,<10.48.0a0 + - libzlib >=1.3.2,<2.0a0 + - libiconv >=1.18,<2.0a0 constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 1448548 - timestamp: 1779895823294 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvcc-impl-12.9.86-h614329b_2.conda - sha256: 60ca00b86a28f3f1abd080df6685c415a51f9a0267e65b3a56783b9b97265486 - md5: 7ad15773a6b7617fb36cc3d92034f3e9 + - glib >2.66 + license: LGPL-2.1-or-later + purls: [] + size: 4943441 + timestamp: 1782464048865 +- conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.2-h7ce1215_0.conda + sha256: 20d4a182b8aa1d71b331579fae281bb3ccb1a199257ce15fadc53786031a7408 + md5: 5be116480ef34a5646894d7f7cd7ae41 depends: - - arm-variant * sbsa - - cuda-cudart >=12.9.79,<13.0a0 - - cuda-cudart-dev - - cuda-nvcc-dev_linux-aarch64 12.9.86 h4310d6a_2 - - cuda-nvcc-tools 12.9.86 h614329b_2 - - cuda-nvvm-impl 12.9.86 h7b14b0b_2 - - cuda-version >=12.9,<12.10.0a0 - - libnvptxcompiler-dev 12.9.86 h579c4fd_2 - constrains: - - gcc_impl_linux-aarch64 >=6,<15.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27322 - timestamp: 1753975427660 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvcc-tools-12.9.86-h614329b_2.conda - sha256: 1cc064e076c417bca2de7fb6ee28df0964cbad25eada2131a48b43ab36cdea33 - md5: ab332ca8da729b13bf7e5b0022c2702c - depends: - - arm-variant * sbsa - - cuda-crt-tools 12.9.86 h579c4fd_2 - - cuda-nvvm-tools 12.9.86 h7b14b0b_2 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=12 - - libstdcxx >=12 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libintl >=0.22.5,<1.0a0 + - libzlib >=1.3.2,<2.0a0 + - libiconv >=1.18,<2.0a0 + - pcre2 >=10.47,<10.48.0a0 + - libffi >=3.5.2,<3.6.0a0 constrains: - - gcc_impl_linux-aarch64 >=6,<15.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23974390 - timestamp: 1753975366926 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvcc-tools-13.3.33-h614329b_0.conda - sha256: f765163dc590d1164e80dbaab51044d984bc150c7c0df1116d0d83db02a23dce - md5: b10e65a24547ea994f7297eff4a94c73 + - glib >2.66 + license: LGPL-2.1-or-later + purls: [] + size: 4518265 + timestamp: 1782463965040 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglvnd-1.7.0-ha4b6fd6_3.conda + sha256: e019ebe4e3f5cdf23e2f5e58ddf7ade27988c53820115b17b98f218ebcc87748 + md5: eb83f3f8cecc3e9bff9e250817fc69b6 depends: - - arm-variant * sbsa - - cuda-crt-tools 13.3.33 h579c4fd_0 - - cuda-nvvm-tools 13.3.33 h7b14b0b_0 - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - - libstdcxx >=12 + - __glibc >=2.17,<3.0.a0 + license: LicenseRef-libglvnd + purls: [] + size: 133586 + timestamp: 1779728183422 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_3.conda + sha256: ca124e53765a2b123e0ca6ce809c7caf188bb26e5fe125b69099378276d5e66f + md5: a2ad848c0aab2e326c6af08ea20502f4 + license: LicenseRef-libglvnd + purls: [] + size: 146645 + timestamp: 1779728228274 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-1.7.0-ha4b6fd6_3.conda + sha256: 2f74713c9ca408ea84e88a30a9028153e7b553e8bb42e06139eac9a753c27da9 + md5: ec3c4350aa0261bf7f87b8ca15c8e80e + depends: + - __glibc >=2.17,<3.0.a0 + - libglvnd 1.7.0 ha4b6fd6_3 + - xorg-libx11 >=1.8.13,<2.0a0 + license: LicenseRef-libglvnd + purls: [] + size: 76586 + timestamp: 1779728199059 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_3.conda + sha256: 2698b415b9f7b692cd64e34db623e1a6e54ed54e78b0b4e5d4ea6762791e9118 + md5: 338faf34b78d053841098c0528699e34 + depends: + - libglvnd 1.7.0 hd24410f_3 + - xorg-libx11 >=1.8.13,<2.0a0 + license: LicenseRef-libglvnd + purls: [] + size: 76704 + timestamp: 1779728242753 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglx-devel-1.7.0-ha4b6fd6_3.conda + sha256: a17ae2d4cb2de04a20882ae14ec3cc1958e868a4dec81e3d7eca30115ee50e94 + md5: 16b6330783ce0d1ae8d22782173b32c9 + depends: + - __glibc >=2.17,<3.0.a0 + - libglx 1.7.0 ha4b6fd6_3 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-xorgproto + license: LicenseRef-libglvnd + purls: [] + size: 27363 + timestamp: 1779728211402 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-devel-1.7.0-hd24410f_3.conda + sha256: b30433c4f56bec0a7d9d288e0a456ed280183e32f3f4880ada2189fc12804a52 + md5: 3da9719866b95bddcad86c8aec6a8ba2 + depends: + - libglx 1.7.0 hd24410f_3 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-xorgproto + license: LicenseRef-libglvnd + purls: [] + size: 27651 + timestamp: 1779728252006 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda + sha256: 5abe4ab9d93f6c9757d654f1969ae2267d4505315c1f2f8fe705fd60af084f1b + md5: faac990cb7aedc7f3a2224f2c9b0c26c + depends: + - __glibc >=2.17,<3.0.a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 603817 + timestamp: 1778268942614 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda + sha256: 2370ef0ffcbae5bede3c4bf136add4abc257245eb91f724c99bb4a43116c5a83 + md5: c5e8a379c4a2ec2aea4ba22758c001d9 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 587387 + timestamp: 1778268674393 +- conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_19.conda + sha256: 4dc958ced2fc7f42bc675b07e2c9abe3e150875ffdf62ca551d94fc6facf1fd7 + md5: f1147651e3fdd585e2f442c0c2fc8f2d + depends: + - libwinpthread >=12.0.0.r4.gg4f2fc60ca constrains: - - gcc_impl_linux-aarch64 >=6,<16.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 30810865 - timestamp: 1779905234807 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvdisasm-13.3.29-h40ab4d6_0.conda - sha256: 1f16decf4a0e7ef45b635d36ce42c50ffe453481b5676f2416aa06c346ce01cb - md5: 6114b9362608da406b03df66bfcaa520 + - msys2-conda-epoch <0.0a0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 664640 + timestamp: 1778272979661 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-14.2.1-h17a8019_1.conda + sha256: 821c315f6b5171aa89e735be2ad84e74eb3f898fc7610ee36cfecd95dfa789e8 + md5: fb4669c3990b94ea32fbb81f433e9aa6 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.15,<2.0a0 + - icu >=78.3,<79.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 + - libglib >=2.88.2,<3.0a0 + - libpng >=1.6.58,<1.7.0a0 - libstdcxx >=14 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 4673704 - timestamp: 1779896419537 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-12.9.86-h8f3c8d4_1.conda - sha256: e7f8d835d7bf993dcad9fba6db5af89c35b2b4f0282799b729bf6ad2c3bd896d - md5: 48187c09673a42f9930764e8170b8787 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 1297668 + timestamp: 1782800580119 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-14.2.1-h3a99ef3_1.conda + sha256: ae1d16dd62f626c4dab1240a49f6b04e14e4f30140e5fb26bb835821dba114b6 + md5: 655cedd9626545089b9e9ead153cf619 depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.15,<2.0a0 + - icu >=78.3,<79.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 + - libglib >=2.88.2,<3.0a0 + - libpng >=1.6.58,<1.7.0a0 - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 33382016 - timestamp: 1760723722396 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda - sha256: cd16532e362662c88f6bc3b009457b3d36b33ca990f0deabece6def7d44aaa72 - md5: 7147a017b16d0d7c93c53d261e0ef0b6 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 1334601 + timestamp: 1782800489368 +- conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-14.2.1-h03b5201_1.conda + sha256: 634a64cf43f1ce5a4139334bcdbde54d6854ae33d881ae1774377965e21051a5 + md5: 005469a341088900ca235892d3154c24 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 + - cairo >=1.18.4,<2.0a0 + - graphite2 >=1.3.15,<2.0a0 + - icu >=78.3,<79.0a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libglib >=2.88.2,<3.0a0 + - libpng >=1.6.58,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: [] + size: 1008194 + timestamp: 1782801000396 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libharfbuzz-devel-14.2.1-h17a8019_1.conda + sha256: 6d8e793042affd18ca1784b7794fab14d16f54f984777ce6ab86bacaa465ab0d + md5: 99cf21100441e51272f1cd6fe0632a20 + depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - freetype + - graphite2 >=1.3.15,<2.0a0 + - icu >=78.3,<79.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 + - libglib >=2.88.2,<3.0a0 + - libharfbuzz 14.2.1 h17a8019_1 + - libpng >=1.6.58,<1.7.0a0 - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT purls: [] - run_exports: {} - size: 37806494 - timestamp: 1779897383028 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-12.9.86-h8f3c8d4_1.conda - sha256: b1d1a74cbbdcf46c4ee737279df3220eb7a29393999bc96b3c1398f7de78c912 - md5: 2346ee558cbfb7b857c8353ffc2553fa + size: 1970690 + timestamp: 1782800603897 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libharfbuzz-devel-14.2.1-h3a99ef3_1.conda + sha256: 866b0132df7d080a7b2e3c44e4c79723f007db6c035b1e751612d29db698859b + md5: b6762f2c0386ba4606d5b2cba1e41ca8 depends: - - arm-variant * sbsa - - cuda-nvrtc 12.9.86 h8f3c8d4_1 - - cuda-version >=12.9,<12.10.0a0 + - cairo >=1.18.4,<2.0a0 + - freetype + - graphite2 >=1.3.15,<2.0a0 + - icu >=78.3,<79.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 - libgcc >=14 + - libglib >=2.88.2,<3.0a0 + - libharfbuzz 14.2.1 h3a99ef3_1 + - libpng >=1.6.58,<1.7.0a0 - libstdcxx >=14 - constrains: - - cuda-nvrtc-static >=12.9.86 - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-nvrtc >=12.9.86,<13.0a0 - size: 36250 - timestamp: 1760723865518 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-13.3.33-h8f3c8d4_0.conda - sha256: e4a9f008471235dc0888d0b08511145066ace6ae8666ee55335138e221e6ecd4 - md5: ef35d58c106a148ac95dc6d0474cd4ed + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 2050496 + timestamp: 1782800511879 +- conda: https://conda.anaconda.org/conda-forge/win-64/libharfbuzz-devel-14.2.1-h03b5201_1.conda + sha256: d04bac65245bf76ae23a18148b941d8215085d38a6d391971966ccda8a996b99 + md5: de077ebf9cbc0c1da6510fdf1bbc6baa depends: - - arm-variant * sbsa - - cuda-nvrtc 13.3.33 h8f3c8d4_0 - - cuda-version >=13.3,<13.4.0a0 + - cairo >=1.18.4,<2.0a0 + - freetype + - glib + - graphite2 >=1.3.15,<2.0a0 + - icu >=78.3,<79.0a0 + - libexpat >=2.8.1,<3.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libglib >=2.88.2,<3.0a0 + - libharfbuzz 14.2.1 h03b5201_1 + - libpng >=1.6.58,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + purls: [] + size: 321750 + timestamp: 1782801035822 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.13.0-default_he001693_1000.conda + sha256: 5041d295813dfb84652557839825880aae296222ab725972285c5abe3b6e4288 + md5: c197985b58bc813d26b42881f0021c82 + depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - libstdcxx >=14 - constrains: - - arm-variant * sbsa - - cuda-nvrtc-static >=13.3.33 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-nvrtc >=13.3.33,<14.0a0 - size: 38773 - timestamp: 1779897502880 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvtx-13.3.29-h8f3c8d4_0.conda - sha256: c790d485bb8b4afcbd38d6aabc3534f4b0f96d31e02e0697079098599b86d84f - md5: e45c070b75baf2c66c54193aaeb6ca6e + - libxml2 + - libxml2-16 >=2.14.6 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 2436378 + timestamp: 1770953868164 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda + sha256: 88888d99e81c93e7331f2eb0fec08b3c4a47a1bfa1c88b3e641f6568569b6261 + md5: 974183f6420938051e2f3208922d057f depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 35014 - timestamp: 1779896683393 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.33-he9431aa_0.conda - sha256: cf2ee921c3e8bb70872b0e146f7809d02f45c894e12bf93537fc0523ecc370a8 - md5: b69f69843b228a650173716b23b1d834 - depends: - - cuda-nvvm-dev_linux-aarch64 13.3.33.* - - cuda-nvvm-impl 13.3.33.* - - cuda-nvvm-tools 13.3.33.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - size: 25733 - timestamp: 1779909827964 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.73-he9431aa_0.conda - sha256: aaa45b15436cf0fe279efeddb0c8456ecbfe7b9a269ae01de725af22e88e29c2 - md5: 6b2562f71c917867830ebec5899d0aff + - libxml2 + - libxml2-16 >=2.14.6 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 2453519 + timestamp: 1770953713701 +- conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda + sha256: 2ee12e37223dfcd0acd050c80a91150c482b6e2899198521e1800dce66662467 + md5: 6a01c986e30292c715038d2788aa1385 depends: - - cuda-nvvm-dev_linux-aarch64 13.3.73.* - - cuda-nvvm-impl 13.3.73.* - - cuda-nvvm-tools 13.3.73.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24930 - timestamp: 1782788514971 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-12.9.86-h7b14b0b_2.conda - sha256: 100accfc6f608004ddef4b9004ee5179eddbac19e7d5c4c7bd5e6e8b71bd7c5d - md5: 8e9fceb7b677be7107cc9c20f8d71d86 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + - libxml2 + - libxml2-16 >=2.14.6 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 2396128 + timestamp: 1770954127918 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libhwy-1.4.0-h3a9caae_0.conda + sha256: 02ab5e50c3921e88ad4dd0bc8f3fe282d2d7d03a20203d3281954b94641deb3d + md5: 9544a7225c8366ea2c397aad5fb53470 depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 21601172 - timestamp: 1753975236344 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.33-h7b14b0b_0.conda - sha256: e90b28ba3cac0f00acb5090693f7aaca46884ed9bd2d6fabec2b2c2c753be795 - md5: aee27037173867115c798567ba92c876 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 OR BSD-3-Clause + purls: [] + size: 1431901 + timestamp: 1784325535334 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h9b45113_0.conda + sha256: 6583ca6181e2c70367a62951fb7e82fd63048ab667af3c254ca3ba35a8ea2a0c + md5: 321d06ae401d0f7face5326d78f84fc8 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement + - libgcc >=14 + - libstdcxx >=14 + license: Apache-2.0 OR BSD-3-Clause purls: [] - size: 21556608 - timestamp: 1779905144993 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda - sha256: a41e62f9f3e6887a57c7e3c747b8762c60279b34e51b356df2474c0852e3cd24 - md5: 9163c2edad94dc8f1e194c41351eb383 + size: 947179 + timestamp: 1784325595902 +- conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h2419aca_0.conda + sha256: ade3e4e8e09051bad9c75ea9e96b09e3c635216c409c87c369e6f8566a528cb1 + md5: 430378e206cf5a148fc8da7603b2466e depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 21565754 - timestamp: 1782782874457 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-12.9.86-h7b14b0b_2.conda - sha256: f5cf91e491e150e37cd224fa648c07f6b1cd2cbfee5affba10625df7ba0b0425 - md5: 9a35dcda5573a713183f5159ec282364 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 OR BSD-3-Clause + purls: [] + size: 564121 + timestamp: 1784325614001 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda + sha256: c467851a7312765447155e071752d7bf9bf44d610a5687e32706f480aad2833f + md5: 915f5995e94f60e9a4826e0b0920ee88 depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24411824 - timestamp: 1753975273689 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.33-h7b14b0b_0.conda - sha256: cce5ef4c36f3db60909fc5bbbe138dfbf51d237d880cea77e366db33d97cac56 - md5: 6c981201b590365bbe2fd8af4f8a1675 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: LGPL-2.1-only + purls: [] + size: 790176 + timestamp: 1754908768807 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda + sha256: 1473451cd282b48d24515795a595801c9b65b567fe399d7e12d50b2d6cdb04d9 + md5: 5a86bf847b9b926f3a4f203339748d78 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement + - libgcc >=14 + license: LGPL-2.1-only purls: [] - size: 29031580 - timestamp: 1779905175228 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.73-h7b14b0b_0.conda - sha256: f96eb5d7c663c501a6e254e03818fa52f177dfd3a3a969a5ec71144787a95128 - md5: 9b78eff3eff8405a3c3c02ab47268409 + size: 791226 + timestamp: 1754910975665 +- conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda + sha256: 0dcdb1a5f01863ac4e8ba006a8b0dc1a02d2221ec3319b5915a1863254d7efa7 + md5: 64571d1dd6cdcfa25d0664a5950fdaa2 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 29030637 - timestamp: 1782782902389 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-12.9.79-h16bee8c_1.conda - sha256: 6fa8a4d4548b114acd3c9849b65b5d9fcf1ca8f39cd2b792ce5167a51955100c - md5: 875bfddc9855f12e9f518ef8e44c2d85 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-only + purls: [] + size: 696926 + timestamp: 1754909290005 +- conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda + sha256: c7e4600f28bcada8ea81456a6530c2329312519efcf0c886030ada38976b0511 + md5: 2cf0cf76cc15d360dfa2f17fd6cf9772 depends: - - arm-variant * sbsa - - cuda-cudart-dev - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23784 - timestamp: 1761098779882 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-13.3.27-h16bee8c_0.conda - sha256: edee9a24047014874cb0b324702967f7a99c0b209bee96544eb84de8714a3306 - md5: a2ea427fd6a0c3fc57d32e541b13f912 + - libiconv >=1.17,<2.0a0 + license: LGPL-2.1-or-later + purls: [] + size: 95568 + timestamp: 1723629479451 +- conda: https://conda.anaconda.org/conda-forge/win-64/libintl-devel-0.22.5-h5728263_3.conda + sha256: be1f3c48bc750bca7e68955d57180dfd826d6f9fa7eb32994f6cb61b813f9a6a + md5: 7537784e9e35399234d4007f45cdb744 depends: - - arm-variant * sbsa - - cuda-cudart-dev - - cuda-version >=13.3,<13.4.0a0 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 25101 - timestamp: 1779913642980 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cupy-14.0.1-py314h8e5308c_0.conda - sha256: 10608ecb57bf7c2295a8ce5ed538305553290ec53fa960a91794559e42a204ba - md5: f4200ad5b954b43fac5ae43415e82317 + - libiconv >=1.17,<2.0a0 + - libintl 0.22.5 h5728263_3 + license: LGPL-2.1-or-later + purls: [] + size: 40746 + timestamp: 1723629745649 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.2.0-hb03c661_0.conda + sha256: 716332fd31b3808da7a4235a05212a9e9da05e854864c3def2dea0b5d2bf7610 + md5: 466badda5536d85ddc63ee9404f29735 depends: - - cuda-cudart-dev_linux-aarch64 - - cuda-nvrtc - - cuda-version >=13,<14.0a0 - - cupy-core 14.0.1 py314h1d6db3a_0 - - libcublas - - libcufft - - libcurand - - libcusolver - - libcusparse - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - size: 385353 - timestamp: 1771605185463 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cupy-core-14.0.1-py314h1d6db3a_0.conda - sha256: 125c488f2ac15a216575449baf03a9e16644c3e7e6773fd9e53ba68893a20396 - md5: 0bd337aec5a1d18ecf0bf16a2d0d3ce8 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + purls: [] + size: 652868 + timestamp: 1783731886811 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.2.0-he30d5cf_0.conda + sha256: da3e45974c1f23c76264d6358463861236862052ca156e34b502ef3c27e36fb8 + md5: de0780a3690bffe75ac3fa70db84596d depends: - - __glibc >=2.28,<3.0.a0 - - cuda-pathfinder >=1.3.3,<2.0a0 - libgcc >=14 - - libstdcxx >=14 - - numpy >=1.23,<3 - - numpy >=2.0 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 - - python_abi 3.14.* *_cp314 constrains: - - __cuda >=13.0 - - cutensor >=2.5.0.2,<3.0a0 - - optuna ~=3.0 - - libcublas >=13,<14.0a0 - - cuda-nvrtc >=13,<14.0a0 - - libcufft >=12,<13.0a0 - - libcusolver >=12,<13.0a0 - - libcusparse >=12,<13.0a0 - - libcurand >=10,<11.0a0 - - nccl >=2.29.3.1,<3.0a0 - - scipy >=1.10,<1.17 - - cupy >=14.0.1,<14.1.0a0 - - cuda-version >=13,<14.0a0 - license: MIT - license_family: MIT - size: 39128286 - timestamp: 1771605119782 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.4-py314h4c416a3_0.conda - sha256: 1369b5b23d9451ae3ef678cb68678778a6ea164186bc8ebe6539a1d6fa803da8 - md5: 822c83a4ba5a12101695ba39607c338f + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + purls: [] + size: 714602 + timestamp: 1783731816001 +- conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.2.0-hfd05255_0.conda + sha256: 3d6635efa9497b9c5ba7957df8067c0a980d5cb10a6ea136931809eb410f8a99 + md5: cf219146d5bf2fee5907409ff9f5ac89 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + purls: [] + size: 991057 + timestamp: 1783731990693 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjxl-0.12.0-h174a0a3_1.conda + sha256: 1811d6c6558fbfe89326616c207cc7584032b60bc6f4329d2a76b961e2936a15 + md5: 1fff55640e1f12d7606965915be37bbb depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/cython?source=hash-mapping - size: 3707806 - timestamp: 1767577060898 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda - sha256: 4add54f62b3fbdc7f8e1238f5e5990e16a561bed33d18e3dbc1db1d4f6cf8572 - md5: c8ec76477232c7e59f68545a1b4fb8ea + - libhwy >=1.4.0,<1.5.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1849836 + timestamp: 1783146019356 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.12.0-hbae46ee_1.conda + sha256: 476f42670da6c1ad30d0cc830a9ef995975c14075d626e261c8dd1dd0db41558 + md5: e89355bfbc02eeeb0798ac4304968d65 depends: - libgcc >=14 - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 3747072 - timestamp: 1782821625037 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dav1d-1.2.1-h31becfc_0.conda - sha256: 33fe66d025cf5bac7745196d1a3dd7a437abcf2dbce66043e9745218169f7e17 - md5: 6e5a87182d66b2d1328a96b61ca43a62 - depends: - - libgcc-ng >=12 - license: BSD-2-Clause + - libhwy >=1.4.0,<1.5.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + license: BSD-3-Clause license_family: BSD purls: [] - size: 347363 - timestamp: 1685696690003 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dbus-1.16.2-h70963c4_1.conda - sha256: 3af801577431af47c0b72a82bb93c654f03072dece0a2a6f92df8a6802f52a22 - md5: a4b6b82427d15f0489cef0df2d82f926 + size: 2176891 + timestamp: 1783146026809 +- conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.12.0-h932607e_1.conda + sha256: 141310ec747808be57ba9e7501fcfab75b260803233dd9ba818fb85f6080aad9 + md5: adb20d060513fe9655d28a780bafafaa depends: - - libstdcxx >=14 - - libgcc >=14 - - libglib >=2.86.2,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - libexpat >=2.7.3,<3.0a0 - license: AFL-2.1 OR GPL-2.0-or-later + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libhwy >=1.4.0,<1.5.0a0 + - libbrotlienc >=1.2.0,<1.3.0a0 + - libbrotlidec >=1.2.0,<1.3.0a0 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 480416 - timestamp: 1764536098891 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/debugpy-1.8.20-py314he6363bd_0.conda - sha256: abfa4f174e4da26505bbfd0006e55d6c45abb5566398255c26b9053e2d729323 - md5: e8c04cdaa2ff091c7199cd51e11ef252 + size: 1199695 + timestamp: 1783146089449 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h47877c9_openblas.conda + build_number: 8 + sha256: 168e327d737059553e15cc6ec36d76b9bbb3931c2a7721555fd68b4c9348b247 + md5: 809be8ba8712c77bc7d44c2d99390dc4 depends: - - python - - libgcc >=14 - - python 3.14.* *_cp314 - - libstdcxx >=14 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/debugpy?source=hash-mapping - size: 2857181 - timestamp: 1769744992815 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dlpack-1.3-hfae3067_0.conda - sha256: 9194c581bf0576702cdd4264e2544393c2246d2a59f3c23471d60eab9de49edc - md5: d4a57843c082438007dd23a2a23f8201 - depends: - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - run_exports: {} - size: 19820 - timestamp: 1769614834365 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.0.1-gpl_h62efc85_914.conda - sha256: a2816bcef9d7b072597192fcb15b851eaee1ef358c0a3890ab255070d41b64cb - md5: e9f109db13b0fad0c1f2f92d9770c8c3 - depends: - - alsa-lib >=1.2.15.3,<1.3.0a0 - - aom >=3.9.1,<3.10.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - gmp >=6.3.0,<7.0a0 - - harfbuzz >=12.3.2 - - lame >=3.100,<3.101.0a0 - - libass >=0.17.4,<0.17.5.0a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libjxl >=0.11,<1.0a0 - - liblzma >=5.8.2,<6.0a0 - - libopenvino >=2026.0.0,<2026.0.1.0a0 - - libopenvino-arm-cpu-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-auto-batch-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-auto-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-hetero-plugin >=2026.0.0,<2026.0.1.0a0 - - libopenvino-ir-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-onnx-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-paddle-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-pytorch-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-tensorflow-frontend >=2026.0.0,<2026.0.1.0a0 - - libopenvino-tensorflow-lite-frontend >=2026.0.0,<2026.0.1.0a0 - - libopus >=1.6.1,<2.0a0 - - librsvg >=2.60.2,<3.0a0 - - libstdcxx >=14 - - libvorbis >=1.3.7,<1.4.0a0 - - libvpx >=1.15.2,<1.16.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.1,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.5,<4.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2025.5,<2025.6.0a0 - - svt-av1 >=4.0.1,<4.0.2.0a0 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 + - libblas 3.11.0 8_h4a7cf45_openblas constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - size: 12035194 - timestamp: 1773008913159 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.1-gpl_hef17b83_904.conda - sha256: 5d50fac41e33f43144fccc32fadf84eff748b7397cf7fb2bebbce54413448762 - md5: df73a6f7d9a40e7eec63a39e53e38ca6 + - blas 2.308 openblas + - libcblas 3.11.0 8*_openblas + - liblapacke 3.11.0 8*_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 18790 + timestamp: 1779859115086 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-8_h5e43f62_mkl.conda + build_number: 8 + sha256: 0cb26d433dfa15a392eaeeb8a96ac468f4d007d7e7e37ef7bf46856aaf9a9785 + md5: 370e81464714060008e60ee53825bb3e depends: - - alsa-lib >=1.2.16,<1.3.0a0 - - aom >=3.14.1,<3.15.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.18.1,<3.0a0 - - fonts-conda-ecosystem - - gmp >=6.3.0,<7.0a0 - - harfbuzz >=14.2.1 - - lame >=3.100,<3.101.0a0 - - libass >=0.17.4,<0.17.5.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libjxl >=0.11,<1.0a0 - - liblzma >=5.8.3,<6.0a0 - - libopenvino >=2026.2.0,<2026.2.1.0a0 - - libopenvino-arm-cpu-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-auto-batch-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-auto-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-hetero-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-ir-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-onnx-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-paddle-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-pytorch-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-tensorflow-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-tensorflow-lite-frontend >=2026.2.0,<2026.2.1.0a0 - - libopus >=1.6.1,<2.0a0 - - libplacebo >=7.360.1,<7.361.0a0 - - librsvg >=2.62.3,<3.0a0 - - libstdcxx >=14 - - libvorbis >=1.3.7,<1.4.0a0 - - libvpx >=1.15.2,<1.16.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.2,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.6,<4.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2026.2,<2026.3.0a0 - - svt-av1 >=4.0.1,<4.0.2.0a0 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 + - libblas 3.11.0 8_h5875eb1_mkl constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL + - blas 2.308 mkl + - libcblas 3.11.0 8*_mkl + - liblapacke 3.11.0 8*_mkl + track_features: + - blas_mkl + license: BSD-3-Clause + license_family: BSD purls: [] - size: 12619638 - timestamp: 1780668065925 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ffmpeg-8.1.2-gpl_hef17b83_900.conda - sha256: 8f61fb103233537cdbf5080d0bda2ccd13014badff9fb07c9bc9e4a6c2fc3ff8 - md5: fc2f29917ae2dfbc69b5a0cdba7ecbc7 + size: 18921 + timestamp: 1779859092867 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda + build_number: 8 + sha256: d269a684afa0b2fdb44d6b60167f854f30410cdb5ee49a7275c026f6b10c8d05 + md5: 3af3f2aa755abc5e91351114ae214f55 depends: - - alsa-lib >=1.2.16.1,<1.3.0a0 - - aom >=3.14.1,<3.15.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.18.1,<3.0a0 - - fonts-conda-ecosystem - - gmp >=6.3.0,<7.0a0 - - harfbuzz >=14.2.1 - - lame >=3.100,<3.101.0a0 - - libass >=0.17.4,<0.17.5.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libjxl >=0.11,<1.0a0 - - liblzma >=5.8.3,<6.0a0 - - libopenvino >=2026.2.0,<2026.2.1.0a0 - - libopenvino-arm-cpu-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-auto-batch-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-auto-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-hetero-plugin >=2026.2.0,<2026.2.1.0a0 - - libopenvino-ir-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-onnx-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-paddle-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-pytorch-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-tensorflow-frontend >=2026.2.0,<2026.2.1.0a0 - - libopenvino-tensorflow-lite-frontend >=2026.2.0,<2026.2.1.0a0 - - libopus >=1.6.1,<2.0a0 - - libplacebo >=7.360.1,<7.361.0a0 - - librsvg >=2.62.3,<3.0a0 - - libstdcxx >=14 - - libvorbis >=1.3.7,<1.4.0a0 - - libvpx >=1.15.2,<1.16.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxcb >=1.17.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.2,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.7,<4.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2026.2,<2026.3.0a0 - - svt-av1 >=4.0.1,<4.0.2.0a0 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 + - libblas 3.11.0 8_haddc8a3_openblas constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL + - libcblas 3.11.0 8*_openblas + - liblapacke 3.11.0 8*_openblas + - blas 2.308 openblas + license: BSD-3-Clause + license_family: BSD purls: [] - size: 12729634 - timestamp: 1781693525164 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fmt-12.1.0-h20c602a_0.conda - sha256: 7826619c80af5a5fb0c1f2a965c93f4b92670523e12ff45c592daa3f11340746 - md5: 067209b690c2d7f42e1e4c370d1aff12 + size: 18828 + timestamp: 1779859055749 +- conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda + build_number: 8 + sha256: 44999ed04bc0a56de44ee0ac8bd5b3702efd411a8b29491c0e3d3deb8619c94e + md5: d584799b920ecae9b75a2b70743a3de7 depends: - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 197671 - timestamp: 1767681179883 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.17.1-hba86a56_0.conda - sha256: 835aff8615dd8d8fff377679710ce81b8a2c47b6404e21a92fb349fda193a15c - md5: 0fed1ff55f4938a65907f3ecf62609db + - libblas 3.11.0 8_h8455456_mkl + constrains: + - libcblas 3.11.0 8*_mkl + - liblapacke 3.11.0 8*_mkl + - blas 2.308 mkl + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 81027 + timestamp: 1779859714698 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda + sha256: ec30e52a3c1bf7d0425380a189d209a52baa03f22fb66dd3eb587acaa765bd6d + md5: b88d90cad08e6bc8ad540cb310a761fb depends: - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libuuid >=2.41.3,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 279044 - timestamp: 1771382728182 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.1-hba86a56_0.conda - sha256: 2ccfd118269d363a5506161c4a0d96da46d2f01beecc74e0540a54b4737d0e45 - md5: f4d29a0cd77104a683607319a542ac7e + constrains: + - xz 5.8.3.* + license: 0BSD + purls: [] + size: 113478 + timestamp: 1775825492909 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda + sha256: d61962b9cd54c3554361550203c64d5b65b71e3058a285b66e4b04b9769f0a5c + md5: 76298a9e6d71ee6e832a8d0d7373b261 depends: - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - libgcc >=14 - - libuuid >=2.42.1,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT + constrains: + - xz 5.8.3.* + license: 0BSD purls: [] - size: 290522 - timestamp: 1780450108132 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.2-h8af1aa0_0.conda - sha256: ecbe6e811574fba5194b29ac3a2badea5eaa060bd9fe7f5bd48a70d16ef38e5a - md5: 9cb47d7bbb36646c44d7cf1cb8047887 - depends: - - libfreetype 2.14.2 h8af1aa0_0 - - libfreetype6 2.14.2 hdae7a39_0 - license: GPL-2.0-only OR FTL - size: 173437 - timestamp: 1772756019067 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.14.3-h8af1aa0_1.conda - sha256: 1112c56bc19cbce233b30d9d31ce8eb6fcc100c9baa5145315aaa1e3a25b5178 - md5: 5e8e88bfb3fbb0df0f9f8bb890721e07 + size: 126102 + timestamp: 1775828008518 +- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda + sha256: d636d1a25234063642f9c531a7bb58d84c1c496411280a36ea000bd122f078f1 + md5: 8f83619ab1588b98dd99c90b0bfc5c6d depends: - - libfreetype 2.14.3 h8af1aa0_1 - - libfreetype6 2.14.3 hdae7a39_1 - license: GPL-2.0-only OR FTL + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - xz 5.8.3.* + license: 0BSD purls: [] - size: 174060 - timestamp: 1780933507786 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fribidi-1.0.16-he30d5cf_0.conda - sha256: 1bfcd715bcb49a0b22d5d1899a22c6ff884b06f8e141eb746f3949752469a422 - md5: f3ac54914f7d3e1d68cb8d891765e5f9 + size: 106486 + timestamp: 1775825663227 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libmagma-2.10.0-hd93470c_0.conda + sha256: 07607cffe1f53a5e405e29c897bfcad800f3c71b2a57ed7502a0ef82a60edc78 + md5: d9e0e4dbf5aff16fb804e6a656fc73bc depends: + - __glibc >=2.28,<3.0.a0 + - _openmp_mutex >=4.5 + - cuda-cudart + - cuda-version >=13,<14.0a0 + - libblas >=3.9.0,<4.0a0 + - libcublas + - libcusparse - libgcc >=14 - license: LGPL-2.1-or-later - purls: [] - size: 62909 - timestamp: 1757438620177 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-14.3.0-h2e72a27_18.conda - sha256: debc5c801b3af35f1d474aead8621c4869a022d35ca3c5195a9843d81c1c9ab4 - md5: db4bf1a70c2481c06fe8174390a325c0 - depends: - - conda-gcc-specs - - gcc_impl_linux-aarch64 14.3.0 h533bfc8_18 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=14 license: BSD-3-Clause license_family: BSD - size: 29438 - timestamp: 1771378102660 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc-15.2.0-h24a549f_18.conda - sha256: 0bd812fcf81d866d75eca0fd759b001f0f39601d0f8ea9b7a888b47719491de9 - md5: e4c2c2d15fc780407d7012a529aa7d23 + purls: [] + size: 272468878 + timestamp: 1773078724253 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmagma-2.10.0-he3ecef4_0.conda + sha256: 72b40c75a7bc547b856954f12ba32cd815b26ace064564dc2569e44967cf87fc + md5: 1392ce38ffe86b9612c27cdfef98404d depends: - - gcc_impl_linux-aarch64 15.2.0 hcedddb3_18 - track_features: - - gcc_no_conda_specs + - __glibc >=2.28,<3.0.a0 + - _openmp_mutex >=4.5 + - arm-variant * sbsa + - cuda-cudart + - cuda-version >=13,<14.0a0 + - libblas >=3.9.0,<4.0a0 + - libcublas + - libcusparse + - libgcc >=14 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=14 license: BSD-3-Clause license_family: BSD - size: 29408 - timestamp: 1771378529822 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-14.3.0-h533bfc8_18.conda - sha256: e2488aac8472cfdff4f8a893861acd1ce1c66eafb28e7585ec52fe4e7546df7e - md5: 2ac1b579c1560e021a4086d0d704e2be + purls: [] + size: 324720276 + timestamp: 1773081195270 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda + sha256: fe171ed5cf5959993d43ff72de7596e8ac2853e9021dec0344e583734f1e0843 + md5: 2c21e66f50753a083cbe6b80f38268fa depends: - - binutils_impl_linux-aarch64 >=2.45 - - libgcc >=14.3.0 - - libgcc-devel_linux-aarch64 14.3.0 h25ba3ff_118 - - libgomp >=14.3.0 - - libsanitizer 14.3.0 hedb4206_18 - - libstdcxx >=14.3.0 - - libstdcxx-devel_linux-aarch64 14.3.0 h57c8d61_118 - - sysroot_linux-aarch64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 69149627 - timestamp: 1771377858762 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda - sha256: cd23829b5fb7f3ff5f44eab2da1a993e06bdf759b681a0a7a73bb5783755b6b3 - md5: 66dfb62e7a47e2b511f9c5ee0ff1abf3 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 92400 + timestamp: 1769482286018 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda + sha256: 57c0dd12d506e84541c4e877898bd2a59cca141df493d34036f18b2751e0a453 + md5: 7b9813e885482e3ccb1fa212b86d7fd0 depends: - - binutils_impl_linux-aarch64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_linux-aarch64 15.2.0 h55c397f_119 - - libgomp >=15.2.0 - - libsanitizer 15.2.0 he19c465_19 - - libstdcxx >=15.2.0 - - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_119 - - sysroot_linux-aarch64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 73237372 - timestamp: 1778268860495 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-hcedddb3_18.conda - sha256: 12919d985a6c6787872699c7a3c295dad07f4084f2d850e9c7fe592ee0a6806b - md5: 761a75d8c098913bc1186b26588051e0 + - libgcc >=14 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 114056 + timestamp: 1769482343003 +- conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + sha256: 40dcd0b9522a6e0af72a9db0ced619176e7cfdb114855c7a64f278e73f8a7514 + md5: e4a9fc2bba3b022dad998c78856afe47 depends: - - binutils_impl_linux-aarch64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_linux-aarch64 15.2.0 h55c397f_118 - - libgomp >=15.2.0 - - libsanitizer 15.2.0 he19c465_18 - - libstdcxx >=15.2.0 - - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_118 - - sysroot_linux-aarch64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 73516504 - timestamp: 1771378256368 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_linux-aarch64-15.2.0-h0bf4bd8_27.conda - sha256: 2450913611189cc3c26062a43a97a93501159335d4d314cca5e2678fb5f4d3b6 - md5: 619b8a05f89220fa8c9536dcfeeddd5b - depends: - - gcc_impl_linux-aarch64 15.2.0.* - - binutils_linux-aarch64 - - sysroot_linux-aarch64 - license: BSD-3-Clause + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-2-Clause license_family: BSD - run_exports: - strong: - - libgcc >=15 - size: 29074 - timestamp: 1781279974207 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.5-h90308e0_1.conda - sha256: aa95b37da0750fb93c5eeef79073b9b0d50976fa0dc02ed0301ff7bbbfc7ff36 - md5: c75ae103325db056719dd51d6525e1cd + purls: [] + size: 89411 + timestamp: 1769482314283 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda + sha256: ba7c5d294e3d80f08ac5a39564217702d1a752e352e486210faff794ac5001b4 + md5: db63358239cbe1ff86242406d440e44a depends: - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 license: LGPL-2.1-or-later license_family: LGPL - size: 584221 - timestamp: 1771532437279 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gdk-pixbuf-2.44.6-h90308e0_0.conda - sha256: 53ac38045a8c0b6aa9cfaf784443a3744dc86ab4737c1479b44ae85c96926fe1 - md5: bdd860e72c5e10eb4ffa3d61f9b02ee0 + purls: [] + size: 741323 + timestamp: 1731846827427 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda + sha256: 2e603bf640738511faf80de284daa031f0e67de66b77bed7d0da1045ef062abf + md5: bb24d3dd7d028b70f0bb5f6d6e1329c0 depends: - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.56,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 + - libgcc >=13 license: LGPL-2.1-or-later license_family: LGPL purls: [] - size: 583708 - timestamp: 1774987740322 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.2.0-h124e036_1.conda - sha256: a1c0db6c226b9d80e74bdd49f604eece637489c8c71e6ae63ada8db9e2359944 - md5: 3ead7f968b529f76f972621558ed2f68 - depends: - - libgcc >=14 - - libstdcxx >=14 - - spirv-tools >=2026,<2027.0a0 - license: BSD-3-Clause - license_family: BSD - size: 1348415 - timestamp: 1770195275881 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/glslang-16.3.0-h124e036_0.conda - sha256: bae4806f4076cf9f91089fbeae7c9357ce4348df3657c25b249ac4487beed230 - md5: c0045dffcc3660ecd1b9123df377796f + size: 768716 + timestamp: 1731846931826 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hb9d3cd8_1.conda + sha256: 927fe72b054277cde6cb82597d0fcf6baf127dcbce2e0a9d8925a68f1265eef5 + md5: d864d34357c3b65a4b731f78c0801dc4 depends: - - libgcc >=14 - - libstdcxx >=14 - - spirv-tools >=2026,<2027.0a0 - license: BSD-3-Clause - license_family: BSD + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: LGPL-2.1-only + license_family: GPL purls: [] - size: 1359428 - timestamp: 1777747105441 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmp-6.3.0-h0a1ffab_2.conda - sha256: a5e341cbf797c65d2477b27d99091393edbaa5178c7d69b7463bb105b0488e69 - md5: 7cbfb3a8bb1b78a7f5518654ac6725ad + size: 33731 + timestamp: 1750274110928 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h86ecc28_1.conda + sha256: c0dc4d84198e3eef1f37321299e48e2754ca83fd12e6284754e3cb231357c3a5 + md5: d5d58b2dc3e57073fe22303f5fed4db7 depends: - - libgcc-ng >=12 - - libstdcxx-ng >=12 - license: GPL-2.0-or-later OR LGPL-3.0-or-later + - libgcc >=13 + license: LGPL-2.1-only + license_family: GPL purls: [] - size: 417323 - timestamp: 1718980707330 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gmpy2-2.3.0-py314h887ad84_1.conda - sha256: 416ce5853b797d1b9a4cde37bdcbc64c6c163f0a0e37cd21490bf8989016c9dd - md5: abb2355559989c73f3cad4cf98eafaa8 - depends: - - gmp >=6.3.0,<7.0a0 - - libgcc >=14 - - mpc >=1.3.1,<2.0a0 - - mpfr >=4.2.1,<5.0a0 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 - - python_abi 3.14.* *_cp314 - license: LGPL-3.0-or-later - license_family: LGPL - size: 245553 - timestamp: 1773245145237 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.14-hfae3067_2.conda - sha256: c9b1781fe329e0b77c5addd741e58600f50bef39321cae75eba72f2f381374b7 - md5: 4aa540e9541cc9d6581ab23ff2043f13 - depends: - - libgcc >=14 - - libstdcxx >=14 - license: LGPL-2.0-or-later - license_family: LGPL - size: 102400 - timestamp: 1755102000043 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.15-hfae3067_0.conda - sha256: 3e529c517a76a1f4497c51eeedeeb927d33f732dcdb48055a020a83eb3e4e95c - md5: 4db044857ab1d09b2e8f0013c65387c1 + size: 34831 + timestamp: 1750274211 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_1.conda + sha256: 2f4f4824d6eb16693fa04aca1f872b64df48445e26e8a357dc538bf9825c25fa + md5: df0f2d96a171e8f843d4f03fa3d8d3d9 depends: + - __glibc >=2.17,<3.0.a0 + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - license: LGPL-2.0-or-later - license_family: LGPL + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 103119 - timestamp: 1780455096710 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/greenlet-3.3.2-py314he6363bd_0.conda - sha256: 1bd61e6db6b98b4125a6992ac7ed8749c58f46ee733745608822584d24dfe3fb - md5: 9266d1caf2df92e516b36e817421887b + size: 470857 + timestamp: 1782920237017 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_1.conda + sha256: 5a5f13012bde038ad880d7af1514cc9fb6aa50dbffd69ab57e9b20914a3a5e59 + md5: c27b87f23e6381ebbb7f899bdfbe159c depends: - - python + - arm-variant * sbsa + - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - - python 3.14.* *_cp314 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/greenlet?source=hash-mapping - size: 261103 - timestamp: 1771658394102 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-14.3.0-ha384071_18.conda - sha256: 09fb56bcb1594d667e39b1ff4fced377f1b3f6c83f5b651d500db0b4865df68a - md5: 3d5380505980f8859a796af4c1b49452 - depends: - - gcc 14.3.0 h2e72a27_18 - - gxx_impl_linux-aarch64 14.3.0 h0d4f5d4_18 - license: BSD-3-Clause - license_family: BSD - size: 28822 - timestamp: 1771378129202 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx-15.2.0-ha384071_18.conda - sha256: 98dbcbe55acce3bbd2a3f05d053f4b78530b44dc5595809d97c0c01315dd9df3 - md5: 838a8d3cc9ba3711bfcc831e64a19e1f - depends: - - gcc 15.2.0 h24a549f_18 - - gxx_impl_linux-aarch64 15.2.0 h03e2352_18 - license: BSD-3-Clause - license_family: BSD - size: 28780 - timestamp: 1771378557194 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-14.3.0-h0d4f5d4_18.conda - sha256: 859a78ff16bef8d1d1d89d0604929c3c256ac0248b9a688e8defe9bbc027c886 - md5: a12277d1ec675dbb993ad72dce735530 - depends: - - gcc_impl_linux-aarch64 14.3.0 h533bfc8_18 - - libstdcxx-devel_linux-aarch64 14.3.0 h57c8d61_118 - - sysroot_linux-aarch64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 13513218 - timestamp: 1771378064341 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_18.conda - sha256: 1f3a0ce17bd6f9549fbbb154f18b06af705d5cb6acc876b21cd9a538e501ff82 - md5: d2b287619afd562f882f2fccfd0be03a - depends: - - gcc_impl_linux-aarch64 15.2.0 hcedddb3_18 - - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_118 - - sysroot_linux-aarch64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 15371317 - timestamp: 1771378487467 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda - sha256: afb0fc36b93539a8e43a8063c8d3e1b4bace38a5a0c3c9e1978c72792d633c62 - md5: 7214ae8a8aade7b48a2bfd8bbb4d9e79 - depends: - - gcc_impl_linux-aarch64 15.2.0 h3530432_19 - - libstdcxx-devel_linux-aarch64 15.2.0 ha7b1723_119 - - sysroot_linux-aarch64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 14640001 - timestamp: 1778269082840 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_linux-aarch64-15.2.0-h7e4acf5_27.conda - sha256: f4bc63d467e2c48c255bc8d2886fb11f6a8d09c1251a6f5b25628abee1768693 - md5: ea51d6df068bee183ff667f75bfdc2f6 + constrains: + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 458764 + timestamp: 1782920269581 +- conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_1.conda + sha256: 2aef341d28724fbdc03ca41af624304be24ad1fa44ba874d498a4cbff69c227e + md5: 2e2cbaab71b7fe4ae89ddea62e16adbf depends: - - gxx_impl_linux-aarch64 15.2.0.* - - gcc_linux-aarch64 ==15.2.0 h0bf4bd8_27 - - binutils_linux-aarch64 - - sysroot_linux-aarch64 - license: BSD-3-Clause - license_family: BSD - run_exports: - strong: - - libstdcxx >=15 - - libgcc >=15 - size: 27620 - timestamp: 1781279974207 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-13.1.0-h1134a53_0.conda - sha256: 49074457bdc624c0c0f39bb4b9b7689ec6334127ed7d5312484908f48e9a8e20 - md5: 811bb5384d92870a3492fab4de4ff3f6 + - cuda-version >=13.3,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-NVIDIA-End-User-License-Agreement + purls: [] + size: 360699 + timestamp: 1782920315550 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-12.9.86-hecca717_2.conda + sha256: 3b1c851f4fc42d347ce1c1606bdd195343a47f121e0fceb7a1f1e5aa1d497da9 + md5: 3461b0f2d5cbb7973d361f9e85241d98 depends: - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.2,<79.0a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 + - __glibc >=2.17,<3.0.a0 + - cuda-version >=12,<12.10.0a0 - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: MIT - license_family: MIT - size: 2346492 - timestamp: 1773222371375 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-14.2.1-h1134a53_0.conda - sha256: 17a671aa62e1f0a8750514353e3d6e9aab80598908d9b107fc7f3cf7972176b6 - md5: 5f3ec279ab7cc391b7dff69dc08298fa + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 30515495 + timestamp: 1760723776293 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda + sha256: f5d0aed3cfb504239fac6e03e994f36c34725acba5382adc516cbfdd6993a959 + md5: 2795538ca415afd5d35aec7c6cd2e385 depends: - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.3,<79.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 + - __glibc >=2.17,<3.0.a0 + - cuda-version >=13,<13.4.0a0 - libgcc >=14 - - libglib >=2.88.1,<3.0a0 - libstdcxx >=14 - - libzlib >=1.3.2,<2.0a0 - license: MIT - license_family: MIT + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 2786349 - timestamp: 1780454506157 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.2-hcab7f73_0.conda - sha256: dcbaa3042084ac58685e3ef4547e4c4be9d37dc52b92ea18581288af95e48b52 - md5: 998ee7d53e32f7ab57fc35707285527e + size: 31168008 + timestamp: 1779897778168 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-12.9.86-h8f3c8d4_2.conda + sha256: d5ff36f46250069a23b18d557052c6656f40a002333885e8c5332071e873b48e + md5: e318a6573fea150226d5f417d1c0807a depends: + - arm-variant * sbsa + - cuda-version >=12,<12.10.0a0 - libgcc >=14 - libstdcxx >=14 - license: MIT - license_family: MIT - size: 12851689 - timestamp: 1772208964788 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_0.conda - sha256: 49ba6aed2c6b482bb0ba41078057555d29764299bc947b990708617712ef6406 - md5: 546da38c2fa9efacf203e2ad3f987c59 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 30323952 + timestamp: 1760723774770 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda + sha256: 4b1519898eceba923e11b5ae3588af886ce57a7ba3336ffd900320dfe156e457 + md5: cb19b7f9f8c0b6ee98e8a390b54c5a92 depends: + - arm-variant * sbsa + - cuda-version >=13,<13.4.0a0 - libgcc >=14 - libstdcxx >=14 - license: MIT - license_family: MIT + constrains: + - arm-variant * sbsa + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 12837286 - timestamp: 1773822650615 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda - sha256: ba4e1acdaf6c66961d6a1863c10851dde2378fa18af48de0156b9874556ca438 - md5: da55da4ed68dcac1ce28faa0a3450b65 + size: 29975854 + timestamp: 1779897817336 +- conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-12.9.86-hac47afa_2.conda + sha256: adf35938c9ecd77d27c87ef870f7710ee422933ad95d1aac136ff39e7af0551f + md5: feaee6b1ab0e7ed9152dc88e1b0eeddd depends: - - libgcc >=14 - - libstdcxx >=14 - license: MIT - run_exports: - weak: - - icu >=78.3,<79.0a0 - size: 12870753 - timestamp: 1784588696185 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda - sha256: 5ce830ca274b67de11a7075430a72020c1fb7d486161a82839be15c2b84e9988 - md5: e7df0aab10b9cbb73ab2a467ebfaf8c7 + - cuda-version >=12,<12.10.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27343190 + timestamp: 1760724535115 +- conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda + sha256: 90d9e0eec8aca30a7592d137c68f755bf743e1be43b38657751beadb06b443c2 + md5: a1067e24336c586bf64b47206c5bd8b5 depends: - - libgcc >=13 - license: LGPL-2.1-or-later + - cuda-version >=13,<13.4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-NVIDIA-End-User-License-Agreement purls: [] - size: 129048 - timestamp: 1754906002667 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-hfd895c2_0.conda - sha256: b53999d888dda53c506b264e8c02b5f5c8e022c781eda0718f007339e6bc90ba - md5: d9ca108bd680ea86a963104b6b3e95ca + size: 28928043 + timestamp: 1779897886674 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnvptxcompiler-dev-12.9.86-ha770c72_2.conda + sha256: 1e7a7b34f8639a5feb75ba864127059e4d83edfe1a516547f0dbb9941e7b8f8b + md5: 3fd926c321c6dbf386aa14bd8b125bfb depends: - - keyutils >=1.6.3,<2.0a0 - - libedit >=3.1.20250104,<3.2.0a0 - - libedit >=3.1.20250104,<4.0a0 - - libgcc >=14 - - libstdcxx >=14 - - openssl >=3.5.5,<4.0a0 - license: MIT - license_family: MIT - purls: [] - size: 1517436 - timestamp: 1769773395215 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lame-3.100-h4e544f5_1003.tar.bz2 - sha256: 2502904a42df6d94bd743f7b73915415391dd6d31d5f50cb57c0a54a108e7b0a - md5: ab05bcf82d8509b4243f07e93bada144 + - cuda-version >=12.9,<12.10.0a0 + - libnvptxcompiler-dev_linux-64 12.9.86 ha770c72_2 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27046 + timestamp: 1753975516342 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvptxcompiler-dev-12.9.86-h579c4fd_2.conda + sha256: 20cc92d163571b6d67efcfcb05dec042916219f29846152fdb696d499fa9fade + md5: 096a5f4ddc263418d1b8160413a16c61 depends: - - libgcc-ng >=12 - license: LGPL-2.0-only - license_family: LGPL - purls: [] - size: 604863 - timestamp: 1664997611416 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_1.conda - sha256: ed213207bbf11663181941e0931caa9ce748f0544688e8e0fbcf330bca279389 - md5: 9183fda4be2b4ee5760cdb8e540439c8 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + - libnvptxcompiler-dev_linux-aarch64 12.9.86 h579c4fd_2 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27138 + timestamp: 1753975408006 +- conda: https://conda.anaconda.org/conda-forge/win-64/libnvptxcompiler-dev-12.9.86-h57928b3_2.conda + sha256: b05ab0cb8c66535a9cb27cf229752c42dab1fc4bda46c050514c42ad0a74b12c + md5: ed841728d5a36ce8269c6f875c001236 depends: - - libgcc >=14 - - libjpeg-turbo >=3.1.4.1,<4.0a0 - - libtiff >=4.7.1,<4.8.0a0 - license: MIT - license_family: MIT - purls: [] - size: 296564 - timestamp: 1780211834883 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_101.conda - sha256: 44527364aa333be631913451c32eb0cae1e09343827e9ce3ccabd8d962584226 - md5: 35b2ae7fadf364b8e5fb8185aaeb80e5 + - cuda-version >=12.9,<12.10.0a0 + - libnvptxcompiler-dev_win-64 12.9.86 h57928b3_2 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 27359 + timestamp: 1753976279054 +- conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_linux-64-12.9.86-ha770c72_2.conda + sha256: 17952c32eac197a59c119fdf3fb6f08c6a29c225a80bae141ac904ad212b87dd + md5: a66a909acf08924aced622903832a937 depends: - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-aarch64 2.45.1 - license: GPL-3.0-only - license_family: GPL - size: 875924 - timestamp: 1770267209884 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_102.conda - sha256: 7abd913d81a9bf00abb699e8987966baa2065f5132e37e815f92d90fc6bba530 - md5: a21644fc4a83da26452a718dc9468d5f + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 14422867 + timestamp: 1753975387297 +- conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_linux-aarch64-12.9.86-h579c4fd_2.conda + sha256: 0b0b96f4bb99d9f9fccfcd34fcb5b0f465c05373c9628ffa32951ed5fc7ab379 + md5: 3f6edd278c0a724f427d2655111c1c72 depends: - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-aarch64 2.45.1 - license: GPL-3.0-only - license_family: GPL - purls: [] - size: 875596 - timestamp: 1774197520746 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - sha256: 2c4901f4227b0850328ed0c69f958b30ad2cd18982f7a31c7c1f911827004d08 - md5: 489444d0acb2a579d2a002d85a08c059 + - arm-variant * sbsa + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 13939480 + timestamp: 1753975314178 +- conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_win-64-12.9.86-h57928b3_2.conda + sha256: 9858bc91d01ab6d3a21039f37c8e22e3cb59542b7d308098b10bbe2b12be0aaa + md5: 77baf6d1c6916a86ab99ce4e83282e4f depends: - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_linux-aarch64 2.46.1 - license: GPL-3.0-only - license_family: GPL - run_exports: {} - size: 905305 - timestamp: 1784214534868 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda - sha256: 8957fd460c1c132c8031f65fd5f56ec3807fd71b7cab2c5e2b0937b13404ab36 - md5: d13423b06447113a90b5b1366d4da171 + - cuda-version >=12.9,<12.10.0a0 + license: LicenseRef-NVIDIA-End-User-License-Agreement + size: 31818844 + timestamp: 1753976049670 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.5-hd0c01bc_1.conda + sha256: ffb066ddf2e76953f92e06677021c73c85536098f1c21fcd15360dbc859e22e4 + md5: 68e52064ed3897463c0e958ab5c8f91b depends: - - libgcc >=14 - - libstdcxx >=14 - license: Apache-2.0 - license_family: Apache + - libgcc >=13 + - __glibc >=2.17,<3.0.a0 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 240444 - timestamp: 1773114901155 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libabseil-20260107.1-cxx17_h6983b43_0.conda - sha256: 37675140819e10235a8ff342cb09f688f843ac390b64856d8e230700bbd7d5aa - md5: 2a19160c13e688710dd200812fc9a6d3 + size: 218500 + timestamp: 1745825989535 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda + sha256: 2c1b7c59badc2fd6c19b6926eabfce906c996068d38c2972bd1cfbe943c07420 + md5: 319df383ae401c40970ee4e9bc836c7a depends: - - libgcc >=14 - - libstdcxx >=14 - constrains: - - abseil-cpp =20260107.1 - - libabseil-static =20260107.1=cxx17* - license: Apache-2.0 - license_family: Apache + - libgcc >=13 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 1401836 - timestamp: 1770863223557 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libass-0.17.4-hcfe818d_0.conda - sha256: cb19ad0b8f9cb469c78d26af9c49c790e5f746bb8a348ec10b681a98f05d1dc7 - md5: 8df67d209c9f7e8d40281a4ebf8ffd6d + size: 220653 + timestamp: 1745826021156 +- conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda + sha256: c63e5fb169dbd192aacdcee6e37235407f106b8ca9c9036942a25e0366cbc73c + md5: b67ed8c9ca072695ff482e50d888a523 depends: - - libgcc >=13 - - libiconv >=1.18,<2.0a0 - - harfbuzz >=11.0.1 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libzlib >=1.3.1,<2.0a0 - license: ISC + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - ucrt >=10.0.20348.0 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 171287 - timestamp: 1749328949722 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-5_haddc8a3_openblas.conda - build_number: 5 - sha256: 700f3c03d0fba8e687a345404a45fbabe781c1cf92242382f62cef2948745ec4 - md5: 5afcea37a46f76ec1322943b3c4dfdc0 + size: 35040 + timestamp: 1745826086628 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda + sha256: 3d9aa85648e5e18a6d66db98b8c4317cc426721ad7a220aa86330d1ccedc8903 + md5: 2d3278b721e40468295ca755c3b84070 depends: - - libopenblas >=0.3.30,<0.3.31.0a0 - - libopenblas >=0.3.30,<1.0a0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 constrains: - - mkl <2026 - - libcblas 3.11.0 5*_openblas - - liblapack 3.11.0 5*_openblas - - liblapacke 3.11.0 5*_openblas - - blas 2.305 openblas + - openblas >=0.3.33,<0.3.34.0a0 license: BSD-3-Clause license_family: BSD - size: 18369 - timestamp: 1765818610617 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-6_haddc8a3_openblas.conda - build_number: 6 - sha256: 7374c744c37786bfa4cfd30bbbad13469882e5d9f32ed792922b447b7e369554 - md5: 652bb20bb4618cacd11e17ae070f47ce - depends: - - libopenblas >=0.3.32,<0.3.33.0a0 - - libopenblas >=0.3.32,<1.0a0 + purls: [] + size: 5931919 + timestamp: 1776993658641 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-openmp_h1a8b088_0.conda + sha256: 723180af43679bcccd39ccea91a2c390834601a2ee338522c6b1d47b45d9db8d + md5: d413a7a3af9493de3be90a778e33a9f8 + depends: + - _openmp_mutex * *_llvm + - _openmp_mutex >=4.5 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - llvm-openmp >=22.1.4 constrains: - - blas 2.306 openblas - - mkl <2026 - - liblapack 3.11.0 6*_openblas - - liblapacke 3.11.0 6*_openblas - - libcblas 3.11.0 6*_openblas + - openblas >=0.3.33,<0.3.34.0a0 + track_features: + - openblas_threading_openmp license: BSD-3-Clause license_family: BSD purls: [] - size: 18682 - timestamp: 1774503047392 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-8_haddc8a3_openblas.conda - build_number: 8 - sha256: c897399c943168c646f659952f73a9154f9122d7e9b151649dbe075dfdcd484b - md5: 8b44dad125760faa2b3925f5a6e3112d + size: 5136501 + timestamp: 1776993280434 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda + sha256: b018ecfb05e75a8eea3f21f6b5c5c2a54b5178bdcf19e2e2df2735740214a8c8 + md5: 58a66cd95e9692f08abe89f55a6f3f12 depends: - - libopenblas >=0.3.33,<0.3.34.0a0 - - libopenblas >=0.3.33,<1.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 constrains: - - libcblas 3.11.0 8*_openblas - - liblapack 3.11.0 8*_openblas - - mkl <2027 - - blas 2.308 openblas - - liblapacke 3.11.0 8*_openblas + - openblas >=0.3.33,<0.3.34.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 18843 - timestamp: 1779859042591 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.2.0-he30d5cf_1.conda - sha256: 5fa8c163c8d776503aa68cdaf798ff9440c76a0a1c3ea84e0c43dbf1ece8af4d - md5: 8ec1d03f3000108899d1799d9964f281 + size: 5121336 + timestamp: 1776993423004 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.1-h1f0fae8_0.conda + sha256: 359ebf5f33d781b82fa20f7e37ae1428ae164eab71a1083d56c45a4eea6a59d4 + md5: ec442fe25ba489c4891760284a653ad5 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - license: MIT - license_family: MIT + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 80030 - timestamp: 1764017273715 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlidec-1.2.0-he30d5cf_1.conda - sha256: 494365e8f58799ea95a6e82334ef696e9c2120aecd6626121694b30a15033301 - md5: 47e5b71b77bb8b47b4ecf9659492977f + size: 6808640 + timestamp: 1781861971161 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-2026.2.1-h1f0fae8_1.conda + sha256: 7941fb9ba8c3a5a0a2401dc4120e8fcb561b96d928c43374eb93f545019a2858 + md5: ea41753f926f73966629d81fdf20ec6f depends: - - libbrotlicommon 1.2.0 he30d5cf_1 + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - license: MIT - license_family: MIT - purls: [] - size: 33166 - timestamp: 1764017282936 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.2.0-he30d5cf_1.conda - sha256: f998c03257b9aa1f7464446af2cf424862f0e54258a2a588309853e45ae771df - md5: 6553a5d017fe14859ea8a4e6ea5def8f - depends: - - libbrotlicommon 1.2.0 he30d5cf_1 - - libgcc >=14 - license: MIT - license_family: MIT + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 309304 - timestamp: 1764017292044 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.77-h68e9139_0.conda - sha256: 154eefd8f94010d89ba76a057949b9b1f75c7379bd0d19d4657c952bedcf5904 - md5: 10fe36ec0a9f7b1caae0331c9ba50f61 + size: 6823841 + timestamp: 1782219077259 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.1-h9a8427e_0.conda + sha256: 0a4e6ba7782fa821fcfd03ca04292402fd6c555f9af9cf9c56520da6c7a338f9 + md5: aa90776256abdfb7ae4715f2e40c4d3f depends: - - attr >=2.5.1,<2.6.0a0 - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - size: 108542 - timestamp: 1762350753349 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.77-hf9559e3_1.conda - sha256: e04f0c4287362ea2033421c1b516d7d83c308084bcc9483b2e6038ec7c711e0a - md5: bdda58ab0358b0e9ff45fd2503b38410 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 5985620 + timestamp: 1781860374125 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.1-h9a8427e_1.conda + sha256: b1b0553cfa613bffa8bed04b3a880d651cc08ffe565e07362c3071597069c4d4 + md5: e18fa81e8db0a20a8d5385902c12ce7c depends: - libgcc >=14 - license: BSD-3-Clause - license_family: BSD + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 109458 - timestamp: 1774335293336 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - sha256: 14b6654d942be7a68496d4e52d6aa4e217cf82005a42c20d1880eb473e34eb3a - md5: 1503ce9f8a3df149a33ccd7c300ec1d2 + size: 5984918 + timestamp: 1782213524008 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.1-h9a8427e_0.conda + sha256: 52002c9dbb4d7d877cbc5c53f4adaf6ac455b9251b6581a144c87899d7f79ecd + md5: 009e91c519f99e4b1add3aa2a9abfd4b depends: - libgcc >=14 - license: BSD-3-Clause - license_family: BSD + - libopenvino 2026.2.1 h9a8427e_0 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE purls: [] - run_exports: - weak: - - libcap >=2.78,<2.79.0a0 - size: 109192 - timestamp: 1775490102029 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-5_hd72aa62_openblas.conda - build_number: 5 - sha256: 3fad5c9de161dccb4e42c8b1ae8eccb33f4ed56bccbcced9cbb0956ae7869e61 - md5: 0b2f1143ae2d0aa4c991959d0daaf256 + size: 10310897 + timestamp: 1781860397639 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.1-h9a8427e_1.conda + sha256: 72d90363b68266a9dc704008032e1f9acb91e080212e89dc189ea8135b199781 + md5: 2641ed1135e1316f5dd6f9512bcd6845 depends: - - libblas 3.11.0 5_haddc8a3_openblas - constrains: - - liblapack 3.11.0 5*_openblas - - liblapacke 3.11.0 5*_openblas - - blas 2.305 openblas - license: BSD-3-Clause - license_family: BSD - size: 18371 - timestamp: 1765818618899 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-6_hd72aa62_openblas.conda - build_number: 6 - sha256: 5dd9e872cf8ebd632f31cd3a5ca6d3cb331f4d3a90bfafbe572093afeb77632b - md5: 939e300b110db241a96a1bed438c315b - depends: - - libblas 3.11.0 6_haddc8a3_openblas - constrains: - - blas 2.306 openblas - - liblapack 3.11.0 6*_openblas - - liblapacke 3.11.0 6*_openblas - license: BSD-3-Clause - license_family: BSD + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 18689 - timestamp: 1774503058069 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-8_hd72aa62_openblas.conda - build_number: 8 - sha256: 3ba039f0705022939d90e36c1ed2fcbafd7f5bb77563e3702202ae796b32f4d2 - md5: 76242b7ad6e43809afa8671dd609b4ed + size: 10313623 + timestamp: 1782213543505 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.1-h7e124b3_0.conda + sha256: 06aa73ee3e5ad42accb9c49efa611b2c0e55d3d289011e25609e2ff9ef55beca + md5: 7ed9332302888b52d2c2e0e0314a3551 depends: - - libblas 3.11.0 8_haddc8a3_openblas - constrains: - - liblapack 3.11.0 8*_openblas - - liblapacke 3.11.0 8*_openblas - - blas 2.308 openblas - license: BSD-3-Clause - license_family: BSD + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_0 + - libstdcxx >=14 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 18817 - timestamp: 1779859049133 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcublas-13.5.1.27-he38c790_0.conda - sha256: 9c8796c0577511ddb7395cb0a8d141e0b88f2ff83e9d18737070c83a5a296975 - md5: 31450c985cf02ef173ee5f82d0958ebb + size: 114872 + timestamp: 1781861991517 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-batch-plugin-2026.2.1-h7e124b3_1.conda + sha256: 3ac14d36fa890840ae8474b8a9f0a094b8542fd8fbc409faf3d465c68f20aff0 + md5: 5698a64698e14e8a2e9e16f8f0de0e2e depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - - cuda-nvrtc - - cuda-version >=13.3,<13.4.0a0 + - __glibc >=2.17,<3.0.a0 - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 - libstdcxx >=14 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 491684476 - timestamp: 1779912373471 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcudla-13.3.29-hfae3067_0.conda - sha256: 853001eb128dcca967fe9672350299c132a0c68927e184264fea58fe8ba05b89 - md5: b75be61f220d76998ac857e57ca36e58 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 114628 + timestamp: 1782219097820 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.1-he6b9e7b_0.conda + sha256: 9d0114f288442614bc54fd3b6b8c1f1a2b537134dd3259b204a6e91927684be8 + md5: 9ed9a4dcd0dd0667ce64fb5288617f95 depends: - - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_0 - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 42422 - timestamp: 1779897532786 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcudnn-9.20.0.48-h0bf6004_0.conda - sha256: a3993991464f6ffe81c354e6d4e4edfeef4b9cb7c12cd7e13bc08d91c1826b09 - md5: 9f5f39cc3a13eaa80d7727973fda0a43 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 111270 + timestamp: 1781860432201 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.1-he6b9e7b_1.conda + sha256: 523247ab847e3e71ae213311491d5cc0bbb26f2c39ad4c71df9179c1b469e39f + md5: 55060a39fb1c4f7b4c6f3c514879790b depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - - cuda-nvrtc - - cuda-version >=13,<14.0a0 - - libcublas - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - constrains: - - libcudnn-jit <0a - license: LicenseRef-cuDNN-Software-License-Agreement - size: 407901008 - timestamp: 1773180233415 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcudss-0.7.1.4-he387df4_1.conda - sha256: b51195f067cb90871b0673dfe8564015513c4f81509018313efcb0a14d3f2391 - md5: c53276b4f3f8eeaa91813b8a0196eb91 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 111073 + timestamp: 1782213572597 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.1-h7e124b3_0.conda + sha256: d66c56521195650637ce9a9ff69574c8cf6504de09fbe3a93f3570a48afef00c + md5: dc6b534dd7bb283ed9b90265b4e1daec depends: - - __glibc >=2.28,<3.0.a0 - - _openmp_mutex >=4.5 - - arm-variant * sbsa - - cuda-version >=13,<14.0a0 - - libcublas + - __glibc >=2.17,<3.0.a0 - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_0 - libstdcxx >=14 - constrains: - - libcudss-commlayer-nccl 0.7.1.4 h7a53d9e_1 - - libcudss-commlayer-mpi 0.7.1.4 h40415f0_1 - - libcudss0 <0.0.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 62631375 - timestamp: 1770671821410 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufft-12.3.0.29-h8f3c8d4_0.conda - sha256: 3dcfa541037fea5cc939bfa0db4ba44732c3a0eeff794ad034bf92eff3cdef83 - md5: eb4f4bc9f2509cf6f71d78317d39a7df + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 251243 + timestamp: 1781862003942 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-auto-plugin-2026.2.1-h7e124b3_1.conda + sha256: 499a472fc7b598ad3753b8f2afe60eb5a277d48eca9362e8aca094b2862587a7 + md5: 2ce088ef09292930d4cb3262ce7e144d depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 + - __glibc >=2.17,<3.0.a0 - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 - libstdcxx >=14 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 151379070 - timestamp: 1779897582547 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.14.1.1-had8bf56_1.conda - sha256: fbc1fa6b3ddf946b2999c9820310682739505df71e1e2ac513a72efb951fa3e5 - md5: ee136db5a5409dddc78eaf7658fccffe + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 250912 + timestamp: 1782219111223 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.1-he6b9e7b_0.conda + sha256: 962890706959352f98bd5ef09aaa679f4e7cf21017121517229db9924354e80d + md5: 8064f87762d4ffbeac0ccc68fdc16433 depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_0 - libstdcxx >=14 - - rdma-core >=59.0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 909365 - timestamp: 1761098964619 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda - sha256: 71af687b188c5028d0788d7916adb3f80568d766bf3380b71b600f246d1b9021 - md5: 547968e609a6c1f038fd18a318f3268c + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 237290 + timestamp: 1781860444757 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.1-he6b9e7b_1.conda + sha256: 803cf60b354ba780fffe509d013e2603bee30e2a3496cbb772105cdde60f99b5 + md5: ea0cea8d43d94d3118533f2f89e71cd4 depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 - libstdcxx >=14 - - rdma-core >=63.0 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE purls: [] - run_exports: {} - size: 997204 - timestamp: 1782772368681 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-dev-1.18.1.6-he38c790_0.conda - sha256: 701b3a1c883d7237a2794a2fc827cb1823e78c0a797e61d0966178f7781db579 - md5: 9661321dc5fc9bea9ca2bdd960bc7b25 + size: 238031 + timestamp: 1782213582645 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.1-hd41364c_0.conda + sha256: 6bb7e901f8dac9aede5129eac09d20019883863187413fea753932e012041d17 + md5: 9f4c3874f4dad7144bb22aa2c5738163 depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - - libcufile 1.18.1.6 h42688b2_0 + - __glibc >=2.17,<3.0.a0 - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_0 - libstdcxx >=14 - constrains: - - arm-variant * sbsa - - libcufile-static >=1.18.1.6 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - libcufile >=1.18.1.6,<2.0a0 - size: 43934 - timestamp: 1782772385341 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurand-10.4.3.29-he38c790_0.conda - sha256: 6e87b78b2023040d1c5ef44d235f9cb1754a03dd2118a6253c52dd0c4cb53cb7 - md5: c2018231a808007ca5cf1c6c19ad6bf5 + - pugixml >=1.15,<1.16.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 215859 + timestamp: 1781862014684 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-hetero-plugin-2026.2.1-hd41364c_1.conda + sha256: bec24379598a4405de171ad151945e79743c6bd049aceabf190b753c3f7a11da + md5: 02e71250f7ca786c4b183d0a39ef63ab depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 + - __glibc >=2.17,<3.0.a0 - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 - libstdcxx >=14 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 44131451 - timestamp: 1779897594729 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcusolver-12.2.2.18-he38c790_0.conda - sha256: 7e1a9a63fc748e928f7507c1cfbc5b922a5de1096a00f6269a43c810503a4af8 - md5: c9ac2d284899e955da7a4c456403608a + - pugixml >=1.15,<1.16.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 215488 + timestamp: 1782219123433 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.1-he07c6df_0.conda + sha256: 2b4ceb925622db34ba54d36bbf5a0f5779335ba2dd8b55543e679f2e59cbbdb3 + md5: fad2a5decbe1bf1fca756388f4507b74 depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - - libcublas >=13.5.1.27,<13.6.0a0 - - libcusparse >=12.8.1.7,<12.9.0a0 - libgcc >=14 - - libnvjitlink >=13.3.33,<14.0a0 + - libopenvino 2026.2.1 h9a8427e_0 - libstdcxx >=14 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 198192690 - timestamp: 1779918383247 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcusparse-12.8.1.7-h8f3c8d4_0.conda - sha256: 358f211d7a544eaca7ae01a8aa403cb84fb4b35401913839ec9c1dda9254d5ac - md5: 255b09ccd6d65a3149bf1dce488aafaa + - pugixml >=1.15,<1.16.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 207238 + timestamp: 1781860457281 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.1-he07c6df_1.conda + sha256: 5d216b218170b78e5513d6cef1b76aeebb4b517579a8d98af06a2cf4b2de7050 + md5: ba98371ee8a8122294c44381b4a128d9 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - libnvjitlink >=13.3.33,<14.0a0 + - libopenvino 2026.2.1 h9a8427e_1 - libstdcxx >=14 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 161785577 - timestamp: 1779913792758 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda - sha256: 48814b73bd462da6eed2e697e30c060ae16af21e9fbed30d64feaf0aad9da392 - md5: a9138815598fe6b91a1d6782ca657b0c + - pugixml >=1.15,<1.16.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 207050 + timestamp: 1782213592772 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.1-h1f0fae8_0.conda + sha256: 1c252564fa4bce1116ade1ac2391dee953c1a32c8c27e33c317f4bee76f8fb0d + md5: c04e7e7ad7eb07a4d42e6dec4af470e1 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - license: MIT - license_family: MIT + - libopenvino 2026.2.1 h1f0fae8_0 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 71117 - timestamp: 1761979776756 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdovi-3.3.2-hf71c8f5_4.conda - sha256: 4e41c61b67d6f077db7364bc2911c4d81e6c8080b86605e9d0adb97a5ed654b6 - md5: 530f83c19ee601cb9cda5b305ddf02fd + size: 13615152 + timestamp: 1781862026012 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-cpu-plugin-2026.2.1-h1f0fae8_1.conda + sha256: eecc040a7838752a2dff9b4435a4c59bbc67b83e0c880457935b968206cb20b5 + md5: 7288f979a74cfe3fd4b32d8a0dc7baa4 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - constrains: - - __glibc >=2.17 - license: MIT - license_family: MIT + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 316167 - timestamp: 1777838999692 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.125-he30d5cf_1.conda - sha256: 4e6cdb5dd37db794b88bec714b4418a0435b04d14e9f7afc8cc32f2a3ced12f2 - md5: 2079727b538f6dd16f3fa579d4c3c53f + size: 13637410 + timestamp: 1782219135415 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.1-h1f0fae8_0.conda + sha256: b92fb19d7b1a8326f215c8d86183d17783f5fe973c567652a92d2a2e063a9c50 + md5: d50c93b6826b14c38015df51e1c3175b depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libpciaccess >=0.18,<0.19.0a0 - license: MIT - license_family: MIT - size: 344548 - timestamp: 1757212128414 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdrm-2.4.127-he30d5cf_0.conda - sha256: 2a941ffcd6b09380344c2cb5b198d2743ce4fc30ec9a5c8c83e53368d8015aef - md5: 987d35ad350bb552a30f3d314f6c7655 + - libopenvino 2026.2.1 h1f0fae8_0 + - libstdcxx >=14 + - ocl-icd >=2.3.4,<3.0a0 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 12363489 + timestamp: 1781862058675 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-gpu-plugin-2026.2.1-h1f0fae8_1.conda + sha256: a47442ce578b022e19a306f963536a108cc79385f4e09d57a14a849b6a864604 + md5: c0a258b12f0c18c476b8344dbd6db8d5 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libpciaccess >=0.19,<0.20.0a0 - license: MIT - license_family: MIT + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + - ocl-icd >=2.3.4,<3.0a0 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 345283 - timestamp: 1778975814771 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda - sha256: c0b27546aa3a23d47919226b3a1635fccdb4f24b94e72e206a751b33f46fd8d6 - md5: fb640d776fc92b682a14e001980825b1 + size: 12367381 + timestamp: 1782219178219 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.1-h1f0fae8_0.conda + sha256: 1e03f956529e14f0ee6592d69beb2e96f3b48e9d9b1e5431b54408ef337fcbfe + md5: f3e8e367237c3193e9f2103ff801dd5a depends: - - ncurses - - libgcc >=13 - - ncurses >=6.5,<7.0a0 - license: BSD-2-Clause - license_family: BSD + - __glibc >=2.17,<3.0.a0 + - level-zero >=1.29.0,<2.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_0 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 148125 - timestamp: 1738479808948 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_2.conda - sha256: 8962abf38a58c235611ce356b9899f6caeb0352a8bce631b0bcc59352fda455e - md5: cf105bce884e4ef8c8ccdca9fe6695e7 - depends: - - libglvnd 1.7.0 hd24410f_2 - license: LicenseRef-libglvnd - size: 53551 - timestamp: 1731330990477 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libegl-1.7.0-hd24410f_3.conda - sha256: b987d3874edfcd9c7ddca86c003cb04ae51160a72c173a24cd46ab9eeb8886ab - md5: ec017f25e5d01ef9dd81e95ff73ff051 + size: 2625212 + timestamp: 1781862087967 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-intel-npu-plugin-2026.2.1-h1f0fae8_1.conda + sha256: 45a91feb68ccce90ad0fa86520572233ca20be56deae0c920f86133d020ad1e8 + md5: c214b149e108e92672e0ee097ebe16f7 depends: - - libglvnd 1.7.0 hd24410f_3 - license: LicenseRef-libglvnd + - __glibc >=2.17,<3.0.a0 + - level-zero >=1.29.0,<2.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + - tbb >=2023.0.0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 54600 - timestamp: 1779728234591 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.4-hfae3067_0.conda - sha256: 995ce3ad96d0f4b5ed6296b051a0d7b6377718f325bc0e792fbb96b0e369dad7 - md5: 57f3b3da02a50a1be2a6fe847515417d + size: 2630818 + timestamp: 1782219217519 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.1-hd41364c_0.conda + sha256: ac0b1b08cd7d3ae4b4231bbc35fafe0c7b5fcb2ddd09d61d1773846b9fa7508b + md5: 2720c6a739bff56d850422f5550924ab depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - constrains: - - expat 2.7.4.* - license: MIT - license_family: MIT - size: 76564 - timestamp: 1771259530958 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.5-hfae3067_0.conda - sha256: 6d438fc0bfdb263c24654fe49c09b31f06ec78eb709eb386392d2499af105f85 - md5: 05d1e0b30acd816a192c03dc6e164f4d + - libopenvino 2026.2.1 h1f0fae8_0 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 201278 + timestamp: 1781862100893 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-ir-frontend-2026.2.1-hd41364c_1.conda + sha256: ebeba9a3ac9505ee69b556865b7d1b9fbbad01ca1ebe6a4249ff62c3dc677b47 + md5: 2d946aebcf06e9ba438880987050e975 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - constrains: - - expat 2.7.5.* - license: MIT - license_family: MIT + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 76523 - timestamp: 1774719129371 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - sha256: 20a5726bc8705d91437c9e6ef83b30da64a1719b869656d20a1ee818333ea5ac - md5: fac3b65a605cd253037fdf3daf2de8d9 + size: 201061 + timestamp: 1782219232657 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.1-he07c6df_0.conda + sha256: 9f795317128f028e9766f9a21695c5f2bde18bcbf492d3ec2f2a21e49cbad8bf + md5: c76cd757049a24db2867f86a3d7adf07 depends: - libgcc >=14 - constrains: - - expat 2.8.1.* - license: MIT - license_family: MIT + - libopenvino 2026.2.1 h9a8427e_0 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + license: Apache-2.0 + license_family: APACHE purls: [] - run_exports: {} - size: 77649 - timestamp: 1781203572523 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - sha256: 3df4c539449aabc3443bbe8c492c01d401eea894603087fca2917aa4e1c2dea9 - md5: 2f364feefb6a7c00423e80dcb12db62a + size: 195435 + timestamp: 1781860472283 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.1-he07c6df_1.conda + sha256: 20fe9837f7ef18faca2f6fa0c722fcfd3cf363444b2d0835c7e3a1c8a6a4bbff + md5: 6141a1a2540c990df35ee4c35d6ee4d1 depends: - libgcc >=14 - license: MIT - license_family: MIT + - libopenvino 2026.2.1 h9a8427e_1 + - libstdcxx >=14 + - pugixml >=1.15,<1.16.0a0 + license: Apache-2.0 + license_family: APACHE purls: [] - run_exports: - weak: - - libffi >=3.5.2,<3.6.0a0 - size: 55952 - timestamp: 1769456078358 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libflac-1.5.0-he9c94f4_1.conda - sha256: 175cdc1865c3d6becc87e96bf44010a8e14f3021600ddad59417ed36e677b1ea - md5: cbe37f1d15f60b5e5272955b55b65325 + size: 196276 + timestamp: 1782213602819 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.1-h607c73d_1.conda + sha256: 7b105c0102356352d6d9518a112ff6343dab6b8f32c837809117cd26cbf006df + md5: 3bd3599825189418ea14b2c9da3a6d87 depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libogg >=1.3.5,<1.4.0a0 + - libopenvino 2026.2.1 h1f0fae8_1 + - libprotobuf >=7.35.1,<7.35.2.0a0 - libstdcxx >=14 - license: BSD-3-Clause - license_family: BSD + license: Apache-2.0 + license_family: APACHE purls: [] - size: 397272 - timestamp: 1764526699497 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.2-h8af1aa0_0.conda - sha256: 23cdb94528bb4328b6f7550906dee5080952354445d8bd96241fa7d059c4af95 - md5: 93bce8dee6a0a4906331db294ec250fe - depends: - - libfreetype6 >=2.14.2 - license: GPL-2.0-only OR FTL - size: 8108 - timestamp: 1772756012710 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_1.conda - sha256: db75d0fc080992dc67db8e24d7bb2a2f2a0b25bfce8870fa45a82a4b5f6111a2 - md5: a13e600f9d18488b1fd1257344dbfdaa + size: 1944558 + timestamp: 1782219246849 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-onnx-frontend-2026.2.1-h7a07914_0.conda + sha256: 6ded75f33541fa9eb0b9a30ecab232f5683546c35da5cf9a494546da14e8a0df + md5: 7fdc943e958611c651512530459c71d4 depends: - - libfreetype6 >=2.14.3 - license: GPL-2.0-only OR FTL + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 8381 - timestamp: 1780933505754 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.2-hdae7a39_0.conda - sha256: a2e9efb033f7519bbc0a54558d7c9bb96252adc22c6e09df2daee7615265fbb1 - md5: 69d1cdfdabb66464cbde17890e8be3b9 + size: 1945050 + timestamp: 1781862113537 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.1-h558496d_0.conda + sha256: b7eda87c02ebf402abc1f724fd197725458187e0427161b6967ecbd1689fee20 + md5: 5bd7973a085529b81ca808cc0086d3d8 depends: + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 - libgcc >=14 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - freetype >=2.14.2 - license: GPL-2.0-only OR FTL - size: 423372 - timestamp: 1772756012086 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_1.conda - sha256: 34fe8276befd6c42956c4acd969caeddbdc7ea8e6ed054b8388709b6c3e94ba4 - md5: 426cc33f8745ce11a73baf73db3954a7 + - libopenvino 2026.2.1 h9a8427e_0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 1769738 + timestamp: 1781860485313 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.1-h6fc7987_1.conda + sha256: f4f0ffdc53e266cd66e019525fdcabb5544bd89b043b12cf73d37e7128dd32ec + md5: 284180cfb8d20ce6218531fdff158315 depends: + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 - libgcc >=14 - - libpng >=1.6.58,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - constrains: - - freetype >=2.14.3 - license: GPL-2.0-only OR FTL + - libopenvino 2026.2.1 h9a8427e_1 + - libprotobuf >=7.35.1,<7.35.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 424236 - timestamp: 1780933505195 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_18.conda - sha256: 43df385bedc1cab11993c4369e1f3b04b4ca5d0ea16cba6a0e7f18dbc129fcc9 - md5: 552567ea2b61e3a3035759b2fdb3f9a6 + size: 1770837 + timestamp: 1782213614201 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.1-h607c73d_1.conda + sha256: af45c03d41ebe0b48c28b68be31ee919cb801ac5077164808a66db515ad6a316 + md5: 91e198085bff9d8fa02d4d947f026ba8 depends: - - _openmp_mutex >=4.5 - constrains: - - libgcc-ng ==15.2.0=*_18 - - libgomp 15.2.0 h8acb6b2_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libprotobuf >=7.35.1,<7.35.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 622900 - timestamp: 1771378128706 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - sha256: 4592b096e553f67799ae70d4b6167eeda3ec74587d68c7aecbf4e7b1df136681 - md5: f35b3f52d0a2ec4ffe3c89ba135cdb9a + size: 690240 + timestamp: 1782219261154 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-paddle-frontend-2026.2.1-h7a07914_0.conda + sha256: d3d8bb8ba8ef57a54d81a140cb9256434561ccfa667474fc5c412284c8c956f3 + md5: caf9604a769c29952042277dc6012140 depends: - - _openmp_mutex >=4.5 - constrains: - - libgomp 15.2.0 h8acb6b2_19 - - libgcc-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE purls: [] - run_exports: {} - size: 622462 - timestamp: 1778268755949 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_18.conda - sha256: 83bb0415f59634dccfa8335d4163d1f6db00a27b36666736f9842b650b92cf2f - md5: 4feebd0fbf61075a1a9c2e9b3936c257 - depends: - - libgcc 15.2.0 h8acb6b2_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27568 - timestamp: 1771378136019 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda - sha256: 1137f93f477f56199ded24117430045a0c02cbe8b10031beac3b9ad2138539d3 - md5: 770cf892e5530f43e63cadc673e85653 + size: 691255 + timestamp: 1781862126296 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.1-h558496d_0.conda + sha256: e1fe8f3d888ffa6fad581fbb878839e2cc423edc3e48edc453cd73b9b3cf8726 + md5: 4a9e8ae8dec7b633141ed8d30b4b82e0 depends: - - libgcc 15.2.0 h8acb6b2_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 27738 - timestamp: 1778268759211 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_18.conda - sha256: 7dcd7dff2505d56fd5272a6e712ec912f50a46bf07dc6873a7e853694304e6e4 - md5: 41f261f5e4e2e8cbd236c2f1f15dae1b + size: 645341 + timestamp: 1781860500565 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.1-h6fc7987_1.conda + sha256: 5ab86f5cad02ff69d87776ddf9bad2c45c84f38579a8cf16464c03436d4c2362 + md5: b45b927c4d1b1128badee6e44146fd62 depends: - - libgfortran5 15.2.0 h1b7bec0_18 - constrains: - - libgfortran-ng ==15.2.0=*_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libprotobuf >=7.35.1,<7.35.2.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 27587 - timestamp: 1771378169244 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda - sha256: e5ad94be72634233510b33ba792a3339921bd468f0b8bc6961ea05eded251d9b - md5: c7a5b5decf969ead5ecada83654164cf + size: 645700 + timestamp: 1782213626352 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.1-hecca717_0.conda + sha256: 187af1c93e55df819683882863c327a784c07adb5a834753a39570a6b269e53d + md5: f667aba7cb628a70030160744634b273 depends: - - libgfortran5 15.2.0 h1b7bec0_19 - constrains: - - libgfortran-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 27728 - timestamp: 1778268784621 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_18.conda - sha256: 85347670dfb4a8d4c13cd7cae54138dcf2b1606b6bede42eef5507bf5f9660c6 - md5: 574d88ce3348331e962cfa5ed451b247 + size: 1228072 + timestamp: 1781862137415 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-pytorch-frontend-2026.2.1-hecca717_1.conda + sha256: e6353874a36143ffb7db7ec2c3767fd5e3434a8eeff41a569bc46e68259f668f + md5: 152d6694f1d05b53319b8376cdd811e4 depends: - - libgcc >=15.2.0 - constrains: - - libgfortran 15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 1486341 - timestamp: 1771378148102 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda - sha256: af8e9bdcaa77f133a8ee4c1ef57ef564d9c45aa262abf9f5ef9b50eb99d96407 - md5: 779dbb494de6d3d6477cab52eb34285a + size: 1226625 + timestamp: 1782219274006 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.1-hfae3067_0.conda + sha256: 8c4f5a683c3e0a11a8bcca2a54a5849b0cb29fe8a2d2483e4d66001135f7ed63 + md5: 165825df183282ed62cfa978088e87ec depends: - - libgcc >=15.2.0 - constrains: - - libgfortran 15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 1487244 - timestamp: 1778268767295 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_2.conda - sha256: 3e954380f16255d1c8ae5da3bd3044d3576a0e1ac2e3c3ff2fe8f2f1ad2e467a - md5: 0d00176464ebb25af83d40736a2cd3bb + size: 1128846 + timestamp: 1781860513744 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.1-hfae3067_1.conda + sha256: 6a45d6ec341451dacbb7fa379de9a4d13e613fba6d15f7597c5e8dd529c73382 + md5: a82793a12b99b1d04ce77ebe0fd62e51 depends: - - libglvnd 1.7.0 hd24410f_2 - - libglx 1.7.0 hd24410f_2 - license: LicenseRef-libglvnd - size: 145442 - timestamp: 1731331005019 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-1.7.0-hd24410f_3.conda - sha256: 05c75a2034bdbca29bab467d02ad770ed5e524e4f0670432258f2d8487c95348 - md5: 6e893c36f31502dd195d3d58f455fdbd + - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 1129309 + timestamp: 1782213636874 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.1-h21c0c73_1.conda + sha256: cffe112815b8eb57528fdfdf8b39f6a0915884291147dab5bc2066d2bf123031 + md5: 89d2455ec2f065786856b0cd2ac1c0c6 depends: - - libglvnd 1.7.0 hd24410f_3 - - libglx 1.7.0 hd24410f_3 - license: LicenseRef-libglvnd + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 + - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 + - libprotobuf >=7.35.1,<7.35.2.0a0 + - libstdcxx >=14 + - snappy >=1.2.2,<1.3.0a0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 148112 - timestamp: 1779728248678 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-devel-1.7.0-hd24410f_2.conda - sha256: ec5c3125b38295bad8acc80f793b8ee217ccb194338d73858be278db50ea82f1 - md5: 5d8323dff6a93596fb6f985cf6e8521a - depends: - - libgl 1.7.0 hd24410f_2 - - libglx-devel 1.7.0 hd24410f_2 - license: LicenseRef-libglvnd - size: 113925 - timestamp: 1731331014056 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgl-devel-1.7.0-hd24410f_3.conda - sha256: b7483884e5e8df362f113d7d7694f0a37ecf6409f1acaaa889f312688917c067 - md5: 3a0adce33b3b8a52c76389db1edfec1b - depends: - - libgl 1.7.0 hd24410f_3 - - libglx-devel 1.7.0 hd24410f_3 - license: LicenseRef-libglvnd - purls: [] - size: 116084 - timestamp: 1779728257534 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.86.4-hf53f6bf_1.conda - sha256: afc503dbd04a5bf2709aa9d8318a03a8c4edb389f661ff280c3494bfef4341ec - md5: 4ac4372fc4d7f20630a91314cdac8afd - depends: - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 - constrains: - - glib 2.86.4 *_1 - license: LGPL-2.1-or-later - size: 4512186 - timestamp: 1771863220969 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.88.1-h96a7f82_2.conda - sha256: 050285afdb7bd98b1b8fb052af9da31fafde586a49d3b56dd33d5338b2d0e411 - md5: 16d72f76bf6fead4a29efb2fede0a06b + size: 1284650 + timestamp: 1782219287644 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-frontend-2026.2.1-h78e8023_0.conda + sha256: 8e127764ec624dddd0d237799079a755fc30c25a4612490454869acb94e21208 + md5: 7ddcaa8f5b954cb83bc54ec8c0fa4774 depends: + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 - libgcc >=14 - - libiconv >=1.18,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 - - libffi >=3.5.2,<3.6.0a0 - constrains: - - glib >2.66 - license: LGPL-2.1-or-later - purls: [] - size: 4946648 - timestamp: 1778508920982 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_2.conda - sha256: 57ec3898a923d4bcc064669e90e8abfc4d1d945a13639470ba5f3748bd3090da - md5: 9e115653741810778c9a915a2f8439e7 - license: LicenseRef-libglvnd - size: 152135 - timestamp: 1731330986070 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglvnd-1.7.0-hd24410f_3.conda - sha256: ca124e53765a2b123e0ca6ce809c7caf188bb26e5fe125b69099378276d5e66f - md5: a2ad848c0aab2e326c6af08ea20502f4 - license: LicenseRef-libglvnd - purls: [] - size: 146645 - timestamp: 1779728228274 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_2.conda - sha256: 6591af640cb05a399fab47646025f8b1e1a06a0d4bbb4d2e320d6629b47a1c61 - md5: 1d4269e233636148696a67e2d30dad2a - depends: - - libglvnd 1.7.0 hd24410f_2 - - xorg-libx11 >=1.8.9,<2.0a0 - license: LicenseRef-libglvnd - size: 77736 - timestamp: 1731330998960 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-1.7.0-hd24410f_3.conda - sha256: 2698b415b9f7b692cd64e34db623e1a6e54ed54e78b0b4e5d4ea6762791e9118 - md5: 338faf34b78d053841098c0528699e34 - depends: - - libglvnd 1.7.0 hd24410f_3 - - xorg-libx11 >=1.8.13,<2.0a0 - license: LicenseRef-libglvnd - purls: [] - size: 76704 - timestamp: 1779728242753 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-devel-1.7.0-hd24410f_2.conda - sha256: 4bc28ecc38f30ca1ac66a8fb6c5703f4d888381ec46d3938b7c3383210061ec5 - md5: 1f9ddbb175a63401662d1c6222cef6ff - depends: - - libglx 1.7.0 hd24410f_2 - - xorg-libx11 >=1.8.9,<2.0a0 - - xorg-xorgproto - license: LicenseRef-libglvnd - size: 26362 - timestamp: 1731331008489 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglx-devel-1.7.0-hd24410f_3.conda - sha256: b30433c4f56bec0a7d9d288e0a456ed280183e32f3f4880ada2189fc12804a52 - md5: 3da9719866b95bddcad86c8aec6a8ba2 - depends: - - libglx 1.7.0 hd24410f_3 - - xorg-libx11 >=1.8.13,<2.0a0 - - xorg-xorgproto - license: LicenseRef-libglvnd - purls: [] - size: 27651 - timestamp: 1779728252006 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_18.conda - sha256: fc716f11a6a8525e27a5d332ef6a689210b0d2a4dd1133edc0f530659aa9faa6 - md5: 4faa39bf919939602e594253bd673958 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 588060 - timestamp: 1771378040807 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - sha256: 2370ef0ffcbae5bede3c4bf136add4abc257245eb91f724c99bb4a43116c5a83 - md5: c5e8a379c4a2ec2aea4ba22758c001d9 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL + - libopenvino 2026.2.1 h1f0fae8_0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + - snappy >=1.2.2,<1.3.0a0 + license: Apache-2.0 + license_family: APACHE purls: [] - run_exports: - strong: - - _openmp_mutex >=4.5 - size: 587387 - timestamp: 1778268674393 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.12.2-default_ha470c98_1000.conda - sha256: e87cf64d87c7706403507df7329f5b597c3b487f4c72ef53ef899e38983ea70e - md5: c8b05c85ae962a993d9b7d6c9d10571e + size: 1283493 + timestamp: 1781862149739 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.1-h2cb6e3c_0.conda + sha256: cfe11e72f470e6fc45d55ecf1bb8ea1d831b08efb36f603f78973d44262e809a + md5: d4c3d8a100e70741864a8e378e8cac15 depends: + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_0 + - libprotobuf >=6.33.5,<6.33.6.0a0 - libstdcxx >=14 - - libxml2 - - libxml2-16 >=2.14.6 - license: BSD-3-Clause - license_family: BSD - size: 2467105 - timestamp: 1765103804193 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwloc-2.13.0-default_ha95e27d_1000.conda - sha256: 88888d99e81c93e7331f2eb0fec08b3c4a47a1bfa1c88b3e641f6568569b6261 - md5: 974183f6420938051e2f3208922d057f + - snappy >=1.2.2,<1.3.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 1213406 + timestamp: 1781860528065 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.1-h9dfe790_1.conda + sha256: cef784d6f72292993c06acc368c157f2093a48acf8556cdbdb6ecedf268e5b42 + md5: 535057ced1e60c5038e9adc80a0b2103 depends: + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 - libgcc >=14 + - libopenvino 2026.2.1 h9a8427e_1 + - libprotobuf >=7.35.1,<7.35.2.0a0 - libstdcxx >=14 - - libxml2 - - libxml2-16 >=2.14.6 - license: BSD-3-Clause - license_family: BSD + - snappy >=1.2.2,<1.3.0a0 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 2453519 - timestamp: 1770953713701 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.3.0-h81d0cf9_1.conda - sha256: a6a441692b27606f8ef64ee9e6a0c72c615c2e25b01c282ee080ee8f97861943 - md5: d5b93534e24e7c15792b3f336c52af07 + size: 1215232 + timestamp: 1782213648342 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.1-hecca717_0.conda + sha256: 538de764f715376cfd6a4469b0418642d8b87e8cc92895e335b9e09338bd8dea + md5: 263109d4775fce2644e102b905645299 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_0 - libstdcxx >=14 - license: Apache-2.0 OR BSD-3-Clause - size: 1180000 - timestamp: 1758894754411 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libhwy-1.4.0-h0626a34_0.conda - sha256: cff38f9a1df7bc3e5ac7856bc2e5c879151b54c07b55722ec0da1af49d869721 - md5: 61b4e7ef4624c692a3ebd07100795303 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 502319 + timestamp: 1781862161304 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenvino-tensorflow-lite-frontend-2026.2.1-hecca717_1.conda + sha256: 142e7b24173ca8c32dbdb29c60f33a56ffb21a4ed733c9d6ab160c3a213ff52e + md5: c1a50f20847df0a8cb462138153ab46f depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 + - libopenvino 2026.2.1 h1f0fae8_1 - libstdcxx >=14 - license: Apache-2.0 OR BSD-3-Clause + license: Apache-2.0 + license_family: APACHE purls: [] - size: 945401 - timestamp: 1776989517303 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda - sha256: 1473451cd282b48d24515795a595801c9b65b567fe399d7e12d50b2d6cdb04d9 - md5: 5a86bf847b9b926f3a4f203339748d78 + size: 501906 + timestamp: 1782219300706 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.1-hfae3067_0.conda + sha256: 3be1777998851e13bbfcdee90b5ed72f5a4ad2e76d9ae1c68c616d035fe97765 + md5: 896f40aea49ba2cfe819b0ba2fea9646 depends: - libgcc >=14 - license: LGPL-2.1-only + - libopenvino 2026.2.1 h9a8427e_0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 791226 - timestamp: 1754910975665 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.2-he30d5cf_0.conda - sha256: 84064c7c53a64291a585d7215fe95ec42df74203a5bf7615d33d49a3b0f08bb6 - md5: 5109d7f837a3dfdf5c60f60e311b041f - depends: - - libgcc >=14 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib - size: 691818 - timestamp: 1762094728337 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.4.1-he30d5cf_0.conda - sha256: e97ec2af5f09f8f6ea8ecd550055c95ae80fae22015fcfadaa94eafe025c9ccc - md5: a85ba48648f6868016f2741fd9170250 + size: 468848 + timestamp: 1781860542142 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.1-hfae3067_1.conda + sha256: 656276bd4072859725a47516c5954a91b408dd65a0d2d3f923964634a29d0ded + md5: 04e867fd452233f43885090c1533af28 depends: - libgcc >=14 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib + - libopenvino 2026.2.1 h9a8427e_1 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 693143 - timestamp: 1775962625956 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.11.2-h71be66a_0.conda - sha256: 880d6a176e0fed5f3a8b1db034f6ee59dab1622d0ab03ea1298ddd9d42f6fa5d - md5: 0f640337bf465aa7b663a6ba399d4fc4 + size: 468695 + timestamp: 1782213660401 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.6.1-h280c20c_0.conda + sha256: f1061a26213b9653bbb8372bfa3f291787ca091a9a3060a10df4d5297aad74fd + md5: 2446ac1fe030c2aa6141386c1f5a6aed depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libstdcxx >=14 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - - libhwy >=1.3.0,<1.4.0a0 license: BSD-3-Clause license_family: BSD - size: 1489440 - timestamp: 1770801995062 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjxl-0.11.2-hbae46ee_1.conda - sha256: 237bbfa18c4f245a24000c12924d61a9e54f7e6f689f405c0dc8e188a40de890 - md5: 532faebf82c7d2c10539518347cff460 + purls: [] + size: 324993 + timestamp: 1768497114401 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda + sha256: 059214f037fa5e51080f5aced39466993b2311a01d871086bd6d2a59bfbf59b5 + md5: c781f98ca7b987f968369bc768b2cd55 depends: - libgcc >=14 - - libstdcxx >=14 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - - libhwy >=1.4.0,<1.5.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 1489188 - timestamp: 1777065125935 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-5_h88aeb00_openblas.conda - build_number: 5 - sha256: 692222d186d3ffbc99eaf04b5b20181fd26aee1edec1106435a0a755c57cce86 - md5: 88d1e4133d1182522b403e9ba7435f04 + size: 383586 + timestamp: 1768497303687 +- conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda + sha256: c3678f111866235b44fa65265966abae7d90b6387178f1459afaedcee8b4a997 + md5: 0ed21da5b6e3a0393e05762b3cce2878 depends: - - libblas 3.11.0 5_haddc8a3_openblas - constrains: - - liblapacke 3.11.0 5*_openblas - - blas 2.305 openblas - - libcblas 3.11.0 5*_openblas - license: BSD-3-Clause - license_family: BSD - size: 18392 - timestamp: 1765818627104 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-6_h88aeb00_openblas.conda - build_number: 6 - sha256: 67472a3cb761ff95527387ea0367883a22f9fbda1283b9880e5ad644fafd0735 - md5: e23a27b52fb320687239e2c5ae4d7540 - depends: - - libblas 3.11.0 6_haddc8a3_openblas - constrains: - - blas 2.306 openblas - - liblapacke 3.11.0 6*_openblas - - libcblas 3.11.0 6*_openblas + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 license: BSD-3-Clause license_family: BSD purls: [] - size: 18702 - timestamp: 1774503068721 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-8_h88aeb00_openblas.conda - build_number: 8 - sha256: d269a684afa0b2fdb44d6b60167f854f30410cdb5ee49a7275c026f6b10c8d05 - md5: 3af3f2aa755abc5e91351114ae214f55 + size: 307373 + timestamp: 1768497136248 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpciaccess-0.19-hb03c661_0.conda + sha256: f41721636a7c2e51bc2c642e1127955ab9c81145470714fdaac44d4d09e4af41 + md5: 33082e13b4769b48cfeb648e15bfe3fc depends: - - libblas 3.11.0 8_haddc8a3_openblas - constrains: - - libcblas 3.11.0 8*_openblas - - liblapacke 3.11.0 8*_openblas - - blas 2.308 openblas - license: BSD-3-Clause - license_family: BSD + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT purls: [] - size: 18828 - timestamp: 1779859055749 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.2-he30d5cf_0.conda - sha256: 843c46e20519651a3e357a8928352b16c5b94f4cd3d5481acc48be2e93e8f6a3 - md5: 96944e3c92386a12755b94619bae0b35 + size: 29147 + timestamp: 1773533027610 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.19-he30d5cf_0.conda + sha256: 5d26d751b7cc4b66e28ed1ae75900956600aaa5c5d874d5a8cf106d3aff834d3 + md5: 462239e256bc180c9c45dd049ba797ee depends: - libgcc >=14 - constrains: - - xz 5.8.2.* - license: 0BSD + license: MIT + license_family: MIT purls: [] - size: 125916 - timestamp: 1768754941722 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - sha256: d61962b9cd54c3554361550203c64d5b65b71e3058a285b66e4b04b9769f0a5c - md5: 76298a9e6d71ee6e832a8d0d7373b261 + size: 30294 + timestamp: 1773533057559 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libplacebo-7.360.1-hc50b9dd_1.conda + sha256: 7fa90c06b81559cb56ea7806a6696fb4902a1acc20bbaff1bd3a4a75b3ffa0d5 + md5: 4a750e2ae0d52d003bb1e3421581585e depends: + - libstdcxx >=14 - libgcc >=14 - constrains: - - xz 5.8.3.* - license: 0BSD + - __glibc >=2.17,<3.0.a0 + - libdovi >=3.4.0,<4.0a0 + - lcms2 >=2.19.1,<3.0a0 + - shaderc >=2026.3,<2026.4.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + license: LGPL-2.1-or-later purls: [] - run_exports: - weak: - - liblzma >=5.8.3,<6.0a0 - size: 126102 - timestamp: 1775828008518 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmagma-2.9.0-he3ecef4_6.conda - sha256: 1511c96dcab0968a344d16a5bbb6791aeefc344e2ef4740a1137cfb62f95ebc6 - md5: c6eec8ae18b32f1e444353dd526fb040 + size: 550759 + timestamp: 1784287829706 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-ha018e38_1.conda + sha256: 22fe6a6f34b6910c23cdaac21166cddd70ff385ced7aa45322b70c736fcae4c3 + md5: 6a8214555c597ce831d41d63f3fd3f71 depends: - - __glibc >=2.28,<3.0.a0 - - _openmp_mutex >=4.5 - - arm-variant * sbsa - - cuda-cudart - - cuda-version >=13,<14.0a0 - - libblas >=3.9.0,<4.0a0 - - libcublas - - libcusparse - - libgcc >=14 - - liblapack >=3.9.0,<4.0a0 - libstdcxx >=14 + - libgcc >=14 + - shaderc >=2026.3,<2026.4.0a0 + - libdovi >=3.4.0,<4.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - lcms2 >=2.19.1,<3.0a0 + license: LGPL-2.1-or-later + purls: [] + size: 565641 + timestamp: 1784287829183 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpmix-5.0.8-h31fc519_4.conda + sha256: 2837759fb832ab8587622602531f8e4b5d5e5ec12ea9b3936be06f384b933800 + md5: bd15ae3916a0cbe005c683bbc33811b7 + depends: + - __glibc >=2.17,<3.0.a0 + - libevent >=2.1.12,<2.1.13.0a0 + - libgcc >=14 + - libhwloc >=2.13.0,<2.13.1.0a0 + - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD - size: 460673720 - timestamp: 1767143113267 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - sha256: 57c0dd12d506e84541c4e877898bd2a59cca141df493d34036f18b2751e0a453 - md5: 7b9813e885482e3ccb1fa212b86d7fd0 + purls: [] + size: 731098 + timestamp: 1770962978877 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpmix-5.0.8-h83c401c_4.conda + sha256: 6d52176bda6c9e571df1cc40976020a462631a081ed4fbff04d206f91e0297ed + md5: 63c0a757a2358422238fbf25c70508f8 depends: + - libevent >=2.1.12,<2.1.13.0a0 - libgcc >=14 - license: BSD-2-Clause + - libhwloc >=2.13.0,<2.13.1.0a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause license_family: BSD purls: [] - run_exports: {} - size: 114056 - timestamp: 1769482343003 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - sha256: 2e603bf640738511faf80de284daa031f0e67de66b77bed7d0da1045ef062abf - md5: bb24d3dd7d028b70f0bb5f6d6e1329c0 + size: 728469 + timestamp: 1770963005933 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda + sha256: 377cfe037f3eeb3b1bf3ad333f724a64d32f315ee1958581fc671891d63d3f89 + md5: eba48a68a1a2b9d3c0d9511548db85db depends: - - libgcc >=13 - license: LGPL-2.1-or-later - license_family: LGPL + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.2,<2.0a0 + license: zlib-acknowledgement purls: [] - run_exports: - weak: - - libnl >=3.11.0,<4.0a0 - size: 768716 - timestamp: 1731846931826 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.1-h86ecc28_1.conda - sha256: c0dc4d84198e3eef1f37321299e48e2754ca83fd12e6284754e3cb231357c3a5 - md5: d5d58b2dc3e57073fe22303f5fed4db7 - depends: - - libgcc >=13 - license: LGPL-2.1-only - license_family: GPL - purls: [] - size: 34831 - timestamp: 1750274211000 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_0.conda - sha256: a811726bc62a3e1952672aa0917166f8123e0ff2c182b9346384f8e962184530 - md5: 3ace0e6476f8c17381dc3b391c3c5049 + size: 317729 + timestamp: 1776315175087 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda + sha256: 483eaa53da40a6a3e558709d9f7b1ca388735364ae21a1ba58cf942514649c92 + md5: f51503ac45a4888bce71af9027a2ecc9 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - libgcc >=14 - - libstdcxx >=14 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement + - libzlib >=1.3.2,<2.0a0 + license: zlib-acknowledgement purls: [] - size: 459700 - timestamp: 1779897643320 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_1.conda - sha256: 5a5f13012bde038ad880d7af1514cc9fb6aa50dbffd69ab57e9b20914a3a5e59 - md5: c27b87f23e6381ebbb7f899bdfbe159c + size: 341202 + timestamp: 1776315188425 +- conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda + sha256: 218913aeee391460bd0e341b834dbd9c6fa6ae0a4276c0c300266cc99a816a28 + md5: 52f1280563f3b48b5f75414cd2d15dd1 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - - libgcc >=14 - - libstdcxx >=14 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 458764 - timestamp: 1782920269581 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-12.9.86-h8f3c8d4_2.conda - sha256: d5ff36f46250069a23b18d557052c6656f40a002333885e8c5332071e873b48e - md5: e318a6573fea150226d5f417d1c0807a + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libzlib >=1.3.2,<2.0a0 + license: zlib-acknowledgement + purls: [] + size: 385227 + timestamp: 1776315248638 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.33.5-h538a264_2.conda + sha256: eb296398f05e3c1d0df2b616e7dd58b1d764540b5241ecf796480cdf82b29d2a + md5: 0f310965b9db4ef4ed9cd8a1672d9404 depends: - - arm-variant * sbsa - - cuda-version >=12,<12.10.0a0 + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 - libgcc >=14 - libstdcxx >=14 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 30323952 - timestamp: 1760723774770 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda - sha256: 4b1519898eceba923e11b5ae3588af886ce57a7ba3336ffd900320dfe156e457 - md5: cb19b7f9f8c0b6ee98e8a390b54c5a92 + - libzlib >=1.3.2,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 3668552 + timestamp: 1783168697169 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-7.35.1-h2840a7c_2.conda + sha256: b5ac3938186516c1091b96414c34f90255da2a3bbd736a0712b22bbf4b5ebf02 + md5: 729db8acaadb9a5e5bb2dc3d9ac84ae4 depends: - - arm-variant * sbsa - - cuda-version >=13,<13.4.0a0 + - __glibc >=2.17,<3.0.a0 + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 - libgcc >=14 - libstdcxx >=14 - constrains: - - arm-variant * sbsa - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - run_exports: {} - size: 29975854 - timestamp: 1779897817336 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvptxcompiler-dev-12.9.86-h579c4fd_2.conda - sha256: 20cc92d163571b6d67efcfcb05dec042916219f29846152fdb696d499fa9fade - md5: 096a5f4ddc263418d1b8160413a16c61 - depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - - libnvptxcompiler-dev_linux-aarch64 12.9.86 h579c4fd_2 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27138 - timestamp: 1753975408006 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libogg-1.3.5-h86ecc28_1.conda - sha256: 2c1b7c59badc2fd6c19b6926eabfce906c996068d38c2972bd1cfbe943c07420 - md5: 319df383ae401c40970ee4e9bc836c7a - depends: - - libgcc >=13 + - libzlib >=1.3.2,<2.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 220653 - timestamp: 1745826021156 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.30-openmp_h1a8b088_4.conda - sha256: 1892ceaefcf593dfd881ce3e88108875e60002b34a15b918d3e0b9129e5f631f - md5: b1b27969f81db1b7068789d4bc6dadcf + size: 3774596 + timestamp: 1783168720126 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.33.5-h084db60_2.conda + sha256: 9eb0976abcb468898c496d1eea2368e38d774bf637bf78c907636e82252d83bc + md5: ef802898f5ac399922807c0d984c0fe2 depends: - - _openmp_mutex * *_llvm - - _openmp_mutex >=4.5 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - - llvm-openmp >=21.1.5 - constrains: - - openblas >=0.3.30,<0.3.31.0a0 - track_features: - - openblas_threading_openmp + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 license: BSD-3-Clause license_family: BSD - size: 4968974 - timestamp: 1763113962714 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.30-pthreads_h9d3fd7e_4.conda - sha256: 794a7270ea049ec931537874cd8d2de0ef4b3cef71c055cfd8b4be6d2f4228b0 - md5: 11d7d57b7bdd01da745bbf2b67020b2e + purls: [] + size: 3466918 + timestamp: 1783168144404 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-7.35.1-h30ec8a2_2.conda + sha256: df3cd7057c4a1d229bff2c9060c03425a42fb12d7d7e7fe985f63907c9e88922 + md5: b9c3b50124bf5fd1ff3ed97ee55f6266 depends: + - libabseil * cxx17* + - libabseil >=20260526.0,<20260527.0a0 - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 - constrains: - - openblas >=0.3.30,<0.3.31.0a0 + - libstdcxx >=14 + - libzlib >=1.3.2,<2.0a0 license: BSD-3-Clause license_family: BSD - size: 4959359 - timestamp: 1763114173544 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.32-pthreads_h9d3fd7e_0.conda - sha256: 51fcf5eb1fc43bfeca5bf3aa3f51546e92e5a92047ba47146dcea555142e30f8 - md5: 5d2ce5cf40443d055ec6d33840192265 + purls: [] + size: 3597785 + timestamp: 1783168080031 +- conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.62.3-h4c96295_0.conda + sha256: 5571bd8239d71961d4e3ce972f865b3ea95a91ce0b53d5749fe2dd24254ddbda + md5: 492c8d9b1c564c2e948b6cb4ba0f8261 depends: + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.18.0,<3.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.44.6,<3.0a0 + - harfbuzz >=14.2.0 - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 + - libglib >=2.88.1,<3.0a0 + - libxml2-16 >=2.14.6 + - pango >=1.56.4,<2.0a0 constrains: - - openblas >=0.3.32,<0.3.33.0a0 - license: BSD-3-Clause - license_family: BSD + - __glibc >=2.17 + license: LGPL-2.1-or-later purls: [] - size: 5122134 - timestamp: 1774471612323 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda - sha256: b018ecfb05e75a8eea3f21f6b5c5c2a54b5178bdcf19e2e2df2735740214a8c8 - md5: 58a66cd95e9692f08abe89f55a6f3f12 + size: 3476570 + timestamp: 1780450632624 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.62.3-hf685517_0.conda + sha256: c95ac70755863d8522c1115b54afca86148ea25366b616aa84c993c2ca54b9ce + md5: 38209cc04b3e3e5624c534bc703e6939 depends: + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.18.0,<3.0a0 + - fonts-conda-ecosystem + - gdk-pixbuf >=2.44.6,<3.0a0 + - harfbuzz >=14.2.0 - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 + - libglib >=2.88.1,<3.0a0 + - libxml2-16 >=2.14.6 + - pango >=1.56.4,<2.0a0 constrains: - - openblas >=0.3.33,<0.3.34.0a0 - license: BSD-3-Clause - license_family: BSD + - __glibc >=2.17 + license: LGPL-2.1-or-later purls: [] - size: 5121336 - timestamp: 1776993423004 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.0.0-h1915271_1.conda - sha256: 6f8558cc4ee4d490db88640e71d3f79fa7552701d91c09ad6f1371dadb9bd3f1 - md5: c8ff442d02723939711a726d9ff71eac + size: 3052373 + timestamp: 1780456154830 +- conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.62.3-h15cfe45_0.conda + sha256: 6f678be6074b79fe754660d16857a6edba73dd197ad92086250dc38c11b179ab + md5: 3fffc63af7b943cde57aa72f5ffe6048 depends: - - libgcc >=14 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 5742222 - timestamp: 1772721263739 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-2026.2.0-h1915271_0.conda - sha256: a382bdf384d0f4152a58331d024f890db83df9d133cd782d932169043e0ed590 - md5: 8921878e6366aec78dd3d966512bffe0 + - cairo >=1.18.4,<2.0a0 + - gdk-pixbuf >=2.44.6,<3.0a0 + - harfbuzz >=14.2.0 + - libglib >=2.88.1,<3.0a0 + - libxml2-16 >=2.14.6 + - pango >=1.56.4,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LGPL-2.1-or-later + purls: [] + size: 3361405 + timestamp: 1780451179155 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-14.3.0-h8f1669f_19.conda + sha256: 8766de5423b0a510e2b1bdd1963d0554bdad2119f3e31d8fbd4189af434235ca + md5: 007796e5a595bbc7df4a5e1580d72e1a depends: - - libgcc >=14 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE + - __glibc >=2.17,<3.0.a0 + - libgcc >=14.3.0 + - libstdcxx >=14.3.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 7947790 + timestamp: 1778268494844 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda + sha256: 7a58892a52739ce4c0f7109de9e91b4353104748eb04fc6441d88e8af444ba99 + md5: 67eef12ce33f7ff99900c212d7076fc2 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=15.2.0 + - libstdcxx >=15.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 5928862 - timestamp: 1780392254655 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.0.0-h1915271_1.conda - sha256: 8fff4375f324bdf8a3fe20c489710b692340007b7af2da1d14f6832990c24891 - md5: ef26404d824453138bf0a12a8bb033df + size: 7930689 + timestamp: 1778269054623 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-14.3.0-hedb4206_19.conda + sha256: d5bfc6472141488dccf7addade6e85574497a0cb3fe8ee10efb308eeffcea874 + md5: dde53e47246d01641cc9093aa9a66681 depends: - - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 10237615 - timestamp: 1772721303162 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-arm-cpu-plugin-2026.2.0-h1915271_0.conda - sha256: 68a0ac00e3c5d3e47cfcc509626acd4e4caf38b7426d642a44847e00183daa36 - md5: 0b4567fac6e30f52e6e833c4a7ed7ad2 + - libgcc >=14.3.0 + - libstdcxx >=14.3.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 7199495 + timestamp: 1778268550110 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda + sha256: 8115604f113fe2b7be95b2d22183a4dda5779c1cc6db4b826af800581498b4b3 + md5: 95210a1edbd7fc6e12afc9f8276f450a depends: + - libgcc >=15.2.0 + - libstdcxx >=15.2.0 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 7067965 + timestamp: 1778268796086 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc7d488a_2.conda + sha256: 57cb5f92110324c04498b96563211a1bca6a74b2918b1e8df578bfed03cc32e4 + md5: 067590f061c9f6ea7e61e3b2112ed6b3 + depends: + - __glibc >=2.17,<3.0.a0 + - lame >=3.100,<3.101.0a0 + - libflac >=1.5.0,<1.6.0a0 - libgcc >=14 - - libopenvino 2026.2.0 h1915271_0 + - libogg >=1.3.5,<1.4.0a0 + - libopus >=1.5.2,<2.0a0 - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE + - libvorbis >=1.3.7,<1.4.0a0 + - mpg123 >=1.32.9,<1.33.0a0 + license: LGPL-2.1-or-later + license_family: LGPL purls: [] - size: 10263466 - timestamp: 1780392276062 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.0.0-h3d5001d_1.conda - sha256: da7926f66318e539c9f20c2f5f3719a5ba663c6b9d5471e5223d290450219748 - md5: 5e984d6405a8f8529d7429f28a7f285e + size: 355619 + timestamp: 1765181778282 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda + sha256: f0b6844c09cdec608ca504bd97c5d64a5596a25f66ad806381f9d63dfc89e432 + md5: 362bc94148039b77c6a42b1f7e7ef537 depends: + - lame >=3.100,<3.101.0a0 + - libflac >=1.5.0,<1.6.0a0 - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 + - libogg >=1.3.5,<1.4.0a0 + - libopus >=1.5.2,<2.0a0 - libstdcxx >=14 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 111064 - timestamp: 1772721336786 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-batch-plugin-2026.2.0-h3d5001d_0.conda - sha256: fcdf66ab11ff3fa9ccf92ecf50fc5567f54dab6a16b05a683a6c3d30cfc6fbee - md5: aa9a66aa5729b2ee940968169cea7337 + - libvorbis >=1.3.7,<1.4.0a0 + - mpg123 >=1.32.9,<1.33.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 406978 + timestamp: 1765181892661 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.22-h280c20c_1.conda + sha256: b677bbf1c339d894757c3dcfbb2f88649e499e4991d70ae09a1466da9a6c92d6 + md5: 965e4d531b588b2e42f66fd8e48b056c depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libopenvino 2026.2.0 h1915271_0 - - libstdcxx >=14 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE + license: ISC purls: [] - size: 111823 - timestamp: 1780392306402 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.0.0-h3d5001d_1.conda - sha256: 20f1958e160c64f3d207f1dbdb6960cc5642070a472bebffc0d587b2f6429033 - md5: 573b3f5ec3963e0153501a2676660ee4 + size: 269272 + timestamp: 1779163468406 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.22-h80f16a2_1.conda + sha256: 36fb7afb28fecb8d678611e05a96b1e135510369b7fe5e353e407308ef1f6796 + md5: 5cb9cebc948d70e6e7c81670f911dab3 depends: - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libstdcxx >=14 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE - size: 236010 - timestamp: 1772721351244 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-auto-plugin-2026.2.0-h3d5001d_0.conda - sha256: a3f1b9b278bab50e8d2719f89555e982cefc15ac8675fc613e195fef7ffb4e2d - md5: af991ae91466db29164f151884d18ced - depends: - - libgcc >=14 - - libopenvino 2026.2.0 h1915271_0 - - libstdcxx >=14 - - tbb >=2022.3.0 - license: Apache-2.0 - license_family: APACHE + license: ISC purls: [] - size: 236659 - timestamp: 1780392318802 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.0.0-he07c6df_1.conda - sha256: 3778ea3887c9a9300761e3f39ce86976746a35aa1392a4b76e4e4d3ce9e095b4 - md5: 74bd299545a1fe23439bf6e071ed9710 - depends: - - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 - license_family: APACHE - size: 202574 - timestamp: 1772721365749 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-hetero-plugin-2026.2.0-he07c6df_0.conda - sha256: 1854db417a938905bb962429ccad2342abe251c7d2df8ad5f65001c02bf121f2 - md5: d9fa12321fccac7fbbdfd4a33386f601 + size: 283426 + timestamp: 1779163468728 +- conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.22-h6a83c73_1.conda + sha256: de45b71224da77a1c3a7dd48d8885eb957c9f05455d4f0828463293e7144330f + md5: 7d5abf7ca1bd00b43d273f44d93d05dc depends: - - libgcc >=14 - - libopenvino 2026.2.0 h1915271_0 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 - license_family: APACHE + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: ISC purls: [] - size: 207233 - timestamp: 1780392331535 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.0.0-he07c6df_1.conda - sha256: 5d191b9d29fb2bbaca95bcd7325fbc3329c1049eccda4b84cfd79c64d4b6dc83 - md5: 0946447f9717222c95c24f958d73dba9 - depends: - - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 - license_family: APACHE - size: 185648 - timestamp: 1772721380070 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-ir-frontend-2026.2.0-he07c6df_0.conda - sha256: 55e59f52239653f65119a44b268cb84b95be825375413ddb302c37c0bee0c12c - md5: 6db219aa622d3c9ec09c7af4d72badb6 + size: 280234 + timestamp: 1779164124739 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda + sha256: 365376f4815e5e80def2b3462a2419708b7c292da0da85278386c2618621fff4 + md5: 4aed8e657e9ff156bdbe849b4df44389 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libopenvino 2026.2.0 h1915271_0 - - libstdcxx >=14 - - pugixml >=1.15,<1.16.0a0 - license: Apache-2.0 - license_family: APACHE + - libzlib >=1.3.2,<2.0a0 + license: blessing purls: [] - size: 195766 - timestamp: 1780392343931 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.0.0-h558496d_1.conda - sha256: 9496ef9b24c3dcf3dda58a11360095fdd427d828d33705a1d9b90a4f1a5783c3 - md5: 55e11d3e2f930299df66be96928e432d + size: 962119 + timestamp: 1782519076616 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda + sha256: a835400072fb638fb582ee9fc2271169da84cbcad664d28b852610201116027e + md5: 2cd50877f494b34383af22560ced8b04 depends: - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 + - icu >=78.3,<79.0a0 - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 1665115 - timestamp: 1772721394860 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-onnx-frontend-2026.2.0-h558496d_0.conda - sha256: dd3e35276ca74c6516225858adaf03ff0023bcae01aca405153aa23e0f9578e2 - md5: e84838a0406ca0441485ef2ae93cdc12 + - libzlib >=1.3.2,<2.0a0 + license: blessing + purls: [] + size: 968420 + timestamp: 1782519054102 +- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda + sha256: 692dfb73a22c873656d5e393b8f1e2b019a3c8a6486c97cb6900552e64e38c25 + md5: 051f1b2228e7517a2ef8cca5146c8967 depends: - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.2.0 h1915271_0 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: blessing purls: [] - size: 1734652 - timestamp: 1780392356739 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.0.0-h558496d_1.conda - sha256: 9e04b6c6b370e46bee7306afc9bc76e725042e981102f4c7b6b697b061c7324a - md5: d26f5d445e0545ce674b11f496dba1a0 + size: 1315909 + timestamp: 1782519131898 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda + sha256: dff1058c76ec6b8759e41cefa2508162d00e4a5e6721aa68ec3fd10094e702dc + md5: 5794b3bdc38177caf969dabd3af08549 depends: - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 631754 - timestamp: 1772721411589 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-paddle-frontend-2026.2.0-h558496d_0.conda - sha256: e7fd3356db414ea71f9614f22ef3028ebcc3b42f41558ffa2b34875e8b250cfa - md5: 99c33a18de3d0eb45d4de33037740344 + - __glibc >=2.17,<3.0.a0 + - libgcc 15.2.0 he0feb66_19 + constrains: + - libstdcxx-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 5852044 + timestamp: 1778269036376 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda + sha256: 1dadc45e599f510dd5f97141dddcdbb9844d9f1430c1f3a38075cf1c58f87b4e + md5: 543fbc8d71f2a0baf04cf88ce96cb8bb depends: - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.2.0 h1915271_0 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE + - libgcc 15.2.0 h8acb6b2_19 + constrains: + - libstdcxx-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 638732 - timestamp: 1780392373689 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.0.0-hfae3067_1.conda - sha256: e62d016274d9aeae8033a37cd742162637ca37cd10a5d436934c2709c58240f2 - md5: 0fd361e9e722e741146d818284feca74 + size: 5546559 + timestamp: 1778268777463 +- conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_19.conda + sha256: 39e3ccf4fa64e24196e57ca34387bdd8f7c749bf3beab1a849244e6923c288d2 + md5: fff457de671788d3df3d5cb246caec3e depends: - - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 1091266 - timestamp: 1772721428223 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-pytorch-frontend-2026.2.0-hfae3067_0.conda - sha256: 098223bfba023f1a864582bdf5b672c6bf992834f5ed69e6666947e381643ec5 - md5: 1de433749949deb737840fc8916cb37b + - libgcc 15.2.0 h8ee18e1_19 + - libwinpthread >=12.0.0.r4.gg4f2fc60ca + constrains: + - libstdcxx-ng ==15.2.0=*_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 6461114 + timestamp: 1778273060138 +- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-14.3.0-h9f08a49_119.conda + sha256: 1b4263aa5d8c8c659e8e38b66868f42867347e0c8941513ee77269afc00a5186 + md5: d1a866495b9654ccfef5392b8541dc58 depends: - - libgcc >=14 - - libopenvino 2026.2.0 h1915271_0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 20199810 + timestamp: 1778268389428 +- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda + sha256: a2385f3611d5cd25378f9cf2367183320731709c067ddd08d43330d3170f15b8 + md5: bcfe7eae40158c3e355d2f9d3ed41230 + depends: + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 1122814 - timestamp: 1780392386564 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.0.0-h2cb6e3c_1.conda - sha256: f4ecfddd9583fa475e2e637ac9226b6ae20482abda53bf4339a29407e6c05cb3 - md5: f2c28f19267bfcdf9ec9ed4406a89d0b + size: 20765069 + timestamp: 1778268963689 +- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-14.3.0-h57c8d61_119.conda + sha256: 918ae042d508617da3c06fb55332f1280340eb705a69a0b1d14fa6fddb790145 + md5: 8c7bc9930a1b7c38557311fbea9a433f depends: - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - - snappy >=1.2.2,<1.3.0a0 - license: Apache-2.0 - license_family: APACHE - size: 1184078 - timestamp: 1772721443833 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-frontend-2026.2.0-h2cb6e3c_0.conda - sha256: 01f0529aa2c012f153d6aeebfc4b7de6bd5e0a6811d5bd894fbcfcc825fed17a - md5: bce62d32b672e259d6014c02a3790be6 + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 17587589 + timestamp: 1778268454520 +- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda + sha256: 6f7ceee16070781b7d642a37a35ffdf09c66796d3df105c919526210ce220443 + md5: 61da34d67f58dd4cf16683f6cdcb06c8 depends: - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libgcc >=14 - - libopenvino 2026.2.0 h1915271_0 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=14 - - snappy >=1.2.2,<1.3.0a0 - license: Apache-2.0 - license_family: APACHE + - __unix + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 1205286 - timestamp: 1780392400365 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.0.0-hfae3067_1.conda - sha256: b0f32488fd11cd8ed563ad01934360df383f720a2adecf6d36aa3ea2565baab7 - md5: 0a160f00a4050e3bf4749129750d0303 + size: 17627362 + timestamp: 1778268687968 +- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_119.conda + sha256: deea115b736d7fe4acbf15c928fc26def84e30211f09a7aac6bed9940862b6e6 + md5: 928d9a3adb00850a4b5a888683c29465 depends: - - libgcc >=14 - - libopenvino 2026.0.0 h1915271_1 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 428895 - timestamp: 1772721459028 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenvino-tensorflow-lite-frontend-2026.2.0-hfae3067_0.conda - sha256: 6613215bea89b3787cff16490227394f723dd793efcf9d1b4a35290a21cb8853 - md5: 778f93a0b0a0ad4a20155cc2d4ec0319 + - m2-conda-epoch + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + size: 11634599 + timestamp: 1778272991364 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_19.conda + sha256: 0672b6b6e1791c92e8eccad58081a99d614fcf82bca5841f9dfa3c3e658f83b9 + md5: e5ce228e579726c07255dbf90dc62101 depends: - - libgcc >=14 - - libopenvino 2026.2.0 h1915271_0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE + - libstdcxx 15.2.0 h934c35e_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 466181 - timestamp: 1780392413800 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopus-1.6.1-h80f16a2_0.conda - sha256: 059214f037fa5e51080f5aced39466993b2311a01d871086bd6d2a59bfbf59b5 - md5: c781f98ca7b987f968369bc768b2cd55 + size: 27776 + timestamp: 1778269074600 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_19.conda + sha256: 56b5ec297a988961486694f1c598889c3a697d77a0b42b8cea3faaa12e9bd360 + md5: c82ed61c3ec470c5ec624580e6ba16e4 depends: - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD + - libstdcxx 15.2.0 hef695bb_19 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL purls: [] - size: 383586 - timestamp: 1768497303687 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.18-h86ecc28_0.conda - sha256: 7641dfdfe9bda7069ae94379e9924892f0b6604c1a016a3f76b230433bb280f2 - md5: 5044e160c5306968d956c2a0a2a440d6 - depends: - - libgcc >=13 - license: MIT - license_family: MIT - size: 29512 - timestamp: 1749901899881 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpciaccess-0.19-he30d5cf_0.conda - sha256: 5d26d751b7cc4b66e28ed1ae75900956600aaa5c5d874d5a8cf106d3aff834d3 - md5: 462239e256bc180c9c45dd049ba797ee + size: 27803 + timestamp: 1778268813278 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda + sha256: 2293884d59cf0436c37fc0a4bad71011a8de2a6913610d1c701a7703377c1f75 + md5: ea0da9c20bbb221b530810c3c68bbe62 depends: + - __glibc >=2.17,<3.0.a0 + - libcap >=2.78,<2.79.0a0 - libgcc >=14 - license: MIT - license_family: MIT + license: LGPL-2.1-or-later purls: [] - size: 30294 - timestamp: 1773533057559 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libplacebo-7.360.1-h07e46df_0.conda - sha256: 3af9437023ec7fa8f9bf5e390b7f6ad3df403aa736b0305121d1734af2d0620e - md5: 1909ad87fcdfa8397e3568d01500dc8d + size: 493022 + timestamp: 1780084748140 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda + sha256: 7938befc6a09d9f829663ea134b01bea78dabe08d928e9a7caa68e2d726e03c5 + md5: d8981d39a52ab992a033a68927da47e0 depends: - - libstdcxx >=14 + - libcap >=2.78,<2.79.0a0 - libgcc >=14 - - lcms2 >=2.19,<3.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libdovi >=3.3.2,<4.0a0 - - shaderc >=2026.2,<2026.3.0a0 license: LGPL-2.1-or-later purls: [] - size: 560813 - timestamp: 1777835957369 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.55-h1abf092_0.conda - sha256: c7378c6b79de4d571d00ad1caf0a4c19d43c9c94077a761abb6ead44d891f907 - md5: be4088903b94ea297975689b3c3aeb27 - depends: - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: zlib-acknowledgement - size: 340156 - timestamp: 1770691477245 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda - sha256: 483eaa53da40a6a3e558709d9f7b1ca388735364ae21a1ba58cf942514649c92 - md5: f51503ac45a4888bce71af9027a2ecc9 + size: 515284 + timestamp: 1780084773602 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.2-h9d88235_0.conda + sha256: b31346e1c01ab40a170e91147092ee8fd92b1dee3c66ee47ef025571c879b159 + md5: c1fcb4a88bc15a9f77ad8d27d7af1df9 depends: + - __glibc >=2.17,<3.0.a0 + - lerc >=4.1.0,<5.0a0 + - libdeflate >=1.25,<1.26.0a0 - libgcc >=14 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - liblzma >=5.8.3,<6.0a0 + - libstdcxx >=14 + - libwebp-base >=1.6.0,<2.0a0 - libzlib >=1.3.2,<2.0a0 - license: zlib-acknowledgement + - zstd >=1.5.7,<1.6.0a0 + license: HPND purls: [] - size: 341202 - timestamp: 1776315188425 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.33.5-h1f88751_0.conda - sha256: f68780642c215b93f4991c43d88ab0af8a08e66826e68affc65b8905cc21d86b - md5: 7f4a589ae616399b7e375053e82a3b12 - depends: - - libabseil * cxx17* - - libabseil >=20260107.0,<20260108.0a0 - - libgcc >=14 - - libstdcxx >=14 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 3465308 - timestamp: 1769748410724 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libprotobuf-6.33.5-h306233d_1.conda - sha256: 6a2ccd92be6a7e0256c6eeb2e61328a72d40004f08923733274ca2129dc7f70d - md5: 97b7927d982dfc20f8f49ce5174d7466 + size: 452337 + timestamp: 1783084902636 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.2-hdb009f0_0.conda + sha256: ef1006578ef7e3f7c420e89d87846213ceb3fdcef2626af2558cbede53d36839 + md5: 20166e2297c1cac346b544d5f6197440 depends: - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 + - lerc >=4.1.0,<5.0a0 + - libdeflate >=1.25,<1.26.0a0 - libgcc >=14 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - liblzma >=5.8.3,<6.0a0 - libstdcxx >=14 + - libwebp-base >=1.6.0,<2.0a0 - libzlib >=1.3.2,<2.0a0 - license: BSD-3-Clause - license_family: BSD + - zstd >=1.5.7,<1.6.0a0 + license: HPND purls: [] - size: 3502676 - timestamp: 1780003320814 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.60.2-h8171147_0.conda - sha256: d02d3b23aa58d7767b820289b5b50653e73d70ae32f6ee5b88f63c5c5d96c2de - md5: 1d6f1aff501c8104f7292ab787d65f15 + size: 508982 + timestamp: 1783084925965 +- conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.2-h8f73337_0.conda + sha256: ec6d66308a6d6abaf3225f2f185113e6172e77eb0fa8622af982d7a5d6d47a2c + md5: e83f459471905a04ebe15e21d063c49d depends: - - cairo >=1.18.4,<2.0a0 - - gdk-pixbuf >=2.44.5,<3.0a0 - - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - constrains: - - __glibc >=2.17 - license: LGPL-2.1-or-later - size: 4016799 - timestamp: 1771406266442 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/librsvg-2.62.3-hf685517_0.conda - sha256: c95ac70755863d8522c1115b54afca86148ea25366b616aa84c993c2ca54b9ce - md5: 38209cc04b3e3e5624c534bc703e6939 - depends: - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.18.0,<3.0a0 - - fonts-conda-ecosystem - - gdk-pixbuf >=2.44.6,<3.0a0 - - harfbuzz >=14.2.0 - - libgcc >=14 - - libglib >=2.88.1,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - constrains: - - __glibc >=2.17 - license: LGPL-2.1-or-later - purls: [] - size: 3052373 - timestamp: 1780456154830 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-14.3.0-hedb4206_18.conda - sha256: 48641a458e3da681038af7ebdab143f9b6861ad9d1dcc2b4997ff2b744709423 - md5: 03feac8b6e64b72ae536fdb264e2618d - depends: - - libgcc >=14.3.0 - - libstdcxx >=14.3.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 7526147 - timestamp: 1771377792671 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_18.conda - sha256: 10c42c4e12972088cf0d5f57393f83e6727ad31bdb38ae46935641861f394698 - md5: 589c6fc3e744df871bbbf703f1e6ce98 - depends: - - libgcc >=15.2.0 - - libstdcxx >=15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 7164557 - timestamp: 1771378185265 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - sha256: 8115604f113fe2b7be95b2d22183a4dda5779c1cc6db4b826af800581498b4b3 - md5: 95210a1edbd7fc6e12afc9f8276f450a - depends: - - libgcc >=15.2.0 - - libstdcxx >=15.2.0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: - weak: - - libsanitizer 15.2.0 - size: 7067965 - timestamp: 1778268796086 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsndfile-1.2.2-h30591a0_2.conda - sha256: f0b6844c09cdec608ca504bd97c5d64a5596a25f66ad806381f9d63dfc89e432 - md5: 362bc94148039b77c6a42b1f7e7ef537 - depends: - - lame >=3.100,<3.101.0a0 - - libflac >=1.5.0,<1.6.0a0 - - libgcc >=14 - - libogg >=1.3.5,<1.4.0a0 - - libopus >=1.5.2,<2.0a0 - - libstdcxx >=14 - - libvorbis >=1.3.7,<1.4.0a0 - - mpg123 >=1.32.9,<1.33.0a0 - license: LGPL-2.1-or-later - license_family: LGPL - purls: [] - size: 406978 - timestamp: 1765181892661 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsodium-1.0.21-h80f16a2_3.conda - sha256: d6112f3a7e7ffcd726ce653724f979b528cb8a19675fc06016a5d360ef94e9a4 - md5: 9e1fe4202543fa5b6ab58dbf12d34ced - depends: - - libgcc >=14 - license: ISC - purls: [] - size: 272649 - timestamp: 1772479384085 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.52.0-h10b116e_0.conda - sha256: 1ddaf91b44fae83856276f4cb7ce544ffe41d4b55c1e346b504c6b45f19098d6 - md5: 77891484f18eca74b8ad83694da9815e - depends: - - icu >=78.2,<79.0a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - license: blessing - purls: [] - size: 952296 - timestamp: 1772818881550 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.2-h10b116e_0.conda - sha256: 8d78a9e60ab6d43aa80add48d66aadaa1f2a35833e646d0bb253036f4079ade9 - md5: aec62a5e5f0892cc4cf80f266f3818ee - depends: - - icu >=78.3,<79.0a0 - - libgcc >=14 + - lerc >=4.1.0,<5.0a0 + - libdeflate >=1.25,<1.26.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - liblzma >=5.8.3,<6.0a0 - libzlib >=1.3.2,<2.0a0 - license: blessing + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: HPND purls: [] - size: 962294 - timestamp: 1780574462426 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda - sha256: a835400072fb638fb582ee9fc2271169da84cbcad664d28b852610201116027e - md5: 2cd50877f494b34383af22560ced8b04 + size: 1014598 + timestamp: 1783085017197 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtorch-2.10.0-cuda130_mkl_h1db683f_305.conda + sha256: 043f54ec441362b29fb0c9fcb1edd1f301b636f1704c3b3d430f38efb9271058 + md5: 5fdd38fa1c8e04d4b416848ef424350a depends: - - icu >=78.3,<79.0a0 + - __glibc >=2.28,<3.0.a0 + - _openmp_mutex * *_llvm + - _openmp_mutex >=4.5 + - cuda-cudart >=13.0.96,<14.0a0 + - cuda-cupti >=13.0.85,<14.0a0 + - cuda-nvrtc >=13.0.88,<14.0a0 + - cuda-nvtx >=13.0.85,<14.0a0 + - cuda-version >=13.0,<14 + - fmt >=12.1.0,<12.2.0a0 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libblas * *mkl + - libcblas >=3.11.0,<4.0a0 + - libcublas >=13.1.1.3,<14.0a0 + - libcudnn >=9.22.0.52,<10.0a0 + - libcudss >=0.7.1.4,<0.7.2.0a0 + - libcufft >=12.0.0.61,<13.0a0 + - libcufile >=1.15.1.6,<2.0a0 + - libcurand >=10.4.0.35,<11.0a0 + - libcusolver >=12.0.4.66,<13.0a0 + - libcusparse >=12.6.3.3,<13.0a0 - libgcc >=14 + - libmagma >=2.10.0,<2.10.1.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + - libuv >=1.52.1,<2.0a0 - libzlib >=1.3.2,<2.0a0 - license: blessing - run_exports: - weak: - - libsqlite >=3.53.3,<4.0a0 - size: 968420 - timestamp: 1782519054102 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_18.conda - sha256: 31fdb9ffafad106a213192d8319b9f810e05abca9c5436b60e507afb35a6bc40 - md5: f56573d05e3b735cb03efeb64a15f388 - depends: - - libgcc 15.2.0 h8acb6b2_18 - constrains: - - libstdcxx-ng ==15.2.0=*_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 5541411 - timestamp: 1771378162499 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - sha256: 1dadc45e599f510dd5f97141dddcdbb9844d9f1430c1f3a38075cf1c58f87b4e - md5: 543fbc8d71f2a0baf04cf88ce96cb8bb - depends: - - libgcc 15.2.0 h8acb6b2_19 + - llvm-openmp >=22.1.6 + - mkl >=2026.0.0,<2027.0a0 + - nccl >=2.30.4.1,<3.0a0 + - pybind11-abi 11 + - sleef >=3.9.0,<4.0a0 constrains: - - libstdcxx-ng ==15.2.0=*_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - run_exports: {} - size: 5546559 - timestamp: 1778268777463 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_18.conda - sha256: 035a31cde134e706e30029a837a31f729ad32b7c5bca023271dfe91a8ba6c896 - md5: 699d294376fe18d80b7ce7876c3a875d - depends: - - libstdcxx 15.2.0 hef695bb_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 27645 - timestamp: 1771378204663 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-15.2.0-hdbbeba8_19.conda - sha256: 56b5ec297a988961486694f1c598889c3a697d77a0b42b8cea3faaa12e9bd360 - md5: c82ed61c3ec470c5ec624580e6ba16e4 - depends: - - libstdcxx 15.2.0 hef695bb_19 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 27803 - timestamp: 1778268813278 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.10-hf9559e3_4.conda - sha256: 95bb4c430e8ca666a4c67b7951f03fbee5a5258b1d29c2a26bf56c86fe32c010 - md5: 96e731e9cf876fb2d8882093c0f24630 - depends: - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - size: 517911 - timestamp: 1770738680829 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hf9559e3_0.conda - sha256: b38e9777b3231dfda62f2d127aac8091d990b5c45814a2b9d2e382f42f73a895 - md5: ffd5411606e65767354fe153371cc63a - depends: - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - purls: [] - size: 516600 - timestamp: 1773797150163 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - sha256: 7938befc6a09d9f829663ea134b01bea78dabe08d928e9a7caa68e2d726e03c5 - md5: d8981d39a52ab992a033a68927da47e0 - depends: - - libcap >=2.78,<2.79.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - purls: [] - run_exports: {} - size: 515284 - timestamp: 1780084773602 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda - sha256: 7ff79470db39e803e21b8185bc8f19c460666d5557b1378d1b1e857d929c6b39 - md5: 8c6fd84f9c87ac00636007c6131e457d - depends: - - lerc >=4.0.0,<5.0a0 - - libdeflate >=1.25,<1.26.0a0 - - libgcc >=14 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - - libstdcxx >=14 - - libwebp-base >=1.6.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - license: HPND + - pytorch-cpu <0.0a0 + - pytorch 2.10.0 cuda130_mkl_*_305 + - pytorch-gpu 2.10.0 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 488407 - timestamp: 1762022048105 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtorch-2.10.0-cuda130_generic_he6ac1af_203.conda - sha256: 9ca0feffff3f5c7b5ce0a2ab66ba8b15dd33c8b812e149cf98933964e51a4dfd - md5: f344404036b9bf7fe26e91e92f6c2b7c + size: 487039691 + timestamp: 1780253949709 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtorch-2.10.0-cuda130_generic_h3652b22_205.conda + sha256: 56aafb1e548e370ddf01789f82703ebfbb17ad942603533c5f23e2ae64f5b4db + md5: 84463962b46e3d40531dfa5123bc0a84 depends: - __glibc >=2.28,<3.0.a0 - _openmp_mutex * *_llvm @@ -12139,8 +11585,8 @@ packages: - libabseil >=20260107.1,<20260108.0a0 - libblas >=3.9.0,<4.0a0 - libcblas >=3.9.0,<4.0a0 - - libcublas >=13.1.0.3,<14.0a0 - - libcudnn >=9.19.0.56,<10.0a0 + - libcublas >=13.1.1.3,<14.0a0 + - libcudnn >=9.22.0.52,<10.0a0 - libcudss >=0.7.1.4,<0.7.2.0a0 - libcufft >=12.0.0.61,<13.0a0 - libcufile >=1.15.1.6,<2.0a0 @@ -12149,44 +11595,37 @@ packages: - libcusparse >=12.6.3.3,<13.0a0 - libgcc >=13 - liblapack >=3.9.0,<4.0a0 - - libmagma >=2.9.0,<2.9.1.0a0 + - libmagma >=2.10.0,<2.10.1.0a0 - libprotobuf >=6.33.5,<6.33.6.0a0 - libstdcxx >=13 - - libuv >=1.51.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - llvm-openmp >=22.1.0 - - nccl >=2.29.3.1,<3.0a0 + - libuv >=1.52.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - llvm-openmp >=22.1.6 + - nccl >=2.30.4.1,<3.0a0 - pybind11-abi 11 - sleef >=3.9.0,<4.0a0 constrains: - - openblas * openmp_* - - pytorch 2.10.0 cuda130_generic_*_203 + - pytorch-cpu <0.0a0 - pytorch-gpu 2.10.0 + - pytorch 2.10.0 cuda130_generic_*_205 - libopenblas * openmp_* - - pytorch-cpu <0.0a0 + - openblas * openmp_* license: BSD-3-Clause license_family: BSD - size: 468842829 - timestamp: 1772296520985 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.10-hf9559e3_4.conda - sha256: 18098716de78ab49566c862a5bf1f89e0e064a4fc0f31ad08b60b7774cfdb60e - md5: a9bcd3f70036640538e8187e4c594cbf - depends: - - libcap >=2.77,<2.78.0a0 - - libgcc >=14 - license: LGPL-2.1-or-later - size: 157130 - timestamp: 1770738690431 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hf9559e3_0.conda - sha256: 4946526f7723cb0f5a4dc830381ea48f455f9aebd456655cac99df70cd0d9567 - md5: b3a73b94483260f38dcbb489ee20c6d9 + purls: [] + size: 468884502 + timestamp: 1780253956678 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda + sha256: 287d05680e49eea51b8145fbf34bc213c0618b04f32e450e9da5d715e5134e38 + md5: 89e5671a076d99516a6acd72a35b1640 depends: - - libcap >=2.77,<2.78.0a0 + - __glibc >=2.17,<3.0.a0 + - libcap >=2.78,<2.79.0a0 - libgcc >=14 license: LGPL-2.1-or-later purls: [] - size: 156357 - timestamp: 1773797159424 + size: 145969 + timestamp: 1780084753104 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda sha256: 1963dbd5a5c08390db2321dd2fa5c9df45c0fe68701fce4f9c36141155b4de13 md5: 67728797901490baae52b3ce8d738d34 @@ -12195,9 +11634,20 @@ packages: - libgcc >=14 license: LGPL-2.1-or-later purls: [] - run_exports: {} size: 156922 timestamp: 1780084778404 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libunwind-1.8.3-h65a8314_0.conda + sha256: 71c8b9d5c72473752a0bb6e91b01dd209a03916cb71f36cc6a564e3a2a132d7a + md5: e179a69edd30d75c0144d7a380b88f28 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + purls: [] + size: 75995 + timestamp: 1757032240102 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libunwind-1.8.3-h6470e1d_0.conda sha256: 86c013d522975b76e16a74341bfcb22f6ec2e9b8b87ec3e15380f46c435eaa7b md5: 5d8191a950e492a06dc29b491dd5f7c5 @@ -12209,6 +11659,18 @@ packages: purls: [] size: 94555 timestamp: 1757032278900 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liburing-2.14-hb700be7_0.conda + sha256: 3d17b7aa90610afc65356e9e6149aeac0b2df19deda73a51f0a09cf04fd89286 + md5: 56f65185b520e016d29d01657ac02c0d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: MIT + license_family: MIT + purls: [] + size: 154203 + timestamp: 1770566529700 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liburing-2.14-hfefdfc9_0.conda sha256: 7584dc478a34e50c5dc0e0ceac4cb9819ff352bc3a5d0cbb001b974dab9a0967 md5: 9d32167817a5a85724e8524436559229 @@ -12220,6 +11682,17 @@ packages: purls: [] size: 155011 timestamp: 1770567701524 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libusb-1.0.29-h73b1eb8_0.conda + sha256: 89c84f5b26028a9d0f5c4014330703e7dff73ba0c98f90103e9cef6b43a5323c + md5: d17e3fb595a9f24fa9e149239a33475d + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libudev1 >=257.4 + license: LGPL-2.1-or-later + purls: [] + size: 89551 + timestamp: 1748856210075 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libusb-1.0.29-h06eaf92_0.conda sha256: a60aae6b529cd7caa7842f9781ef95b93014e618f71fb005e404af434d76a33f md5: 9a86e7473e16fe25c5c47f6c1376ac82 @@ -12230,35 +11703,31 @@ packages: purls: [] size: 93129 timestamp: 1748856228398 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.41.3-h1022ec0_0.conda - sha256: c37a8e89b700646f3252608f8368e7eb8e2a44886b92776e57ad7601fc402a11 - md5: cf2861212053d05f27ec49c3784ff8bb - depends: - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD - size: 43453 - timestamp: 1766271546875 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42-h1022ec0_0.conda - sha256: 7d427edf58c702c337bf62bc90f355b7fc374a65fd9f70ea7a490f13bb76b1b9 - md5: a0b5de740d01c390bdbb46d7503c9fab +- conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda + sha256: 9837f8e8de20b6c9c033561cd33b4554cd551b217e3b8d2862b353ed2c23d8b8 + md5: a656b2c367405cd24988cf67ff2675aa depends: - - libgcc >=14 - license: BSD-3-Clause - license_family: BSD + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + - ucrt >=10.0.20348.0 + license: LGPL-2.1-or-later purls: [] - size: 43567 - timestamp: 1775052485727 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.1-h1022ec0_0.conda - sha256: 1628839b062e98b2192857d4da8496ac9ac6b0dbb77aa040c34efc9192c440ee - md5: 0f42f9fedd2a32d798de95a7f65c456f + size: 118204 + timestamp: 1748856290542 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda + sha256: 9b1bdce27a7e31f7d241aeecff67a1f3101d52a2b1e33ccc2cdf2613072bf81f + md5: 01bb81d12c957de066ea7362007df642 depends: - libgcc >=14 + - __glibc >=2.17,<3.0.a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 43453 - timestamp: 1779118526838 + size: 40017 + timestamp: 1781625522462 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda sha256: 7663489f97c104ae3814db10f384932c74b439f3c1fd4247e4fe3599830c090a md5: 58fa42bc4bc71fc329889497ec15effb @@ -12267,23 +11736,68 @@ packages: license: BSD-3-Clause license_family: BSD purls: [] - run_exports: - weak: - - libuuid >=2.42.2,<3.0a0 size: 43248 timestamp: 1781625528371 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuv-1.51.0-he30d5cf_1.conda - sha256: 7a0fb5638582efc887a18b7d270b0c4a6f6e681bf401cab25ebafa2482569e90 - md5: 8e62bf5af966325ee416f19c6f14ffa3 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.52.1-h280c20c_0.conda + sha256: e28e4519223f78b3163599ca89c3f2d80bfb53e907e7fc74e806e60d1efa578b + md5: 4e33d49bf4fc853855a3b00643aa5484 depends: - libgcc >=14 + - __glibc >=2.17,<3.0.a0 license: MIT license_family: MIT - size: 629238 - timestamp: 1753948296190 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvorbis-1.3.7-h7ac5ae9_2.conda - sha256: 066708ca7179a1c6e5639d015de7ed6e432b93ad50525843db67d57eb1ba1faf - md5: 9d099329070afe52d797462ca7bf35f3 + purls: [] + size: 419935 + timestamp: 1779396012261 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuv-1.52.1-h80f16a2_0.conda + sha256: 3e2ead35f47d01364031f323f1be984018c8f19a3a264f952ddcd043685a1c86 + md5: ac7bcbd2c77691cd6d1ede8c029e8c8a + depends: + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 456627 + timestamp: 1779396031450 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libva-2.24.1-he1eb515_0.conda + sha256: 16a76abbb4fd1de4516ac4a3d06cbf1f561bc8049ca72b04dcac395eee74d017 + md5: eb1b7f8bfdea40eef150c4a1d37df09e + depends: + - __glibc >=2.17,<3.0.a0 + - libdrm >=2.4.127,<2.5.0a0 + - libegl >=1.7.0,<2.0a0 + - libgcc >=14 + - libgl >=1.7.0,<2.0a0 + - libglx >=1.7.0,<2.0a0 + - libxcb >=1.17.0,<2.0a0 + - wayland >=1.25.0,<2.0a0 + - wayland-protocols + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + license: MIT + license_family: MIT + purls: [] + size: 222717 + timestamp: 1783519315031 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h54a6638_2.conda + sha256: ca494c99c7e5ecc1b4cd2f72b5584cef3d4ce631d23511184411abcbb90a21a5 + md5: b4ecbefe517ed0157c37f8182768271c + depends: + - libogg + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - libogg >=1.3.5,<1.4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 285894 + timestamp: 1753879378005 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvorbis-1.3.7-h7ac5ae9_2.conda + sha256: 066708ca7179a1c6e5639d015de7ed6e432b93ad50525843db67d57eb1ba1faf + md5: 9d099329070afe52d797462ca7bf35f3 depends: - libogg - libstdcxx >=14 @@ -12294,6 +11808,49 @@ packages: purls: [] size: 289391 timestamp: 1753879417231 +- conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda + sha256: 429124709c73b2e8fae5570bdc6b42f5418a7551ba72e591bb960b752e87b365 + md5: 42a8a56c60882da5d451aa95b8455111 + depends: + - libogg + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libogg >=1.3.5,<1.4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 243401 + timestamp: 1753879416570 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvpl-2.16.0-h54a6638_0.conda + sha256: 38850657dd6835613ef16b34895a54bea98bc7639db6a649c886b331635714fc + md5: 9f6b0090c3902b2c763a16f7dace7b6e + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - intel-media-driver >=26.1.2,<26.2.0a0 + - libva >=2.23.0,<3.0a0 + license: MIT + license_family: MIT + purls: [] + size: 287992 + timestamp: 1772980546550 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvpx-1.15.2-hecca717_0.conda + sha256: 8e1119977f235b488ab32d540c018d3fd1eccefc3dd3859921a0ff555d8c10d2 + md5: 10f5008f1c89a40b09711b5a9cdbd229 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 1070048 + timestamp: 1762010217363 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvpx-1.15.2-hfae3067_0.conda sha256: 4b60838eee9bda276f4b75906745d8f98f74c4b40d741050e07b2a96fcaf753f md5: dd61430bfc5499c75422afdd0fe0a1bb @@ -12305,6 +11862,22 @@ packages: purls: [] size: 1296382 timestamp: 1762012332100 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libvulkan-loader-1.4.341.0-h5279c79_0.conda + sha256: a68280d57dfd29e3d53400409a39d67c4b9515097eba733aa6fe00c880620e2b + md5: 31ad065eda3c2d88f8215b1289df9c89 + depends: + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxrandr >=1.5.5,<2.0a0 + constrains: + - libvulkan-headers 1.4.341.0.* + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 199795 + timestamp: 1770077125520 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libvulkan-loader-1.4.341.0-h8b8848b_0.conda sha256: 92a92589f4f787201bc5091990001f61515fa794fa4f0fb15f0ca50f3cc330cc md5: 06bb91a87fb97ea09398d2e121e00c39 @@ -12320,6 +11893,33 @@ packages: purls: [] size: 217655 timestamp: 1770077141862 +- conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda + sha256: 0f0965edca8b255187604fc7712c53fe9064b31a1845a7dfb2b63bf660de84a7 + md5: 804880b2674119b84277d6c16b01677d + depends: + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + constrains: + - libvulkan-headers 1.4.341.0.* + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 282251 + timestamp: 1770077165680 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda + sha256: 3aed21ab28eddffdaf7f804f49be7a7d701e8f0e46c856d801270b470820a37b + md5: aea31d2e5b1091feca96fcfe945c3cf9 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + constrains: + - libwebp 1.6.0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 429011 + timestamp: 1752159441324 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda sha256: b03700a1f741554e8e5712f9b06dd67e76f5301292958cd3cb1ac8c6fdd9ed25 md5: 24e92d0942c799db387f5c9d7b81f1af @@ -12332,6 +11932,46 @@ packages: purls: [] size: 359496 timestamp: 1752160685488 +- conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda + sha256: 7b6316abfea1007e100922760e9b8c820d6fc19df3f42fb5aca684cfacb31843 + md5: f9bbae5e2537e3b06e0f7310ba76c893 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libwebp 1.6.0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 279176 + timestamp: 1752159543911 +- conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda + sha256: 0fccf2d17026255b6e10ace1f191d0a2a18f2d65088fd02430be17c701f8ffe0 + md5: 8a86073cf3b343b87d03f41790d8b4e5 + depends: + - ucrt + constrains: + - pthreads-win32 <0.0a0 + - msys2-conda-epoch <0.0a0 + license: MIT AND BSD-3-Clause-Clear + purls: [] + size: 36621 + timestamp: 1759768399557 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda + sha256: 666c0c431b23c6cec6e492840b176dde533d48b7e6fb8883f5071223433776aa + md5: 92ed62436b625154323d40d5f2f11dd7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - pthread-stubs + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxdmcp + license: MIT + license_family: MIT + purls: [] + size: 395888 + timestamp: 1727278577118 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda sha256: 461cab3d5650ac6db73a367de5c8eca50363966e862dcf60181d693236b1ae7b md5: cd14ee5cca2464a425b1dbfc24d90db2 @@ -12345,6 +11985,15 @@ packages: purls: [] size: 397493 timestamp: 1727280745441 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c + md5: 5aa797f8787fe7a17d1b0821485b5adc + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + purls: [] + size: 100393 + timestamp: 1702724383534 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda sha256: 6b46c397644091b8a26a3048636d10b989b1bf266d4be5e9474bf763f828f41f md5: b4df5d7d4b63579d081fd3a4cf99740e @@ -12354,10 +12003,11 @@ packages: purls: [] size: 114269 timestamp: 1702724369203 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.1-h3c6a4c8_0.conda - sha256: 37e4aa45b71c35095a01835bd42fa37c08218fec44eb2c6bf4b9e2826b0351d4 - md5: 22c1ce28d481e490f3635c1b6a2bb23f +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.13.2-hca5e8e5_0.conda + sha256: 046f2ff4acebd8729fac03e99c8c307dfb48b6a32894ba8c11576e78f6e76e43 + md5: dc8b067e22b414172bedd8e3f03f3c95 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - libstdcxx >=14 - libxcb >=1.17.0,<2.0a0 @@ -12367,8 +12017,9 @@ packages: - xorg-libxau >=1.0.12,<2.0a0 license: MIT/X11 Derivative license_family: MIT - size: 863646 - timestamp: 1764794352540 + purls: [] + size: 851166 + timestamp: 1780213397575 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxkbcommon-1.13.2-h3c6a4c8_0.conda sha256: 8f44670a714a12589bc82ea179e46ba4a19c4458d5cee765ddd4d5224eccd912 md5: d6fc9ac66ea61eb662747959d0a68c57 @@ -12385,77 +12036,153 @@ packages: purls: [] size: 875994 timestamp: 1780213408784 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.2-h79dcc73_0.conda - sha256: da6b2ebbcecc158200d90be39514e4e902971628029b35b7f6ad57270659c5d9 - md5: e3ec9079759d35b875097d6a9a69e744 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.3-h49c6c72_0.conda + sha256: 3bc5551720c58591f6ea1146f7d1539c734ed1c40e7b9f5cb8cb7e900c509aba + md5: 995d8c8bad2a3cc8db14675a153dec2b depends: - - icu >=78.2,<79.0a0 + - __glibc >=2.17,<3.0.a0 + - icu >=78.3,<79.0a0 - libgcc >=14 - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - constrains: - - libxml2 2.15.2 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.3 hca6bf5a_0 + - libzlib >=1.3.2,<2.0a0 license: MIT license_family: MIT - size: 598438 - timestamp: 1772704671710 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda - sha256: ad048a9ca1bf2cdfedb2b0c231050da416c44ee1436a3d1a83b51d2e2deaa842 - md5: 68866231cfe8789e780347f2482df96d + purls: [] + size: 46810 + timestamp: 1776376751152 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda + sha256: e3af6af9df73bd3c7a8e4e6c8cc38df3699e7f588b0705c257a8601e40acfbdf + md5: 2cffef27cb2eb9ed1e315a1e269d4335 depends: - icu >=78.3,<79.0a0 - libgcc >=14 - libiconv >=1.18,<2.0a0 - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.3 h79dcc73_0 - libzlib >=1.3.2,<2.0a0 - constrains: - - libxml2 2.15.3 license: MIT license_family: MIT purls: [] - size: 601948 - timestamp: 1776376758674 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.2-h825857f_0.conda - sha256: 3e51e1952cb60c8107094b6b78473d91ff49d428ad4bef6806124b383e8fe29c - md5: 19de96909ee1198e2853acd8aba89f6c + size: 48101 + timestamp: 1776376766341 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda + sha256: a4599c6bbbbdd7db570896e520c557eec8e66d94e839a59d17dc1f24a3d5f82b + md5: 95591ca5671d2213f5b2d5aa7818420d depends: - - icu >=78.2,<79.0a0 - - libgcc >=14 + - icu >=78.3,<79.0a0 - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libxml2-16 2.15.2 h79dcc73_0 - - libzlib >=1.3.1,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.3 h3cfd58e_0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: MIT license_family: MIT - size: 47837 - timestamp: 1772704681112 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-2.15.3-h869d058_0.conda - sha256: e3af6af9df73bd3c7a8e4e6c8cc38df3699e7f588b0705c257a8601e40acfbdf - md5: 2cffef27cb2eb9ed1e315a1e269d4335 + purls: [] + size: 43684 + timestamp: 1776376992865 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-hbc0d294_0.conda + sha256: da68af9d9d28d65a6916db1bef68f8a25c64c4fdcf759f32a2d2f2f143220adf + md5: e3b5acbb857a12f5d59e8d174bc536c0 + depends: + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libxml2-16 2.15.3 h692994f_0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - icu <0.0a0 + license: MIT + license_family: MIT + purls: [] + size: 43916 + timestamp: 1776376994334 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.3-hca6bf5a_0.conda + sha256: 3d44f737c5ae52d5af32682cc1530df433f401f8e58a7533926536244127572a + md5: e79d2c2f24b027aa8d5ab1b1ba3061e7 depends: + - __glibc >=2.17,<3.0.a0 - icu >=78.3,<79.0a0 - libgcc >=14 - libiconv >=1.18,<2.0a0 - liblzma >=5.8.3,<6.0a0 - - libxml2-16 2.15.3 h79dcc73_0 - libzlib >=1.3.2,<2.0a0 + constrains: + - libxml2 2.15.3 license: MIT license_family: MIT purls: [] - size: 48101 - timestamp: 1776376766341 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.1-h86ecc28_2.conda - sha256: 5a2c1eeef69342e88a98d1d95bff1603727ab1ff4ee0e421522acd8813439b84 - md5: 08aad7cbe9f5a6b460d0976076b6ae64 + size: 559775 + timestamp: 1776376739004 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxml2-16-2.15.3-h79dcc73_0.conda + sha256: ad048a9ca1bf2cdfedb2b0c231050da416c44ee1436a3d1a83b51d2e2deaa842 + md5: 68866231cfe8789e780347f2482df96d depends: - - libgcc >=13 - constrains: - - zlib 1.3.1 *_2 - license: Zlib + - icu >=78.3,<79.0a0 + - libgcc >=14 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + constrains: + - libxml2 2.15.3 + license: MIT + license_family: MIT + purls: [] + size: 601948 + timestamp: 1776376758674 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda + sha256: 3b61ee3caba702d2ff432fa3920835db963026e5c99c4e6fdca0c6114f59e7ce + md5: 9e8dd0d90ed830107b2c36801035b7db + depends: + - icu >=78.3,<79.0a0 + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libxml2 2.15.3 + license: MIT + license_family: MIT + purls: [] + size: 519871 + timestamp: 1776376969852 +- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h692994f_0.conda + sha256: 8038084c60eda2006d0122d05e3364fe8db0a18935ca6ed0168b5ba5aa33f904 + md5: f7d6fcda29570e20851b78d92ea2154e + depends: + - libiconv >=1.18,<2.0a0 + - liblzma >=5.8.3,<6.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libxml2 2.15.3 + - icu <0.0a0 + license: MIT + license_family: MIT + purls: [] + size: 518869 + timestamp: 1776376971242 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + sha256: 55044c403570f0dc26e6364de4dc5368e5f3fc7ff103e867c487e2b5ab2bcda9 + md5: d87ff7921124eccd67248aa483c23fec + depends: + - __glibc >=2.17,<3.0.a0 + constrains: + - zlib 1.3.2 *_2 + license: Zlib license_family: Other - size: 66657 - timestamp: 1727963199518 + purls: [] + size: 63629 + timestamp: 1774072609062 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda sha256: eb111e32e5a7313a5bf799c7fb2419051fa2fe7eff74769fac8d5a448b309f7f md5: 502006882cf5461adced436e410046d1 @@ -12464,21 +12191,109 @@ packages: license: Zlib license_family: Other purls: [] - run_exports: - weak: - - libzlib >=1.3.2,<2.0a0 size: 69833 timestamp: 1774072605429 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/llvm-openmp-22.1.0-he40846f_0.conda - sha256: 08e50e981736118b6cc379096395bd725eeac1cb3852bcdfa1d2980acba39c29 - md5: 757e953866f430da9de3fcebf44d1474 +- conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + sha256: 88609816e0cc7452bac637aaf65783e5edf4fee8a9f8e22bdc3a75882c536061 + md5: dbabbd6234dea34040e631f87676292f + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - zlib 1.3.2 *_2 + license: Zlib + license_family: Other + purls: [] + size: 58347 + timestamp: 1774072851498 +- conda: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-22.1.8-h4922eb0_0.conda + sha256: a37aba21b85800af1e7c5b04ba76abab96b6e591eedf99dc6e4df83b0fefd7a5 + md5: 7bbfdc5a6eca997d3b0873a575c3e155 + depends: + - __glibc >=2.17,<3.0.a0 + constrains: + - intel-openmp <0.0a0 + - openmp 22.1.8|22.1.8.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + purls: [] + size: 6123597 + timestamp: 1781736521736 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/llvm-openmp-22.1.8-he40846f_0.conda + sha256: 30bbb0ce4ae7cebbeb9801af5bbd2a29f8627237a38d08fc5d8d800e79c817aa + md5: 2107bb80c5587c116702ce215daddd73 + constrains: + - openmp 22.1.8|22.1.8.* + - intel-openmp <0.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + purls: [] + size: 5888931 + timestamp: 1781736538044 +- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda + sha256: 50c02902bb516eeb56680358f052be38b5bf74b40e78ea4b2a675e84957e7307 + md5: de3551bf6508d45ca46b714639e52823 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 constrains: + - openmp 22.1.8|22.1.8.* - intel-openmp <0.0a0 - - openmp 22.1.0|22.1.0.* license: Apache-2.0 WITH LLVM-exception license_family: APACHE - size: 5902242 - timestamp: 1772024546951 + purls: [] + size: 348002 + timestamp: 1781737042070 +- pypi: https://files.pythonhosted.org/packages/c9/2d/6a5171fb7236ac0895e1a02ccba3735bf291e8597239aa6421894d3c0ba8/llvmlite-0.48.0-cp314-cp314-win_amd64.whl + name: llvmlite + version: 0.48.0 + sha256: 966dcab0a598e2bd8fb5f2cc082cf7b07bae564fc485a3a8692393caf986facf + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/d6/e1/05b50692b647cac3c18200ac485b04f342f00ed173c9cc46767274469a15/llvmlite-0.48.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: llvmlite + version: 0.48.0 + sha256: 05f0103c8f2f96a37441337e3643863c01b8e83e530aff38960dcb383c54a065 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/f7/c3/470b8c4ff9ae2db2f9cf5c3e73de76ed908a32788ae9eb5602d43e6a476b/llvmlite-0.48.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl + name: llvmlite + version: 0.48.0 + sha256: 37d66fae72802175b0bfe1ea06e624b51e2d7aee6c3c34bbd09739b8f88e8e0b + requires_python: '>=3.10' +- conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda + build_number: 0 + sha256: 51e9214548f177db9c3fe70424e3774c95bf19cd69e0e56e83abe2e393228ba1 + md5: 7d60fb16df2cd07fbc3dbff1c9df4244 + constrains: + - msys2-conda-epoch <0.0a0 + license: BSD-3-Clause + license_family: BSD + size: 7539 + timestamp: 1747330852019 +- conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + sha256: fb0ffe6b3c25189038c29abbd1fac2522d87fe2775a09e5f5088e5542dc3309b + md5: 9676d2a30fa3ffa4e5350041d0993758 + depends: + - m2-conda-epoch + - mingw-w64-ucrt-x86_64-crt-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 + - mingw-w64-ucrt-x86_64-headers-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 + - mingw-w64-ucrt-x86_64-windows-default-manifest + - mingw-w64-ucrt-x86_64-winpthreads-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 + - ucrt + size: 8421 + timestamp: 1759768559974 +- conda: https://conda.anaconda.org/conda-forge/linux-64/make-4.4.1-hb9d3cd8_2.conda + sha256: d652c7bd4d3b6f82b0f6d063b0d8df6f54cc47531092d7ff008e780f3261bdda + md5: 33405d2a66b1411db9f7242c8b97c9e7 + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: GPL-3.0-or-later + license_family: GPL + purls: [] + size: 513088 + timestamp: 1727801714848 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/make-4.4.1-h2a6d0cb_2.conda sha256: d243aea768e6fa360b7eda598340f43d2a41c9fc169d9f97f505410be68815f8 md5: 5983ffb12d09efc45c4a3b74cd890137 @@ -12489,10 +12304,23 @@ packages: purls: [] size: 528318 timestamp: 1727801707353 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.3-py314hb76de3f_1.conda - sha256: 383c188496d13a55658c06e61e7d4cdff2c9f9d5a0648769fca8250bece7e0ef - md5: e5de3c36dd548b35ff2a8aa49208dcb3 +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda + sha256: 0c4c35376fe920714390d46e4b8d31c876d65f18e1655899e0763ec25f2a902f + md5: 6d03368f2b2b0a5fb6839df53b2eb5e0 + depends: + - mdurl >=0.1,<1 + - python >=3.10 + license: MIT + license_family: MIT + purls: + - pkg:pypi/markdown-it-py?source=hash-mapping + size: 69017 + timestamp: 1778169663339 +- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda + sha256: c279be85b59a62d5c52f5dd9a4cd43ebd08933809a8416c22c3131595607d4cf + md5: 9a17c4307d23318476d7fbf0fedc0cde depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - python >=3.14,<3.15.0a0 - python_abi 3.14.* *_cp314 @@ -12502,8181 +12330,4531 @@ packages: license_family: BSD purls: - pkg:pypi/markupsafe?source=hash-mapping - size: 27913 - timestamp: 1772446407659 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ml_dtypes-0.5.4-np2py314h175d3ba_1.conda - sha256: ede0c956654caf013153069a7ee1e9ce604326714882e6fc1a91be19c5819d84 - md5: bf8467d8b9b5f67baac7d302fd120501 - depends: - - python - - libgcc >=14 - - libstdcxx >=14 - - python 3.14.* *_cp314 - - numpy >=1.23,<3 - - python_abi 3.14.* *_cp314 - license: MPL-2.0 AND Apache-2.0 - size: 306998 - timestamp: 1771362449472 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpc-1.3.1-h783934e_1.conda - sha256: b5b674f496ed28c0b2d08533c6f11eaf1840bf7d9c830655f51514f2f9d9a9c8 - md5: d3758cd24507dc1bda3483ce051d48ac - depends: - - gmp >=6.3.0,<7.0a0 - - libgcc >=13 - - mpfr >=4.2.1,<5.0a0 - license: LGPL-3.0-or-later - license_family: LGPL - size: 132799 - timestamp: 1725629168783 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpfr-4.2.1-h2305555_3.conda - sha256: abb35c37de2ec6c9ee89995142b1cfea9e6547202ba5578e5307834eca6d436f - md5: 65b21e8d5f0ec6a2f7e87630caed3318 - depends: - - gmp >=6.3.0,<7.0a0 - - libgcc >=13 - license: LGPL-3.0-only - license_family: LGPL - size: 1841314 - timestamp: 1725746723157 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda - sha256: d65d5a00278544639ba4f99887154be00a1f57afb0b34d80b08e5cba40a17072 - md5: cdf140c7690ab0132106d3bc48bce47d - depends: - - libgcc >=13 - - libstdcxx >=13 - license: LGPL-2.1-only - license_family: LGPL - purls: [] - size: 558708 - timestamp: 1730581372400 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/msgpack-python-1.1.2-py314hd7d8586_1.conda - sha256: 124a778a7065d75d9d36d80563e75d3a13455b160a761cd38a5ce8f50f87705c - md5: e93c66201de71acb9e99d94f84f897b1 + size: 27424 + timestamp: 1772445227915 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.3-py314hb76de3f_1.conda + sha256: 383c188496d13a55658c06e61e7d4cdff2c9f9d5a0648769fca8250bece7e0ef + md5: e5de3c36dd548b35ff2a8aa49208dcb3 depends: - libgcc >=14 - - libstdcxx >=14 - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: Apache - purls: - - pkg:pypi/msgpack?source=hash-mapping - size: 100176 - timestamp: 1762504193305 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/nccl-2.29.3.1-h7d52dd6_0.conda - sha256: 46facf5f8442e407d4953ad993a5e16c4929d3a8f1d25eb5b433f3777761b2cf - md5: 2c5a62a7e72792a3af760f7016c3871c - depends: - - __glibc >=2.28,<3.0.a0 - - arm-variant * sbsa - - cuda-version >=13,<14.0a0 - - libgcc >=14 - - libstdcxx >=14 + constrains: + - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD - size: 271172034 - timestamp: 1770779652233 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda - sha256: 91cfb655a68b0353b2833521dc919188db3d8a7f4c64bea2c6a7557b24747468 - md5: 182afabe009dc78d8b73100255ee6868 - depends: - - libgcc >=13 - license: X11 AND BSD-3-Clause - purls: [] - size: 926034 - timestamp: 1738196018799 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda - sha256: 369db85c5cd8d99dde364ce70725d76511d9c8199e5b820c740414091bf5bcca - md5: b2a43456aa56fe80c2477a5094899eff - depends: - - libgcc >=14 - license: X11 AND BSD-3-Clause - purls: [] - run_exports: - weak: - - ncurses >=6.6,<7.0a0 - size: 960036 - timestamp: 1777422174534 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.2-py314haac167e_1.conda - sha256: 1e1366e700156cbddc4daae0fec34a72b74105ba45f9c144f777120552924747 - md5: 98ef547c85356475adb2197965c716b6 + purls: + - pkg:pypi/markupsafe?source=hash-mapping + size: 27913 + timestamp: 1772446407659 +- conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py314h2359020_1.conda + sha256: 02805a0f3cd168dbf13afc5e4aed75cc00fe538ce143527a6471485b36f5887c + md5: 8de7b40f8b30a8fcaa423c2537fe4199 depends: - - python - - python 3.14.* *_cp314 - - libstdcxx >=14 - - libgcc >=14 - - libcblas >=3.9.0,<4.0a0 + - python >=3.14,<3.15.0a0 - python_abi 3.14.* *_cp314 - - libblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 constrains: - - numpy-base <0a0 + - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD - size: 8006259 - timestamp: 1770098510476 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.3-py314haac167e_0.conda - sha256: a6d42fd88afc57c3b0a57b21a12eff7492dfc419bb61ee3f74e9ba6261dabc88 - md5: 25d896c331481145720a21e5145fad65 + purls: + - pkg:pypi/markupsafe?source=hash-mapping + size: 30022 + timestamp: 1772445159549 +- conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.2-pyhd8ed1ab_0.conda + sha256: 35b43d7343f74452307fd018a1cca92b8f68961ff8e2ab6a81ce0a703c9a3764 + md5: 9acc1c385be401d533ff70ef5b50dae6 depends: - - python - - libgcc >=14 - - python 3.14.* *_cp314 - - libstdcxx >=14 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - python_abi 3.14.* *_cp314 - - libblas >=3.9.0,<4.0a0 - constrains: - - numpy-base <0a0 + - python >=3.10 + - traitlets license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/numpy?source=hash-mapping - size: 8008045 - timestamp: 1773839355275 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.6-py312hce9e0af_0.conda - sha256: 4facc6fe76540d7e6e77b802602f7b1b3aa574a5fa6f406e0d21960858f1f539 - md5: 84ad95777b2f6bc736a6e08e5f02c04e + - pkg:pypi/matplotlib-inline?source=hash-mapping + size: 15725 + timestamp: 1778264403247 +- conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.6.1-pyhd8ed1ab_0.conda + sha256: 49db23cbfb1c1d414a14d7540195208b994ebd747beba0f15c903f3a0a2dc446 + md5: ad6821df7a98510117db06e9a833281f depends: - - python - - libstdcxx >=14 - - libgcc >=14 - - python_abi 3.12.* *_cp312 - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - constrains: - - numpy-base <0a0 - license: BSD-3-Clause - license_family: BSD + - markdown-it-py >=2.0.0,<5.0.0 + - python >=3.10 + license: MIT + license_family: MIT purls: - - pkg:pypi/numpy?source=hash-mapping - size: 7839794 - timestamp: 1779169203525 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.6-py314h314fbd6_0.conda - sha256: 80bbd96ce7c023edbac9b4b2ae0f2d5b3f4da54801c53be91de1071c17dfde69 - md5: 7701250801c35f6a782287df118a486f + - pkg:pypi/mdit-py-plugins?source=hash-mapping + size: 50460 + timestamp: 1778692223625 +- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda + sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 + md5: 592132998493b3ff25fd7479396e8351 depends: - - python + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/mdurl?source=hash-mapping + size: 14465 + timestamp: 1733255681319 +- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + sha256: de3e42149b498c16bfb485b7729f4ca0fe392be576a2a10ff702d661799b1df3 + md5: 44ffa6d68699ec9321f6d48d75bdc726 + depends: + - m2-conda-epoch + - mingw-w64-ucrt-x86_64-headers-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 + constrains: + - mingw-w64-ucrt-x86_64-winpthreads-git 12.0.0.r4.gg4f2fc60ca.* + license: ZPL-2.1 + size: 5663635 + timestamp: 1759768458961 +- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + sha256: 1add86481f35163215e7076e6f06f22aa9f1f9345a5fff5cb07bc846c13fbec7 + md5: cab7b807024204893ef5bb1860d91408 + depends: + - m2-conda-epoch + constrains: + - mingw-w64-ucrt-x86_64-crt-git 12.0.0.r4.gg4f2fc60ca.* + - mingw-w64-ucrt-x86_64-winpthreads-git 12.0.0.r4.gg4f2fc60ca.* + license: ZPL-2.1 AND LGPL-2.1-or-later + size: 7089846 + timestamp: 1759768412123 +- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda + sha256: 5b0df4e0ba8487ffd59f60c34c5dbb9e001ecd2c5d2c66ba88eada40bfa3ecb8 + md5: 1d6b5c96d7e3cce773519d7d1a4482f0 + depends: + - __win + constrains: + - m2w64-sysroot_win-64 >=12.0.0.r0 + license: FSFAP + size: 7412 + timestamp: 1717486007140 +- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda + sha256: 828abb111286940473c4c665fc8ab300d28920f5af83b32295e8bf2256a8f342 + md5: ba0eeff6a5c62b83c771bb392e22dbb4 + depends: + - m2-conda-epoch + - mingw-w64-ucrt-x86_64-headers-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 + constrains: + - mingw-w64-ucrt-x86_64-crt-git 12.0.0.r4.gg4f2fc60ca.* + license: MIT AND BSD-3-Clause-Clear + size: 123916 + timestamp: 1759768539535 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mkl-2026.1.0-hecca717_243.conda + sha256: c68967a13488684d87fb7ac77b73c6f3f825f2da403707a14e75374c0ce3629f + md5: cef284d6d9fe0caf11638f5f0e4f9a64 + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex * *_llvm + - _openmp_mutex >=4.5 - libgcc >=14 - libstdcxx >=14 - - python_abi 3.14.* *_cp314t - - libblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - constrains: - - numpy-base <0a0 - license: BSD-3-Clause - license_family: BSD + - llvm-openmp >=22.1.8 + - onemkl-license 2026.1.0 ha770c72_243 + - tbb >=2023.0.0 + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary purls: [] - size: 8084931 - timestamp: 1779169208044 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h0564a2a_0.conda - sha256: 3b7a519e3b7d7721a0536f6cba7f1909b878c71962ee67f02242958314748341 - md5: 0abed5d78c07a64e85c54f705ba14d30 + size: 143101973 + timestamp: 1783700248990 +- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.1.0-hac47afa_233.conda + sha256: ff355522fb0b6e33841167d9ca749147c8734d8be07b63b2ce25b0db043f42ed + md5: 5afbf28c4ca3e05b5469dbbd78c8e704 depends: - - libgcc >=13 - - libstdcxx >=13 - license: BSD-2-Clause - license_family: BSD + - llvm-openmp >=22.1.8 + - onemkl-license 2026.1.0 h57928b3_233 + - tbb >=2023.0.0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary purls: [] - size: 774512 - timestamp: 1739400731652 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.1-h546c87b_1.conda - sha256: 7f8048c0e75b2620254218d72b4ae7f14136f1981c5eb555ef61645a9344505f - md5: 25f5885f11e8b1f075bccf4a2da91c60 + size: 114592547 + timestamp: 1783700769546 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.5.4-np2py314h6477eea_1.conda + sha256: bf58f5b2d89958e8880cfde4e5e3d86f230485c5f5f1043fc47a56656f9655c6 + md5: af93de29d470abbe21a6adc2ec58516e depends: - - ca-certificates + - python + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 - libgcc >=14 - license: Apache-2.0 - license_family: Apache + - python_abi 3.14.* *_cp314 + - numpy >=1.23,<3 + license: MPL-2.0 AND Apache-2.0 + size: 345273 + timestamp: 1771362516002 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ml_dtypes-0.5.4-np2py314h175d3ba_1.conda + sha256: ede0c956654caf013153069a7ee1e9ce604326714882e6fc1a91be19c5819d84 + md5: bf8467d8b9b5f67baac7d302fd120501 + depends: + - python + - libgcc >=14 + - libstdcxx >=14 + - python 3.14.* *_cp314 + - numpy >=1.23,<3 + - python_abi 3.14.* *_cp314 + license: MPL-2.0 AND Apache-2.0 + size: 306998 + timestamp: 1771362449472 +- conda: https://conda.anaconda.org/conda-forge/win-64/ml_dtypes-0.5.4-np2py314hb7a55bc_1.conda + sha256: 2cb8eac7bd0af92575214628c081528ae003131d6711e4854e2fc3fb8f6dc11e + md5: e2b07dfa101dab343103bb28ed0aba3b + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + - numpy >=1.23,<3 + license: MPL-2.0 AND Apache-2.0 + size: 202093 + timestamp: 1771362373159 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.4.0-he0a73b1_0.conda + sha256: c1fdeebc9f8e4f51df265efca4ea20c7a13911193cc255db73cccb6e422ae486 + md5: 770d00bf57b5599c4544d61b61d8c6c6 + depends: + - __glibc >=2.17,<3.0.a0 + - gmp >=6.3.0,<7.0a0 + - libgcc >=14 + - mpfr >=4.2.2,<5.0a0 + license: LGPL-3.0-or-later + license_family: LGPL purls: [] - size: 3692030 - timestamp: 1769557678657 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda - sha256: da4a5df42614166b69c2f6d8602fc1425f7aaa699f77c3bafb5c7fe69b3d9fb7 - md5: fa6260b3e6eababf6ca85a7eb3336383 + size: 100245 + timestamp: 1774472435333 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpc-1.4.0-he6dc3fb_0.conda + sha256: 69f25e0c9ce2827097549a74a83f2c31c9c40fa4a668a4db96462e5a7eeb9634 + md5: b3aa59caa59a7b0288a21b097f8b6bc4 depends: - - ca-certificates + - gmp >=6.3.0,<7.0a0 - libgcc >=14 - license: Apache-2.0 - license_family: Apache + - mpfr >=4.2.2,<5.0a0 + license: LGPL-3.0-or-later + license_family: LGPL purls: [] - run_exports: - weak: - - openssl >=3.6.3,<4.0a0 - size: 3704664 - timestamp: 1781069675555 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/optree-0.19.0-py314hd7d8586_0.conda - sha256: 78deba0984ab747179c1aa87f024d6597ecfba75378c9b4601046d9c8ab59956 - md5: 214ab44a77f6135a6b0178c1c9cb5149 + size: 121080 + timestamp: 1774472380541 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.2-he0a73b1_0.conda + sha256: 8690f550a780f75d9c47f7ffc15f5ff1c149d36ac17208e50eda101ca16611b9 + md5: 85ce2ffa51ab21da5efa4a9edc5946aa depends: + - __glibc >=2.17,<3.0.a0 + - gmp >=6.3.0,<7.0a0 - libgcc >=14 - - libstdcxx >=14 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 - - python_abi 3.14.* *_cp314 - - typing-extensions >=4.12 - license: Apache-2.0 - license_family: Apache - size: 467867 - timestamp: 1771868413266 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-h8547ced_1.conda - sha256: d209c8b0d53c441ee0bc0d8fce0fcae8e7e05755e51b13b6b9da02c7aa032f98 - md5: 3fc7cc25bba3381e77b753578058e3b0 + license: LGPL-3.0-only + license_family: LGPL + purls: [] + size: 730422 + timestamp: 1773413915171 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpfr-4.2.2-h3faef18_0.conda + sha256: ca2c993ad80a54f3f13b6c7857f17301acaf30b48bb1c455d890f596892417f7 + md5: 0fa4a1bcdb9e3224ab97b966d27e4949 depends: - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.16,<2.0a0 - - harfbuzz >=13.2.0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 + - gmp >=6.3.0,<7.0a0 - libgcc >=14 - - libglib >=2.86.4,<3.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - license: LGPL-2.1-or-later + license: LGPL-3.0-only + license_family: LGPL purls: [] - size: 470441 - timestamp: 1774284032397 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-he55ef5b_0.conda - sha256: dd36cd5b6bc1c2988291a6db9fa4eb8acade9b487f6f1da4eaa65a1eebb0a12d - md5: a22cc88bf6059c9bcc158c94c9aab5b8 + size: 1933306 + timestamp: 1773413839223 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.9-hc50e24c_0.conda + sha256: 39c4700fb3fbe403a77d8cc27352fa72ba744db487559d5d44bf8411bb4ea200 + md5: c7f302fd11eeb0987a6a5e1f3aed6a21 depends: - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - harfbuzz >=11.0.1 - - libexpat >=2.7.0,<3.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 + - __glibc >=2.17,<3.0.a0 - libgcc >=13 - - libglib >=2.84.2,<3.0a0 - - libpng >=1.6.49,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - license: LGPL-2.1-or-later - size: 468811 - timestamp: 1751293869070 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda - sha256: 04df2cee95feba440387f33f878e9f655521e69f4be33a0cd637f07d3d81f0f9 - md5: 1a30c42e32ca0ea216bd0bfe6f842f0b + - libstdcxx >=13 + license: LGPL-2.1-only + license_family: LGPL + purls: [] + size: 491140 + timestamp: 1730581373280 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpg123-1.32.9-h65af167_0.conda + sha256: d65d5a00278544639ba4f99887154be00a1f57afb0b34d80b08e5cba40a17072 + md5: cdf140c7690ab0132106d3bc48bce47d depends: - - bzip2 >=1.0.8,<2.0a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 + - libgcc >=13 + - libstdcxx >=13 + license: LGPL-2.1-only + license_family: LGPL + purls: [] + size: 558708 + timestamp: 1730581372400 +- conda: https://conda.anaconda.org/conda-forge/win-64/mpg123-1.32.9-h01009b0_0.conda + sha256: a1d7d25f2c448f5c47d1678cca1f6ae5deadb38e176ea0c76ea5c688589dfd7a + md5: 1ed1580d4211223b285787eff05560f9 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LGPL-2.1-only + license_family: LGPL + purls: [] + size: 274386 + timestamp: 1730581654395 +- conda: https://conda.anaconda.org/conda-forge/noarch/mpi-1.0.1-openmpi.conda + sha256: e1698675ec83a2139c0b02165f47eaf0701bcab043443d9008fc0f8867b07798 + md5: 78b827d2852c67c68cd5b2c55f31e376 license: BSD-3-Clause license_family: BSD purls: [] - size: 1166552 - timestamp: 1763655534263 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda - sha256: e6b0846a998f2263629cfeac7bca73565c35af13251969f45d385db537a514e4 - md5: 1587081d537bd4ae77d1c0635d465ba5 + size: 6571 + timestamp: 1727683130230 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mpi4py-4.1.2-py314hab80c86_100.conda + sha256: 0e1d44ec3a16e5bc7e83220ae6f0d980b5fa4eaf634f120a433565bf10f58908 + md5: d85ae97af19973b6a6e90c28cf3aa3f3 depends: + - python + - openmpi >=4.1 + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libstdcxx >=14 - - libgcc >=14 - license: MIT - license_family: MIT - purls: [] - size: 357913 - timestamp: 1754665583353 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-7.2.2-py314h2e8dab5_0.conda - sha256: ebef2c2e8f84d6d02baf3317d0c1c7c737f2f0bc8f28a8a2a2f8e606b3dc5514 - md5: 4d45bdf8795717e336bfa2c6e0e7847d + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/mpi4py?source=hash-mapping + size: 874656 + timestamp: 1778930330106 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mpi4py-4.1.2-py314hf3deed3_100.conda + sha256: 7c7effe53c11a5323815ca92f4b04ee16e250c4083e2a6c9e0b76cc4a546b584 + md5: bb8cc782893642546a4fe61302853347 depends: - python + - openmpi >=4.1 - python 3.14.* *_cp314 - libgcc >=14 - python_abi 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/psutil?source=hash-mapping - size: 236068 - timestamp: 1769678155154 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda - sha256: 977dfb0cb3935d748521dd80262fe7169ab82920afd38ed14b7fee2ea5ec01ba - md5: bb5a90c93e3bac3d5690acf76b4a6386 - depends: - - libgcc >=13 - license: MIT - license_family: MIT - purls: [] - size: 8342 - timestamp: 1726803319942 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda - sha256: adc17205a87e064508d809fe5542b7cf49f9b9a458418f8448e2fc895fcd04f3 - md5: 53e14f45d38558aa2b9a15b07416e472 + - pkg:pypi/mpi4py?source=hash-mapping + size: 823797 + timestamp: 1778930337240 +- conda: https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_1.conda + sha256: 7d7aa3fcd6f42b76bd711182f3776a02bef09a68c5f117d66b712a6d81368692 + md5: 3585aa87c43ab15b167b574cd73b057b depends: - - libgcc >=13 - - libstdcxx >=13 - license: MIT - license_family: MIT - purls: [] - size: 113424 - timestamp: 1737355438448 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda - sha256: bb55db0dfe120f6063ad3ac74524b37c0bf92c6002cc059c31a5506f96a67f22 - md5: 8d73cfc699cd0a5ed2ea04bfb73eee0a - depends: - - dbus >=1.16.2,<2.0a0 - - libgcc >=14 - - libglib >=2.86.1,<3.0a0 - - libiconv >=1.18,<2.0a0 - - libsndfile >=1.2.2,<1.3.0a0 - - libsystemd0 >=257.10 - - libxcb >=1.17.0,<2.0a0 - constrains: - - pulseaudio 17.0 *_3 - license: LGPL-2.1-or-later - license_family: LGPL - purls: [] - size: 760306 - timestamp: 1763148231117 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.12.13-h91f4b29_0_cpython.conda - sha256: 61933478813f5fd96c89a00dd964201b0266d71d2e3bc4dd5679354056e46948 - md5: 8aed8fdbbc03a5c9f455d20ce75a9dce - depends: - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-aarch64 >=2.36.1 - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.2,<6.0a0 - - libnsl >=2.0.1,<2.1.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libuuid >=2.41.3,<3.0a0 - - libxcrypt >=4.4.36 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.5,<4.0a0 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - constrains: - - python_abi 3.12.* *_cp312 - license: Python-2.0 - purls: [] - size: 13757191 - timestamp: 1772728951853 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.3-hb06a95a_101_cp314.conda - build_number: 101 - sha256: 87e9dff5646aba87cecfbc08789634c855871a7325169299d749040b0923a356 - md5: 205011b36899ff0edf41b3db0eda5a44 + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/mpmath?source=hash-mapping + size: 439705 + timestamp: 1733302781386 +- conda: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.2.1-py314h97ea11e_1.conda + sha256: f33032ef3dcb8759309e8a55b0cb989e377ce315122bb86b00c0adbcf6665abf + md5: 1c8698b2012012806ec17a062bb9f339 depends: - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-aarch64 >=2.36.1 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 + - python + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 - libgcc >=14 - - liblzma >=5.8.2,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libuuid >=2.41.3,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.5,<4.0a0 - python_abi 3.14.* *_cp314 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - purls: [] - size: 37305578 - timestamp: 1770674395875 - python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-h1c24c05_0_cp314t.conda - sha256: 7fc81ed776b89786c00b3bf9d67e5472e78b63f5c82e0bc66bd763f7d1df3d24 - md5: 3ccb01876bc484acb5ea03d3c3949cea - depends: - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-aarch64 >=2.36.1 - - libexpat >=2.8.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.3,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.53.2,<4.0a0 - - libuuid >=2.42.1,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - - ncurses >=6.6,<7.0a0 - - openssl >=3.5.7,<4.0a0 - - python_abi 3.14.* *_cp314t - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - track_features: - - py_freethreading - license: Python-2.0 - purls: [] - size: 46058573 - timestamp: 1781254957859 - python_site_packages_path: lib/python3.14t/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda - build_number: 100 - sha256: dd56fd95db3cb49a69fbe41df80afc8bd5214daa829bcd3930de80f0408ba5eb - md5: 416c74941d13d9f2b9e68b1a900f7f50 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/msgpack?source=compressed-mapping + size: 113343 + timestamp: 1782460776477 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/msgpack-python-1.2.1-py314ha0cc70f_1.conda + sha256: d8398db39e3e85260d11aa360ecd765a4d6c9caf903a0facac423e33e3e1178b + md5: 5e5444b3b0529d236cd9e23708997a5b depends: - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-aarch64 >=2.36.1 - - libexpat >=2.8.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 + - python + - python 3.14.* *_cp314 + - libstdcxx >=14 - libgcc >=14 - - liblzma >=5.8.3,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.53.2,<4.0a0 - - libuuid >=2.42.1,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - - ncurses >=6.6,<7.0a0 - - openssl >=3.5.7,<4.0a0 - python_abi 3.14.* *_cp314 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - run_exports: - weak: - - python_abi 3.14.* *_cp314 - noarch: - - python - size: 34900936 - timestamp: 1781254861576 - python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pytorch-2.10.0-cuda130_generic_py314_h7cb4a1c_203.conda - sha256: 70b45b24d9591f943ff3a5ffff9419af85293e318a5f001be41cd9538d4e21c9 - md5: eec5f372504eec64c324446bbfc8442a + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/msgpack?source=hash-mapping + size: 114746 + timestamp: 1782460797920 +- conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.2.1-py314hf309875_1.conda + sha256: 548f4b23229abf8503b1e28438682e79a82ed0f2081a0c5ddfadb49e721b5022 + md5: 2a6b2dce5b76d32c67d11fcdd88ef037 depends: - - __cuda - - __glibc >=2.28,<3.0.a0 - - _openmp_mutex * *_llvm - - _openmp_mutex >=4.5 - - arm-variant * sbsa - - cuda-cudart >=13.0.96,<14.0a0 - - cuda-cupti >=13.0.85,<14.0a0 - - cuda-nvrtc >=13.0.88,<14.0a0 - - cuda-nvtx >=13.0.85,<14.0a0 - - cuda-version >=13.0,<14 - - filelock - - fmt >=12.1.0,<12.2.0a0 - - fsspec - - jinja2 - - libabseil * cxx17* - - libabseil >=20260107.1,<20260108.0a0 - - libcblas >=3.9.0,<4.0a0 - - libcublas >=13.1.0.3,<14.0a0 - - libcudnn >=9.19.0.56,<10.0a0 - - libcudss >=0.7.1.4,<0.7.2.0a0 - - libcufft >=12.0.0.61,<13.0a0 - - libcufile >=1.15.1.6,<2.0a0 - - libcurand >=10.4.0.35,<11.0a0 - - libcusolver >=12.0.4.66,<13.0a0 - - libcusparse >=12.6.3.3,<13.0a0 - - libgcc >=13 - - liblapack >=3.9.0,<4.0a0 - - libmagma >=2.9.0,<2.9.1.0a0 - - libprotobuf >=6.33.5,<6.33.6.0a0 - - libstdcxx >=13 - - libtorch 2.10.0 cuda130_generic_he6ac1af_203 - - libuv >=1.51.0,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - llvm-openmp >=22.1.0 - - mpmath <1.4 - - nccl >=2.29.3.1,<3.0a0 - - networkx - - nomkl - - numpy >=1.23,<3 - - optree >=0.13.0 - - pybind11 <3.0.2 - - pybind11-abi 11 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 - python_abi 3.14.* *_cp314 - - setuptools - - sleef >=3.9.0,<4.0a0 - - sympy >=1.13.3 - - triton 3.6.0 - - typing_extensions >=4.10.0 - constrains: - - pytorch-cpu <0.0a0 - - pytorch-gpu 2.10.0 - license: BSD-3-Clause - license_family: BSD - size: 24872224 - timestamp: 1772302448327 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pytorch-gpu-2.10.0-cuda130_generic_h63a1e35_203.conda - sha256: 98c965bf49b087129af7ac9df6c218dbd5c9b9cd1d63d9f19af7b5cb8031a41c - md5: 0f82b7f7e338cd8d5b04b9b29c9db41f + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/msgpack?source=compressed-mapping + size: 89771 + timestamp: 1782460807585 +- conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda + sha256: 6ed158e4e5dd8f6a10ad9e525631e35cee8557718f83de7a4e3966b1f772c4b1 + md5: e9c622e0d00fa24a6292279af3ab6d06 depends: - - arm-variant * sbsa - - pytorch 2.10.0 cuda*_generic*203 + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/mypy-extensions?source=hash-mapping + size: 11766 + timestamp: 1745776666688 +- conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.4.0-pyhcf101f3_0.conda + sha256: c81d0c8c74c3da66808f8da09d8e48f2af2d173d357d45239defaf466838edba + md5: da07c7b1588ad0a44118d28aeb31b6a6 + depends: + - importlib-metadata + - ipykernel + - ipython + - jupyter-cache >=0.5 + - myst-parser >=1.0.0 + - nbclient + - nbformat >=5.0 + - python >=3.10 + - pyyaml + - sphinx >=5 + - typing_extensions + - python license: BSD-3-Clause license_family: BSD - size: 53542 - timestamp: 1772302593139 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.3-py314h807365f_1.conda - sha256: 496b5e65dfdd0aaaaa5de0dcaaf3bceea00fcb4398acf152f89e567c82ec1046 - md5: 9ae2c92975118058bd720e9ba2bb7c58 + purls: + - pkg:pypi/myst-nb?source=hash-mapping + size: 68766 + timestamp: 1772587444587 +- conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.1.0-pyhd8ed1ab_0.conda + sha256: 94235bc1f769cf35029942ecb2ca796f18e730c1bf5aeef95e72680ebcfacfef + md5: 580615e59fc7c07741e4d2ab052cfc8b depends: - - libgcc >=14 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 - - python_abi 3.14.* *_cp314 - - yaml >=0.2.5,<0.3.0a0 + - docutils >=0.20,<0.23 + - jinja2 + - markdown-it-py >=4.2.0,<4.3.0 + - mdit-py-plugins >=0.6.1,<0.7 + - python >=3.11 + - pyyaml + - sphinx >=8,<10 license: MIT license_family: MIT purls: - - pkg:pypi/pyyaml?source=hash-mapping - size: 195678 - timestamp: 1770223441816 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-27.1.0-py312hdf0a211_2.conda - noarch: python - sha256: afdff66cb54e22d0d2c682731e08bb8f319dfd93f3cdcff4a4640cb5a8ae2460 - md5: 130d781798bb24a0b86290e65acd50d8 + - pkg:pypi/myst-parser?source=hash-mapping + size: 74888 + timestamp: 1778696564508 +- conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda + sha256: aeb1548eb72e4f198e72f19d242fb695b35add2ac7b2c00e0d83687052867680 + md5: e941e85e273121222580723010bd4fa2 depends: + - python >=3.9 - python - - libstdcxx >=14 - - libgcc >=14 - - zeromq >=4.3.5,<4.4.0a0 - - _python_abi3_support 1.* - - cpython >=3.12 + license: MIT + license_family: MIT + purls: + - pkg:pypi/natsort?source=hash-mapping + size: 39262 + timestamp: 1770905275632 +- conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.11.0-pyhd8ed1ab_0.conda + sha256: eceb424236fbbb9b337a857fe5448307b57a2a3fb2db389ae37e7a8b8cdca2ab + md5: cf01a81d7960ad9c829bf2e794fcee9a + depends: + - jupyter_client >=7.0.0 + - jupyter_core >=5.4 + - nbformat >=5.2.0 + - python >=3.10 + - traitlets >=5.13 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/pyzmq?source=hash-mapping - size: 212585 - timestamp: 1771716963309 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-61.0-h1f0f388_0.conda - sha256: 1c69fab2e833080d48f24d5ac06ea6745c470a8ef779d526bd1edd846184da7e - md5: 58f1eb9b507e3e098091840c6f1f9c11 - depends: - - libgcc >=14 - - libnl >=3.11.0,<4.0a0 + - pkg:pypi/nbclient?source=compressed-mapping + size: 29138 + timestamp: 1780661039538 +- conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda + sha256: 7a5bd30a2e7ddd7b85031a5e2e14f290898098dc85bea5b3a5bf147c25122838 + md5: bbe1963f1e47f594070ffe87cdf612ea + depends: + - jsonschema >=2.6 + - jupyter_core >=4.12,!=5.0.* + - python >=3.9 + - python-fastjsonschema >=2.15 + - traitlets >=5.1 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/nbformat?source=hash-mapping + size: 100945 + timestamp: 1733402844974 +- conda: https://conda.anaconda.org/conda-forge/linux-64/nccl-2.30.7.1-h1aa9b5a_0.conda + sha256: f92f617b266c24ce25766750ee45e326cbf572a97af41ca6ccb2d140f6c3859c + md5: d09e75d1fb0481ad255c74a23506696c + depends: + - __glibc >=2.28,<3.0.a0 + - cuda-version >=13,<14.0a0 + - libgcc >=14 - libstdcxx >=14 - - libsystemd0 >=257.10 - - libudev1 >=257.10 - license: Linux-OpenIB + license: BSD-3-Clause license_family: BSD purls: [] - size: 1341616 - timestamp: 1769154919140 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - sha256: 89dc4066bf0a2ee8e0cdeb6b6e8884c2c36c9a82855a438a0720ee59297fae3e - md5: 94e99208cc8828d5953fac098814a0e9 + size: 239421791 + timestamp: 1781141768144 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/nccl-2.30.7.1-h2b99535_0.conda + sha256: 9a3b9fc08e42350eb1228bd17db136d063f9fedd388316eabd2af3e99ab732b7 + md5: f963884eca3abe4251b3d9dd40c78109 depends: + - __glibc >=2.28,<3.0.a0 + - arm-variant * sbsa + - cuda-version >=13,<14.0a0 - libgcc >=14 - - libnl >=3.11.0,<4.0a0 - libstdcxx >=14 - - libsystemd0 >=257.13 - - libudev1 >=257.13 - license: Linux-OpenIB + license: BSD-3-Clause license_family: BSD purls: [] - run_exports: - weak: - - rdma-core >=63.0 - size: 1351719 - timestamp: 1778528506759 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - sha256: fe695f9d215e9a2e3dd0ca7f56435ab4df24f5504b83865e3d295df36e88d216 - md5: 3d49cad61f829f4f0e0611547a9cda12 + size: 291132360 + timestamp: 1781142421045 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda + sha256: fc89f74bbe362fb29fa3c037697a89bec140b346a2469a90f7936d1d7ea4d8a3 + md5: fc21868a1a5aacc937e7a18747acb8a5 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - ncurses >=6.5,<7.0a0 - license: GPL-3.0-only - license_family: GPL + license: X11 AND BSD-3-Clause purls: [] - run_exports: - weak: - - readline >=8.3,<9.0a0 - size: 357597 - timestamp: 1765815673644 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rpds-py-0.30.0-py314h02b7a91_0.conda - sha256: a587240f16eac7c6a80f9585cef679cd1cb9a287b8dfcdd36dcef1f7e7db15dc - md5: e7f6ed9e60043bb5cbcc527764897f0d + size: 918956 + timestamp: 1777422145199 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda + sha256: 369db85c5cd8d99dde364ce70725d76511d9c8199e5b820c740414091bf5bcca + md5: b2a43456aa56fe80c2477a5094899eff depends: - - python - libgcc >=14 - - python_abi 3.14.* *_cp314 + license: X11 AND BSD-3-Clause + purls: [] + size: 960036 + timestamp: 1777422174534 +- conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio2-1.7.2-pyhcf101f3_0.conda + sha256: e6768ceef038f4d7e083de7e393f5dd7d672b937e2bda570b740f6399b686689 + md5: fcd832bfd4749e9b246112b6894f97fc + depends: + - python >=3.10 + - python + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/nest-asyncio2?source=hash-mapping + size: 15903 + timestamp: 1770973502283 +- conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda + sha256: f6a82172afc50e54741f6f84527ef10424326611503c64e359e25a19a8e4c1c6 + md5: a2c1eeadae7a309daed9d62c96012a2b + depends: + - python >=3.11 + - python constrains: - - __glibc >=2.17 - license: MIT - license_family: MIT + - numpy >=1.25 + - scipy >=1.11.2 + - matplotlib-base >=3.8 + - pandas >=2.0 + license: BSD-3-Clause + license_family: BSD purls: - - pkg:pypi/rpds-py?source=hash-mapping - size: 376332 - timestamp: 1764543345455 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ruamel.yaml.clib-0.2.15-py314h2e8dab5_1.conda - sha256: 18a34470b351fccfe6694215b01a9a68a0a9979336b0ea85709bbdeef0658e1c - md5: ca756356e2920f248a74cb42e0b4578d + - pkg:pypi/networkx?source=hash-mapping + size: 1587439 + timestamp: 1765215107045 +- conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 + sha256: d38542a151a90417065c1a234866f97fd1ea82a81de75ecb725955ab78f88b4b + md5: 9a66894dfd07c4510beb6b3f9672ccc0 + constrains: + - mkl <0.a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 3843 + timestamp: 1582593857545 +- pypi: https://files.pythonhosted.org/packages/0f/26/885774c006de6620ed3d10f45d8e20fe0b8e6aad6d573211a2cbc8b3e528/numba-0.66.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: numba + version: 0.66.0 + sha256: e2b101f23b8b63978d334574d2039f27f0dccfe1d891756f33a2e2f3e4c88cf4 + requires_dist: + - llvmlite>=0.48.0.dev0,<0.49 + - numpy>=1.22,<2.5 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/66/c5/b46ad28ac3681d035ea21365c5e052149062e1a0a9affd0563d2760ea6ff/numba-0.66.0-cp314-cp314-win_amd64.whl + name: numba + version: 0.66.0 + sha256: bd57790acd20f6a468e0ad333ef6b82355e309a92310fb7dff80e919f01a21a9 + requires_dist: + - llvmlite>=0.48.0.dev0,<0.49 + - numpy>=1.22,<2.5 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/93/99/edebf7de890b73973d839dd971cf73734adfb81ffa1b4504f84b9059c3e5/numba-0.66.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl + name: numba + version: 0.66.0 + sha256: 63b943eb2c9ba371908ce2cd6dfc643db51fc40f7966993376a1701bc922f537 + requires_dist: + - llvmlite>=0.48.0.dev0,<0.49 + - numpy>=1.22,<2.5 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/ab/0a/7240948c2d45ebe895d2f9abb1180bacaf77af24b7e3dcf7617c22596ab1/numba_cuda-0.0.12-py3-none-any.whl + name: numba-cuda + version: 0.0.12 + sha256: 01f3342b93ae7e66d7ca08cf95b495b8118bd600e43f5597d1789ac11a636a10 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/3f/e3/613f6fc457f430775d124bea2e38033802fe97ab412a032191ac9b117d3a/numba_cuda-0.30.4-cp314-cp314-win_amd64.whl + name: numba-cuda + version: 0.30.4 + sha256: a99227a6a7bc9f953a7abb61917d5ff767b9667f9c01e28d0b6b1def8f0fd991 + requires_dist: + - numba>=0.60.0 + - cuda-bindings>=12.9.1,<14.0.0 + - cuda-core>=0.5.1,<2.0.0 + - cuda-pathfinder>=1.4.0,<2.0.0 + - packaging + - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'cu12' + - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==12.* ; extra == 'cu12' + - nvidia-nvjitlink-cu12>=12.3.0,<13.0.0 ; extra == 'cu12' + - cuda-bindings==13.* ; extra == 'cu13' + - cuda-toolkit[cccl,cudart,nvrtc,nvvm]==13.* ; extra == 'cu13' + - nvidia-nvjitlink>=13.0.0,<14.0.0 ; extra == 'cu13' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/bc/35/3c2a05375b01159632ed90384a04a08725b83b49d2e511f44158c5ec2c43/numba_cuda-0.30.4-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl + name: numba-cuda + version: 0.30.4 + sha256: b153d7f59e9a7834dc5866681b607317c72f0d49f6bbfed06eef82b396cbee84 + requires_dist: + - numba>=0.60.0 + - cuda-bindings>=12.9.1,<14.0.0 + - cuda-core>=0.5.1,<2.0.0 + - cuda-pathfinder>=1.4.0,<2.0.0 + - packaging + - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'cu12' + - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==12.* ; extra == 'cu12' + - nvidia-nvjitlink-cu12>=12.3.0,<13.0.0 ; extra == 'cu12' + - cuda-bindings==13.* ; extra == 'cu13' + - cuda-toolkit[cccl,cudart,nvrtc,nvvm]==13.* ; extra == 'cu13' + - nvidia-nvjitlink>=13.0.0,<14.0.0 ; extra == 'cu13' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/df/73/8934508d27efd9a930489059b980bc1e75336574be31bffb284a9e782fa7/numba_cuda-0.30.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl + name: numba-cuda + version: 0.30.4 + sha256: ec8e14ab7d4ecacaa1ff8d662efe5ab3c268e2f1cdad0330d28804b0d19a78c1 + requires_dist: + - numba>=0.60.0 + - cuda-bindings>=12.9.1,<14.0.0 + - cuda-core>=0.5.1,<2.0.0 + - cuda-pathfinder>=1.4.0,<2.0.0 + - packaging + - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'cu12' + - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==12.* ; extra == 'cu12' + - nvidia-nvjitlink-cu12>=12.3.0,<13.0.0 ; extra == 'cu12' + - cuda-bindings==13.* ; extra == 'cu13' + - cuda-toolkit[cccl,cudart,nvrtc,nvvm]==13.* ; extra == 'cu13' + - nvidia-nvjitlink>=13.0.0,<14.0.0 ; extra == 'cu13' + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/9a/90/b844d0c513fe88d61e7c3bb1acf4764701597ee5146540a26e28acf91f5f/numba_cuda_mlir-0.4.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + name: numba-cuda-mlir + version: 0.4.1 + sha256: a9bfcd0c85d8ad46bd8899fb808ec627d9eb45e2bcacb45209abde7025026884 + requires_dist: + - numpy + - typing-extensions ; python_full_version < '3.12' + - cuda-bindings>=12.9.1,<14.0.0 + - cuda-core>=0.5.1,<2.0.0 + - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'cu12' + - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==12.* ; extra == 'cu12' + - nvidia-nvjitlink-cu12>=12.3.0,<13.0.0 ; extra == 'cu12' + - cuda-bindings==13.* ; extra == 'cu13' + - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==13.* ; extra == 'cu13' + - nvidia-nvjitlink>=13.0.0,<14.0.0 ; extra == 'cu13' + requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/ac/fd/07d232b953f089e931257a67c273e8ce217b33fb97edcd7758f78b64a6d0/numba_cuda_mlir-0.4.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl + name: numba-cuda-mlir + version: 0.4.1 + sha256: ad751eb7a1bb9a877da7d89039831429822fe2e2107763b8e4359e7c34d21872 + requires_dist: + - numpy + - typing-extensions ; python_full_version < '3.12' + - cuda-bindings>=12.9.1,<14.0.0 + - cuda-core>=0.5.1,<2.0.0 + - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'cu12' + - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==12.* ; extra == 'cu12' + - nvidia-nvjitlink-cu12>=12.3.0,<13.0.0 ; extra == 'cu12' + - cuda-bindings==13.* ; extra == 'cu13' + - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==13.* ; extra == 'cu13' + - nvidia-nvjitlink>=13.0.0,<14.0.0 ; extra == 'cu13' + requires_python: '>=3.11' +- pypi: https://files.pythonhosted.org/packages/63/27/ca7392b2d030277bdf0273e7d23255b3ee57d57a7c170a6f4fb3981e1e5d/numpy-2.5.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl + name: numpy + version: 2.5.1 + sha256: 99d5095fa265a0c4152e7bb12759e14381ef5496152f1ce58f44bdf55c44beb4 + requires_python: '>=3.12' +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py314h2b28147_0.conda + sha256: bc61ae892973751a6b0e6ecea57ed6d7053224bddcb007165d6ceb1d7344ad47 + md5: f49b5f950379e0b97c35ca97682f7c6a depends: - python - - python 3.14.* *_cp314 + - libstdcxx >=14 - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - liblapack >=3.9.0,<4.0a0 - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/ruamel-yaml-clib?source=hash-mapping - size: 148495 - timestamp: 1766159541094 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/scipy-1.17.1-py314hd30f180_0.conda - sha256: d8301105a6dc14bb9dda1bf3acc5437cbc97150ccc304f31f5ad942c65f62095 - md5: 1085cbcaab2f86d052548cd01357e12d - depends: - libblas >=3.9.0,<4.0a0 - libcblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 8928909 + timestamp: 1779169198391 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py312h33ff503_0.conda + sha256: 2941c4a5fee88fe1c91c0d95b65e3a292d078f6655b53ff60f4813a44349c83e + md5: 3b7525d598ec0d0365ebd2378160a02f + depends: + - python + - libstdcxx >=14 - libgcc >=14 - - libgfortran - - libgfortran5 >=14.3.0 + - __glibc >=2.17,<3.0.a0 + - libcblas >=3.9.0,<4.0a0 + - python_abi 3.12.* *_cp312 - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpy?source=compressed-mapping + size: 8929128 + timestamp: 1783206200235 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py314h2b28147_0.conda + sha256: fb665b7e30f9472c58098983f614598cfcf34e7a26b6c419648803095c390aa7 + md5: 59044905d27ba41bfb280ed4692c15e2 + depends: + - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 - libstdcxx >=14 - - numpy <2.7 - - numpy >=1.23,<3 - - numpy >=1.25.2 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 + - libblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 - python_abi 3.14.* *_cp314 + - libcblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/scipy?source=hash-mapping - size: 16531406 - timestamp: 1771880920879 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda - sha256: 47f4ef4cd2313906840f146b18fee95c2a3a4fa9bd0afdb2d519e6c0aa8ca2ed - md5: 54747a3f3c468c5f446c78974c8c1234 + - pkg:pypi/numpy?source=compressed-mapping + size: 9089255 + timestamp: 1783206203765 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.5.1-py314hd4f4903_0.conda + sha256: 841c236486608c1cf7a12c64bcac4d39b23f6556b7b8dfe9e4d630e1311824d4 + md5: eaedf8409261de1ef23f5be7801fe7bc depends: + - python - libstdcxx >=14 - libgcc >=14 - - sdl3 >=3.2.22,<4.0a0 - - libgl >=1.7.0,<2.0a0 - - libegl >=1.7.0,<2.0a0 - license: Zlib + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314t + - liblapack >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 597756 - timestamp: 1757842928996 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.10-had2c13b_0.conda - sha256: 8fe249e71c077a09f94f49256a8738a2ef22bb018f119194ece94361721dff65 - md5: 90e79fd7ec05af2fb5424cd84fd70d20 + size: 9137814 + timestamp: 1783206205628 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.6-py314he1698a1_0.conda + sha256: 04af718b911f8a3a0095481c7e283aa081a175fe626eccbc2c5644bcb2aba9a1 + md5: 8b173772deea177b45d2a133b509b3f7 depends: + - python - libstdcxx >=14 - libgcc >=14 - - xorg-libxcursor >=1.2.3,<2.0a0 - - xorg-libxscrnsaver >=1.2.4,<2.0a0 - - pulseaudio-client >=17.0,<17.1.0a0 - - libusb >=1.0.29,<2.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libgl >=1.7.0,<2.0a0 - - libunwind >=1.8.3,<1.9.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - wayland >=1.25.0,<2.0a0 - - libdrm >=2.4.127,<2.5.0a0 - - libudev1 >=257.13 - - xorg-libxfixes >=6.0.2,<7.0a0 - - xorg-libxtst >=1.2.5,<2.0a0 - - libxkbcommon >=1.13.2,<2.0a0 - - libegl >=1.7.0,<2.0a0 - - liburing >=2.14,<2.15.0a0 - - xorg-libxi >=1.8.3,<2.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - - dbus >=1.16.2,<2.0a0 - license: Zlib - purls: [] - size: 2144308 - timestamp: 1780262838628 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.2-had2c13b_0.conda - sha256: 17aad2e3439d6d778bf995134f37e442a8420adc740457f43d647d4dbf0b10fe - md5: c667298eebd2296ace8cb07dbbba95c0 - depends: - - libgcc >=14 - - libstdcxx >=14 - - xorg-libxi >=1.8.2,<2.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libxkbcommon >=1.13.1,<2.0a0 - - wayland >=1.24.0,<2.0a0 - - libegl >=1.7.0,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - libgl >=1.7.0,<2.0a0 - - xorg-libxtst >=1.2.5,<2.0a0 - - libudev1 >=257.10 - - pulseaudio-client >=17.0,<17.1.0a0 - - libusb >=1.0.29,<2.0a0 - - xorg-libxcursor >=1.2.3,<2.0a0 - - libdrm >=2.4.125,<2.5.0a0 - - xorg-libxscrnsaver >=1.2.4,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - - libunwind >=1.8.3,<1.9.0a0 - - liburing >=2.14,<2.15.0a0 - - dbus >=1.16.2,<2.0a0 - - xorg-libx11 >=1.8.13,<2.0a0 - license: Zlib - size: 2136476 - timestamp: 1771668207211 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2025.5-hfeb5c2c_1.conda - sha256: bf3f47847832e33acbcb7a1aba948f3b574979ad2a91f2ebdc9fc685c09433db - md5: 8268bdcd82d8f9abcb7f0fd6a9568ba4 - depends: - - glslang >=16,<17.0a0 - - libgcc >=14 - - libstdcxx >=14 - - spirv-tools >=2026,<2027.0a0 - license: Apache-2.0 - license_family: Apache - size: 115498 - timestamp: 1770208786806 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.2-hfeb5c2c_0.conda - sha256: 487c021f4f10ae963e9192c9bbc0d3bba8f11cb3a2bb91fd351e4ea3e1ebc109 - md5: 9a389f225e6d2a8cc1e425c128caffe8 - depends: - - glslang >=16,<17.0a0 - - libgcc >=14 - - libstdcxx >=14 - - spirv-tools >=2026,<2027.0a0 - license: Apache-2.0 - license_family: Apache - purls: [] - size: 115991 - timestamp: 1777360628740 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sleef-3.9.0-h5bb93e2_0.conda - sha256: 8292f6d40541d136fe3c525062db5f2ec584e442e4c8b60296b630bbe85cadce - md5: b90e82764e7de5a291e263ead7950ad4 - depends: - - _openmp_mutex >=4.5 - - libgcc >=14 - - libstdcxx >=14 - license: BSL-1.0 - size: 1190849 - timestamp: 1756276271706 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda - sha256: a8a79c53852fb07286407907402caa5a96b6e22b518c4f010be40647f9ee3726 - md5: 3dec912091fb88614afa0af2712c1362 - depends: - - libgcc >=14 - - libstdcxx >=14 - - libgcc >=14 + - python_abi 3.14.* *_cp314 + - libblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 license: BSD-3-Clause license_family: BSD - purls: [] - size: 47096 - timestamp: 1762948094646 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.1-hfefdfc9_0.conda - sha256: 841a7df4b73a13a148410e677b1bf07ed81bd181cc686278d64d65e033f4a06a - md5: ad8208c6618a543687d754dc57876091 + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 8002900 + timestamp: 1779169206742 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py312hce9e0af_0.conda + sha256: 3116431b4ad9ac1d88ef3d78555fabe1ef6def58bc1d0159e31dbe221cf5ee2b + md5: de1fdf9d91f160b6ff3744ce003c488d depends: - - libgcc >=14 + - python - libstdcxx >=14 - constrains: - - spirv-headers >=1.4.341.0,<1.4.341.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 2255599 - timestamp: 1770089690097 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_0.conda - sha256: fcd1bb3c246ffc0beee0c66d1f240610288c81286041190b42402435408b5cc5 - md5: c82bb7d70fffe04afe74d55542af1d41 - depends: - libgcc >=14 - - libstdcxx >=14 + - python_abi 3.12.* *_cp312 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 constrains: - - spirv-headers >=1.4.350.0,<1.4.350.1.0a0 - license: Apache-2.0 - license_family: APACHE - purls: [] - size: 2290233 - timestamp: 1780139661664 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sqlalchemy-2.0.49-py314hf8f541d_0.conda - sha256: 7c1d48191d6dd26f11a7cac321847fd630363ba6609ba9b9d3a5787a44b4f926 - md5: a9ba442aeb8d5639d783b068ecf9c243 + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 8009002 + timestamp: 1783206217130 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.5.1-py314he1698a1_0.conda + sha256: 52e06fd450082b07045ce244e801d46dc7b3154cdbdde62be1db6cfccf199f07 + md5: e127193f9cd2605201f1d4bb8c9f91ba depends: - python - - greenlet !=0.4.17 - - typing-extensions >=4.6.0 + - libstdcxx >=14 - libgcc >=14 - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/sqlalchemy?source=hash-mapping - size: 4045084 - timestamp: 1775241589592 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.0.1-hfae3067_0.conda - sha256: 6518e4575e83e38b07460f504b6467124f9a16e4d368af42ca54a69603002078 - md5: 943fcd76194904358b2587d627ee6388 - depends: - - libgcc >=14 - - libstdcxx >=14 - license: BSD-2-Clause + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause license_family: BSD - purls: [] - size: 2042800 - timestamp: 1769668627820 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2022.3.0-hfefdfc9_2.conda - sha256: 2e875ba342c2cde6301b088cd6471f67e44d961bd292abcdfa6ba3fc32506935 - md5: 4d424acd246a5ba42512c097139ed0a0 - depends: - - libgcc >=14 - - libhwloc >=2.12.2,<2.12.3.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - size: 144746 - timestamp: 1767888618836 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2023.0.0-h57272ed_2.conda - sha256: 7ed4e93fad3707aa1686c5be286604c63aad33c9765a0d53fab7adbd179510b3 - md5: 0bc302bd45e5f744a672eb4f4a930398 - depends: - - libgcc >=14 - - libhwloc >=2.13.0,<2.13.1.0a0 - - libstdcxx >=14 - license: Apache-2.0 - license_family: APACHE - purls: [] - size: 145425 - timestamp: 1778675412470 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda - sha256: e25c314b52764219f842b41aea2c98a059f06437392268f09b03561e4f6e5309 - md5: 7fc6affb9b01e567d2ef1d05b84aa6ed + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 8172990 + timestamp: 1783206215507 +- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.6-py314h02f10f6_0.conda + sha256: de0eee21d902fb45a58454e3739e04ede7d02bf7575ca0ae9f959f20fa15c76b + md5: df95e6c7325bbae2571e5cef5f9c8096 depends: - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 + - python_abi 3.14.* *_cp314 constrains: - - xorg-libx11 >=1.8.12,<2.0a0 - license: TCL + - numpy-base <0a0 + license: BSD-3-Clause license_family: BSD - purls: [] - size: 3368666 - timestamp: 1769464148928 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda - build_number: 103 - sha256: cd51fbda051a9f3679d10ef4a94cd1ff38c10533b82845dadce8ba87245ba4ce - md5: 89e78452e06563964e419059ee45584a + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 7318163 + timestamp: 1779169232086 +- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py312ha3f287d_0.conda + sha256: e9df7b016c6910a9d4b1894e53499de79a871292e2f88f338070f0fa0080fcaa + md5: 8ae08a63662c4b2d46af3f2917e749b4 depends: - - libgcc >=14 - - libzlib >=1.3.2,<2.0a0 + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - liblapack >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - python_abi 3.12.* *_cp312 + - libblas >=3.9.0,<4.0a0 constrains: - - xorg-libx11 >=1.8.13,<2.0a0 - license: TCL - run_exports: - weak: - - tk >=8.6.13,<8.7.0a0 - size: 3683040 - timestamp: 1784229053797 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.5.5-py314hafb4487_0.conda - sha256: a7096330909a4b3345cbaecea099613929aae52900310209e0e27e616b550e4c - md5: 6fa496cc0b64d496a6a755c9de72f17b - depends: - - libgcc >=14 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: Apache + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD purls: - - pkg:pypi/tornado?source=hash-mapping - size: 914247 - timestamp: 1774359407535 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/triton-3.6.0-cuda130py314h75a4554_1.conda - sha256: 7a5e51bea6dd90c2d59fcbf6b06f722289409ff34eeaece2362b0a1429b6c84f - md5: c1e928be7f75d193cb83923f60ebc07e + - pkg:pypi/numpy?source=compressed-mapping + size: 7301536 + timestamp: 1783206237609 +- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py314h02f10f6_0.conda + sha256: 0f9f97b529480d17f7054783f7cdc163d0cdd537fabbb6b5bbae5c9439462c2f + md5: a67eeb19ff253ed3c4e094056e8fbb4c depends: - python - - setuptools - - cuda-nvcc-tools - - cuda-cuobjdump - - cuda-cudart - - cuda-cupti - - __glibc >=2.28,<3.0.a0 - - python 3.14.* *_cp314 - - arm-variant * sbsa - - libstdcxx >=14 - - libgcc >=14 - - cuda-version >=13.0,<14 - - libzlib >=1.3.1,<2.0a0 - - zstd >=1.5.7,<1.6.0a0 - - cuda-cupti >=13.0.85,<14.0a0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - liblapack >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libblas >=3.9.0,<4.0a0 - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - size: 244688202 - timestamp: 1771627574163 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/uv-0.11.29-hbe9c82f_0.conda - sha256: f17967c3ed7ad0b92ca97a7abfdf3e556d91649cbd74a1dd35962a333cfbed78 - md5: ef5ef192c6e6f74b6b1271b248336104 - depends: - - libgcc >=14 - - libstdcxx >=14 constrains: - - __glibc >=2.17 - license: Apache-2.0 OR MIT - run_exports: {} - size: 20306087 - timestamp: 1784166394558 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.24.0-h4f8a99f_1.conda - sha256: d94af8f287db764327ac7b48f6c0cd5c40da6ea2606afd34ac30671b7c85d8ee - md5: f6966cb1f000c230359ae98c29e37d87 - depends: - - libexpat >=2.7.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 331480 - timestamp: 1761174368396 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.25.0-h4f8a99f_0.conda - sha256: 3cc479df517b0ce110835a1256f91ca568581cb6dfe1c53a0786f0a226039a45 - md5: 0a7a9548726f98d5869fd4c43e110f0f - depends: - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - purls: [] - size: 335260 - timestamp: 1773959583826 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 - sha256: b48f150db8c052c197691c9d76f59e252d3a7f01de123753d51ebf2eed1cf057 - md5: 0efaf807a0b5844ce5f605bd9b668281 + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 7452096 + timestamp: 1783206236616 +- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.5.1-py314hffb9209_0.conda + sha256: afc96f61d2b914f4e82a21869fd1a83c71bf1da18849c147533481919b3fb3d4 + md5: c376818b45ba7fadeab56e670903a10c depends: - - libgcc-ng >=12 - license: GPL-2.0-or-later - license_family: GPL - purls: [] - size: 1000661 - timestamp: 1660324722559 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 - sha256: cb2227f2441499900bdc0168eb423d7b2056c8fd5a3541df4e2d05509a88c668 - md5: 786853760099c74a1d4f0da98dd67aea + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - python_abi 3.14.* *_cp314t + - libcblas >=3.9.0,<4.0a0 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 7605729 + timestamp: 1783206238637 +- conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.10.0-pyhcf101f3_0.conda + sha256: 482d94fce136c4352b18c6397b9faf0a3149bfb12499ab1ffebad8db0cb6678f + md5: 3aa4b625f20f55cf68e92df5e5bf3c39 depends: - - libgcc-ng >=10.3.0 - - libstdcxx-ng >=10.3.0 - license: GPL-2.0-or-later - license_family: GPL + - python >=3.10 + - sphinx >=6 + - tomli >=1.1.0 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpydoc?source=hash-mapping + size: 65801 + timestamp: 1764715638266 +- pypi: https://files.pythonhosted.org/packages/96/bd/572971ffc14bd36676c821fc15d991b08fe6179cb09368250147475f954d/nvidia_cuda_cccl-13.3.3.4.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + name: nvidia-cuda-cccl + version: 13.3.3.4.1 + sha256: 067d19b4b3c9d0f2ebec9f29a311b2863db96bf98e058bbc331597d51ce818cf + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/f8/ab/049726d90147865a3ea53bae6cb7c35b98bf1fdf96cdb967101329625f83/nvidia_cuda_cccl-13.3.3.4.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: nvidia-cuda-cccl + version: 13.3.3.4.1 + sha256: cc0adc188d570b09f4d606c7dc05a42aa3d8aa082e0d60f7bbfc5b6435f627c6 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/7e/ce/16d76f4b5b3f7460f5ebd17516685495c149c66651ffdd381f90e4d4e65c/nvidia_cuda_crt-13.3.73-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: nvidia-cuda-crt + version: 13.3.73 + sha256: df14a17ae1c5c3171265411212246654d780f89344ea85344466c6b955247543 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/fa/41/2089e411507d66458d67208bdd1bc562d492bb6458c3d2aea4603072a219/nvidia_cuda_crt-13.3.73-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + name: nvidia-cuda-crt + version: 13.3.73 + sha256: 60aacc0b5e1e8b40c62abe4d1ab16440add91b99bd2f17f62dd091586b73d166 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/5c/14/9f5cdc994d5431e2f08f62ffe34509e7feabd1f2e18517e2d7720c6ff0fd/nvidia_cuda_nvcc-13.3.73-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + name: nvidia-cuda-nvcc + version: 13.3.73 + sha256: 70f250825355d2c3aa6c7a972a0ec00f020bad66d2679e527eb4336301c904aa + requires_dist: + - nvidia-nvvm + - nvidia-cuda-runtime + - nvidia-cuda-crt + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/83/19/e46ef3597ba47a9f8a91ab24533db42a600b659fc418dbe4af0b630bcb41/nvidia_cuda_nvcc-13.3.73-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: nvidia-cuda-nvcc + version: 13.3.73 + sha256: f483af83166c4fa356a21606076d553b0b4ceaebbd9912e537545080db695bdd + requires_dist: + - nvidia-nvvm + - nvidia-cuda-runtime + - nvidia-cuda-crt + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/8b/2c/86916c8a34dcdb0c3ddd1c0e30545041bd781184e437b9cb76fcda70560b/nvidia_cuda_nvrtc-13.3.33-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl + name: nvidia-cuda-nvrtc + version: 13.3.33 + sha256: 82530788b8c6164a54d3fd9ae8bcca8893d397c4aeb998861982a03bbe41e204 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/e7/b6/60a3641111d39ebfcfcd8b8bfd0290d7623c4b8b5f90952c2d84776f8ca4/nvidia_cuda_nvrtc-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + name: nvidia-cuda-nvrtc + version: 13.3.33 + sha256: 7b05ecda494c6dabc44231a608b060a71008a730d9dfda932cc508e6d29159e0 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/5f/e5/c1a221c8e6fecd071b80ea44c20fc253ae24f56e15e3f77cfbc3fb76e724/nvidia_cuda_runtime-13.3.29-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + name: nvidia-cuda-runtime + version: 13.3.29 + sha256: 73291e19c9dd919c140c91bda2f80b0eca487da5ee30a086ef7bc4918ecb90ea + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/97/be/5699b6e642b372f7d24c59c2f41383e2696825e20bab85f7399c7c6a56f7/nvidia_cuda_runtime-13.3.29-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl + name: nvidia-cuda-runtime + version: 13.3.29 + sha256: e04420616e72f563167a7733272992d7e6df6dc5cb54b2f94f9f1520ea9e30c1 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/67/f2/ec9c05a108095828dfc58840978c627b3c313fdf2a567c6de9ffbbb46901/nvidia_nvjitlink-13.3.33-py3-none-win_amd64.whl + name: nvidia-nvjitlink + version: 13.3.33 + sha256: 4297ee49639b4f2e07255a1d69b3acc7ab2d011bb892b403e91ac98368962e3b + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/69/30/45414e35ff2eee7db3da037e5707037ccf9d2b5218ffbdb055ea4d5aa98a/nvidia_nvjitlink-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + name: nvidia-nvjitlink + version: 13.3.33 + sha256: ce48b37dfeb3cb1eae4cf85adacb47d7a6539ea2272870c9a3628ce275c2037e + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/f0/ee/580ca6f29dcab0221db8706badca1bbbb084f1975c4d4e83329c3a7e31f0/nvidia_nvjitlink-13.3.33-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl + name: nvidia-nvjitlink + version: 13.3.33 + sha256: 26a6de7fb4c8fdaa7703d3dad720d6d427ddfea5c48a528fd97c11733ad830e5 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/2f/05/35754a7105563fd9b496e5ee8e1acd986aef8258760c3cbccf419aee861a/nvidia_nvvm-13.3.73-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl + name: nvidia-nvvm + version: 13.3.73 + sha256: e2bcdd5783b5481445f1f0e7170cb836cc0d72999839ba850bbba6dc97b76bb8 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/f3/e7/ff646aa6015c7e6d12aad234e68925c87b6681d8d18c3ac40535994a3b0d/nvidia_nvvm-13.3.73-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl + name: nvidia-nvvm + version: 13.3.73 + sha256: 0e28e0858a3475e11ac67d35301cd5bf82666a1c0dc4ec4e80ceaf3a5fd1dea8 + requires_python: '>=3' +- pypi: https://files.pythonhosted.org/packages/8c/79/017fab2f7167a9a9795665f894d04f77aafceca80821b51589bb4b23ff5c/nvidia_sphinx_theme-0.0.9.post1-py3-none-any.whl + name: nvidia-sphinx-theme + version: 0.0.9.post1 + sha256: 21ca60206dff2f380d7783d64bbaf71a5b9cacae53c7d0686f089c16b5a3d45a + requires_dist: + - sphinx>=7.1 + - pydata-sphinx-theme>=0.15 + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/43/da/d94c5904b0c7878be75994ba541b7937c9ecef50dc633fa10d149885cf4f/nvmath_python-1.0.0-cp314-cp314-win_amd64.whl + name: nvmath-python + version: 1.0.0 + sha256: 89807bd2e8a8ef79bf73868638c83fe5f94082f7d8d7b87e08cc94d072959ec4 + requires_dist: + - cuda-bindings + - cuda-core>=0.5.0,<2 + - cuda-pathfinder>=1.5.1,<2.0 + - numpy>=1.25,<3 + - pywin32 ; sys_platform == 'win32' + - mkl ; (platform_machine == 'AMD64' and extra == 'cpu') or (platform_machine == 'x86_64' and extra == 'cpu') + - nvpl-fft>=0.3,<1 ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cpu' + - nvpl-blas>=0.3,<1 ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cpu' + - cuda-bindings>=12.9.2,<13 ; extra == 'sysctk12' + - cutensor-cu12>=2.5.0,<3 ; extra == 'sysctk12' + - cuda-bindings>=13.0.1,<14 ; extra == 'sysctk13' + - cutensor-cu13>=2.5.0,<3 ; extra == 'sysctk13' + - nvmath-python[sysctk12] ; extra == 'cu12' + - cuda-core[cu12] ; extra == 'cu12' + - nvidia-cublas-cu12 ; extra == 'cu12' + - nvidia-cuda-nvrtc-cu12 ; extra == 'cu12' + - nvidia-cuda-runtime-cu12 ; extra == 'cu12' + - nvidia-cudss-cu12==0.8.* ; extra == 'cu12' + - nvidia-cufft-cu12 ; extra == 'cu12' + - nvidia-curand-cu12 ; extra == 'cu12' + - nvidia-cusolver-cu12 ; extra == 'cu12' + - nvidia-cusparse-cu12 ; extra == 'cu12' + - cutensor-cu12>=2.5.0,<3 ; extra == 'cu12' + - nvmath-python[sysctk13] ; extra == 'cu13' + - cuda-core[cu13] ; extra == 'cu13' + - cuda-toolkit[cublas,cudart,cufft,curand,cusolver,cusparse,nvrtc]==13.* ; extra == 'cu13' + - nvidia-cudss-cu13==0.8.* ; extra == 'cu13' + - cutensor-cu13>=2.5.0,<3 ; extra == 'cu13' + - cffi ; extra == 'numba' + - llvmlite ; extra == 'numba' + - numba ; extra == 'numba' + - numba-cuda>=0.28.1,<1 ; extra == 'numba' + - numba-cuda-mlir>=0.4.1,<1 ; python_full_version >= '3.11' and extra == 'numba' + - nvmath-python[sysctk12] ; extra == 'sysctk12-dx' + - nvmath-python[numba] ; extra == 'sysctk12-dx' + - nvmath-python[cu12] ; extra == 'cu12-dx' + - nvmath-python[numba] ; extra == 'cu12-dx' + - nvidia-libmathdx-cu12>=0.3.1,!=0.3.1.8,<0.4.0 ; extra == 'cu12-dx' + - nvidia-cuda-cccl-cu12>12.4.127 ; extra == 'cu12-dx' + - nvidia-cuda-nvrtc-cu12!=12.4.*,!=12.5.0 ; extra == 'cu12-dx' + - nvmath-python[sysctk12] ; extra == 'sysctk12-distributed' + - nvidia-nccl-cu12>=2.29.2 ; sys_platform == 'linux' and extra == 'sysctk12-distributed' + - nccl4py>=0.3.1,<0.4 ; sys_platform == 'linux' and extra == 'sysctk12-distributed' + - nvmath-python[cu12] ; extra == 'cu12-distributed' + - nvmath-python[sysctk12-distributed] ; extra == 'cu12-distributed' + - nvidia-cublasmp-cu12>=0.8.1,<0.10 ; sys_platform == 'linux' and extra == 'cu12-distributed' + - nvidia-cufftmp-cu12 ; sys_platform == 'linux' and extra == 'cu12-distributed' + - nvidia-cusolvermp-cu12>=0.8.0,<0.10 ; sys_platform == 'linux' and extra == 'cu12-distributed' + - nvidia-nvshmem-cu12>=3.2.5 ; sys_platform == 'linux' and extra == 'cu12-distributed' + - nvmath-python[sysctk13] ; extra == 'sysctk13-dx' + - nvmath-python[numba] ; extra == 'sysctk13-dx' + - nvmath-python[cu13] ; extra == 'cu13-dx' + - nvmath-python[numba] ; extra == 'cu13-dx' + - nvidia-libmathdx-cu13>=0.3.1,!=0.3.1.8,<0.4.0 ; extra == 'cu13-dx' + - cuda-toolkit[cccl,nvrtc]==13.* ; extra == 'cu13-dx' + - nvmath-python[sysctk13] ; extra == 'sysctk13-distributed' + - nvidia-nccl-cu13>=2.29.2 ; sys_platform == 'linux' and extra == 'sysctk13-distributed' + - nccl4py>=0.3.1,<0.4 ; sys_platform == 'linux' and extra == 'sysctk13-distributed' + - nvmath-python[cu13] ; extra == 'cu13-distributed' + - nvmath-python[sysctk13-distributed] ; extra == 'cu13-distributed' + - cuda-toolkit[cublas]>=13.0.2 ; sys_platform == 'linux' and extra == 'cu13-distributed' + - nvidia-cublasmp-cu13>=0.8.1,<0.10 ; sys_platform == 'linux' and extra == 'cu13-distributed' + - nvidia-cufftmp-cu13>=12.1.3.2 ; sys_platform == 'linux' and extra == 'cu13-distributed' + - nvidia-cusolvermp-cu13>=0.8.0,<0.10 ; sys_platform == 'linux' and extra == 'cu13-distributed' + - nvidia-nvshmem-cu13>=3.2.5 ; sys_platform == 'linux' and extra == 'cu13-distributed' + requires_python: '>=3.10,<3.15' +- pypi: https://files.pythonhosted.org/packages/4c/74/a07afd16866ee9f3afcf60e7d5dd1ad3ddc5fb9d56998fce0629eb2671a9/nvmath_python-1.0.0-cp314-cp314-manylinux_2_28_x86_64.whl + name: nvmath-python + version: 1.0.0 + sha256: b6ebb9ae1a2d16dc0b7431d0e6c3c72aa7b11f3e3e83d4dc4f046b086fff8fb8 + requires_dist: + - cuda-bindings + - cuda-core>=0.5.0,<2 + - cuda-pathfinder>=1.5.1,<2.0 + - numpy>=1.25,<3 + - pywin32 ; sys_platform == 'win32' + - mkl ; (platform_machine == 'AMD64' and extra == 'cpu') or (platform_machine == 'x86_64' and extra == 'cpu') + - nvpl-fft>=0.3,<1 ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cpu' + - nvpl-blas>=0.3,<1 ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cpu' + - cuda-bindings>=12.9.2,<13 ; extra == 'sysctk12' + - cutensor-cu12>=2.5.0,<3 ; extra == 'sysctk12' + - cuda-bindings>=13.0.1,<14 ; extra == 'sysctk13' + - cutensor-cu13>=2.5.0,<3 ; extra == 'sysctk13' + - nvmath-python[sysctk12] ; extra == 'cu12' + - cuda-core[cu12] ; extra == 'cu12' + - nvidia-cublas-cu12 ; extra == 'cu12' + - nvidia-cuda-nvrtc-cu12 ; extra == 'cu12' + - nvidia-cuda-runtime-cu12 ; extra == 'cu12' + - nvidia-cudss-cu12==0.8.* ; extra == 'cu12' + - nvidia-cufft-cu12 ; extra == 'cu12' + - nvidia-curand-cu12 ; extra == 'cu12' + - nvidia-cusolver-cu12 ; extra == 'cu12' + - nvidia-cusparse-cu12 ; extra == 'cu12' + - cutensor-cu12>=2.5.0,<3 ; extra == 'cu12' + - nvmath-python[sysctk13] ; extra == 'cu13' + - cuda-core[cu13] ; extra == 'cu13' + - cuda-toolkit[cublas,cudart,cufft,curand,cusolver,cusparse,nvrtc]==13.* ; extra == 'cu13' + - nvidia-cudss-cu13==0.8.* ; extra == 'cu13' + - cutensor-cu13>=2.5.0,<3 ; extra == 'cu13' + - cffi ; extra == 'numba' + - llvmlite ; extra == 'numba' + - numba ; extra == 'numba' + - numba-cuda>=0.28.1,<1 ; extra == 'numba' + - numba-cuda-mlir>=0.4.1,<1 ; python_full_version >= '3.11' and extra == 'numba' + - nvmath-python[sysctk12] ; extra == 'sysctk12-dx' + - nvmath-python[numba] ; extra == 'sysctk12-dx' + - nvmath-python[cu12] ; extra == 'cu12-dx' + - nvmath-python[numba] ; extra == 'cu12-dx' + - nvidia-libmathdx-cu12>=0.3.1,!=0.3.1.8,<0.4.0 ; extra == 'cu12-dx' + - nvidia-cuda-cccl-cu12>12.4.127 ; extra == 'cu12-dx' + - nvidia-cuda-nvrtc-cu12!=12.4.*,!=12.5.0 ; extra == 'cu12-dx' + - nvmath-python[sysctk12] ; extra == 'sysctk12-distributed' + - nvidia-nccl-cu12>=2.29.2 ; sys_platform == 'linux' and extra == 'sysctk12-distributed' + - nccl4py>=0.3.1,<0.4 ; sys_platform == 'linux' and extra == 'sysctk12-distributed' + - nvmath-python[cu12] ; extra == 'cu12-distributed' + - nvmath-python[sysctk12-distributed] ; extra == 'cu12-distributed' + - nvidia-cublasmp-cu12>=0.8.1,<0.10 ; sys_platform == 'linux' and extra == 'cu12-distributed' + - nvidia-cufftmp-cu12 ; sys_platform == 'linux' and extra == 'cu12-distributed' + - nvidia-cusolvermp-cu12>=0.8.0,<0.10 ; sys_platform == 'linux' and extra == 'cu12-distributed' + - nvidia-nvshmem-cu12>=3.2.5 ; sys_platform == 'linux' and extra == 'cu12-distributed' + - nvmath-python[sysctk13] ; extra == 'sysctk13-dx' + - nvmath-python[numba] ; extra == 'sysctk13-dx' + - nvmath-python[cu13] ; extra == 'cu13-dx' + - nvmath-python[numba] ; extra == 'cu13-dx' + - nvidia-libmathdx-cu13>=0.3.1,!=0.3.1.8,<0.4.0 ; extra == 'cu13-dx' + - cuda-toolkit[cccl,nvrtc]==13.* ; extra == 'cu13-dx' + - nvmath-python[sysctk13] ; extra == 'sysctk13-distributed' + - nvidia-nccl-cu13>=2.29.2 ; sys_platform == 'linux' and extra == 'sysctk13-distributed' + - nccl4py>=0.3.1,<0.4 ; sys_platform == 'linux' and extra == 'sysctk13-distributed' + - nvmath-python[cu13] ; extra == 'cu13-distributed' + - nvmath-python[sysctk13-distributed] ; extra == 'cu13-distributed' + - cuda-toolkit[cublas]>=13.0.2 ; sys_platform == 'linux' and extra == 'cu13-distributed' + - nvidia-cublasmp-cu13>=0.8.1,<0.10 ; sys_platform == 'linux' and extra == 'cu13-distributed' + - nvidia-cufftmp-cu13>=12.1.3.2 ; sys_platform == 'linux' and extra == 'cu13-distributed' + - nvidia-cusolvermp-cu13>=0.8.0,<0.10 ; sys_platform == 'linux' and extra == 'cu13-distributed' + - nvidia-nvshmem-cu13>=3.2.5 ; sys_platform == 'linux' and extra == 'cu13-distributed' + requires_python: '>=3.10,<3.15' +- pypi: https://files.pythonhosted.org/packages/7a/a2/512f5d0a9e2bdfe0b52c7afe7dbdd3c140fa18ab41c1c863f59eee8808df/nvmath_python-1.0.0-cp314-cp314-manylinux_2_28_aarch64.whl + name: nvmath-python + version: 1.0.0 + sha256: 7f78fb221df17fbb8e1303d536f5b945122c10febd74b37dea9cb8e44cc586a3 + requires_dist: + - cuda-bindings + - cuda-core>=0.5.0,<2 + - cuda-pathfinder>=1.5.1,<2.0 + - numpy>=1.25,<3 + - pywin32 ; sys_platform == 'win32' + - mkl ; (platform_machine == 'AMD64' and extra == 'cpu') or (platform_machine == 'x86_64' and extra == 'cpu') + - nvpl-fft>=0.3,<1 ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cpu' + - nvpl-blas>=0.3,<1 ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cpu' + - cuda-bindings>=12.9.2,<13 ; extra == 'sysctk12' + - cutensor-cu12>=2.5.0,<3 ; extra == 'sysctk12' + - cuda-bindings>=13.0.1,<14 ; extra == 'sysctk13' + - cutensor-cu13>=2.5.0,<3 ; extra == 'sysctk13' + - nvmath-python[sysctk12] ; extra == 'cu12' + - cuda-core[cu12] ; extra == 'cu12' + - nvidia-cublas-cu12 ; extra == 'cu12' + - nvidia-cuda-nvrtc-cu12 ; extra == 'cu12' + - nvidia-cuda-runtime-cu12 ; extra == 'cu12' + - nvidia-cudss-cu12==0.8.* ; extra == 'cu12' + - nvidia-cufft-cu12 ; extra == 'cu12' + - nvidia-curand-cu12 ; extra == 'cu12' + - nvidia-cusolver-cu12 ; extra == 'cu12' + - nvidia-cusparse-cu12 ; extra == 'cu12' + - cutensor-cu12>=2.5.0,<3 ; extra == 'cu12' + - nvmath-python[sysctk13] ; extra == 'cu13' + - cuda-core[cu13] ; extra == 'cu13' + - cuda-toolkit[cublas,cudart,cufft,curand,cusolver,cusparse,nvrtc]==13.* ; extra == 'cu13' + - nvidia-cudss-cu13==0.8.* ; extra == 'cu13' + - cutensor-cu13>=2.5.0,<3 ; extra == 'cu13' + - cffi ; extra == 'numba' + - llvmlite ; extra == 'numba' + - numba ; extra == 'numba' + - numba-cuda>=0.28.1,<1 ; extra == 'numba' + - numba-cuda-mlir>=0.4.1,<1 ; python_full_version >= '3.11' and extra == 'numba' + - nvmath-python[sysctk12] ; extra == 'sysctk12-dx' + - nvmath-python[numba] ; extra == 'sysctk12-dx' + - nvmath-python[cu12] ; extra == 'cu12-dx' + - nvmath-python[numba] ; extra == 'cu12-dx' + - nvidia-libmathdx-cu12>=0.3.1,!=0.3.1.8,<0.4.0 ; extra == 'cu12-dx' + - nvidia-cuda-cccl-cu12>12.4.127 ; extra == 'cu12-dx' + - nvidia-cuda-nvrtc-cu12!=12.4.*,!=12.5.0 ; extra == 'cu12-dx' + - nvmath-python[sysctk12] ; extra == 'sysctk12-distributed' + - nvidia-nccl-cu12>=2.29.2 ; sys_platform == 'linux' and extra == 'sysctk12-distributed' + - nccl4py>=0.3.1,<0.4 ; sys_platform == 'linux' and extra == 'sysctk12-distributed' + - nvmath-python[cu12] ; extra == 'cu12-distributed' + - nvmath-python[sysctk12-distributed] ; extra == 'cu12-distributed' + - nvidia-cublasmp-cu12>=0.8.1,<0.10 ; sys_platform == 'linux' and extra == 'cu12-distributed' + - nvidia-cufftmp-cu12 ; sys_platform == 'linux' and extra == 'cu12-distributed' + - nvidia-cusolvermp-cu12>=0.8.0,<0.10 ; sys_platform == 'linux' and extra == 'cu12-distributed' + - nvidia-nvshmem-cu12>=3.2.5 ; sys_platform == 'linux' and extra == 'cu12-distributed' + - nvmath-python[sysctk13] ; extra == 'sysctk13-dx' + - nvmath-python[numba] ; extra == 'sysctk13-dx' + - nvmath-python[cu13] ; extra == 'cu13-dx' + - nvmath-python[numba] ; extra == 'cu13-dx' + - nvidia-libmathdx-cu13>=0.3.1,!=0.3.1.8,<0.4.0 ; extra == 'cu13-dx' + - cuda-toolkit[cccl,nvrtc]==13.* ; extra == 'cu13-dx' + - nvmath-python[sysctk13] ; extra == 'sysctk13-distributed' + - nvidia-nccl-cu13>=2.29.2 ; sys_platform == 'linux' and extra == 'sysctk13-distributed' + - nccl4py>=0.3.1,<0.4 ; sys_platform == 'linux' and extra == 'sysctk13-distributed' + - nvmath-python[cu13] ; extra == 'cu13-distributed' + - nvmath-python[sysctk13-distributed] ; extra == 'cu13-distributed' + - cuda-toolkit[cublas]>=13.0.2 ; sys_platform == 'linux' and extra == 'cu13-distributed' + - nvidia-cublasmp-cu13>=0.8.1,<0.10 ; sys_platform == 'linux' and extra == 'cu13-distributed' + - nvidia-cufftmp-cu13>=12.1.3.2 ; sys_platform == 'linux' and extra == 'cu13-distributed' + - nvidia-cusolvermp-cu13>=0.8.0,<0.10 ; sys_platform == 'linux' and extra == 'cu13-distributed' + - nvidia-nvshmem-cu13>=3.2.5 ; sys_platform == 'linux' and extra == 'cu13-distributed' + requires_python: '>=3.10,<3.15' +- pypi: https://files.pythonhosted.org/packages/20/77/a2b64335bab7c75fe1c054cc4ebe2d3b3234cbdb04d2e1d6ca73551c54f5/nvtx-0.2.15-cp314-cp314-win_amd64.whl + name: nvtx + version: 0.2.15 + sha256: 9934fad0b441cfa6e896a848b092498ba23e2ff205c2b9a7b60520ff8367ffef + requires_dist: + - pytest ; extra == 'test' + - setuptools ; extra == 'test' + - sphinx ; extra == 'docs' + - nvidia-sphinx-theme ; extra == 'docs' +- pypi: https://files.pythonhosted.org/packages/e0/5b/ca0ba6fa769d08174b7a5b4775c279e2e26611cdd5e7833aa699187871c7/nvtx-0.2.15-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl + name: nvtx + version: 0.2.15 + sha256: b5171b8283dd3ea9ae688a86d16901b4c2c142c4eb0a4bdbf6c222f5f67f9524 + requires_dist: + - pytest ; extra == 'test' + - setuptools ; extra == 'test' + - sphinx ; extra == 'docs' + - nvidia-sphinx-theme ; extra == 'docs' +- pypi: https://files.pythonhosted.org/packages/f7/e1/e02fafc01c18f1868a2d2c030953f49e38d65f2d95884789a6c46ff308f1/nvtx-0.2.15-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl + name: nvtx + version: 0.2.15 + sha256: 3c6d0f27d4f8a2f479eb64a6b842c13aee32120348a1715d995b9bb9f75b35cf + requires_dist: + - pytest ; extra == 'test' + - setuptools ; extra == 'test' + - sphinx ; extra == 'docs' + - nvidia-sphinx-theme ; extra == 'docs' +- conda: https://conda.anaconda.org/conda-forge/linux-64/ocl-icd-2.3.4-hb03c661_1.conda + sha256: 75f3bf733523a338f73d6c276c4a26634877cd970edb558f2769d9fa52b100a9 + md5: c2871ba95727fd1382c05db66048b64c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - opencl-headers >=2025.6.13 + license: BSD-2-Clause + license_family: BSD purls: [] - size: 1018181 - timestamp: 1646610147365 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.47-h80f16a2_1.conda - sha256: 70070c1bd0c8f6af2640fa6302c06c29ad5740c80e290a6b287c8a6498290207 - md5: 81ae02fc22dcd8d56dc197851c95e2f8 + size: 109598 + timestamp: 1780362789611 +- conda: https://conda.anaconda.org/conda-forge/linux-64/onemkl-license-2026.1.0-ha770c72_243.conda + sha256: b560b1106416b7df0041144aad3842e8783e22c70418a46cbcc90fe67a96b229 + md5: 2617b8e56c82fe48be8951e7794f08bc + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + purls: [] + size: 39889 + timestamp: 1783700145236 +- conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.1.0-h57928b3_233.conda + sha256: 96dec1c878d6e6f835be8ed57152a37be9a5104ac79c2425815d71c64cf13ee4 + md5: 1566e2ce8c3bc23a2feb866c4d9e91e3 + license: LicenseRef-IntelSimplifiedSoftwareOct2022 + license_family: Proprietary + purls: [] + size: 53362 + timestamp: 1783700628723 +- conda: https://conda.anaconda.org/conda-forge/linux-64/opencl-headers-2025.06.13-hecca717_0.conda + sha256: 8de2f0cd8a659b01abf86e7fbb8cea4f28ada62fd288429a2bbc040db1b98dd0 + md5: c930c8052d780caa41216af7de472226 depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - xorg-libx11 >=1.8.13,<2.0a0 - license: MIT - license_family: MIT + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE purls: [] - size: 441739 - timestamp: 1781482715632 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.47-he30d5cf_0.conda - sha256: ec7ff9dffbd41faa31a30fa0724699f05bca000d57c745a195ecdb56888a8605 - md5: 4ac707a4279972357712af099cd1ae50 + size: 55754 + timestamp: 1773844383536 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openh264-2.6.0-h65dd3cf_1.conda + sha256: 5317c5c23762f3fe1c8510565a2bb94c645e1470ff73b386315656404f7eb58a + md5: 69894a95220a17a66272daa701c387bc depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - xorg-libx11 >=1.8.13,<2.0a0 - license: MIT - license_family: MIT - size: 399629 - timestamp: 1772021320967 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda - sha256: a2ba1864403c7eb4194dacbfe2777acf3d596feae43aada8d1b478617ce45031 - md5: c8d8ec3e00cd0fd8a231789b91a7c5b7 + - libstdcxx >=14 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 726478 + timestamp: 1782685945856 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openh264-2.6.0-h663e864_1.conda + sha256: c90d20ddcf28537ea6c1bd1c26a7abcba6baf9d7cdec493daa04bf0a968d1264 + md5: 0d86d4becd3cd1ce48011f71099211be depends: - - libgcc >=13 - license: MIT - license_family: MIT + - libgcc >=14 + - libstdcxx >=14 + license: BSD-2-Clause + license_family: BSD purls: [] - size: 60433 - timestamp: 1734229908988 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda - sha256: b86a819cd16f90c01d9d81892155126d01555a20dabd5f3091da59d6309afd0a - md5: 2d1409c50882819cb1af2de82e2b7208 + size: 795565 + timestamp: 1782685979198 +- conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-h1eab103_1.conda + sha256: 8d7e4a2dcd68afcc87c1e875a19600d980ca8f792f00105a622efd5faed6b05a + md5: 91c186a483e5491170156399b2850804 depends: - - libgcc >=13 - - libuuid >=2.38.1,<3.0a0 - - xorg-libice >=1.1.2,<2.0a0 - license: MIT - license_family: MIT + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-2-Clause + license_family: BSD purls: [] - size: 28701 - timestamp: 1741897678254 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda - sha256: cf886160e2ff580d77f7eb8ec1a77c41c2c5b05343e329bc35f0ddf40b8d92ab - md5: 22dd10425ef181e80e130db50675d615 + size: 422904 + timestamp: 1782686043511 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda + sha256: 3900f9f2dbbf4129cf3ad6acf4e4b6f7101390b53843591c53b00f034343bc4d + md5: 11b3379b191f63139e29c0d19dee24cd depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - libxcb >=1.17.0,<2.0a0 - license: MIT - license_family: MIT + - libpng >=1.6.50,<1.7.0a0 + - libstdcxx >=14 + - libtiff >=4.7.1,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-2-Clause + license_family: BSD purls: [] - size: 869058 - timestamp: 1770819244991 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxau-1.0.12-he30d5cf_1.conda - sha256: e9f6e931feeb2f40e1fdbafe41d3b665f1ab6cb39c5880a1fcf9f79a3f3c84a5 - md5: 1c246e1105000c3660558459e2fd6d43 + size: 355400 + timestamp: 1758489294972 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openjpeg-2.5.4-h5da879a_0.conda + sha256: bd1bc8bdde5e6c5cbac42d462b939694e40b59be6d0698f668515908640c77b8 + md5: cea962410e327262346d48d01f05936c depends: - libgcc >=14 - license: MIT - license_family: MIT + - libpng >=1.6.50,<1.7.0a0 + - libstdcxx >=14 + - libtiff >=4.7.1,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-2-Clause + license_family: BSD purls: [] - size: 16317 - timestamp: 1762977521691 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxcursor-1.2.3-h86ecc28_0.conda - sha256: c5d3692520762322a9598e7448492309f5ee9d8f3aff72d787cf06e77c42507f - md5: f2054759c2203d12d0007005e1f1296d + size: 392636 + timestamp: 1758489353577 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openmpi-5.0.10-h67ed482_1.conda + sha256: 9d13b09c95f5e9429f295dc89a896dae41a4ca4f77118139b1ff02001ae25127 + md5: afa5d72e0e68fdf2b51b1c80a3d2086b depends: - - libgcc >=13 - - xorg-libx11 >=1.8.9,<2.0a0 - - xorg-libxfixes >=6.0.1,<7.0a0 - - xorg-libxrender >=0.9.11,<0.10.0a0 - license: MIT - license_family: MIT + - mpi 1.0.* openmpi + - libgcc >=14 + - libgfortran5 >=14.3.0 + - libgfortran + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libevent >=2.1.12,<2.1.13.0a0 + - libhwloc >=2.13.0,<2.13.1.0a0 + - ucc >=1.6.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucx >=1.20.0,<1.21.0a0 + - libfabric + - libfabric1 >=1.14.0 + - libpmix >=5.0.8,<6.0a0 + - libnl >=3.11.0,<4.0a0 + constrains: + - __cuda >=12.0 + - cuda-version >=12.0 + - libprrte ==0.0.0 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 34596 - timestamp: 1730908388714 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda - sha256: 128d72f36bcc8d2b4cdbec07507542e437c7d67f677b7d77b71ed9eeac7d6df1 - md5: bff06dcde4a707339d66d45d96ceb2e2 + size: 3940272 + timestamp: 1772089559619 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openmpi-5.0.10-hbbf8ccc_1.conda + sha256: 170eb64b291513421ee86831796d45677271457652377b5c4106f0ad6d47a5d5 + md5: 5c28aadcdca1d3c5e8cbc168be551829 depends: + - mpi 1.0.* openmpi + - libstdcxx >=14 - libgcc >=14 - license: MIT - license_family: MIT + - libgfortran5 >=14.3.0 + - libgfortran + - libevent >=2.1.12,<2.1.13.0a0 + - libnl >=3.11.0,<4.0a0 + - ucc >=1.6.0,<2.0a0 + - libhwloc >=2.13.0,<2.13.1.0a0 + - libzlib >=1.3.1,<2.0a0 + - libfabric + - libfabric1 >=1.14.0 + - libpmix >=5.0.8,<6.0a0 + - ucx >=1.20.0,<1.21.0a0 + constrains: + - __cuda >=12.0 + - cuda-version >=12.0 + - libprrte ==0.0.0 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 21039 - timestamp: 1762979038025 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda - sha256: db2188bc0d844d4e9747bac7f6c1d067e390bd769c5ad897c93f1df759dc5dba - md5: fb42b683034619915863d68dd9df03a3 + size: 4166055 + timestamp: 1772089565931 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda + sha256: d48f5c22b9897c01e4dff3680f1f57ceb02711ab9c62f74339b080419dfad34b + md5: 79dd2074b5cd5c5c6b2930514a11e22d depends: + - __glibc >=2.17,<3.0.a0 + - ca-certificates - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - license: MIT - license_family: MIT + license: Apache-2.0 + license_family: Apache purls: [] - size: 52409 - timestamp: 1769446753771 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda - sha256: 8cb9c88e25c57e47419e98f04f9ef3154ad96b9f858c88c570c7b91216a64d0e - md5: e8b4056544341daf1d415eaeae7a040c + size: 3159683 + timestamp: 1781069855778 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda + sha256: da4a5df42614166b69c2f6d8602fc1425f7aaa699f77c3bafb5c7fe69b3d9fb7 + md5: fa6260b3e6eababf6ca85a7eb3336383 depends: + - ca-certificates - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - license: MIT - license_family: MIT + license: Apache-2.0 + license_family: Apache purls: [] - size: 20704 - timestamp: 1759284028146 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.2-h57736b2_0.conda - sha256: 7b587407ecb9ccd2bbaf0fb94c5dbdde4d015346df063e9502dc0ce2b682fb5e - md5: eeee3bdb31c6acde2b81ad1b8c287087 + size: 3704664 + timestamp: 1781069675555 +- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda + sha256: cb6e7ba0d010ee0d3249ce9886de3d7613d26d9965d4c95666fa66b9c4c31001 + md5: e99f95734a326c0fd4d02bbd995150d4 depends: - - libgcc >=13 - - xorg-libx11 >=1.8.9,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxfixes >=6.0.1,<7.0a0 - license: MIT - license_family: MIT - size: 48197 - timestamp: 1727801059062 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.3-he30d5cf_0.conda - sha256: 0c1c7b39763469cfe0e9c6d0f9a39415321f477710719f4c5d63c61ea270271c - md5: f8ad5777ecc217d383a722598dbeb1ac + - ca-certificates + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 9414790 + timestamp: 1781071745579 +- conda: https://conda.anaconda.org/conda-forge/linux-64/optree-0.19.1-py314h9891dd4_0.conda + sha256: 0bc01fdc2dccad1a38f680249414c0f6a006ce3bd3c3043bde89711ec7b3d074 + md5: 44ffc8b345a7844a847d4fdf469d64ea depends: + - __glibc >=2.17,<3.0.a0 - libgcc >=14 - - xorg-libx11 >=1.8.13,<2.0a0 - - xorg-libxext >=1.3.7,<2.0a0 - - xorg-libxfixes >=6.0.2,<7.0a0 - license: MIT - license_family: MIT - purls: [] - size: 49292 - timestamp: 1779113229775 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda - sha256: 9f5196665a8d72f4f119c40dcc4bafeb0b540b102cc7b8b299c2abf599e7919f - md5: 1f64c613f0b8d67e9fb0e165d898fb6b + - libstdcxx >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - typing-extensions >=4.12 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/optree?source=hash-mapping + size: 513161 + timestamp: 1778047690925 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/optree-0.19.1-py314hd7d8586_0.conda + sha256: 4c255c7f435badb89df01c9eba8d9e9df0b6f8d36fe85abe1da54b81aaf04ff3 + md5: 1b70477fda9714b24e56bf5691dd8cdc depends: - libgcc >=14 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxrender >=0.9.12,<0.10.0a0 - license: MIT - license_family: MIT - purls: [] - size: 31122 - timestamp: 1769445286951 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda - sha256: ffd77ee860c9635a28cfda46163dcfe9224dc6248c62404c544ae6b564a0be1f - md5: ae2c2dd0e2d38d249887727db2af960e + - libstdcxx >=14 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - typing-extensions >=4.12 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/optree?source=hash-mapping + size: 477463 + timestamp: 1778047736212 +- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda + sha256: 3906abfb6511a3bb309e39b9b1b7bc38f50a723971de2395489fd1f379255890 + md5: 4c06a92e74452cfa53623a81592e8934 depends: - - libgcc >=13 - - xorg-libx11 >=1.8.10,<2.0a0 - license: MIT - license_family: MIT - purls: [] - size: 33649 - timestamp: 1734229123157 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxscrnsaver-1.2.4-h86ecc28_0.conda - sha256: ab88b1533e7498baeb00cbda50c899a6fe73eaee14df32c57b8ad3f2a0b3cc26 - md5: 7a0a04defd4399a93936f06fcfac5531 + - python >=3.8 + - python + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/packaging?source=hash-mapping + size: 91574 + timestamp: 1777103621679 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.56.4-hda50119_1.conda + sha256: 315b52bfa6d1a820f4806f6490d472581438a28e21df175290477caec18972b0 + md5: d53ffc0edc8eabf4253508008493c5bc depends: - - libgcc >=13 - - xorg-libx11 >=1.8.12,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - license: MIT - license_family: MIT + - __glibc >=2.17,<3.0.a0 + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.17.1,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.16,<2.0a0 + - harfbuzz >=13.2.1 + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 + - libgcc >=14 + - libglib >=2.86.4,<3.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + license: LGPL-2.1-or-later purls: [] - size: 15720 - timestamp: 1750007336692 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda - sha256: 6eaffce5a34fc0a16a21ddeaefb597e792a263b1b0c387c1ce46b0a967d558e1 - md5: c05698071b5c8e0da82a282085845860 + size: 458036 + timestamp: 1774281947855 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pango-1.56.4-h8547ced_1.conda + sha256: d209c8b0d53c441ee0bc0d8fce0fcae8e7e05755e51b13b6b9da02c7aa032f98 + md5: 3fc7cc25bba3381e77b753578058e3b0 depends: - - libgcc >=13 - - xorg-libx11 >=1.8.9,<2.0a0 - - xorg-libxext >=1.3.6,<2.0a0 - - xorg-libxi >=1.7.10,<2.0a0 - license: MIT - license_family: MIT + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.17.1,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.16,<2.0a0 + - harfbuzz >=13.2.0 + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 + - libgcc >=14 + - libglib >=2.86.4,<3.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + license: LGPL-2.1-or-later purls: [] - size: 33786 - timestamp: 1727964907993 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-xorgproto-2025.1-he30d5cf_0.conda - sha256: d8a7593362562f66bab992901df6cdc845c6004d15c1ba2d1e3e39e4e4672384 - md5: 999d230bcb0329c11d101118ace392d9 + size: 470441 + timestamp: 1774284032397 +- conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda + sha256: 3d4e6e541e633f6fd22fc2c1d79ad5ec39503dea3ba04fc3e01d5be904ec7cea + md5: 1f1cf3772ba7d4eef989e4679ddf97f7 depends: - - libgcc >=14 - license: MIT - license_family: MIT + - cairo >=1.18.4,<2.0a0 + - fontconfig >=2.17.1,<3.0a0 + - fonts-conda-ecosystem + - fribidi >=1.0.16,<2.0a0 + - harfbuzz >=13.2.1 + - libexpat >=2.7.4,<3.0a0 + - libfreetype >=2.14.2 + - libfreetype6 >=2.14.2 + - libglib >=2.86.4,<3.0a0 + - libpng >=1.6.55,<1.7.0a0 + - libzlib >=1.3.2,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 + license: LGPL-2.1-or-later purls: [] - size: 569539 - timestamp: 1766155414260 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h80f16a2_3.conda - sha256: 66265e943f32ce02396ad214e27cb35f5b0490b3bd4f064446390f9d67fa5d88 - md5: 032d8030e4a24fe1f72c74423a46fb88 + size: 454919 + timestamp: 1774282149607 +- conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.7-pyhcf101f3_0.conda + sha256: 611882f7944b467281c46644ffde6c5145d1a7730388bcde26e7e86819b0998e + md5: 39894c952938276405a1bd30e4ce2caf depends: - - libgcc >=14 + - python >=3.10 + - python license: MIT license_family: MIT - purls: [] - size: 88088 - timestamp: 1753484092643 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-hc0523f8_10.conda - sha256: 32f77d565687a8241ebfb66fe630dcb197efc84f6a8b59df8260b1191b7deb2c - md5: ac79d51c73c8fbe6ef6e9067191b7f1a + purls: + - pkg:pypi/parso?source=hash-mapping + size: 82472 + timestamp: 1777722955579 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda + sha256: 5e6f7d161356fefd981948bea5139c5aa0436767751a6930cb1ca801ebb113ff + md5: 7a3bff861a6583f1889021facefc08b1 depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 - libgcc >=14 - - libstdcxx >=14 - - libsodium >=1.0.21,<1.0.22.0a0 - - krb5 >=1.22.2,<1.23.0a0 - license: MPL-2.0 - license_family: MOZILLA - purls: [] - size: 350773 - timestamp: 1772476818466 -- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - sha256: 569990cf12e46f9df540275146da567d9c618c1e9c7a0bc9d9cfefadaed20b75 - md5: c3655f82dcea2aa179b291e7099c1fcc - depends: - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD purls: [] - run_exports: - weak: - - zstd >=1.5.7,<1.6.0a0 - size: 614429 - timestamp: 1764777145593 -- conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda - sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 - md5: aaa2a381ccc56eac91d63b6c1240312f - depends: - - cpython - - python-gil - license: MIT - license_family: MIT - purls: [] - size: 8191 - timestamp: 1744137672556 -- conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda - sha256: 1307719f0d8ee694fc923579a39c0621c23fdaa14ccdf9278a5aac5665ac58e9 - md5: 74ac5069774cdbc53910ec4d631a3999 + size: 1222481 + timestamp: 1763655398280 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda + sha256: 04df2cee95feba440387f33f878e9f655521e69f4be33a0cd637f07d3d81f0f9 + md5: 1a30c42e32ca0ea216bd0bfe6f842f0b depends: - - pygments - - python >=3.9 + - bzip2 >=1.0.8,<2.0a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/accessible-pygments?source=hash-mapping - size: 1326096 - timestamp: 1734956217254 -- conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-1.0.0-pyhd8ed1ab_1.conda - sha256: 6c4456a138919dae9edd3ac1a74b6fbe5fd66c05675f54df2f8ab8c8d0cc6cea - md5: 1fd9696649f65fd6611fcdb4ffec738a + purls: [] + size: 1166552 + timestamp: 1763655534263 +- conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda + sha256: 3e9e02174edf02cb4bcdd75668ad7b74b8061791a3bc8bdb8a52ae336761ba3e + md5: 77eaf2336f3ae749e712f63e36b0f0a1 depends: - - python >=3.10 + - bzip2 >=1.0.8,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/alabaster?source=hash-mapping - size: 18684 - timestamp: 1733750512696 -- conda: https://conda.anaconda.org/conda-forge/noarch/apeye-1.4.1-pyhd8ed1ab_1.conda - sha256: b554d2d2fc869a5955ebb3e5c8aea5e13ec49363b782b08e1802e29c91beaebf - md5: 0f2a7ba1dfc3b6117cfd864d25fa86ce + purls: [] + size: 995992 + timestamp: 1763655708300 +- conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda + sha256: 202af1de83b585d36445dc1fda94266697341994d1a3328fabde4989e1b3d07a + md5: d0d408b1f18883a944376da5cf8101ea depends: - - apeye-core >=1.0.0b2 - - domdf-python-tools >=2.6.0 - - platformdirs >=2.3.0 + - ptyprocess >=0.5 - python >=3.9 - - requests >=2.24.0 - constrains: - - cachecontrol >=0.12.6 - license: LGPL-3.0-or-later - license_family: LGPL + license: ISC purls: - - pkg:pypi/apeye?source=hash-mapping - size: 95690 - timestamp: 1738250335247 -- conda: https://conda.anaconda.org/conda-forge/noarch/apeye-core-1.1.5-pyhd8ed1ab_1.conda - sha256: 3ee9787c3876c2ffb4b3c77ac73c0b28d67d18a376f4c952643cac95020a2a14 - md5: b60c08c6a0cbb505016075bb9e484e56 + - pkg:pypi/pexpect?source=hash-mapping + size: 53561 + timestamp: 1733302019362 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.3.0-py314h8ec4b1a_0.conda + sha256: bcab128df8980514061a78b9c67f5004954048f584da20df8c5a78de9e3f5abb + md5: 233e62a8eb894b79b5c93f4f8dec4dcd depends: - - domdf-python-tools >=2.6.0 - - idna >=2.5 - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/apeye-core?source=hash-mapping - size: 94258 - timestamp: 1738681346787 -- conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - sha256: 0658cac65071ace5beded633851681e6f0b381040c8ce313bbe2a0ab410c5072 - md5: b7d6244b9c7a660f10336645e73c2cd2 - license: BSD-3-Clause - license_family: BSD - purls: [] - run_exports: - strong: - - arm-variant * sbsa - size: 7126 - timestamp: 1742928603302 -- conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda - sha256: ee4da0f3fe9d59439798ee399ef3e482791e48784873d546e706d0935f9ff010 - md5: 9673a61a297b00016442e022d689faa6 - depends: - - python >=3.10 - constrains: - - astroid >=2,<5 - license: Apache-2.0 - license_family: Apache - purls: - - pkg:pypi/asttokens?source=hash-mapping - size: 28797 - timestamp: 1763410017955 -- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda - sha256: 1b6124230bb4e571b1b9401537ecff575b7b109cc3a21ee019f65e083b8399ab - md5: c6b0543676ecb1fb2d7643941fe375f2 - depends: - - python >=3.10 - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/attrs?source=hash-mapping - size: 64927 - timestamp: 1773935801332 -- conda: https://conda.anaconda.org/conda-forge/noarch/autodocsumm-0.2.15-pyhd8ed1ab_0.conda - sha256: 21cb40c7c5f47bf54d2722b1ab3c91f747ef2b80ba16ece058755371e5c6385b - md5: e51977d5fe34698e26a20950b8b449e6 - depends: - - python >=3.7 - - sphinx >=2.2,<10.0 - license: Apache-2.0 - license_family: APACHE + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libtiff >=4.7.1,<4.8.0a0 + - openjpeg >=2.5.4,<3.0a0 + - libxcb >=1.17.0,<2.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - python_abi 3.14.* *_cp314 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - lcms2 >=2.19.1,<3.0a0 + - tk >=8.6.13,<8.7.0a0 + license: HPND purls: - - pkg:pypi/autodocsumm?source=hash-mapping - size: 20495 - timestamp: 1774600916594 -- conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - sha256: a14a9ad02101aab25570543a59c5193043b73dc311a25650134ed9e6cb691770 - md5: f1976ce927373500cc19d3c0b2c85177 + - pkg:pypi/pillow?source=hash-mapping + size: 1108174 + timestamp: 1782912080163 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pillow-12.3.0-py314hac3e5ec_0.conda + sha256: 8d8c5f524a17e9e441cd25210daddb7a3c97d9316dea8493b2150a496b80ea77 + md5: ec3c5434d1b98093c53fa5a0c559b842 depends: - - python >=3.10 - python - constrains: - - pytz >=2015.7 - license: BSD-3-Clause - license_family: BSD + - python 3.14.* *_cp314 + - libgcc >=14 + - tk >=8.6.13,<8.7.0a0 + - python_abi 3.14.* *_cp314 + - openjpeg >=2.5.4,<3.0a0 + - libtiff >=4.7.1,<4.8.0a0 + - libjpeg-turbo >=3.1.4.1,<4.0a0 + - libfreetype >=2.14.3 + - libfreetype6 >=2.14.3 + - libxcb >=1.17.0,<2.0a0 + - zlib-ng >=2.3.3,<2.4.0a0 + - libwebp-base >=1.6.0,<2.0a0 + - lcms2 >=2.19.1,<3.0a0 + license: HPND purls: - - pkg:pypi/babel?source=hash-mapping - size: 7684321 - timestamp: 1772555330347 -- conda: https://conda.anaconda.org/conda-forge/noarch/backports.strenum-1.3.1-haf276df_2.conda - noarch: python - sha256: b3d3ae7769fd5a454417ce791b72cfeab77c85cb532e3d0c41d2bf70b07b5416 - md5: 1e58854a1a742a8d94d862b626cf4057 - depends: - - python >=3.12 - license: PSF-2.0 - license_family: PSF - purls: [] - size: 9849 - timestamp: 1736184616857 -- conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda - noarch: generic - sha256: c31ab719d256bc6f89926131e88ecd0f0c5d003fe8481852c6424f4ec6c7eb29 - md5: a2ac7763a9ac75055b68f325d3255265 - depends: - - python >=3.14 - license: BSD-3-Clause AND MIT AND EPL-2.0 - purls: [] - size: 7514 - timestamp: 1767044983590 -- conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - sha256: bf1e71c3c0a5b024e44ff928225a0874fc3c3356ec1a0b6fe719108e6d1288f6 - md5: 5267bef8efea4127aacd1f4e1f149b6e + - pkg:pypi/pillow?source=hash-mapping + size: 1077965 + timestamp: 1782912107475 +- conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.1.2-pyh145f28c_0.conda + sha256: 9e673d3c6003f416df11670a14b026a04e3a45ebec55357987e15b860f138f2a + md5: 733cc07ed34162ac50b936464b163366 depends: - - python >=3.10 - - soupsieve >=1.2 - - typing-extensions + - python >=3.13.0a0 license: MIT license_family: MIT purls: - - pkg:pypi/beautifulsoup4?source=hash-mapping - size: 90399 - timestamp: 1764520638652 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda - sha256: 37950019c59b99585cee5d30dbc2cc9696ed4e11f5742606a4db1621ed8f94d6 - md5: f001e6e220355b7f87403a4d0e5bf1ca - depends: - - __win - license: ISC - purls: [] - size: 147734 - timestamp: 1772006322223 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - sha256: 67cc7101b36421c5913a1687ef1b99f85b5d6868da3abbf6ec1a4181e79782fc - md5: 4492fd26db29495f0ba23f146cd5638d - depends: - - __unix - license: ISC - purls: [] - size: 147413 - timestamp: 1772006283803 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-h4c7d964_0.conda - sha256: 86981d764e4ea1883409d30447ff9da46127426d31a63df08315aaded768e652 - md5: c9b86eece2f944541b86441c94117ab3 - depends: - - __win - license: ISC - purls: [] - size: 130182 - timestamp: 1779289939595 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda - sha256: 9812a303a1395e1dafbd92e5bc8a1ff6013bcbba0a09c7f03a8d23e43560aa9b - md5: 489b8e97e666c93f68fdb35c3c9b957f + - pkg:pypi/pip?source=compressed-mapping + size: 1202377 + timestamp: 1780262809860 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_2.conda + sha256: 9e5b5be056820ade8b09ef73cf9f4bea037eb9887145d0297ac99e0add88878d + md5: 7cd77fef4da3e1ca9484394616cb71f1 depends: - - __unix - license: ISC + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MIT + license_family: MIT purls: [] - size: 129868 - timestamp: 1779289852439 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda - sha256: 7f458e4a82514d7bebbfef23d92817794a16aaf1c748a15f04870d4fb49aeab2 - md5: b9696b2cf00dfeec138c70cee38ed192 + size: 376220 + timestamp: 1784286827180 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_2.conda + sha256: 414acad3e460cfcf6bf3a764c4b4837359bda9fdc350a85b560e344a9e2306a5 + md5: af8ab93369e53542b135dab29eca49e8 depends: - - __win - license: ISC + - libstdcxx >=14 + - libgcc >=14 + license: MIT + license_family: MIT purls: [] - run_exports: {} - size: 129352 - timestamp: 1781709016515 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - sha256: f8e3c730fa14ee3f170493779f06522c4acf89169f43db4f039727709b6419cf - md5: a9965dd99f683c5f444428f896635716 + size: 304146 + timestamp: 1784286832656 +- conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_2.conda + sha256: f37fb21952bd4297f8c7d78e2f256647da2b4ad4e1df097d49ebff8a40275cab + md5: df8da7fe89bdc91b880df69a8eb1c37b depends: - - __unix - license: ISC + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: MIT + license_family: MIT purls: [] - run_exports: {} - size: 128866 - timestamp: 1781708962055 -- conda: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.3-pyha770c72_0.conda - sha256: ec791bb6f1ef504411f87b28946a7ae63ed1f3681cefc462cf1dfdaf0790b6a9 - md5: 241ef6e3db47a143ac34c21bfba510f1 - depends: - - msgpack-python >=0.5.2,<2.0.0 - - python >=3.9 - - requests >=2.16.0 - license: Apache-2.0 - license_family: Apache - purls: - - pkg:pypi/cachecontrol?source=hash-mapping - size: 23868 - timestamp: 1746103006628 -- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - sha256: a6b118fd1ed6099dc4fc03f9c492b88882a780fadaef4ed4f93dc70757713656 - md5: 765c4d97e877cdbbb88ff33152b86125 + size: 257105 + timestamp: 1784286884376 +- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.11.0-pyhcf101f3_0.conda + sha256: a4b8c7d3b3703d10f93187986d59aec09b22033978945845899beb7f849a7be6 + md5: 1fadaa6dd1d03d062075f84157ac2cc7 depends: - python >=3.10 - license: ISC + - python + license: MIT + license_family: MIT purls: - - pkg:pypi/certifi?source=hash-mapping - size: 151445 - timestamp: 1772001170301 -- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda - sha256: 3f9483d62ce24ecd063f8a5a714448445dc8d9e201147c46699fc0033e824457 - md5: a9167b9571f3baa9d448faa2139d1089 + - pkg:pypi/platformdirs?source=compressed-mapping + size: 26632 + timestamp: 1784661349391 +- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + sha256: e14aafa63efa0528ca99ba568eaf506eb55a0371d12e6250aaaa61718d2eb62e + md5: d7585b6550ad04c8c5e21097ada2888e depends: - - python >=3.10 + - python >=3.9 + - python license: MIT license_family: MIT purls: - - pkg:pypi/charset-normalizer?source=hash-mapping - size: 58872 - timestamp: 1775127203018 -- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyh8f84b5b_1.conda - sha256: 38cfe1ee75b21a8361c8824f5544c3866f303af1762693a178266d7f198e8715 - md5: ea8a6c3256897cc31263de9f455e25d9 + - pkg:pypi/pluggy?source=hash-mapping + size: 25877 + timestamp: 1764896838868 +- conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda + sha256: 4817651a276016f3838957bfdf963386438c70761e9faec7749d411635979bae + md5: edb16f14d920fb3faf17f5ce582942d6 depends: - python >=3.10 - - __unix - - python + - wcwidth + constrains: + - prompt_toolkit 3.0.52 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/click?source=hash-mapping - size: 97676 - timestamp: 1764518652276 -- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.3.1-pyha7b4d00_1.conda - sha256: c3bc9a49930fa1c3383a1485948b914823290efac859a2587ca57a270a652e08 - md5: 6cd3ccc98bacfcc92b2bd7f236f01a7e + - pkg:pypi/prompt-toolkit?source=hash-mapping + size: 273927 + timestamp: 1756321848365 +- conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_0.conda + sha256: f15574ed6c8c8ed8c15a0c5a00102b1efe8b867c0bd286b498cd98d95bd69ae5 + md5: 4f225a966cfee267a79c5cb6382bd121 depends: - - python >=3.10 - - colorama - - __win - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/click?source=hash-mapping - size: 96620 - timestamp: 1764518654675 -- conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.2-pyhcf101f3_1.conda - sha256: 4c287c2721d8a34c94928be8fe0e9a85754e90189dd4384a31b1806856b50a67 - md5: 61b8078a0905b12529abc622406cb62c + - pkg:pypi/psutil?source=hash-mapping + size: 231303 + timestamp: 1769678156552 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/psutil-7.2.2-py314h2e8dab5_0.conda + sha256: ebef2c2e8f84d6d02baf3317d0c1c7c737f2f0bc8f28a8a2a2f8e606b3dc5514 + md5: 4d45bdf8795717e336bfa2c6e0e7847d depends: - - python >=3.10 - python - license: BSD-3-Clause - license_family: BSD - size: 27353 - timestamp: 1765303462831 -- conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 - md5: 962b9857ee8e7018c22f2776ffa0b2d7 - depends: - - python >=3.9 + - python 3.14.* *_cp314 + - libgcc >=14 + - python_abi 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/colorama?source=hash-mapping - size: 27011 - timestamp: 1733218222191 -- conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda - sha256: 576a44729314ad9e4e5ebe055fbf48beb8116b60e58f9070278985b2b634f212 - md5: 2da13f2b299d8e1995bafbbe9689a2f7 + - pkg:pypi/psutil?source=hash-mapping + size: 236068 + timestamp: 1769678155154 +- conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_0.conda + sha256: 17c8274ce5a32c9793f73a5a0094bd6188f3a13026a93147655143d4df034214 + md5: fd539ac231820f64066839251aa9fa48 depends: - - python >=3.9 - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/comm?source=hash-mapping - size: 14690 - timestamp: 1753453984907 -- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.3-py314hd8ed1ab_101.conda - noarch: generic - sha256: 91b06300879df746214f7363d6c27c2489c80732e46a369eb2afc234bcafb44c - md5: 3bb89e4f795e5414addaa531d6b1500a + - pkg:pypi/psutil?source=hash-mapping + size: 249950 + timestamp: 1769678167309 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda + sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 + md5: b3c17d95b5a10c6e64a21fa17573e70e depends: - - python >=3.14,<3.15.0a0 - - python_abi * *_cp314 - license: Python-2.0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 8252 + timestamp: 1726802366959 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda + sha256: 977dfb0cb3935d748521dd80262fe7169ab82920afd38ed14b7fee2ea5ec01ba + md5: bb5a90c93e3bac3d5690acf76b4a6386 + depends: + - libgcc >=13 + license: MIT + license_family: MIT purls: [] - size: 50078 - timestamp: 1770674447292 -- conda: https://conda.anaconda.org/conda-forge/noarch/cssutils-2.11.1-pyhd8ed1ab_0.conda - sha256: b9006cbd28ed63a6461717cb9234e1d1f39441d9db0493f55ee0ca72f3577833 - md5: 99cf98eea444365238fb6ee8f518ef19 + size: 8342 + timestamp: 1726803319942 +- conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda + sha256: a7713dfe30faf17508ec359e0bc7e0983f5d94682492469bd462cdaae9c64d83 + md5: 7d9daffbb8d8e0af0f769dbbcd173a54 depends: - - more-itertools - python >=3.9 - license: LGPL-3.0-only - license_family: LGPL + license: ISC purls: - - pkg:pypi/cssutils?source=hash-mapping - size: 284664 - timestamp: 1747322864144 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-12.9.27-ha770c72_0.conda - sha256: 2ee3b9564ca326226e5cda41d11b251482df8e7c757e333d28ec75213c75d126 - md5: 87ff6381e33b76e5b9b179a2cdd005ec - depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1150650 - timestamp: 1746189825236 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.3.1-ha770c72_0.conda - sha256: 66d95390d49b989f550ede42dfb3f6e82b6b729493f0843e13cd041a91682730 - md5: 56501e8a53d75afef7a2e3ca723d7569 + - pkg:pypi/ptyprocess?source=hash-mapping + size: 19457 + timestamp: 1733302371990 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pugixml-1.15-h3f63f65_0.conda + sha256: 23c98a5000356e173568dc5c5770b53393879f946f3ace716bbdefac2a8b23d2 + md5: b11a4c6bf6f6f44e5e143f759ffa2087 depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 1472271 - timestamp: 1779895496841 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda - sha256: 51106d05567031d9b10a26bcaea95022c9ae91ce44758df5dec86d46985bef61 - md5: c7aab5efb8e8151a038f9eb271f23dcf + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + purls: [] + size: 118488 + timestamp: 1736601364156 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pugixml-1.15-h6ef32b0_0.conda + sha256: adc17205a87e064508d809fe5542b7cf49f9b9a458418f8448e2fc895fcd04f3 + md5: 53e14f45d38558aa2b9a15b07416e472 depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1475805 - timestamp: 1782773759292 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-12.9.27-h579c4fd_0.conda - sha256: b4efaee8fa95b9ec97a462dc343914a138ece704895e33caa52ac55968f7adfa - md5: 71e4d87a72bf003bd05f05a502288b2a + - libgcc >=13 + - libstdcxx >=13 + license: MIT + license_family: MIT + purls: [] + size: 113424 + timestamp: 1737355438448 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-h9a6aba3_3.conda + sha256: 0a0858c59805d627d02bdceee965dd84fde0aceab03a2f984325eec08d822096 + md5: b8ea447fdf62e3597cb8d2fae4eb1a90 depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1149299 - timestamp: 1746189919921 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.3.1-h579c4fd_0.conda - sha256: f35385d6e5aca20274ae3d97f7859dae903b61ed5353ed68595d234beb774dfe - md5: e4cee0d90174186e1bdc9e01d6c66b90 + - __glibc >=2.17,<3.0.a0 + - dbus >=1.16.2,<2.0a0 + - libgcc >=14 + - libglib >=2.86.1,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libsndfile >=1.2.2,<1.3.0a0 + - libsystemd0 >=257.10 + - libxcb >=1.17.0,<2.0a0 + constrains: + - pulseaudio 17.0 *_3 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 750785 + timestamp: 1763148198088 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pulseaudio-client-17.0-hcf98165_3.conda + sha256: bb55db0dfe120f6063ad3ac74524b37c0bf92c6002cc059c31a5506f96a67f22 + md5: 8d73cfc699cd0a5ed2ea04bfb73eee0a depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 1481900 - timestamp: 1779895522474 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.4.1-h579c4fd_0.conda - sha256: 2f9d85d0297b0c461518e5665351d73ffc5f7c9e2aa8b6e3e1cd9498bdd31cd0 - md5: 29bc81fe5927466cd27f2e1151e8502a + - dbus >=1.16.2,<2.0a0 + - libgcc >=14 + - libglib >=2.86.1,<3.0a0 + - libiconv >=1.18,<2.0a0 + - libsndfile >=1.2.2,<1.3.0a0 + - libsystemd0 >=257.10 + - libxcb >=1.17.0,<2.0a0 + constrains: + - pulseaudio 17.0 *_3 + license: LGPL-2.1-or-later + license_family: LGPL + purls: [] + size: 760306 + timestamp: 1763148231117 +- conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda + sha256: 71bd24600d14bb171a6321d523486f6a06f855e75e547fa0cb2a0953b02047f0 + md5: 3bfdfb8dbcdc4af1ae3f9a8eb3948f04 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1480995 - timestamp: 1782773779842 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-12.9.27-h57928b3_0.conda - sha256: 681eb1d9afd596e04329a82b04734c0e37c6ecb94b3380f3a378d61983e2a8cc - md5: 8f897dca7111f3bb4ded97ba6947b186 + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pure-eval?source=hash-mapping + size: 16668 + timestamp: 1733569518868 +- conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda + sha256: 6d8f03c13d085a569fde931892cded813474acbef2e03381a1a87f420c7da035 + md5: 46830ee16925d5ed250850503b5dc3a8 depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1139649 - timestamp: 1746189858434 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.3.1-h57928b3_0.conda - sha256: d730af2f1553511eab97a43522cae5c71ed618c65821084571a2d0655a426f4b - md5: 48f0b2f8be52ff044598069b4753f5bc + - python >=3.9 + license: MIT + license_family: MIT + size: 25766 + timestamp: 1733236452235 +- conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.0.1-pyh7a1b43c_0.conda + sha256: 2558727093f13d4c30e124724566d16badd7de532fd8ee7483628977117d02be + md5: 70ece62498c769280f791e836ac53fff depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 1462453 - timestamp: 1779895589763 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.4.1-h57928b3_0.conda - sha256: cc1524d3d25991ba509aa36b43c9b30ac1cde43820a4b318dbdd729e0ff029fe - md5: 64ff59f43bc9a8838324c8527d4d509d + - python >=3.8 + - pybind11-global ==3.0.1 *_0 + - python + constrains: + - pybind11-abi ==11 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pybind11?source=hash-mapping + size: 232875 + timestamp: 1755953378112 +- conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-11-hc364b38_1.conda + sha256: 9e7fe12f727acd2787fb5816b2049cef4604b7a00ad3e408c5e709c298ce8bf1 + md5: f0599959a2447c1e544e216bddf393fa + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 14671 + timestamp: 1752769938071 +- conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.0.1-pyhc7ab6ef_0.conda + sha256: f11a5903879fe3a24e0d28329cb2b1945127e85a4cdb444b45545cf079f99e2d + md5: fe10b422ce8b5af5dab3740e4084c3f9 depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1467923 - timestamp: 1782773832153 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-12.9.86-ha770c72_2.conda - sha256: e6257534c4b4b6b8a1192f84191c34906ab9968c92680fa09f639e7846a87304 - md5: 79d280de61e18010df5997daea4743df + - python >=3.8 + - __unix + - python + constrains: + - pybind11-abi ==11 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pybind11-global?source=hash-mapping + size: 228871 + timestamp: 1755953338243 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyclibrary-0.2.2-pyhd8ed1ab_1.conda + sha256: 210a7beee6dce5e57d4d4166b6fd93693ede3e213510efa7373103f10c18d057 + md5: 0cda5dbfd261b08292fcf16429662b0a depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 94239 - timestamp: 1753975242354 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.33-ha770c72_0.conda - sha256: bd3381629964d1d00245ae9e4a7918c35e4967d216a34aad013f0ce387065b05 - md5: 0c95fd4e823baffe0f8885f4eef00ce7 + - pyparsing >=2.3.1,<4 + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyclibrary?source=hash-mapping + size: 437505 + timestamp: 1734953615203 +- conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda + sha256: e27e0473fc6723311a0bd48b89b616fa1b996a2f7a2b555338cbbcfb9c640568 + md5: 9c5491066224083c41b6d5635ed7107b depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 116655 - timestamp: 1779905079263 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.73-ha770c72_0.conda - sha256: 94894c81f0257fc8a7daee9e18f885ce5e26adf1494e05b57ffb0660d59096cd - md5: 05b21494055e653903a447c506e091c8 + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pycparser?source=compressed-mapping + size: 55886 + timestamp: 1779293633166 +- conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.19.0-pyhcf101f3_0.conda + sha256: 6deac8ece8b8e243634c13837967b253b8c9b09ef39beaaff494584ee05465c7 + md5: 87921f66a4dc56ce92e4ff13be5f63dc depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 116550 - timestamp: 1782782846502 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - sha256: 1db1f3ff4b0f445ce4064eb323733f7612ce28bc879dd6849e162b1504b7474a - md5: 86be43a4154301b74f823bc6fe476629 + - accessible-pygments + - babel + - beautifulsoup4 + - docutils !=0.17.0 + - pygments >=2.7 + - python >=3.10 + - sphinx >=8.0 + - typing_extensions + - python + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pydata-sphinx-theme?source=compressed-mapping + size: 1312203 + timestamp: 1781528227244 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.15-pyhd8ed1ab_0.conda + sha256: 8ca25ae8d49e85e76b0f86e265cb0298874cb7c2e65b2620defaa80ad49560dd + md5: d46ece489f2dcce81d7af736025a9e42 depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 94794 - timestamp: 1753975199249 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.33-h579c4fd_0.conda - sha256: 129008eb8a49e1c0edbb4ba33855f46aab879b975fc427c5990c945fd371d89e - md5: b865ed5c0162925511f48e5a425e42bb + - ffmpeg >=4.0.0 + - freetype + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pyglet?source=hash-mapping + size: 729762 + timestamp: 1782670710304 +- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + sha256: cf70b2f5ad9ae472b71235e5c8a736c9316df3705746de419b59d442e8348e86 + md5: 16c18772b340887160c79a6acc022db0 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 116665 - timestamp: 1779905122757 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - sha256: f7c7c73110c0d762030165b634eafbd921200d982ee3c34d42021838bee544dc - md5: 802c7fb645cef271966164736a763523 + - python >=3.10 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/pygments?source=hash-mapping + size: 893031 + timestamp: 1774796815820 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda + sha256: 417fba4783e528ee732afa82999300859b065dc59927344b4859c64aae7182de + md5: 3687cc0b82a8b4c17e1f0eb7e47163d5 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 116641 - timestamp: 1782782854071 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-12.9.86-h57928b3_2.conda - sha256: 2fccde18cafec3cdb6697f37c576567ac623dc69531e2a81bbc83d8a86a82d1f - md5: 569c55bd368307e48191a2ed54c64428 + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/pyparsing?source=hash-mapping + size: 110893 + timestamp: 1769003998136 +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda + sha256: d016e04b0e12063fbee4a2d5fbb9b39a8d191b5a0042f0b8459188aedeabb0ca + md5: e2fd202833c4a981ce8a65974fe4abd1 depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 95452 - timestamp: 1753975640812 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.33-h57928b3_0.conda - sha256: ed73e5072b9f4e603bb43f30988dde675174c38e45ce8120a39e6125283b3563 - md5: 7207fca55f102141c1e038577a153c1e + - __win + - python >=3.9 + - win_inet_pton + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pysocks?source=hash-mapping + size: 21784 + timestamp: 1733217448189 +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 + md5: 461219d1a5bd61342293efa2c0c90eac depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - size: 117452 - timestamp: 1779905164275 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.73-h57928b3_0.conda - sha256: b1e55dca7962c05b3ed28025c4e650bcf11b6e775c374fe98f8bc58699b02baf - md5: 653dd441bddb625b0f12adfdf846cc14 + - __unix + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/pysocks?source=hash-mapping + size: 21085 + timestamp: 1733217331982 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.1.1-pyhc364b38_2.conda + sha256: 430051d80765207a7d782b2b188230ba1489d35c6e75fd9903f76cb9fda4af16 + md5: 64c98a12c4e23eb238bf66bbecafdf3c depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 116958 - timestamp: 1782782896721 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-12.9.79-h3f2d84a_0.conda - sha256: ffe86ed0144315b276f18020d836c8ef05bf971054cf7c3eb167af92494080d5 - md5: 86e40eb67d83f1a58bdafdd44e5a77c6 + - colorama + - pygments >=2.7.2 + - python >=3.10 + - iniconfig >=1.0.1 + - packaging >=22 + - pluggy >=1.5,<2 + - tomli >=1 + - exceptiongroup >=1 + - python + constrains: + - pytest-faulthandler >=2 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pytest?source=compressed-mapping + size: 306724 + timestamp: 1782127176429 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda + sha256: 2f2229415a6e5387c1faaedf442ea8c07471cb2bf5ad1007b9cfb83ea85ca29a + md5: 0e7294ed4af8b833fcd2c101d647c3da depends: - - cuda-cccl_linux-64 - - cuda-cudart-static_linux-64 - - cuda-cudart_linux-64 - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=12.9.79,<13.0a0 - size: 389140 - timestamp: 1749218427266 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - sha256: d95f1b404119e3f72edb7ac5dbd4443e2d7d040f7d68c3905c0dd7ad78f11311 - md5: 4165013e8d24dd61774458e6f2e36c32 + - py-cpuinfo + - pytest >=8.1 + - python >=3.10 + license: BSD-2-Clause + license_family: BSD + size: 43976 + timestamp: 1762716480208 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda + sha256: bd1953e4bc20ffd52cfee41b27b3a781ca6e281004d0dd59e2dd60b0192c7a86 + md5: 203b5d3f85a47940f7ec6b6e1747786e depends: - - cuda-cccl_linux-64 - - cuda-cudart-static_linux-64 - - cuda-cudart_linux-64 - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=13.3.29,<14.0a0 - size: 405020 - timestamp: 1779898430134 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-12.9.79-h3ae8b8a_0.conda - sha256: ad64a1ecfc933172dbc6407d71b1abb78dc7ffcd5cc871baee238350307a7c0c - md5: 60e07c05a51d5549bec1e7ee38849feb + - importlib-metadata >=3.6.0 + - pytest + - python >=3.6 + license: MIT + license_family: MIT + size: 14133 + timestamp: 1692131735622 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda + sha256: cea7b0555c22a734d732f98a3b256646f3d82d926a35fa2bfd16f11395abd83b + md5: 9e8871313f26d8b6f0232522b3bc47a5 depends: - - arm-variant * sbsa - - cuda-cccl_linux-aarch64 - - cuda-cudart-static_linux-aarch64 - - cuda-cudart_linux-aarch64 - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=12.9.79,<13.0a0 - size: 388797 - timestamp: 1749218354725 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda - sha256: 4e15b3a139285d1e86691d5987e7bf4b9e8cbce1df0af206e0c95299a8015644 - md5: f3855f0a74455604f9950bf91ce6d846 + - pytest >=5 + - python >=3.9 + license: MPL-2.0 + license_family: MOZILLA + size: 10537 + timestamp: 1744061283541 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.4-pyhd8ed1ab_0.conda + sha256: d4e2952eb6fd30c2f2b939d6ebbcf27bbc53d543d5605830da2a57b37c28501c + md5: 332b998a40d179d02787c9d7678b6ffb depends: - - arm-variant * sbsa - - cuda-cccl_linux-aarch64 - - cuda-cudart-static_linux-aarch64 - - cuda-cudart_linux-aarch64 - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=13.3.29,<14.0a0 - size: 403650 - timestamp: 1779898443931 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-12.9.79-he0c23c2_0.conda - sha256: e022d36a333420130faf6473c49f8dab54bf976cf320577ffb06db0a0797b734 - md5: 3c3e2f6b5455783fd332a072d632ea78 + - packaging >=17.1 + - pytest !=8.2.2,>=8.1 + - python >=3.10 + license: MPL-2.0 + license_family: OTHER + size: 22855 + timestamp: 1782920468250 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.13-hd63d673_0_cpython.conda + sha256: a44655c1c3e1d43ed8704890a91e12afd68130414ea2c0872e154e5633a13d7e + md5: 7eccb41177e15cc672e1babe9056018e depends: - - cuda-cccl_win-64 - - cuda-cudart-static_win-64 - - cuda-cudart_win-64 - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=12.9.79,<13.0a0 - size: 1190184 - timestamp: 1749218971019 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-13.3.29-hac47afa_0.conda - sha256: f77605b230a88d089e4294b9b4d650dd4ec4841a0bec9f528b6b4a736299dcb1 - md5: d387bc63f2d520cb434489e41a33614d + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.7.4,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - liblzma >=5.8.2,<6.0a0 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.51.2,<4.0a0 + - libuuid >=2.41.3,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.5,<4.0a0 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + purls: [] + size: 31608571 + timestamp: 1772730708989 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda + build_number: 100 + sha256: 6d28ac2b061179deb434d3d57afa98ffd20ec3c5d44ab8048a1ca33424b22d38 + md5: 0b9b2f83b5b600e1ac38becde8d0dd44 depends: - - cuda-cccl_win-64 - - cuda-cudart-static_win-64 - - cuda-cudart_win-64 - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1548117 - timestamp: 1779898493787 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-12.9.79-h3f2d84a_0.conda - sha256: d435f8a19b59b52ce460ee3a6bfd877288a0d1d645119a6ba60f1c3627dc5032 - md5: b87bf315d81218dd63eb46cc1eaef775 + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.2,<4.0a0 + - libuuid >=2.42.1,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - openssl >=3.5.7,<4.0a0 + - python_abi 3.14.* *_cp314 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 + purls: [] + size: 36717183 + timestamp: 1781255094700 + python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-hf9ea5aa_0_cp314t.conda + sha256: a159d818da436041a3fcdb6681b1a3b12ed78338519662de31af03d891763241 + md5: 054621389e1cfbef617475720307fa8b depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1148889 - timestamp: 1749218381225 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda - sha256: fa920f2c2154ea2ace2d55457e43af8e7bfc2c94fa5ec7276792ad411d1011d1 - md5: 7d4fe2a79d971522b3ad68b772c197eb + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.2,<4.0a0 + - libuuid >=2.42.1,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - openssl >=3.5.7,<4.0a0 + - python_abi 3.14.* *_cp314t + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - zstd >=1.5.7,<1.6.0a0 + track_features: + - py_freethreading + license: Python-2.0 + purls: [] + size: 47723357 + timestamp: 1781255054001 + python_site_packages_path: lib/python3.14t/site-packages +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.12.13-h91f4b29_0_cpython.conda + sha256: 61933478813f5fd96c89a00dd964201b0266d71d2e3bc4dd5679354056e46948 + md5: 8aed8fdbbc03a5c9f455d20ce75a9dce depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1126340 - timestamp: 1779898412056 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-12.9.79-h3ae8b8a_0.conda - sha256: d4be038bad9abf0eac1e88dc57c8db6a469db8eb5d7c281085dfbb018ef84212 - md5: 52498fedeb43bbd4c45f84a0fb722d21 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-aarch64 >=2.36.1 + - libexpat >=2.7.4,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - liblzma >=5.8.2,<6.0a0 + - libnsl >=2.0.1,<2.1.0a0 + - libsqlite >=3.51.2,<4.0a0 + - libuuid >=2.41.3,<3.0a0 + - libxcrypt >=4.4.36 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.5,<4.0a0 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + purls: [] + size: 13757191 + timestamp: 1772728951853 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda + build_number: 100 + sha256: dd56fd95db3cb49a69fbe41df80afc8bd5214daa829bcd3930de80f0408ba5eb + md5: 416c74941d13d9f2b9e68b1a900f7f50 depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1152498 - timestamp: 1749218333554 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda - sha256: efccfa33242cc65deb11312f46244da2e07ba8332352d31f0565e8243215fe09 - md5: 464a04d3d8ffcba349f4e21553dfbcdd - depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 1133087 - timestamp: 1779898428591 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-12.9.79-he0c23c2_0.conda - sha256: 6a3410cd7ce07955cb705801055ef129ebee1cd6390c6fe9e5f607b67c3dba36 - md5: 0dd152a1493d90356037604a865f050f - depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 354611 - timestamp: 1749218544740 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-13.3.29-hac47afa_0.conda - sha256: c837c4eaadbca4426f93ff99b4a0f05ca199f0fb43ec0eac4bd30a2cec4257d0 - md5: 999b16444442cf6d914cecef070d13de - depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 83026 - timestamp: 1779898478182 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-12.9.79-h3f2d84a_0.conda - sha256: 6cde0ace2b995b49d0db2eefb7bc30bf00ffc06bb98ef7113632dec8f8907475 - md5: 64508631775fbbf9eca83c84b1df0cae - depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 197249 - timestamp: 1749218394213 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - sha256: a86028f94acf37b17ca2280734ae9dcc407cdf68a9c400102d323a3b15e52f0b - md5: 10949c6dfe9157fedb19170bd6e0b835 - depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - run_exports: {} - size: 206064 - timestamp: 1779898416941 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-12.9.79-h3ae8b8a_0.conda - sha256: 4900ff2f000a4f8a70a7bc8576469640aa6590618fa9e73c84e066e025dcb760 - md5: cc2459ad427431e089d78d760cf24437 - depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 212993 - timestamp: 1749218341193 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - sha256: 15f0614bd0ae66c43148539d1c7cd4bbbd1b13aa14045a2339df5737e3d6e36e - md5: 4a7f98cadd8be6b7dcce34764fb38997 - depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-aarch64 >=2.36.1 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.2,<4.0a0 + - libuuid >=2.42.1,<3.0a0 + - libzlib >=1.3.2,<2.0a0 + - ncurses >=6.6,<7.0a0 + - openssl >=3.5.7,<4.0a0 + - python_abi 3.14.* *_cp314 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 purls: [] - run_exports: {} - size: 222441 - timestamp: 1779898433566 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-12.9.79-he0c23c2_0.conda - sha256: 6a89a53cdbcfafa0bb55abee1b58492c6a9a28e688abe04f48f0d01649c5f3e4 - md5: 71c9c2ab52226f990f268164381d8494 - depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23260 - timestamp: 1749218569458 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-13.3.29-hac47afa_0.conda - sha256: 3b858e8593d00fa36a6786d1c3d981369f84ae68d3700349dba4c1e4d779c904 - md5: f0253958e16223aabcc8b5561a6f98a7 - depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24659 - timestamp: 1779898481919 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_linux-64-12.9.86-he91c749_2.conda - sha256: a1672a34439a72869de9e011e935d41b62fc8dfb1a2700e85ed8a7a129b79981 - md5: 19d4e090217f0ea89d30bedb7461c048 - depends: - - cuda-crt-dev_linux-64 12.9.86 ha770c72_2 - - cuda-nvvm-dev_linux-64 12.9.86 ha770c72_2 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=6 - - libnvptxcompiler-dev_linux-64 12.9.86 ha770c72_2 - constrains: - - gcc_impl_linux-64 >=6,<15.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 28121 - timestamp: 1753975535813 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_linux-aarch64-12.9.86-h4310d6a_2.conda - sha256: f4b2917f38867dd1ad9cfb029c790cfdbee89f79919cd43b7ce0142cc77bfd35 - md5: e508550bd3d76ef97eaf5aab9ca757cd + size: 34900936 + timestamp: 1781254861576 + python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda + sha256: a02b446d8b7b167b61733a3de3be5de1342250403e72a63b18dac89e99e6180e + md5: 2956dff38eb9f8332ad4caeba941cfe7 depends: - - arm-variant * sbsa - - cuda-crt-dev_linux-aarch64 12.9.86 h579c4fd_2 - - cuda-nvvm-dev_linux-aarch64 12.9.86 h579c4fd_2 - - cuda-version >=12.9,<12.10.0a0 - - libgcc >=6 - - libnvptxcompiler-dev_linux-aarch64 12.9.86 h579c4fd_2 + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.7.4,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - liblzma >=5.8.2,<6.0a0 + - libsqlite >=3.51.2,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 constrains: - - gcc_impl_linux-aarch64 >=6,<15.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 28252 - timestamp: 1753975422031 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_win-64-12.9.86-h36c15f3_2.conda - sha256: e50255fe30f60135414e8b657c4ffdb12938af06463c959280eceb7166f69eb5 - md5: 20c8a059c5175ab804e7fc94213eb464 - depends: - - cuda-crt-dev_win-64 12.9.86 h57928b3_2 - - cuda-nvvm-dev_win-64 12.9.86 h57928b3_2 - - cuda-version >=12.9,<12.10.0a0 - - libnvptxcompiler-dev_win-64 12.9.86 h57928b3_2 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23452957 - timestamp: 1753976361068 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-12.9.86-ha770c72_2.conda - sha256: 522722dcaffd133e0c7500c69dc70e21ac34d6762dcbaabfe847439f944028f0 - md5: 7b386291414c7eea113d25ac28a33772 - depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27096 - timestamp: 1753975261562 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.33-ha770c72_0.conda - sha256: a7eada853603adf6bed7022384b2b4ddb6d27b348a23a271f75caefa141ea954 - md5: b1b8dcad428089c6ddc16e0f4ac2631d - depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement + - python_abi 3.12.* *_cp312 + license: Python-2.0 purls: [] - size: 28476 - timestamp: 1779905085657 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda - sha256: 64859da589e9d4512b564d813273407b30a4213238f787ef958b84a7960cf469 - md5: ad71cad219a0ba0234e5592a279e8b3f - depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27969 - timestamp: 1782782853086 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - sha256: 5f27299818ecef44d6cf46a99465671744f6074c14618b5f8491a03a62942a7f - md5: c59b036058d7bf78ac0a99618c321e85 - depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27218 - timestamp: 1753975206503 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.33-h579c4fd_0.conda - sha256: 68c76156498287e1fcffd5d0fb2a83b99b570e3efacf2e9416dfc9a356384738 - md5: 89a0f306085d404e6e774edc5d812679 + size: 15840187 + timestamp: 1772728877265 +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda + build_number: 100 + sha256: f1acb89cb1a6bec9a94ae9f8e7411839de009cd64d3ac6a6aec4f3d8a481099a + md5: 8333e3ca6f8d1ebcd30b678dd53f0a25 depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.2,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + - python_abi 3.14.* *_cp314 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 purls: [] - size: 28720 - timestamp: 1779905125664 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - sha256: 38718cc1669374cbc6442d727c0fa7f90d9a5d11c4c8d32ea75da309d28eadb1 - md5: 8326b68628d6d40a0cab0f6751d6a6d8 - depends: - - arm-variant * sbsa - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27935 - timestamp: 1782782857355 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-12.9.86-h57928b3_2.conda - sha256: 455dbf0ec81efdbd40c0387d82c77689721f6d34b6e7694ca0d51bad9392eddc - md5: 23f7e70c03eabd2139b5e659c8e188b4 - depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27284 - timestamp: 1753975714790 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.33-h57928b3_0.conda - sha256: 295a4555e021ec3d4a35009a46b9a190c24e33f27e54e2575472c332fd52f204 - md5: c437c34990ce67cd1defa7f98a674417 + size: 18481352 + timestamp: 1781256034828 + python_site_packages_path: Lib/site-packages +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h7c1dbca_0_cp314t.conda + sha256: c53df5f2e8135cb3443279fd6b4de66ba81a20ee03188f7afc2affb711eb78cd + md5: e6cd651d30b56b0cce64b626c209dc30 depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - liblzma >=5.8.3,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.53.2,<4.0a0 + - libzlib >=1.3.2,<2.0a0 + - openssl >=3.5.7,<4.0a0 + - python_abi 3.14.* *_cp314t + - tk >=8.6.13,<8.7.0a0 + - tzdata + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 purls: [] - size: 28779 - timestamp: 1779905174253 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.73-h57928b3_0.conda - sha256: 400fa3aa271496bd173a3bb93a0ec8819fc73c795223156b14dcab9a7d0a7fda - md5: 7ff0ccae277707c5cb50965f84fee4e0 - depends: - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27987 - timestamp: 1782782907080 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.4.2-pyhc364b38_0.conda - sha256: 744acda04d11b82e2198cde8496e0eaee8749d2b3af0f177a9651c9c18078297 - md5: 0b582191a96267c4bd173f35deba3f7a + size: 17928931 + timestamp: 1781256814063 + python_site_packages_path: Lib/site-packages +- conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 + md5: 5b8d21249ff20967101ffa321cab24e8 depends: - - python >=3.10 - - cuda-version >=12.0,<14 + - python >=3.9 + - six >=1.5 - python license: Apache-2.0 license_family: APACHE - size: 41835 - timestamp: 1773187684373 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.5.6-pyhc364b38_0.conda - sha256: aa6b13a1f13e8ee9f4e48d0d1bfe8505d1b40f4c547eea5fba7a69f1ca3ae508 - md5: f9b46e920d4929d099565a251b4902db - depends: - - python >=3.10 - - cuda-version >=12.0,<14 - - python - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 45350 - timestamp: 1782782777927 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda - sha256: 5f5f428031933f117ff9f7fcc650e6ea1b3fef5936cf84aa24af79167513b656 - md5: b6d5d7f1c171cbd228ea06b556cfa859 - constrains: - - cudatoolkit 12.9|12.9.* - - __cuda >=12 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 21578 - timestamp: 1746134436166 -- conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - sha256: bd8ee668f416bdd0f6548b2413550ae83d3834665a5be869a2daf99233ec526e - md5: 0fd72afdcc74560b80eb74b78767c454 - constrains: - - __cuda >=13 - - cudatoolkit 13.3|13.3.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - run_exports: {} - size: 22083 - timestamp: 1779891651771 -- conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda - sha256: c17c6b9937c08ad63cb20a26f403a3234088e57d4455600974a0ce865cb14017 - md5: 9ce473d1d1be1cc3810856a48b3fab32 - depends: - - python >=3.9 - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/decorator?source=hash-mapping - size: 14129 - timestamp: 1740385067843 -- conda: https://conda.anaconda.org/conda-forge/noarch/dict2css-0.3.0.post1-pyhd8ed1ab_1.conda - sha256: 3aa044441dcea3afb935a48a075b59ed14dabb7ee6e019a757ff68d6b13c0a36 - md5: 103dc54172d3083adcda6bf8f1addcf3 - depends: - - cssutils >=2.2.0 - - domdf-python-tools >=2.2.0 - - python >=3.9 - license: MIT - license_family: MIT - purls: - - pkg:pypi/dict2css?source=hash-mapping - size: 13700 - timestamp: 1738250096666 -- conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_1.conda - sha256: fa5966bb1718bbf6967a85075e30e4547901410cc7cb7b16daf68942e9a94823 - md5: 24c1ca34138ee57de72a943237cde4cc - depends: - - python >=3.9 - license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 purls: - - pkg:pypi/docutils?source=hash-mapping - size: 402700 - timestamp: 1733217860944 -- conda: https://conda.anaconda.org/conda-forge/noarch/domdf-python-tools-3.10.0-pyhff2d567_0.conda - sha256: e7a7121de51caa332e73a0a7345d78fb514a8460311347be5d8eba0738c66c31 - md5: 0254332c3957f0ae09a58670c2d7ea01 + - pkg:pypi/python-dateutil?source=hash-mapping + size: 233310 + timestamp: 1751104122689 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda + sha256: df9aa74e9e28e8d1309274648aac08ec447a92512c33f61a8de0afa9ce32ebe8 + md5: 23029aae904a2ba587daba708208012f depends: - - importlib-metadata >=3.6.0 - - importlib-resources >=3.0.0 - - natsort >=7.0.1 - python >=3.9 - - typing-extensions >=3.7.4.1 - license: MIT - license_family: MIT + - python + license: BSD-3-Clause + license_family: BSD purls: - - pkg:pypi/domdf-python-tools?source=hash-mapping - size: 96253 - timestamp: 1739444562482 -- conda: https://conda.anaconda.org/conda-forge/noarch/enum_tools-0.13.0-pyhd8ed1ab_0.conda - sha256: 07f06106f9c15d36dff4694d1191e7c0f42273f175ad8d7abbffd347dfe33d4c - md5: 8b259cc3194c36e0235f873c6dae9eef + - pkg:pypi/fastjsonschema?source=hash-mapping + size: 244628 + timestamp: 1755304154927 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.6-h4df99d1_100.conda + sha256: 84c129bdd6abcecac42a948f2670d17fe735d02d3a5a483a9b1f1bc33ba38c28 + md5: 224f69f177eb5aae6c9a6052846bf609 depends: - - pygments >=2.6.1 - - python >=3.9 - - typing-extensions >=3.7.4.3 + - cpython 3.14.6.* + - python_abi * *_cp314 + license: Python-2.0 + purls: [] + size: 49315 + timestamp: 1781254664376 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda + build_number: 8 + sha256: 80677180dd3c22deb7426ca89d6203f1c7f1f256f2d5a94dc210f6e758229809 + md5: c3efd25ac4d74b1584d2f7a57195ddf1 constrains: - - sphinx >=3.4.0 - - sphinx-toolbox >=2.16.0 - license: LGPL-3.0-or-later - license_family: LGPL - purls: - - pkg:pypi/enum-tools?source=hash-mapping - size: 24762 - timestamp: 1744913087216 -- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - sha256: ee6cf346d017d954255bbcbdb424cddea4d14e4ed7e9813e429db1d795d01144 - md5: 8e662bd460bda79b1ea39194e3c4c9ab - depends: - - python >=3.10 - - typing_extensions >=4.6.0 - license: MIT and PSF-2.0 - purls: - - pkg:pypi/exceptiongroup?source=hash-mapping - size: 21333 - timestamp: 1763918099466 -- conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda - sha256: 210c8165a58fdbf16e626aac93cc4c14dbd551a01d1516be5ecad795d2422cad - md5: ff9efb7f7469aed3c4a8106ffa29593c - depends: - - python >=3.10 - license: MIT - license_family: MIT - purls: - - pkg:pypi/executing?source=hash-mapping - size: 30753 - timestamp: 1756729456476 -- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.25.2-pyhd8ed1ab_0.conda - sha256: dddea9ec53d5e179de82c24569d41198f98db93314f0adae6b15195085d5567f - md5: f58064cec97b12a7136ebb8a6f8a129b - depends: - - python >=3.10 - license: Unlicense - purls: - - pkg:pypi/filelock?source=compressed-mapping - size: 25845 - timestamp: 1773314012590 -- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b - md5: 0c96522c6bdaed4b1566d11387caaf45 + - python 3.12.* *_cpython license: BSD-3-Clause license_family: BSD purls: [] - size: 397370 - timestamp: 1566932522327 -- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c - md5: 34893075a5c9e55cdafac56607368fc6 - license: OFL-1.1 - license_family: Other - purls: [] - size: 96530 - timestamp: 1620479909603 -- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 - sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 - md5: 4d59c254e01d9cde7957100457e2d5fb - license: OFL-1.1 - license_family: Other - purls: [] - size: 700814 - timestamp: 1620479612257 -- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda - sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 - md5: 49023d73832ef61042f6a237cb2687e7 - license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 - license_family: Other - purls: [] - size: 1620504 - timestamp: 1727511233259 -- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61 - md5: fee5683a3f04bd15cbd8318b096a27ab - depends: - - fonts-conda-forge + size: 6958 + timestamp: 1752805918820 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + build_number: 8 + sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5 + md5: 0539938c55b6b1a59b560e843ad864a4 + constrains: + - python 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD purls: [] - size: 3667 - timestamp: 1566974674465 -- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda - sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 - md5: a7970cd949a077b7cb9696379d338681 - depends: - - font-ttf-ubuntu - - font-ttf-inconsolata - - font-ttf-dejavu-sans-mono - - font-ttf-source-code-pro + size: 6989 + timestamp: 1752805904792 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314t.conda + build_number: 8 + sha256: d9ed2538fba61265a330ee1b1afe99a4bb23ace706172b9464546c7e01259d63 + md5: 3251796e09870c978e0f69fa05e38fb6 + constrains: + - python 3.14.* *_cp314t license: BSD-3-Clause license_family: BSD purls: [] - size: 4059 - timestamp: 1762351264405 -- conda: https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.2.0-pyhd8ed1ab_0.conda - sha256: 239b67edf1c5e5caed52cf36e9bed47cb21b37721779828c130e6b3fd9793c1b - md5: 496c6c9411a6284addf55c898d6ed8d7 + size: 7020 + timestamp: 1752805919426 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-2.10.0-cuda130_mkl_py314_ha538682_305.conda + sha256: 0bbdc589e44e9b358f9bffaac9bd16db6dcb8b9849af14c801252d86d9953570 + md5: 926469fa6ccd5ee2f6fceef8336c74b5 depends: - - python >=3.10 + - __cuda + - __glibc >=2.28,<3.0.a0 + - _openmp_mutex * *_llvm + - _openmp_mutex >=4.5 + - cuda-cudart >=13.0.96,<14.0a0 + - cuda-cupti >=13.0.85,<14.0a0 + - cuda-nvrtc >=13.0.88,<14.0a0 + - cuda-nvtx >=13.0.85,<14.0a0 + - cuda-version >=13.0,<14 + - filelock + - fmt >=12.1.0,<12.2.0a0 + - fsspec + - jinja2 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libblas * *mkl + - libcblas >=3.11.0,<4.0a0 + - libcublas >=13.1.1.3,<14.0a0 + - libcudnn >=9.22.0.52,<10.0a0 + - libcudss >=0.7.1.4,<0.7.2.0a0 + - libcufft >=12.0.0.61,<13.0a0 + - libcufile >=1.15.1.6,<2.0a0 + - libcurand >=10.4.0.35,<11.0a0 + - libcusolver >=12.0.4.66,<13.0a0 + - libcusparse >=12.6.3.3,<13.0a0 + - libgcc >=14 + - libmagma >=2.10.0,<2.10.1.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=14 + - libtorch 2.10.0 cuda130_mkl_h1db683f_305 + - libuv >=1.52.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - llvm-openmp >=22.1.6 + - mkl >=2026.0.0,<2027.0a0 + - mpmath <1.4 + - nccl >=2.30.4.1,<3.0a0 + - networkx + - numpy >=1.23,<3 + - optree >=0.13.0 + - pybind11 <3.0.2 + - pybind11-abi 11 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - setuptools + - sleef >=3.9.0,<4.0a0 + - sympy >=1.13.3 + - triton 3.6.0 + - typing_extensions >=4.10.0 + constrains: + - pytorch-cpu <0.0a0 + - pytorch-gpu 2.10.0 license: BSD-3-Clause license_family: BSD - size: 148757 - timestamp: 1770387898414 -- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 - md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 - depends: - - python >=3.10 - - hyperframe >=6.1,<7 - - hpack >=4.1,<5 - - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/h2?source=hash-mapping - size: 95967 - timestamp: 1756364871835 -- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda - sha256: 6ad78a180576c706aabeb5b4c8ceb97c0cb25f1e112d76495bff23e3779948ba - md5: 0a802cb9888dd14eeefc611f05c40b6e - depends: - - python >=3.9 - license: MIT - license_family: MIT purls: - - pkg:pypi/hpack?source=hash-mapping - size: 30731 - timestamp: 1737618390337 -- conda: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyhd8ed1ab_2.conda - sha256: 8027e436ad59e2a7392f6036392ef9d6c223798d8a1f4f12d5926362def02367 - md5: cf25bfddbd3bc275f3d3f9936cee1dd3 - depends: - - python >=3.9 - - six >=1.9 - - webencodings - license: MIT - license_family: MIT - purls: - - pkg:pypi/html5lib?source=hash-mapping - size: 94853 - timestamp: 1734075276288 -- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 - md5: 8e6923fc12f1fe8f8c4e5c9f343256ac + - pkg:pypi/torch?source=hash-mapping + size: 25523259 + timestamp: 1780256479500 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pytorch-2.10.0-cuda130_generic_py314_h365112d_205.conda + sha256: 0c8e86fd90f361cfaeb2651e0a21279c4751c57418151a61c460608a6a49a598 + md5: abf9c3d8a3bb7365b0119ad0c0bf2a06 depends: - - python >=3.9 - license: MIT - license_family: MIT + - __cuda + - __glibc >=2.28,<3.0.a0 + - _openmp_mutex * *_llvm + - _openmp_mutex >=4.5 + - arm-variant * sbsa + - cuda-cudart >=13.0.96,<14.0a0 + - cuda-cupti >=13.0.85,<14.0a0 + - cuda-nvrtc >=13.0.88,<14.0a0 + - cuda-nvtx >=13.0.85,<14.0a0 + - cuda-version >=13.0,<14 + - filelock + - fmt >=12.1.0,<12.2.0a0 + - fsspec + - jinja2 + - libabseil * cxx17* + - libabseil >=20260107.1,<20260108.0a0 + - libcblas >=3.9.0,<4.0a0 + - libcublas >=13.1.1.3,<14.0a0 + - libcudnn >=9.22.0.52,<10.0a0 + - libcudss >=0.7.1.4,<0.7.2.0a0 + - libcufft >=12.0.0.61,<13.0a0 + - libcufile >=1.15.1.6,<2.0a0 + - libcurand >=10.4.0.35,<11.0a0 + - libcusolver >=12.0.4.66,<13.0a0 + - libcusparse >=12.6.3.3,<13.0a0 + - libgcc >=13 + - liblapack >=3.9.0,<4.0a0 + - libmagma >=2.10.0,<2.10.1.0a0 + - libprotobuf >=6.33.5,<6.33.6.0a0 + - libstdcxx >=13 + - libtorch 2.10.0 cuda130_generic_h3652b22_205 + - libuv >=1.52.1,<2.0a0 + - libzlib >=1.3.2,<2.0a0 + - llvm-openmp >=22.1.6 + - mpmath <1.4 + - nccl >=2.30.4.1,<3.0a0 + - networkx + - nomkl + - numpy >=1.23,<3 + - optree >=0.13.0 + - pybind11 <3.0.2 + - pybind11-abi 11 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - setuptools + - sleef >=3.9.0,<4.0a0 + - sympy >=1.13.3 + - triton 3.6.0 + - typing_extensions >=4.10.0 + constrains: + - pytorch-gpu 2.10.0 + - pytorch-cpu <0.0a0 + license: BSD-3-Clause + license_family: BSD purls: - - pkg:pypi/hyperframe?source=hash-mapping - size: 17397 - timestamp: 1737618427549 -- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda - sha256: ae89d0299ada2a3162c2614a9d26557a92aa6a77120ce142f8e0109bbf0342b0 - md5: 53abe63df7e10a6ba605dc5f9f961d36 + - pkg:pypi/torch?source=hash-mapping + size: 24941577 + timestamp: 1780256095904 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pytorch-gpu-2.10.0-cuda129_mkl_h0d04637_305.conda + sha256: 65101cf0541c5bcb0938bb7a880b10b0a38a8faf337e562a1a343f286f2308f3 + md5: 131086d1c8b8d234c57bd245a1476bc3 + depends: + - pytorch 2.10.0 cuda*_mkl*305 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 54522 + timestamp: 1780262740368 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pytorch-gpu-2.10.0-cuda129_generic_hda344be_205.conda + sha256: fb602c41da710ffeade59c1cf19395eb2ba7eb7028a06c9f6f04132394fb73ab + md5: c9d1610d25468be107d66420f929c8d9 depends: - - python >=3.10 + - arm-variant * sbsa + - pytorch 2.10.0 cuda*_generic*205 license: BSD-3-Clause license_family: BSD + purls: [] + size: 54440 + timestamp: 1780262494215 +- pypi: https://files.pythonhosted.org/packages/21/82/3bf86d2e2808902013132e1ce905a7da0da53790f3836c64bf44d55e24f3/pywin32-312-cp314-cp314-win_amd64.whl + name: pywin32 + version: '312' + sha256: a4dd3a848290ef724347b19f301045831d8e802fa4464f491b98b1e0a081432e + requires_python: '>=3.9' +- conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-312-py314hcaaf0b2_0.conda + sha256: 71f9617186f5e2273bcefc4f3a258df5784886077ad36fe14f1d16b1c2c506eb + md5: 4d49ac91c23c4b1878daf5ea9e7c767a + depends: + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + license: PSF-2.0 + license_family: PSF purls: - - pkg:pypi/idna?source=hash-mapping - size: 50721 - timestamp: 1760286526795 -- conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-2.0.0-pyhd8ed1ab_0.conda - sha256: 5a047f9eac290e679b4e6f6f4cbfcc5acdfbf031a4f06824d4ddb590cdbb850b - md5: 92617c2ba2847cca7a6ed813b6f4ab79 + - pkg:pypi/pywin32?source=hash-mapping + size: 4472831 + timestamp: 1781362876741 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda + sha256: b318fb070c7a1f89980ef124b80a0b5ccf3928143708a85e0053cde0169c699d + md5: 2035f68f96be30dc60a5dfd7452c7941 depends: - - python >=3.10 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT purls: - - pkg:pypi/imagesize?source=hash-mapping - size: 15729 - timestamp: 1773752188889 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda - sha256: c18ab120a0613ada4391b15981d86ff777b5690ca461ea7e9e49531e8f374745 - md5: 63ccfdc3a3ce25b027b8767eb722fca8 - depends: - - python >=3.9 - - zipp >=3.20 - - python - license: Apache-2.0 - license_family: APACHE - size: 34641 - timestamp: 1747934053147 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - sha256: 82ab2a0d91ca1e7e63ab6a4939356667ef683905dea631bc2121aa534d347b16 - md5: 080594bf4493e6bae2607e65390c520a - depends: - - python >=3.10 - - zipp >=3.20 - - python - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/importlib-metadata?source=hash-mapping - size: 34387 - timestamp: 1773931568510 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-6.5.2-pyhd8ed1ab_0.conda - sha256: a99a3dafdfff2bb648d2b10637c704400295cb2ba6dc929e2d814870cf9f6ae5 - md5: e376ea42e9ae40f3278b0f79c9bf9826 - depends: - - importlib_resources >=6.5.2,<6.5.3.0a0 - - python >=3.9 - license: Apache-2.0 - license_family: APACHE - purls: [] - size: 9724 - timestamp: 1736252443859 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda - sha256: acc1d991837c0afb67c75b77fdc72b4bf022aac71fedd8b9ea45918ac9b08a80 - md5: c85c76dc67d75619a92f51dfbce06992 + - pkg:pypi/pyyaml?source=hash-mapping + size: 202391 + timestamp: 1770223462836 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.3-py314h807365f_1.conda + sha256: 496b5e65dfdd0aaaaa5de0dcaaf3bceea00fcb4398acf152f89e567c82ec1046 + md5: 9ae2c92975118058bd720e9ba2bb7c58 depends: - - python >=3.9 - - zipp >=3.1.0 - constrains: - - importlib-resources >=6.5.2,<6.5.3.0a0 - license: Apache-2.0 - license_family: APACHE + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT purls: - - pkg:pypi/importlib-resources?source=hash-mapping - size: 33781 - timestamp: 1736252433366 -- conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 - md5: 9614359868482abba1bd15ce465e3c42 + - pkg:pypi/pyyaml?source=hash-mapping + size: 195678 + timestamp: 1770223441816 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda + sha256: a2aff34027aa810ff36a190b75002d2ff6f9fbef71ec66e567616ac3a679d997 + md5: 0cd9b88826d0f8db142071eb830bce56 depends: - - python >=3.10 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT purls: - - pkg:pypi/iniconfig?source=hash-mapping - size: 13387 - timestamp: 1760831448842 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.2.0-pyh6dadd2b_1.conda - sha256: 9cdadaeef5abadca4113f92f5589db19f8b7df5e1b81cb0225f7024a3aedefa3 - md5: b3a7d5842f857414d9ae831a799444dd + - pkg:pypi/pyyaml?source=hash-mapping + size: 181257 + timestamp: 1770223460931 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hda471dd_3.conda + noarch: python + sha256: 970b2a1d12983d8d1cc05d914ad88a0b6ef1fa14038c9649aa834dd6ebee65d7 + md5: acd216255e1370e9aeab5351b831f07c depends: - - __win - - comm >=0.1.1 - - debugpy >=1.6.5 - - ipython >=7.23.1 - - jupyter_client >=8.8.0 - - jupyter_core >=5.1,!=6.0.* - - matplotlib-inline >=0.1 - - nest-asyncio >=1.4 - - packaging >=22 - - psutil >=5.7 - - python >=3.10 - - pyzmq >=25 - - tornado >=6.4.1 - - traitlets >=5.4.0 - python - constrains: - - appnope >=0.1.2 + - libgcc >=14 + - libstdcxx >=14 + - __glibc >=2.17,<3.0.a0 + - _python_abi3_support 1.* + - cpython >=3.12 + - zeromq >=4.3.5,<4.4.0a0 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/ipykernel?source=hash-mapping - size: 132382 - timestamp: 1770566174387 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.2.0-pyha191276_1.conda - sha256: b77ed58eb235e5ad80e742b03caeed4bbc2a2ef064cb9a2deee3b75dfae91b2a - md5: 8b267f517b81c13594ed68d646fd5dcb + - pkg:pypi/pyzmq?source=hash-mapping + size: 210896 + timestamp: 1779483879367 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyzmq-27.1.0-py312hdf0a211_3.conda + noarch: python + sha256: 0bf98beaccc17a101d8e8496b88708f938e098a2606f6cc802379dc716572614 + md5: acc7f0e3fc38e949267bc9a4f09ded15 depends: - - __linux - - comm >=0.1.1 - - debugpy >=1.6.5 - - ipython >=7.23.1 - - jupyter_client >=8.8.0 - - jupyter_core >=5.1,!=6.0.* - - matplotlib-inline >=0.1 - - nest-asyncio >=1.4 - - packaging >=22 - - psutil >=5.7 - - python >=3.10 - - pyzmq >=25 - - tornado >=6.4.1 - - traitlets >=5.4.0 - python - constrains: - - appnope >=0.1.2 + - libgcc >=14 + - libstdcxx >=14 + - zeromq >=4.3.5,<4.4.0a0 + - _python_abi3_support 1.* + - cpython >=3.12 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/ipykernel?source=hash-mapping - size: 133644 - timestamp: 1770566133040 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhccfa634_0.conda - sha256: a0d3e4c8e4d7b3801377a03de32951f68d77dd1bfe25082c7915f4e6b0aaa463 - md5: 3734e3b6618ea6e04ad08678d8ed7a45 + - pkg:pypi/pyzmq?source=hash-mapping + size: 212016 + timestamp: 1779483886884 +- conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_3.conda + noarch: python + sha256: d7e65c44ea8a92f80cc0e424b4b7dbe63b8a9ec04ea774b7d4f7aed4c34cce4c + md5: ebbda9a4e5161d6e1f98146ad057dc10 depends: - - __win - - decorator >=5.1.0 - - ipython_pygments_lexers >=1.0.0 - - jedi >=0.18.2 - - matplotlib-inline >=0.1.6 - - prompt-toolkit >=3.0.41,<3.1.0 - - pygments >=2.14.0 - - python >=3.12 - - stack_data >=0.6.0 - - traitlets >=5.13.0 - - colorama >=0.4.4 - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - _python_abi3_support 1.* + - cpython >=3.12 + - zeromq >=4.3.5,<4.3.6.0a0 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/ipython?source=hash-mapping - size: 648954 - timestamp: 1774610078420 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipython-9.12.0-pyhecfbec7_0.conda - sha256: 932044bd893f7adce6c9b384b96a72fd3804cc381e76789398c2fae900f21df7 - md5: b293210beb192c3024683bf6a998a0b8 + - pkg:pypi/pyzmq?source=hash-mapping + size: 182831 + timestamp: 1779483925948 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda + sha256: f0931894c751b22be09d7c976343a2957a14a59cfe0db04d916d1b93bd66ffcf + md5: da47d3251c0f0d16b2801afe5a77b532 depends: - - __unix - - decorator >=5.1.0 - - ipython_pygments_lexers >=1.0.0 - - jedi >=0.18.2 - - matplotlib-inline >=0.1.6 - - prompt-toolkit >=3.0.41,<3.1.0 - - pygments >=2.14.0 - - python >=3.12 - - stack_data >=0.6.0 - - traitlets >=5.13.0 - - pexpect >4.6 - - python - license: BSD-3-Clause + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libnl >=3.11.0,<4.0a0 + - libstdcxx >=14 + - libsystemd0 >=257.13 + - libudev1 >=257.13 + license: Linux-OpenIB license_family: BSD - purls: - - pkg:pypi/ipython?source=hash-mapping - size: 649967 - timestamp: 1774609994657 -- conda: https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda - sha256: 894682a42a7d659ae12878dbcb274516a7031bbea9104e92f8e88c1f2765a104 - md5: bd80ba060603cc228d9d81c257093119 + purls: [] + size: 1281605 + timestamp: 1778528449130 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda + sha256: 89dc4066bf0a2ee8e0cdeb6b6e8884c2c36c9a82855a438a0720ee59297fae3e + md5: 94e99208cc8828d5953fac098814a0e9 depends: - - pygments - - python >=3.9 - license: BSD-3-Clause + - libgcc >=14 + - libnl >=3.11.0,<4.0a0 + - libstdcxx >=14 + - libsystemd0 >=257.13 + - libudev1 >=257.13 + license: Linux-OpenIB license_family: BSD - purls: - - pkg:pypi/ipython-pygments-lexers?source=hash-mapping - size: 13993 - timestamp: 1737123723464 -- conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda - sha256: 92c4d217e2dc68983f724aa983cca5464dcb929c566627b26a2511159667dba8 - md5: a4f4c5dc9b80bc50e0d3dc4e6e8f1bd9 - depends: - - parso >=0.8.3,<0.9.0 - - python >=3.9 - license: Apache-2.0 AND MIT - purls: - - pkg:pypi/jedi?source=hash-mapping - size: 843646 - timestamp: 1733300981994 -- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - sha256: fc9ca7348a4f25fed2079f2153ecdcf5f9cf2a0bc36c4172420ca09e1849df7b - md5: 04558c96691bed63104678757beb4f8d + purls: [] + size: 1351719 + timestamp: 1778528506759 +- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + sha256: 12ffde5a6f958e285aa22c191ca01bbd3d6e710aa852e00618fa6ddc59149002 + md5: d7d95fc8287ea7bf33e0e7116d2b95ec depends: - - markupsafe >=2.0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ncurses >=6.5,<7.0a0 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 345073 + timestamp: 1765813471974 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda + sha256: fe695f9d215e9a2e3dd0ca7f56435ab4df24f5504b83865e3d295df36e88d216 + md5: 3d49cad61f829f4f0e0611547a9cda12 + depends: + - libgcc >=14 + - ncurses >=6.5,<7.0a0 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 357597 + timestamp: 1765815673644 +- conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda + sha256: 0577eedfb347ff94d0f2fa6c052c502989b028216996b45c7f21236f25864414 + md5: 870293df500ca7e18bedefa5838a22ab + depends: + - attrs >=22.2.0 - python >=3.10 + - rpds-py >=0.7.0 + - typing_extensions >=4.4.0 - python - license: BSD-3-Clause - license_family: BSD + license: MIT + license_family: MIT purls: - - pkg:pypi/jinja2?source=compressed-mapping - size: 120685 - timestamp: 1764517220861 -- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda - sha256: db973a37d75db8e19b5f44bbbdaead0c68dde745407f281e2a7fe4db74ec51d7 - md5: ada41c863af263cc4c5fcbaff7c3e4dc + - pkg:pypi/referencing?source=hash-mapping + size: 51788 + timestamp: 1760379115194 +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda + sha256: 1715246b19c9f85ee022933b4845f2fc14ac9184981b7b7d9b728bec8e9588da + md5: 4a85203c1d80c1059086ae860836ffb9 depends: - - attrs >=22.2.0 - - jsonschema-specifications >=2023.3.6 - python >=3.10 - - referencing >=0.28.4 - - rpds-py >=0.25.0 + - certifi >=2023.5.7 + - charset-normalizer >=2,<4 + - idna >=2.5,<4 + - urllib3 >=1.26,<3 + - python + constrains: + - chardet >=3.0.2,<8 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/requests?source=compressed-mapping + size: 68709 + timestamp: 1778851103479 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-2026.6.3-py314h1bee95f_0.conda + sha256: 064e56d6c233cbcfac5b0183c0dd10b732668ff27aa1ea3580459acceae95473 + md5: add3cbcc5eb677f6c1720e01cd82aac5 + depends: - python + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 + constrains: + - __glibc >=2.17 license: MIT license_family: MIT purls: - - pkg:pypi/jsonschema?source=hash-mapping - size: 82356 - timestamp: 1767839954256 -- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda - sha256: 0a4f3b132f0faca10c89fdf3b60e15abb62ded6fa80aebfc007d05965192aa04 - md5: 439cd0f567d697b20a8f45cb70a1005a + - pkg:pypi/rpds-py?source=compressed-mapping + size: 300129 + timestamp: 1782831350283 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rpds-py-2026.6.3-py314h721bf50_0.conda + sha256: 1ff570c281f01fb44ce1f98be767861eb576b5124ae10c6a6e8ba49170ddffac + md5: 2c1fc56e44a3c0e7b7d22f3beafd18ca depends: - - python >=3.10 - - referencing >=0.31.0 - python + - libgcc >=14 + - python_abi 3.14.* *_cp314 + constrains: + - __glibc >=2.17 license: MIT license_family: MIT purls: - - pkg:pypi/jsonschema-specifications?source=hash-mapping - size: 19236 - timestamp: 1757335715225 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-cache-1.0.1-pyhff2d567_0.conda - sha256: 054d397dd45ed08bffb0976702e553dfb0d0b0a477da9cff36e2ea702e928f48 - md5: b0ee650829b8974202a7abe7f8b81e5a + - pkg:pypi/rpds-py?source=hash-mapping + size: 295329 + timestamp: 1782831266058 +- conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-2026.6.3-py314hc980628_0.conda + sha256: ac1047c2a9bb3dc7cac31b7c995a7b25f9a4eb52ee8ae106ca6e6c15679f34fc + md5: 52429bdb1752b43f8364bc482cf65fda depends: - - attrs - - click - - importlib-metadata - - nbclient >=0.2 - - nbformat - - python >=3.9 - - pyyaml - - sqlalchemy >=1.3.12,<3 - - tabulate + - python + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT purls: - - pkg:pypi/jupyter-cache?source=hash-mapping - size: 31236 - timestamp: 1731777189586 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.8.0-pyhcf101f3_0.conda - sha256: e402bd119720862a33229624ec23645916a7d47f30e1711a4af9e005162b84f3 - md5: 8a3d6d0523f66cf004e563a50d9392b3 + - pkg:pypi/rpds-py?source=hash-mapping + size: 217789 + timestamp: 1782831449604 +- conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda + sha256: b48bebe297a63ae60f52e50be328262e880702db4d9b4e86731473ada459c2a1 + md5: 06ad944772941d5dae1e0d09848d8e49 depends: - - jupyter_core >=5.1 - python >=3.10 - - python-dateutil >=2.8.2 - - pyzmq >=25.0 - - tornado >=6.4.1 - - traitlets >=5.3 + - ruamel.yaml.clib >=0.2.15 - python - license: BSD-3-Clause - license_family: BSD + license: MIT + license_family: MIT purls: - - pkg:pypi/jupyter-client?source=hash-mapping - size: 112785 - timestamp: 1767954655912 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyh6dadd2b_0.conda - sha256: ed709a6c25b731e01563521ef338b93986cd14b5bc17f35e9382000864872ccc - md5: a8db462b01221e9f5135be466faeb3e0 + - pkg:pypi/ruamel-yaml?source=hash-mapping + size: 98448 + timestamp: 1767538149184 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.15-py314h0f05182_1.conda + sha256: 3bd8db7556e87c98933a47ff9f962af7b8e0dc3757a72180b27cbfcb1f98d2d9 + md5: 4f35ae1228a6c5d9df593367ffe8dda1 depends: - - __win - - pywin32 - - platformdirs >=2.5 - - python >=3.10 - - traitlets >=5.3 - python - constrains: - - pywin32 >=300 - license: BSD-3-Clause - license_family: BSD + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT purls: - - pkg:pypi/jupyter-core?source=hash-mapping - size: 64679 - timestamp: 1760643889625 -- conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda - sha256: 1d34b80e5bfcd5323f104dbf99a2aafc0e5d823019d626d0dce5d3d356a2a52a - md5: b38fe4e78ee75def7e599843ef4c1ab0 + - pkg:pypi/ruamel-yaml-clib?source=hash-mapping + size: 150041 + timestamp: 1766159514023 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ruamel.yaml.clib-0.2.15-py314h2e8dab5_1.conda + sha256: 18a34470b351fccfe6694215b01a9a68a0a9979336b0ea85709bbdeef0658e1c + md5: ca756356e2920f248a74cb42e0b4578d depends: - - __unix - python - - platformdirs >=2.5 - - python >=3.10 - - traitlets >=5.3 + - python 3.14.* *_cp314 + - libgcc >=14 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + purls: + - pkg:pypi/ruamel-yaml-clib?source=hash-mapping + size: 148495 + timestamp: 1766159541094 +- conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py314hc5dbbe4_1.conda + sha256: b719637ce71e533193cd2bcacbf6ba5c10deaafa1be90d96040ee2314c6b17d1 + md5: 496de351b0f9afe9e245229528304f25 + depends: - python - constrains: - - pywin32 >=300 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 + license: MIT + license_family: MIT + purls: + - pkg:pypi/ruamel-yaml-clib?source=hash-mapping + size: 105668 + timestamp: 1766159584330 +- conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.18.0-py314hf07bd8e_0.conda + sha256: 85503102237f8515ab92319fc14609e894ac9e95e3a1398b0c49db1f9ee50877 + md5: 62c390c1f8f51240f1ebc7ba782669ad + depends: + - __glibc >=2.17,<3.0.a0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=14 + - numpy <2.7 + - numpy >=1.23,<3 + - numpy >=2.0.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/jupyter-core?source=hash-mapping - size: 65503 - timestamp: 1760643864586 -- conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - sha256: 41557eeadf641de6aeae49486cef30d02a6912d8da98585d687894afd65b356a - md5: 86d9cba083cd041bfbf242a01a7a1999 - constrains: - - sysroot_linux-64 ==2.28 - license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later - license_family: GPL - run_exports: {} - size: 1278712 - timestamp: 1765578681495 -- conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - sha256: 5d224bf4df9bac24e69de41897c53756108c5271a0e5d2d2f66fd4e2fbc1d84b - md5: bb3b7cad9005f2cbf9d169fb30263f3e - constrains: - - sysroot_linux-aarch64 ==2.28 - license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later - license_family: GPL - run_exports: {} - size: 1248134 - timestamp: 1765578613607 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-14.3.0-hf649bbc_118.conda - sha256: 1abc6a81ee66e8ac9ac09a26e2d6ad7bba23f0a0cc3a6118654f036f9c0e1854 - md5: 06901733131833f5edd68cf3d9679798 + - pkg:pypi/scipy?source=compressed-mapping + size: 17260022 + timestamp: 1781912924009 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/scipy-1.18.0-py314h052a9b3_0.conda + sha256: 401d63fc4d1b1d942b9cae09abac6cf2c65a121f2adc6d50096b5576e263af0c + md5: 3aad2b7b36cdd59c7ac05d4da908401f depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 3084533 - timestamp: 1771377786730 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_118.conda - sha256: af69fc5852908d26e5b630b270982ac792506551dd6af1614bf0370dd5ab5746 - md5: 5d3a96d55f1be45fef88ee23155effd9 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.3.0 + - liblapack >=3.9.0,<4.0a0 + - libstdcxx >=14 + - numpy <2.7 + - numpy >=1.23,<3 + - numpy >=2.0.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scipy?source=hash-mapping + size: 17107935 + timestamp: 1781912692906 +- conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.18.0-py314h221f224_0.conda + sha256: 952db1642d707d2572b511b1207bfd8e8c114fdc99930c400b547eb8ab92ac19 + md5: a925cfb1429da2b1312c86516ae7c418 depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 3085932 - timestamp: 1771378098166 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda - sha256: 38a557eba305468ac1f90ac85e50d8defd76141cb0b8a43b2fc1aca71dd5d5f2 - md5: 683fcb168e1df9a21fa80d5aa2d9330b + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - liblapack >=3.9.0,<4.0a0 + - numpy <2.7 + - numpy >=1.23,<3 + - numpy >=2.0.0 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scipy?source=compressed-mapping + size: 15353018 + timestamp: 1781914001107 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl2-2.32.56-h54a6638_0.conda + sha256: 987ad072939fdd51c92ea8d3544b286bb240aefda329f9b03a51d9b7e777f9de + md5: cdd138897d94dc07d99afe7113a07bec depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 3095909 - timestamp: 1778268932148 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-14.3.0-h25ba3ff_118.conda - sha256: 058fab0156cb13897f7e4a2fc9d63c922d3de09b6429390365f91b62f1dddb0e - md5: 3733752e5a7a0737c8c4f1897f2074f9 - depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 2335839 - timestamp: 1771377646960 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_118.conda - sha256: 661e29553769ceb5874eb1ed6c00263fcd36fac9f5fe0fee65d5e5cac3187ff3 - md5: 42284981c315916d916fb3156b8d5b9e - depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 2364690 - timestamp: 1771378032404 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda - sha256: fe600a63a39281e6994e27fe79360cd6bd8e576c3ce1af32ce8673b011f46c21 - md5: 18ad0f0b94071d91fa962a1bf3983a78 - depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 2353893 - timestamp: 1778268665954 -- conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_win-64-15.2.0-hbb59886_118.conda - sha256: e43ffa48a88a7d77a0dc0d3ccfa3acc55702e9d964e8564e86927f5a389a6c51 - md5: 1e020780767f809769807a442f5d6f6a - depends: - - m2-conda-epoch - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 2422242 - timestamp: 1771382108271 -- conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_linux-64-12.9.86-ha770c72_2.conda - sha256: 17952c32eac197a59c119fdf3fb6f08c6a29c225a80bae141ac904ad212b87dd - md5: a66a909acf08924aced622903832a937 - depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 14422867 - timestamp: 1753975387297 -- conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - sha256: 0b0b96f4bb99d9f9fccfcd34fcb5b0f465c05373c9628ffa32951ed5fc7ab379 - md5: 3f6edd278c0a724f427d2655111c1c72 - depends: - - arm-variant * sbsa - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 13939480 - timestamp: 1753975314178 -- conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_win-64-12.9.86-h57928b3_2.conda - sha256: 9858bc91d01ab6d3a21039f37c8e22e3cb59542b7d308098b10bbe2b12be0aaa - md5: 77baf6d1c6916a86ab99ce4e83282e4f - depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 31818844 - timestamp: 1753976049670 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-14.3.0-h9f08a49_118.conda - sha256: b1c3824769b92a1486bf3e2cc5f13304d83ae613ea061b7bc47bb6080d6dfdba - md5: 865a399bce236119301ebd1532fced8d - depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 20171098 - timestamp: 1771377827750 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_118.conda - sha256: 138ee40ba770abf4556ee9981879da9e33299f406a450831b48c1c397d7d0833 - md5: a50630d1810916fc252b2152f1dc9d6d - depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 20669511 - timestamp: 1771378139786 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda - sha256: a2385f3611d5cd25378f9cf2367183320731709c067ddd08d43330d3170f15b8 - md5: bcfe7eae40158c3e355d2f9d3ed41230 - depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 20765069 - timestamp: 1778268963689 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-14.3.0-h57c8d61_118.conda - sha256: 609585a02b05a2b0f2cabb18849328455cbce576f2e3eb8108f3ef7f4cb165a6 - md5: bcf29f2ed914259a258204b05346abb1 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libgl >=1.7.0,<2.0a0 + - sdl3 >=3.2.22,<4.0a0 + - libegl >=1.7.0,<2.0a0 + license: Zlib + purls: [] + size: 589145 + timestamp: 1757842881 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl2-2.32.56-h7ac5ae9_0.conda + sha256: 47f4ef4cd2313906840f146b18fee95c2a3a4fa9bd0afdb2d519e6c0aa8ca2ed + md5: 54747a3f3c468c5f446c78974c8c1234 depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 17565700 - timestamp: 1771377672552 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_118.conda - sha256: 52afca5e24e0bbc840cf9c28b440dea2cebc4500e97084a38cdd27fdc8a3e57c - md5: 99ea26f70c5e380294e760e8bdbaddff + - libstdcxx >=14 + - libgcc >=14 + - sdl3 >=3.2.22,<4.0a0 + - libgl >=1.7.0,<2.0a0 + - libegl >=1.7.0,<2.0a0 + license: Zlib + purls: [] + size: 597756 + timestamp: 1757842928996 +- conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda + sha256: d17da21386bdbf32bce5daba5142916feb95eed63ef92b285808c765705bbfd2 + md5: 4cffbfebb6614a1bff3fc666527c25c7 depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 17628403 - timestamp: 1771378058765 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda - sha256: 6f7ceee16070781b7d642a37a35ffdf09c66796d3df105c919526210ce220443 - md5: 61da34d67f58dd4cf16683f6cdcb06c8 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - sdl3 >=3.2.22,<4.0a0 + license: Zlib + purls: [] + size: 572101 + timestamp: 1757842925694 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sdl3-3.4.12-hdeec2a5_0.conda + sha256: 2607340a7adbf7b7ec902892bce00c9fd35ccdb7f1e8d4ef1efd51641ad36a3c + md5: 1c36b749acf532314ad381f6c1663647 depends: - - __unix - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - run_exports: {} - size: 17627362 - timestamp: 1778268687968 -- conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_win-64-15.2.0-h0a72980_118.conda - sha256: 0b27331f127c6c10017442cc98c483aa868298102e98aae70ad86b9a5ae0029e - md5: b7a331c07d140e476fee0c70c9696e87 + - libstdcxx >=14 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - liburing >=2.14,<2.15.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + - libusb >=1.0.29,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + - libgl >=1.7.0,<2.0a0 + - dbus >=1.16.2,<2.0a0 + - libdrm >=2.4.127,<2.5.0a0 + - pulseaudio-client >=17.0,<17.1.0a0 + - xorg-libxi >=1.8.3,<2.0a0 + - wayland >=1.25.0,<2.0a0 + - libegl >=1.7.0,<2.0a0 + - libxkbcommon >=1.13.2,<2.0a0 + - libudev1 >=257.13 + - libunwind >=1.8.3,<1.9.0a0 + - xorg-libxscrnsaver >=1.2.4,<2.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + license: Zlib + purls: [] + size: 2156114 + timestamp: 1782948044627 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sdl3-3.4.12-had2c13b_0.conda + sha256: 20b512f72fe12bdd07c917f20c437f318a8e1b1fb658278e8da0ba26c6ff6826 + md5: 7d71ee12487f73cf9628f2a6e6081ed5 depends: - - m2-conda-epoch - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 11729036 - timestamp: 1771382135681 -- conda: https://conda.anaconda.org/conda-forge/noarch/m2w64-sysroot_win-64-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - sha256: fb0ffe6b3c25189038c29abbd1fac2522d87fe2775a09e5f5088e5542dc3309b - md5: 9676d2a30fa3ffa4e5350041d0993758 + - libgcc >=14 + - libstdcxx >=14 + - pulseaudio-client >=17.0,<17.1.0a0 + - libgl >=1.7.0,<2.0a0 + - xorg-libxscrnsaver >=1.2.4,<2.0a0 + - wayland >=1.25.0,<2.0a0 + - liburing >=2.14,<2.15.0a0 + - libxkbcommon >=1.13.2,<2.0a0 + - libusb >=1.0.29,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libx11 >=1.8.13,<2.0a0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libunwind >=1.8.3,<1.9.0a0 + - dbus >=1.16.2,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + - libegl >=1.7.0,<2.0a0 + - xorg-libxi >=1.8.3,<2.0a0 + - xorg-libxtst >=1.2.5,<2.0a0 + - xorg-libxcursor >=1.2.3,<2.0a0 + - libudev1 >=257.13 + - libdrm >=2.4.127,<2.5.0a0 + license: Zlib + purls: [] + size: 2153567 + timestamp: 1782948073672 +- conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.12-h5112557_0.conda + sha256: cd70a95559fdcaa9809d7c697b1d2e283c2d61eb184f91f7b03f8c2291e206a8 + md5: 5f80121d90de6623ae8e0eee34da16ff depends: - - m2-conda-epoch - - mingw-w64-ucrt-x86_64-crt-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 - - mingw-w64-ucrt-x86_64-headers-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 - - mingw-w64-ucrt-x86_64-windows-default-manifest - - mingw-w64-ucrt-x86_64-winpthreads-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 - - ucrt - size: 8421 - timestamp: 1759768559974 -- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.0.0-pyhd8ed1ab_0.conda - sha256: 7b1da4b5c40385791dbc3cc85ceea9fad5da680a27d5d3cb8bfaa185e304a89e - md5: 5b5203189eb668f042ac2b0826244964 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - libvulkan-loader >=1.4.341.0,<2.0a0 + - libusb >=1.0.29,<2.0a0 + license: Zlib + purls: [] + size: 1680362 + timestamp: 1782948074728 +- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda + sha256: 48a9f96016505debadfc67f06de7ac548decbc38d327409b24b0432ef6f16335 + md5: 6bf6acbab2499830180ec88c3aff2fa4 depends: - - mdurl >=0.1,<1 - python >=3.10 license: MIT license_family: MIT purls: - - pkg:pypi/markdown-it-py?source=hash-mapping - size: 64736 - timestamp: 1754951288511 -- conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda - sha256: 9d690334de0cd1d22c51bc28420663f4277cfa60d34fa5cad1ce284a13f1d603 - md5: 00e120ce3e40bad7bfc78861ce3c4a25 + - pkg:pypi/setuptools?source=compressed-mapping + size: 642081 + timestamp: 1783619174976 +- conda: https://conda.anaconda.org/conda-forge/linux-64/shaderc-2026.3-h1b60276_0.conda + sha256: 1325456e9cff1ec8a5e826f64b8eef5806162bfcceeed2e32817a3c280f0dfc9 + md5: ee5e719bbf258faa3b6533a1a621092b depends: - - python >=3.10 - - traitlets - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/matplotlib-inline?source=hash-mapping - size: 15175 - timestamp: 1761214578417 -- conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.5.0-pyhd8ed1ab_0.conda - sha256: 123cc004e2946879708cdb6a9eff24acbbb054990d6131bb94bca7a374ebebfc - md5: 1997a083ef0b4c9331f9191564be275e + - __glibc >=2.17,<3.0.a0 + - glslang >=16,<17.0a0 + - libgcc >=14 + - libstdcxx >=14 + - spirv-tools >=2026,<2027.0a0 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 114267 + timestamp: 1784251192959 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/shaderc-2026.3-h9a39c52_0.conda + sha256: f3c16aeeae7dee968ff429e07a9100abe7a7a59ba0a262bc628dda04d0a96348 + md5: 3f4eeb1a29600a3e184835cade2b1621 depends: - - markdown-it-py >=2.0.0,<5.0.0 - - python >=3.10 - license: MIT - license_family: MIT - purls: - - pkg:pypi/mdit-py-plugins?source=hash-mapping - size: 43805 - timestamp: 1754946862113 -- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda - sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 - md5: 592132998493b3ff25fd7479396e8351 + - glslang >=16,<17.0a0 + - libgcc >=14 + - libstdcxx >=14 + - spirv-tools >=2026,<2027.0a0 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 117255 + timestamp: 1784251230054 +- conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.3-hbcac29b_0.conda + sha256: ae69be2f9a0828e35397b4c0d25bad3eb9b395535bc635154e872a6fd5b440aa + md5: 77b44ad4a137a273aeff5962764cfa58 + depends: + - glslang >=16,<17.0a0 + - spirv-tools >=2026,<2027.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 1600332 + timestamp: 1784251308130 +- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d + md5: 3339e3b65d58accf4ca4fb8748ab16b3 depends: - python >=3.9 + - python license: MIT license_family: MIT purls: - - pkg:pypi/mdurl?source=hash-mapping - size: 14465 - timestamp: 1733255681319 -- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-crt-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - sha256: de3e42149b498c16bfb485b7729f4ca0fe392be576a2a10ff702d661799b1df3 - md5: 44ffa6d68699ec9321f6d48d75bdc726 + - pkg:pypi/six?source=hash-mapping + size: 18455 + timestamp: 1753199211006 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sleef-3.9.0-ha0421bc_0.conda + sha256: 57afc2ab5bdb24cf979964018dddbc5dfaee130b415e6863765e45aed2175ee4 + md5: e8a0b4f5e82ecacffaa5e805020473cb depends: - - m2-conda-epoch - - mingw-w64-ucrt-x86_64-headers-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 - constrains: - - mingw-w64-ucrt-x86_64-winpthreads-git 12.0.0.r4.gg4f2fc60ca.* - license: ZPL-2.1 - size: 5663635 - timestamp: 1759768458961 -- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-headers-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - sha256: 1add86481f35163215e7076e6f06f22aa9f1f9345a5fff5cb07bc846c13fbec7 - md5: cab7b807024204893ef5bb1860d91408 + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + - libgcc >=14 + - libstdcxx >=14 + license: BSL-1.0 + purls: [] + size: 1951720 + timestamp: 1756274576844 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sleef-3.9.0-h5bb93e2_0.conda + sha256: 8292f6d40541d136fe3c525062db5f2ec584e442e4c8b60296b630bbe85cadce + md5: b90e82764e7de5a291e263ead7950ad4 depends: - - m2-conda-epoch - constrains: - - mingw-w64-ucrt-x86_64-crt-git 12.0.0.r4.gg4f2fc60ca.* - - mingw-w64-ucrt-x86_64-winpthreads-git 12.0.0.r4.gg4f2fc60ca.* - license: ZPL-2.1 AND LGPL-2.1-or-later - size: 7089846 - timestamp: 1759768412123 -- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-he206cdd_7.conda - sha256: 5b0df4e0ba8487ffd59f60c34c5dbb9e001ecd2c5d2c66ba88eada40bfa3ecb8 - md5: 1d6b5c96d7e3cce773519d7d1a4482f0 + - _openmp_mutex >=4.5 + - libgcc >=14 + - libstdcxx >=14 + license: BSL-1.0 + purls: [] + size: 1190849 + timestamp: 1756276271706 +- conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.2-h03e3b7b_1.conda + sha256: 48f3f6a76c34b2cfe80de9ce7f2283ecb55d5ed47367ba91e8bb8104e12b8f11 + md5: 98b6c9dc80eb87b2519b97bcf7e578dd depends: - - __win - constrains: - - m2w64-sysroot_win-64 >=12.0.0.r0 - license: FSFAP - size: 7412 - timestamp: 1717486007140 -- conda: https://conda.anaconda.org/conda-forge/noarch/mingw-w64-ucrt-x86_64-winpthreads-git-12.0.0.r4.gg4f2fc60ca-hd8ed1ab_10.conda - sha256: 828abb111286940473c4c665fc8ab300d28920f5af83b32295e8bf2256a8f342 - md5: ba0eeff6a5c62b83c771bb392e22dbb4 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 45829 + timestamp: 1762948049098 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/snappy-1.2.2-he774c54_1.conda + sha256: a8a79c53852fb07286407907402caa5a96b6e22b518c4f010be40647f9ee3726 + md5: 3dec912091fb88614afa0af2712c1362 depends: - - m2-conda-epoch - - mingw-w64-ucrt-x86_64-headers-git 12.0.0.r4.gg4f2fc60ca hd8ed1ab_10 - constrains: - - mingw-w64-ucrt-x86_64-crt-git 12.0.0.r4.gg4f2fc60ca.* - license: MIT AND BSD-3-Clause-Clear - size: 123916 - timestamp: 1759768539535 -- conda: https://conda.anaconda.org/conda-forge/noarch/more-itertools-11.0.1-pyhcf101f3_0.conda - sha256: af8f30fb9542f48167fedbe1ab14230bfb82245cd4338b70c30dd55729714472 - md5: 6fbedd565de86ec83bc96531ee3ab856 + - libgcc >=14 + - libstdcxx >=14 + - libgcc >=14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 47096 + timestamp: 1762948094646 +- conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.1.1-pyhd8ed1ab_0.conda + sha256: ad89284ea94821c20ff87e64b948e4afc690cf5202d14c009355b0594cf23aea + md5: 46b6abe31482f6bca064b965696ae807 depends: - python >=3.10 - - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/more-itertools?source=hash-mapping - size: 71354 - timestamp: 1775153285920 -- conda: https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_1.conda - sha256: 7d7aa3fcd6f42b76bd711182f3776a02bef09a68c5f117d66b712a6d81368692 - md5: 3585aa87c43ab15b167b574cd73b057b - depends: - - python >=3.9 license: BSD-3-Clause license_family: BSD - size: 439705 - timestamp: 1733302781386 -- conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.1.0-pyha770c72_0.conda - sha256: 6ed158e4e5dd8f6a10ad9e525631e35cee8557718f83de7a4e3966b1f772c4b1 - md5: e9c622e0d00fa24a6292279af3ab6d06 + purls: + - pkg:pypi/snowballstemmer?source=hash-mapping + size: 74456 + timestamp: 1780468201547 +- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.9.1-pyhd8ed1ab_0.conda + sha256: d10bfe45ffd6fa37baef69d852f9fa882be4e6fe4cdd7286f3543e79b803cadb + md5: 0fc47d7f5a6dbafd186a8f92cad5de3f depends: - - python >=3.9 + - python >=3.10 license: MIT license_family: MIT purls: - - pkg:pypi/mypy-extensions?source=hash-mapping - size: 11766 - timestamp: 1745776666688 -- conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.4.0-pyhcf101f3_0.conda - sha256: c81d0c8c74c3da66808f8da09d8e48f2af2d173d357d45239defaf466838edba - md5: da07c7b1588ad0a44118d28aeb31b6a6 + - pkg:pypi/soupsieve?source=compressed-mapping + size: 39457 + timestamp: 1784670700449 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda + sha256: 3228eb332ce159f031d4b7d2e08117df973b0ba3ddcb8f5dbb7f429f71d27ea1 + md5: 1a3281a0dc355c02b5506d87db2d78ac depends: - - importlib-metadata - - ipykernel - - ipython - - jupyter-cache >=0.5 - - myst-parser >=1.0.0 - - nbclient - - nbformat >=5.0 + - alabaster >=0.7.14 + - babel >=2.13 + - colorama >=0.4.6 + - docutils >=0.20,<0.22 + - imagesize >=1.3 + - jinja2 >=3.1 + - packaging >=23.0 + - pygments >=2.17 - python >=3.10 - - pyyaml - - sphinx >=5 - - typing_extensions - - python - license: BSD-3-Clause + - requests >=2.30.0 + - snowballstemmer >=2.2 + - sphinxcontrib-applehelp >=1.0.7 + - sphinxcontrib-devhelp >=1.0.6 + - sphinxcontrib-htmlhelp >=2.0.6 + - sphinxcontrib-jsmath >=1.0.1 + - sphinxcontrib-qthelp >=1.0.6 + - sphinxcontrib-serializinghtml >=1.1.9 + - tomli >=2.0 + license: BSD-2-Clause license_family: BSD purls: - - pkg:pypi/myst-nb?source=hash-mapping - size: 68766 - timestamp: 1772587444587 -- conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-5.0.0-pyhd8ed1ab_0.conda - sha256: f352d594d968acd31052c5f894ae70718be56481ffa9c304fdfcbe78ddf66eb1 - md5: a65e2c3c764766f0b28a3ac5052502a6 + - pkg:pypi/sphinx?source=hash-mapping + size: 1387076 + timestamp: 1733754175386 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-autodoc-typehints-3.0.1-pyhd8ed1ab_0.conda + sha256: 0f93bb75a41918433abc8d8d80ef99d7fd8658d5ba34da3c5d8f707cb6bb3f46 + md5: 6ad405d62c8de3792608a27b7e085e15 depends: - - docutils >=0.20,<0.23 - - jinja2 - - markdown-it-py >=4.0.0,<4.1.0 - - mdit-py-plugins >=0.5,<0.6 - - python >=3.11 - - pyyaml - - sphinx >=8,<10 + - python >=3.10 + - sphinx >=8.1.3 license: MIT license_family: MIT purls: - - pkg:pypi/myst-parser?source=hash-mapping - size: 73535 - timestamp: 1768942892170 -- conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda - sha256: aeb1548eb72e4f198e72f19d242fb695b35add2ac7b2c00e0d83687052867680 - md5: e941e85e273121222580723010bd4fa2 + - pkg:pypi/sphinx-autodoc-typehints?source=hash-mapping + size: 24055 + timestamp: 1737099757820 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda + sha256: 8cd892e49cb4d00501bc4439fb0c73ca44905f01a65b2b7fa05ba0e8f3924f19 + md5: bf22cb9c439572760316ce0748af3713 depends: - python >=3.9 - - python + - sphinx >=1.8 license: MIT license_family: MIT purls: - - pkg:pypi/natsort?source=hash-mapping - size: 39262 - timestamp: 1770905275632 -- conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.4-pyhd8ed1ab_0.conda - sha256: 1b66960ee06874ddceeebe375d5f17fb5f393d025a09e15b830ad0c4fffb585b - md5: 00f5b8dafa842e0c27c1cd7296aa4875 + - pkg:pypi/sphinx-copybutton?source=hash-mapping + size: 17893 + timestamp: 1734573117732 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-jinja2-compat-0.4.1-pyhd8ed1ab_0.conda + sha256: 115f4306ace812d90b4ffab5ac27cc01c2fac13df67c5dcc37931130c8ebea13 + md5: 7ecc82915cd2c4654fa26ddc4d3650f7 depends: - - jupyter_client >=6.1.12 - - jupyter_core >=4.12,!=5.0.* - - nbformat >=5.1 - - python >=3.8 - - traitlets >=5.4 + - jinja2 >=2.10 + - markupsafe >=1 + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sphinx-jinja2-compat?source=hash-mapping + size: 12320 + timestamp: 1754550385132 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-prompt-1.10.1-pyhd8ed1ab_0.conda + sha256: 3d2e0d961b38f66ea3e7decd04917bf69104b6683dae778e4d3ef5291c04b861 + md5: bfc047865de18ef2657bd8a95d7b8b49 + depends: + - pygments + - python >=3.11 + - sphinx license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/nbclient?source=hash-mapping - size: 28473 - timestamp: 1766485646962 -- conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda - sha256: 7a5bd30a2e7ddd7b85031a5e2e14f290898098dc85bea5b3a5bf147c25122838 - md5: bbe1963f1e47f594070ffe87cdf612ea + - pkg:pypi/sphinx-prompt?source=hash-mapping + size: 12214 + timestamp: 1758128174284 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-tabs-3.4.1-pyhd8ed1ab_1.conda + sha256: 43c343edc9ea11ffd947d97fa60bf6347a404700e2cde81fb954e60b7e6a42c1 + md5: 8b8362d876396fd967cbb5f404def907 + depends: + - docutils >=0.18.0 + - pygments + - python >=3.6 + - sphinx >=2 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sphinx-tabs?source=hash-mapping + size: 15026 + timestamp: 1675342588275 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-toolbox-4.1.2-pyhd8ed1ab_0.conda + sha256: 63d5b2d672499191d26f3ad2ed57a39c5fc691086a28fd41caec4689b6fa901a + md5: 8f0cb58909ab8ef6d76f03dac2a4a6d0 + depends: + - apeye >=0.4.0 + - autodocsumm >=0.2.0 + - beautifulsoup4 >=4.9.1 + - cachecontrol >=0.13.0 + - dict2css >=0.2.3 + - docutils >=0.16 + - domdf-python-tools >=2.9.0 + - filelock >=3.8.0 + - html5lib >=1.1 + - python >=3.10 + - ruamel.yaml >=0.16.12 + - sphinx >=3.2.0 + - sphinx-autodoc-typehints >=1.11.1 + - sphinx-jinja2-compat >=0.1.0 + - sphinx-prompt >=1.1.0 + - sphinx-tabs <3.5.0,>=1.2.1 + - tabulate >=0.8.7 + - typing-extensions !=3.10.0.1,>=3.7.4.3 + - typing_inspect >=0.6.0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/sphinx-toolbox?source=hash-mapping + size: 98891 + timestamp: 1768566379359 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda + sha256: d7433a344a9ad32a680b881c81b0034bc61618d12c39dd6e3309abeffa9577ba + md5: 16e3f039c0aa6446513e94ab18a8784b depends: - - jsonschema >=2.6 - - jupyter_core >=4.12,!=5.0.* - python >=3.9 - - python-fastjsonschema >=2.15 - - traitlets >=5.1 - license: BSD-3-Clause + - sphinx >=5 + license: BSD-2-Clause license_family: BSD purls: - - pkg:pypi/nbformat?source=hash-mapping - size: 100945 - timestamp: 1733402844974 -- conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda - sha256: bb7b21d7fd0445ddc0631f64e66d91a179de4ba920b8381f29b9d006a42788c0 - md5: 598fd7d4d0de2455fb74f56063969a97 + - pkg:pypi/sphinxcontrib-applehelp?source=hash-mapping + size: 29752 + timestamp: 1733754216334 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda + sha256: 55d5076005d20b84b20bee7844e686b7e60eb9f683af04492e598a622b12d53d + md5: 910f28a05c178feba832f842155cbfff depends: - python >=3.9 + - sphinx >=5 license: BSD-2-Clause license_family: BSD purls: - - pkg:pypi/nest-asyncio?source=hash-mapping - size: 11543 - timestamp: 1733325673691 -- conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda - sha256: f6a82172afc50e54741f6f84527ef10424326611503c64e359e25a19a8e4c1c6 - md5: a2c1eeadae7a309daed9d62c96012a2b - depends: - - python >=3.11 - - python - constrains: - - numpy >=1.25 - - scipy >=1.11.2 - - matplotlib-base >=3.8 - - pandas >=2.0 - license: BSD-3-Clause + - pkg:pypi/sphinxcontrib-devhelp?source=hash-mapping + size: 24536 + timestamp: 1733754232002 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda + sha256: c1492c0262ccf16694bdcd3bb62aa4627878ea8782d5cd3876614ffeb62b3996 + md5: e9fb3fe8a5b758b4aff187d434f94f03 + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause license_family: BSD - size: 1587439 - timestamp: 1765215107045 -- conda: https://conda.anaconda.org/conda-forge/noarch/nomkl-1.0-h5ca1d4c_0.tar.bz2 - sha256: d38542a151a90417065c1a234866f97fd1ea82a81de75ecb725955ab78f88b4b - md5: 9a66894dfd07c4510beb6b3f9672ccc0 - constrains: - - mkl <0.a0 - license: BSD-3-Clause + purls: + - pkg:pypi/sphinxcontrib-htmlhelp?source=hash-mapping + size: 32895 + timestamp: 1733754385092 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda + sha256: 578bef5ec630e5b2b8810d898bbbf79b9ae66d49b7938bcc3efc364e679f2a62 + md5: fa839b5ff59e192f411ccc7dae6588bb + depends: + - python >=3.9 + license: BSD-2-Clause license_family: BSD - size: 3843 - timestamp: 1582593857545 -- conda: https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.10.0-pyhcf101f3_0.conda - sha256: 482d94fce136c4352b18c6397b9faf0a3149bfb12499ab1ffebad8db0cb6678f - md5: 3aa4b625f20f55cf68e92df5e5bf3c39 + purls: + - pkg:pypi/sphinxcontrib-jsmath?source=hash-mapping + size: 10462 + timestamp: 1733753857224 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda + sha256: c664fefae4acdb5fae973bdde25836faf451f41d04342b64a358f9a7753c92ca + md5: 00534ebcc0375929b45c3039b5ba7636 + depends: + - python >=3.9 + - sphinx >=5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-qthelp?source=hash-mapping + size: 26959 + timestamp: 1733753505008 +- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-2.0.0-pyhd8ed1ab_0.conda + sha256: 20b49741065fd7d3fabf98caf6d19b6436badb06b6d41f66b58f1fc2b52f37a1 + md5: f77df1fcf9af03b7287342638befca77 depends: - python >=3.10 - - sphinx >=6 - - tomli >=1.1.0 - - python - license: BSD-3-Clause + - sphinx >=5 + license: BSD-2-Clause license_family: BSD purls: - - pkg:pypi/numpydoc?source=hash-mapping - size: 65801 - timestamp: 1764715638266 -- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - sha256: c1fc0f953048f743385d31c468b4a678b3ad20caffdeaa94bed85ba63049fd58 - md5: b76541e68fea4d511b1ac46a28dcd2c6 + - pkg:pypi/sphinxcontrib-serializinghtml?source=compressed-mapping + size: 30640 + timestamp: 1781260357443 +- conda: https://conda.anaconda.org/conda-forge/linux-64/spirv-tools-2026.2-hb700be7_1.conda + sha256: 65a4e2fc5fb0677cff340ca314b25226d7eb94b2c75f733c0cab6176a8f46421 + md5: 6c08f1aeca6e195eaa2b2e9ee18a9891 depends: - - python >=3.8 - - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + constrains: + - spirv-headers >=1.4.350.1,<1.4.350.2.0a0 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/packaging?source=compressed-mapping - size: 72010 - timestamp: 1769093650580 -- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - sha256: 3906abfb6511a3bb309e39b9b1b7bc38f50a723971de2395489fd1f379255890 - md5: 4c06a92e74452cfa53623a81592e8934 + purls: [] + size: 2392774 + timestamp: 1784383717730 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/spirv-tools-2026.2-hfefdfc9_1.conda + sha256: 346ffd80f7bea9b38c6606b58e41eef6d72880790eae3b13b5a2c23977066cf8 + md5: 7fa71bf8cf1b8b600ead47f139c0dab3 depends: - - python >=3.8 - - python + - libgcc >=14 + - libstdcxx >=14 + constrains: + - spirv-headers >=1.4.350.1,<1.4.350.2.0a0 license: Apache-2.0 license_family: APACHE - run_exports: {} - size: 91574 - timestamp: 1777103621679 -- conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.6-pyhcf101f3_0.conda - sha256: 42b2d77ccea60752f3aa929a6413a7835aaacdbbde679f2f5870a744fa836b94 - md5: 97c1ce2fffa1209e7afb432810ec6e12 - depends: - - python >=3.10 - - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/parso?source=hash-mapping - size: 82287 - timestamp: 1770676243987 -- conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda - sha256: 202af1de83b585d36445dc1fda94266697341994d1a3328fabde4989e1b3d07a - md5: d0d408b1f18883a944376da5cf8101ea + purls: [] + size: 2294133 + timestamp: 1784383784497 +- conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_1.conda + sha256: 30a87a710c1deed93371e6ff365ebd3b578aeefad68cc89bedff85ffb2fea9d2 + md5: 5a929a4b1f6c82d05f0a1283d4a14e45 depends: - - ptyprocess >=0.5 - - python >=3.9 - license: ISC - purls: - - pkg:pypi/pexpect?source=hash-mapping - size: 53561 - timestamp: 1733302019362 -- conda: https://conda.anaconda.org/conda-forge/noarch/pip-26.0.1-pyh145f28c_0.conda - sha256: 5f66ea31d62188c266c5a8752119b0cc90a5bf05963f665cf48a33e0ec58d39c - md5: 09a970fbf75e8ed1aa633827ded6aa4f + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - spirv-headers >=1.4.350.1,<1.4.350.2.0a0 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 14643364 + timestamp: 1784384374991 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.51-py314h0f05182_0.conda + sha256: 3c46e9af535a376c7269b61563f84c601235b00d50fc97f87ffbf3b68a51fe17 + md5: aeb7447f3ea37b2bb32167267dcf0bfe depends: - - python >=3.13.0a0 + - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT purls: - - pkg:pypi/pip?source=hash-mapping - size: 1180743 - timestamp: 1770270312477 -- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.4-pyhcf101f3_0.conda - sha256: 0289f0a38337ee201d984f8f31f11f6ef076cfbbfd0ab9181d12d9d1d099bf46 - md5: 82c1787f2a65c0155ef9652466ee98d6 + - pkg:pypi/sqlalchemy?source=hash-mapping + size: 4034632 + timestamp: 1781547880247 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sqlalchemy-2.0.51-py314hf8f541d_0.conda + sha256: 9e09d6c18af3156f48b885c4f3ac2008e738fc69ab8f9598099972435e492eb2 + md5: 316ea2a86e0d0408dea4ff80740a0245 depends: - - python >=3.10 - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 + - libgcc >=14 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT purls: - - pkg:pypi/platformdirs?source=hash-mapping - size: 25646 - timestamp: 1773199142345 -- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - sha256: e14aafa63efa0528ca99ba568eaf506eb55a0371d12e6250aaaa61718d2eb62e - md5: d7585b6550ad04c8c5e21097ada2888e + - pkg:pypi/sqlalchemy?source=hash-mapping + size: 4050670 + timestamp: 1781548196065 +- conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.51-py314hc5dbbe4_0.conda + sha256: 55e98a0f4e491151ffad7c274d22dfb2d999d50cafa606ec649eff29f079591b + md5: 920cf560266c77de21a8f55e7d0e0329 depends: - - python >=3.9 - python + - greenlet !=0.4.17 + - typing-extensions >=4.6.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + - python_abi 3.14.* *_cp314 license: MIT license_family: MIT purls: - - pkg:pypi/pluggy?source=hash-mapping - size: 25877 - timestamp: 1764896838868 -- conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda - sha256: 4817651a276016f3838957bfdf963386438c70761e9faec7749d411635979bae - md5: edb16f14d920fb3faf17f5ce582942d6 - depends: - - python >=3.10 - - wcwidth - constrains: - - prompt_toolkit 3.0.52 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/prompt-toolkit?source=hash-mapping - size: 273927 - timestamp: 1756321848365 -- conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda - sha256: a7713dfe30faf17508ec359e0bc7e0983f5d94682492469bd462cdaae9c64d83 - md5: 7d9daffbb8d8e0af0f769dbbcd173a54 - depends: - - python >=3.9 - license: ISC - purls: - - pkg:pypi/ptyprocess?source=hash-mapping - size: 19457 - timestamp: 1733302371990 -- conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda - sha256: 71bd24600d14bb171a6321d523486f6a06f855e75e547fa0cb2a0953b02047f0 - md5: 3bfdfb8dbcdc4af1ae3f9a8eb3948f04 + - pkg:pypi/sqlalchemy?source=hash-mapping + size: 3986755 + timestamp: 1781547909164 +- conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda + sha256: 570da295d421661af487f1595045760526964f41471021056e993e73089e9c41 + md5: b1b505328da7a6b246787df4b5a49fbc depends: + - asttokens + - executing + - pure_eval - python >=3.9 license: MIT license_family: MIT purls: - - pkg:pypi/pure-eval?source=hash-mapping - size: 16668 - timestamp: 1733569518868 -- conda: https://conda.anaconda.org/conda-forge/noarch/py-cpuinfo-9.0.0-pyhd8ed1ab_1.conda - sha256: 6d8f03c13d085a569fde931892cded813474acbef2e03381a1a87f420c7da035 - md5: 46830ee16925d5ed250850503b5dc3a8 - depends: - - python >=3.9 - license: MIT - license_family: MIT - size: 25766 - timestamp: 1733236452235 -- conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-3.0.1-pyh7a1b43c_0.conda - sha256: 2558727093f13d4c30e124724566d16badd7de532fd8ee7483628977117d02be - md5: 70ece62498c769280f791e836ac53fff + - pkg:pypi/stack-data?source=hash-mapping + size: 26988 + timestamp: 1733569565672 +- conda: https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.2.0-hecca717_0.conda + sha256: c79f983a6bb4218bdef9064aec5821d59d744f9a98f8cf8437c7bd0351df0d95 + md5: 683f1b6d013bb1eb0d5c8025d2eb21a3 depends: - - python >=3.8 - - pybind11-global ==3.0.1 *_0 - - python - constrains: - - pybind11-abi ==11 - license: BSD-3-Clause - license_family: BSD - size: 232875 - timestamp: 1755953378112 -- conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-11-hc364b38_1.conda - sha256: 9e7fe12f727acd2787fb5816b2049cef4604b7a00ad3e408c5e709c298ce8bf1 - md5: f0599959a2447c1e544e216bddf393fa - license: BSD-3-Clause + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: BSD-2-Clause license_family: BSD - size: 14671 - timestamp: 1752769938071 -- conda: https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.0.1-pyhc7ab6ef_0.conda - sha256: f11a5903879fe3a24e0d28329cb2b1945127e85a4cdb444b45545cf079f99e2d - md5: fe10b422ce8b5af5dab3740e4084c3f9 + purls: [] + size: 2666786 + timestamp: 1784069888521 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/svt-av1-4.2.0-hfae3067_0.conda + sha256: 5f4c820fbf924145755c394df3d6ab98c96d6f5630ba486ce6f568de25d5845d + md5: 54ccc3ac256db941ff50f0fada595fa0 depends: - - python >=3.8 - - __unix - - python - constrains: - - pybind11-abi ==11 - license: BSD-3-Clause + - libgcc >=14 + - libstdcxx >=14 + license: BSD-2-Clause license_family: BSD - size: 228871 - timestamp: 1755953338243 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyclibrary-0.2.2-pyhd8ed1ab_1.conda - sha256: 210a7beee6dce5e57d4d4166b6fd93693ede3e213510efa7373103f10c18d057 - md5: 0cda5dbfd261b08292fcf16429662b0a - depends: - - pyparsing >=2.3.1,<4 - - python >=3.9 - license: MIT - license_family: MIT - purls: - - pkg:pypi/pyclibrary?source=hash-mapping - size: 437505 - timestamp: 1734953615203 -- conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda - sha256: 79db7928d13fab2d892592223d7570f5061c192f27b9febd1a418427b719acc6 - md5: 12c566707c80111f9799308d9e265aef + purls: [] + size: 2083840 + timestamp: 1784069822348 +- conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.2.0-hac47afa_0.conda + sha256: 6dc6ed0e651e99d03ae25b6a358064247c96b1cb436fdbf973ab25c1c6aedcd4 + md5: c49fb5bcbd2f2537875e4b2f62c0de3b depends: - - python >=3.9 - - python - license: BSD-3-Clause + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-2-Clause license_family: BSD - size: 110100 - timestamp: 1733195786147 -- conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.17.0-pyhcf101f3_0.conda - sha256: 03ae7063dd18f070cf28a441dd86ea476c20ff7fc174d8365a476a650a6ae20f - md5: c09bb5f9960ff1cd334c5573b5ad79c2 + purls: [] + size: 1833926 + timestamp: 1784070033860 +- conda: https://conda.anaconda.org/conda-forge/noarch/sympy-1.14.0-pyh2585a3b_106.conda + sha256: 1c8057e6875eba958aa8b3c1a072dc9a75d013f209c26fd8125a5ebd3abbec0c + md5: 32d866e43b25275f61566b9391ccb7b5 depends: - - accessible-pygments - - babel - - beautifulsoup4 - - docutils !=0.17.0 - - pygments >=2.7 + - __unix + - cpython + - gmpy2 >=2.0.8 + - mpmath >=1.1.0,<1.5 - python >=3.10 - - sphinx >=7.0 - - typing_extensions - - python license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/pydata-sphinx-theme?source=hash-mapping - size: 1655347 - timestamp: 1775308781489 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.13-pyhd8ed1ab_0.conda - sha256: 638d74a3a5f62f0c2deca8edb796835c1a5f14f0f1771aad63e3b3b7f65993b4 - md5: 98c2b80f5741f63f6ca5b6119c56eeaf - depends: - - ffmpeg >=4.0.0 - - freetype - - python >=3.10 - license: BSD-3-Clause - license_family: BSD - size: 725938 - timestamp: 1770169149613 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyglet-2.1.14-pyhd8ed1ab_0.conda - sha256: 9436a5bdcf63c215a9b4c0bc7be4ba16dae43a714cd15c2133ca851c588279ac - md5: 85911d1b0c7ffe28189b6d461915ad9c - depends: - - ffmpeg >=4.0.0 - - freetype - - python >=3.10 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/pyglet?source=hash-mapping - size: 728286 - timestamp: 1775384075243 -- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda - sha256: 5577623b9f6685ece2697c6eb7511b4c9ac5fb607c9babc2646c811b428fd46a - md5: 6b6ece66ebcae2d5f326c77ef2c5a066 + - pkg:pypi/sympy?source=hash-mapping + size: 4661767 + timestamp: 1771952371059 +- conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda + sha256: c47299fe37aebb0fcf674b3be588e67e4afb86225be4b0d452c7eb75c086b851 + md5: 13dc3adbc692664cd3beabd216434749 depends: - - python >=3.9 - license: BSD-2-Clause - license_family: BSD - size: 889287 - timestamp: 1750615908735 -- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - sha256: cf70b2f5ad9ae472b71235e5c8a736c9316df3705746de419b59d442e8348e86 - md5: 16c18772b340887160c79a6acc022db0 + - __glibc >=2.28 + - kernel-headers_linux-64 4.18.0 he073ed8_9 + - tzdata + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later + license_family: GPL + purls: [] + size: 24008591 + timestamp: 1765578833462 +- conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda + sha256: 1bd2db6b2e451247bab103e4a0128cf6c7595dd72cb26d70f7fadd9edd1d1bc3 + md5: fdf07ab944a222ff28c754914fdb0740 depends: - - python >=3.10 - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/pygments?source=hash-mapping - size: 893031 - timestamp: 1774796815820 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.3.2-pyhcf101f3_0.conda - sha256: 417fba4783e528ee732afa82999300859b065dc59927344b4859c64aae7182de - md5: 3687cc0b82a8b4c17e1f0eb7e47163d5 + - __glibc >=2.28 + - kernel-headers_linux-aarch64 4.18.0 h05a177a_9 + - tzdata + license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later + license_family: GPL + purls: [] + size: 23644746 + timestamp: 1765578629426 +- conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda + sha256: 3f661e98a09f976775a494488beb3d35ebb00f535b169c6bd891f2e280d55783 + md5: 3b887b7b3468b0f494b4fad40178b043 depends: - python >=3.10 - python license: MIT license_family: MIT purls: - - pkg:pypi/pyparsing?source=hash-mapping - size: 110893 - timestamp: 1769003998136 -- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - sha256: d016e04b0e12063fbee4a2d5fbb9b39a8d191b5a0042f0b8459188aedeabb0ca - md5: e2fd202833c4a981ce8a65974fe4abd1 + - pkg:pypi/tabulate?source=hash-mapping + size: 43964 + timestamp: 1772732795746 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tbb-2023.0.0-hab88423_2.conda + sha256: 30cb9355c2fefc20ff1a3d6566b9714d5614086a2524c07721fc344eb20515ae + md5: 7073b15f9364ebc118998601ac6ca6a6 depends: - - __win - - python >=3.9 - - win_inet_pton - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/pysocks?source=hash-mapping - size: 21784 - timestamp: 1733217448189 -- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 - md5: 461219d1a5bd61342293efa2c0c90eac + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libhwloc >=2.13.0,<2.13.1.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 182331 + timestamp: 1778673758649 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tbb-2023.0.0-h57272ed_2.conda + sha256: 7ed4e93fad3707aa1686c5be286604c63aad33c9765a0d53fab7adbd179510b3 + md5: 0bc302bd45e5f744a672eb4f4a930398 depends: - - __unix - - python >=3.9 + - libgcc >=14 + - libhwloc >=2.13.0,<2.13.1.0a0 + - libstdcxx >=14 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 145425 + timestamp: 1778675412470 +- conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda + sha256: 8a4053839b8e997a5965e2dff7d6cf3c77be62d82c0e48c8a04a5ed2d2e73035 + md5: 8ee01a693aecff5432069eaaf1183c45 + depends: + - libhwloc >=2.13.0,<2.13.1.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: APACHE + purls: [] + size: 156515 + timestamp: 1778673901757 +- conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.5.1-pyhcf101f3_0.conda + sha256: 7c803480dbfb8b536b9bf6287fa2aa0a4f970f8c09075694174eb4550a4524cd + md5: c0d0b883e97906f7524e2aac94be0e0d + depends: + - python >=3.10 + - webencodings >=0.4 + - python license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/pysocks?source=hash-mapping - size: 21085 - timestamp: 1733217331982 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - sha256: 9e749fb465a8bedf0184d8b8996992a38de351f7c64e967031944978de03a520 - md5: 2b694bad8a50dc2f712f5368de866480 + - pkg:pypi/tinycss2?source=hash-mapping + size: 30571 + timestamp: 1764621508086 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda + build_number: 103 + sha256: 43624eab22f5f29df7d6ffe914cf442f28fd559b55b290906255492826e636e8 + md5: 48a1049e710857572fc2a832aa394d9f depends: - - pygments >=2.7.2 - - python >=3.10 - - iniconfig >=1.0.1 - - packaging >=22 - - pluggy >=1.5,<2 - - tomli >=1 - - colorama >=0.4 - - exceptiongroup >=1 - - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.2,<2.0a0 constrains: - - pytest-faulthandler >=2 - license: MIT - license_family: MIT - purls: - - pkg:pypi/pytest?source=hash-mapping - size: 299581 - timestamp: 1765062031645 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-benchmark-5.2.3-pyhd8ed1ab_0.conda - sha256: 2f2229415a6e5387c1faaedf442ea8c07471cb2bf5ad1007b9cfb83ea85ca29a - md5: 0e7294ed4af8b833fcd2c101d647c3da + - xorg-libx11 >=1.8.13,<2.0a0 + license: TCL + purls: [] + size: 3550916 + timestamp: 1784229071544 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda + build_number: 103 + sha256: cd51fbda051a9f3679d10ef4a94cd1ff38c10533b82845dadce8ba87245ba4ce + md5: 89e78452e06563964e419059ee45584a depends: - - py-cpuinfo - - pytest >=8.1 - - python >=3.10 - license: BSD-2-Clause - license_family: BSD - size: 43976 - timestamp: 1762716480208 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-randomly-3.15.0-pyhd8ed1ab_0.conda - sha256: bd1953e4bc20ffd52cfee41b27b3a781ca6e281004d0dd59e2dd60b0192c7a86 - md5: 203b5d3f85a47940f7ec6b6e1747786e + - libgcc >=14 + - libzlib >=1.3.2,<2.0a0 + constrains: + - xorg-libx11 >=1.8.13,<2.0a0 + license: TCL + purls: [] + size: 3683040 + timestamp: 1784229053797 +- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda + sha256: 13fa29257d43f8e630a1e591ed77fae9bbbb236b011432f01e2034cf36e6bf03 + md5: aaf79e2af50a151fb5b5a3e3f38b7a69 depends: - - importlib-metadata >=3.6.0 - - pytest - - python >=3.6 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - ucrt >=10.0.20348.0 + license: TCL + purls: [] + size: 3782314 + timestamp: 1784229072899 +- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + sha256: 91cafdb64268e43e0e10d30bd1bef5af392e69f00edd34dfaf909f69ab2da6bd + md5: b5325cf06a000c5b14970462ff5e4d58 + depends: + - python >=3.10 + - python license: MIT license_family: MIT - size: 14133 - timestamp: 1692131735622 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-repeat-0.9.4-pyhd8ed1ab_0.conda - sha256: cea7b0555c22a734d732f98a3b256646f3d82d926a35fa2bfd16f11395abd83b - md5: 9e8871313f26d8b6f0232522b3bc47a5 + purls: + - pkg:pypi/tomli?source=hash-mapping + size: 21561 + timestamp: 1774492402955 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.7-py314h5bd0f2a_0.conda + sha256: bbb7056f7c5fd606df16ed73ee68687050de2c02fd69a3f69a1cb533a7ed2ae8 + md5: 4a8e5889712641aabdf6695e292857fe depends: - - pytest >=5 - - python >=3.9 - license: MPL-2.0 - license_family: MOZILLA - size: 10537 - timestamp: 1744061283541 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-rerunfailures-16.1-pyhd8ed1ab_0.conda - sha256: 437f0e7805e471dcc57afd4b122d5025fa2162e4c031dc9e8c6f2c05c4d50cc0 - md5: b57fe0c7e03b97c3554e6cea827e2058 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/tornado?source=compressed-mapping + size: 918368 + timestamp: 1781006801436 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.5.7-py314hafb4487_0.conda + sha256: 7a5157dabdc88f2e16a45f8e342657ceb0d4515b8640c8a4f1c3b3de88dcc92e + md5: 82b0cb99192ae48eca75f25102fd5ce0 depends: - - packaging >=17.1 - - pytest >=7.4,!=8.2.2 - - python >=3.10 - license: MPL-2.0 - license_family: OTHER - size: 19613 - timestamp: 1760091441792 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 - md5: 5b8d21249ff20967101ffa321cab24e8 + - libgcc >=14 + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/tornado?source=hash-mapping + size: 916897 + timestamp: 1781007943867 +- conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.7-py314h5a2d7ad_0.conda + sha256: 6b9f5a195ca148f7c6b9a4a0a026631979b3112c43cd7c1064085ff833dfa4f0 + md5: b1b9bf11a82e608c5649d7462de94c5f depends: - - python >=3.9 - - six >=1.5 - - python + - python >=3.14,<3.15.0a0 + - python_abi 3.14.* *_cp314 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 license: Apache-2.0 - license_family: APACHE + license_family: Apache purls: - - pkg:pypi/python-dateutil?source=hash-mapping - size: 233310 - timestamp: 1751104122689 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda - sha256: df9aa74e9e28e8d1309274648aac08ec447a92512c33f61a8de0afa9ce32ebe8 - md5: 23029aae904a2ba587daba708208012f + - pkg:pypi/tornado?source=hash-mapping + size: 919275 + timestamp: 1781006902968 +- conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.15.1-pyhcf101f3_0.conda + sha256: b89a823edf524956b94a2a4db974866e4501f05c68976eff458c5dcf07f88431 + md5: 37e3be7b6e2977d37b8fa5da229f5dc0 depends: - - python >=3.9 + - python >=3.10 - python license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/fastjsonschema?source=hash-mapping - size: 244628 - timestamp: 1755304154927 -- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.3-h4df99d1_101.conda - sha256: 233aebd94c704ac112afefbb29cf4170b7bc606e22958906f2672081bc50638a - md5: 235765e4ea0d0301c75965985163b5a1 + - pkg:pypi/traitlets?source=hash-mapping + size: 115158 + timestamp: 1780507822178 +- conda: https://conda.anaconda.org/conda-forge/linux-64/triton-3.6.0-cuda130py314h1cdc6f0_2.conda + sha256: 0765fae9e2a9322b66901e4069ac65490c610207f1178b4c2edd9dd45ef19117 + md5: d6ad6d1aa41cebdeb4b3009f6b7df20a depends: - - cpython 3.14.3.* - - python_abi * *_cp314 - license: Python-2.0 - purls: [] - size: 50062 - timestamp: 1770674497152 -- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.12-8_cp312.conda - build_number: 8 - sha256: 80677180dd3c22deb7426ca89d6203f1c7f1f256f2d5a94dc210f6e758229809 - md5: c3efd25ac4d74b1584d2f7a57195ddf1 - constrains: - - python 3.12.* *_cpython + - python + - setuptools + - cuda-nvcc-tools + - cuda-cuobjdump + - cuda-cudart + - cuda-cupti + - cuda-version >=13.0,<14 + - __glibc >=2.28,<3.0.a0 + - libstdcxx >=14 + - libgcc >=14 + - zstd >=1.5.7,<1.6.0a0 + - libzlib >=1.3.2,<2.0a0 + - python_abi 3.14.* *_cp314 + - cuda-cupti >=13.0.85,<14.0a0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/triton?source=hash-mapping + size: 236186954 + timestamp: 1779452546956 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/triton-3.6.0-cuda130py314h75a4554_2.conda + sha256: ef23731246966345aaffa731c92cb81ecdb3ea4e677fe2f96bcfe25d80e58a97 + md5: 83a619850f6587aa5a597a36c0fe528d + depends: + - python + - setuptools + - cuda-nvcc-tools + - cuda-cuobjdump + - cuda-cudart + - cuda-cupti + - libstdcxx >=14 + - libgcc >=14 + - arm-variant * sbsa + - python 3.14.* *_cp314 + - cuda-version >=13.0,<14 + - __glibc >=2.28,<3.0.a0 + - zstd >=1.5.7,<1.6.0a0 + - cuda-cupti >=13.0.85,<14.0a0 + - python_abi 3.14.* *_cp314 + - libzlib >=1.3.2,<2.0a0 + license: MIT + license_family: MIT + purls: + - pkg:pypi/triton?source=hash-mapping + size: 244696037 + timestamp: 1779452430163 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.16.0-h69aa097_0.conda + sha256: b141933ece3518f6d7b75dfb59451e2f26b405a44c18e2518a83e9a02e09315c + md5: c680b5747e8c4c8f23dca0bb7042a8fc + depends: + - typing_extensions ==4.16.0 pyhcf101f3_0 + license: PSF-2.0 + license_family: PSF + purls: [] + size: 94080 + timestamp: 1783002732887 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda + sha256: 2d888f90af0686044882c74193ec80a90ec1943145d94a7b1b048958acda1848 + md5: c70ad746c22219b9700931707482992c + depends: + - python >=3.10 + - python + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/typing-extensions?source=compressed-mapping + size: 52631 + timestamp: 1783002732887 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda + sha256: a3fbdd31b509ff16c7314e8d01c41d9146504df632a360ab30dbc1d3ca79b7c0 + md5: fa31df4d4193aabccaf09ce78a187faf + depends: + - mypy_extensions >=0.3.0 + - python >=3.9 + - typing_extensions >=3.7.4 + license: MIT + license_family: MIT + purls: + - pkg:pypi/typing-inspect?source=hash-mapping + size: 14919 + timestamp: 1733845966415 +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + sha256: b928c30ddcb0e3f544c6eade8352737e6e610e263276b90232db6a578ef899d8 + md5: fcb489df604d100968b737f2cb6076c6 + license: LicenseRef-Public-Domain + purls: [] + size: 118849 + timestamp: 1784250406640 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ucc-1.8.0-h2521932_0.conda + sha256: 4f883997c690fe2100619853b2d5b3af226ecf9f2ed10158d1e73f744ce24cd3 + md5: 8b265ef54d5129a6c5cceef553d9768b + depends: + - __glibc >=2.28,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - rdma-core >=63.0 + - ucx >=1.20.1,<1.20.2.0a0 + constrains: + - cuda-version >=13,<14.0a0 + - nccl >=2.30.4.1,<3.0a0 + - cuda-cudart license: BSD-3-Clause license_family: BSD purls: [] - size: 6958 - timestamp: 1752805918820 -- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - build_number: 8 - sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5 - md5: 0539938c55b6b1a59b560e843ad864a4 + size: 10020375 + timestamp: 1781051119792 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ucc-1.8.0-he629949_0.conda + sha256: ec39070c0753f25651b702cdbc0f7e2ae63e50c9f4ecefc765dcb1526190890e + md5: 64f7639c5fe8366af0aecc6b68cb453a + depends: + - __glibc >=2.28,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + - rdma-core >=63.0 + - ucx >=1.20.1,<1.20.2.0a0 constrains: - - python 3.14.* *_cp314 + - cuda-version >=13,<14.0a0 + - cuda-cudart + - nccl >=2.30.4.1,<3.0a0 license: BSD-3-Clause license_family: BSD purls: [] - run_exports: {} - size: 6989 - timestamp: 1752805904792 -- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314t.conda - build_number: 8 - sha256: d9ed2538fba61265a330ee1b1afe99a4bb23ace706172b9464546c7e01259d63 - md5: 3251796e09870c978e0f69fa05e38fb6 + size: 10149403 + timestamp: 1781051160710 +- conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda + sha256: 3005729dce6f3d3f5ec91dfc49fc75a0095f9cd23bab49efb899657297ac91a5 + md5: 71b24316859acd00bdb8b38f5e2ce328 constrains: - - python 3.14.* *_cp314t + - vc14_runtime >=14.29.30037 + - vs2015_runtime >=14.29.30037 + license: LicenseRef-MicrosoftWindowsSDK10 + purls: [] + size: 694692 + timestamp: 1756385147981 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ucx-1.20.1-hf72d326_0.conda + sha256: 96341dbb30e77b0c89522f850edc42572a0d7937646898bb2d57b93a5c348e0c + md5: 227baf40539ae6858afe99634faf883d + depends: + - __glibc >=2.28,<3.0.a0 + - _openmp_mutex >=4.5 + - libgcc >=14 + - libstdcxx >=14 + - rdma-core >=61.0 + constrains: + - cuda-cudart + - cuda-version >=13,<14.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 7020 - timestamp: 1752805919426 -- conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda - sha256: 0577eedfb347ff94d0f2fa6c052c502989b028216996b45c7f21236f25864414 - md5: 870293df500ca7e18bedefa5838a22ab + size: 7866533 + timestamp: 1779828179257 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ucx-1.20.1-h62a42b4_0.conda + sha256: c74d15f5734c09a60ee0bc12c30eba325ec7d72afaa50781ec7dcc5a763f22fd + md5: d99452fecc606351f25b789f903c8e00 depends: - - attrs >=22.2.0 + - __glibc >=2.28,<3.0.a0 + - _openmp_mutex >=4.5 + - libgcc >=14 + - libstdcxx >=14 + - rdma-core >=61.0 + constrains: + - cuda-cudart + - cuda-version >=13,<14.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 7808868 + timestamp: 1779828229221 +- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda + sha256: feff959a816f7988a0893201aa9727bbb7ee1e9cec2c4f0428269b489eb93fb4 + md5: cbb88288f74dbe6ada1c6c7d0a97223e + depends: + - backports.zstd >=1.0.0 + - brotli-python >=1.2.0 + - h2 >=4,<5 + - pysocks >=1.5.6,<2.0,!=1.5.7 - python >=3.10 - - rpds-py >=0.7.0 - - typing_extensions >=4.4.0 - - python license: MIT license_family: MIT purls: - - pkg:pypi/referencing?source=hash-mapping - size: 51788 - timestamp: 1760379115194 -- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.1-pyhcf101f3_0.conda - sha256: c0249bc4bf4c0e8e06d0e7b4d117a5d593cc4ab2144d5006d6d47c83cb0af18e - md5: 10afbb4dbf06ff959ad25a92ccee6e59 + - pkg:pypi/urllib3?source=hash-mapping + size: 103560 + timestamp: 1778188657149 +- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda + sha256: 17693b60cb54f80c60275f003f3bfc1b128af56dbfd65c4fae37c64eeb755ce1 + md5: 2eacea63f545b97342da520df6854276 depends: - - python >=3.10 - - certifi >=2023.5.7 - - charset-normalizer >=2,<4 - - idna >=2.5,<4 - - urllib3 >=1.26,<3 - - python + - vc14_runtime >=14.51.36231 + track_features: + - vc14 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 20362 + timestamp: 1781320968457 +- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda + sha256: 8153ed849c92e891eacac0f2f8d7ecb79f9b5fd7f7917fbb896f252a60a40390 + md5: 06a5bf5a1ca16cce0df6eaa91fc42bc2 + depends: + - ucrt >=10.0.20348.0 + - vcomp14 14.51.36231 h1b9f54f_39 constrains: - - chardet >=3.0.2,<6 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/requests?source=hash-mapping - size: 63712 - timestamp: 1774894783063 -- conda: https://conda.anaconda.org/conda-forge/noarch/ruamel.yaml-0.19.1-pyhcf101f3_0.conda - sha256: b48bebe297a63ae60f52e50be328262e880702db4d9b4e86731473ada459c2a1 - md5: 06ad944772941d5dae1e0d09848d8e49 + - vs2015_runtime 14.51.36231.* *_39 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + license_family: Proprietary + purls: [] + size: 737434 + timestamp: 1781320964561 +- conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda + sha256: 07fb14713c4bc62e2533a2e23a363abfb0e65650681fba0ae4c840e2219350f3 + md5: 8b53a83fda40ec679e4d63fa32fae989 depends: - - python >=3.10 - - ruamel.yaml.clib >=0.2.15 - - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/ruamel-yaml?source=hash-mapping - size: 98448 - timestamp: 1767538149184 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - sha256: 82088a6e4daa33329a30bc26dc19a98c7c1d3f05c0f73ce9845d4eab4924e9e1 - md5: 8e194e7b992f99a5015edbd4ebd38efd + - ucrt >=10.0.20348.0 + constrains: + - vs2015_runtime 14.51.36231.* *_39 + license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime + license_family: Proprietary + purls: [] + size: 120684 + timestamp: 1781320948530 +- conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda + sha256: 6de6c2cf008fc2dce61060b583f2d8494c83883106952b201381b6b0505f03d7 + md5: 2ccc63d7b7d066a814ed9f99072832d7 depends: - - python >=3.10 + - vc14_runtime >=14.51.36231 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 20355 + timestamp: 1781320968804 +- conda: https://conda.anaconda.org/conda-forge/linux-64/wayland-1.26.0-hd6090a7_0.conda + sha256: 6b9e182021ef3a64ab3bf788ebdab6de6775035612237c639ccafc941639eb13 + md5: b34c5559f45d8996e3bc0b6250a6cc84 + depends: + - __glibc >=2.17,<3.0.a0 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - libstdcxx >=14 license: MIT license_family: MIT - size: 639697 - timestamp: 1773074868565 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - sha256: 48a9f96016505debadfc67f06de7ac548decbc38d327409b24b0432ef6f16335 - md5: 6bf6acbab2499830180ec88c3aff2fa4 + purls: [] + size: 340543 + timestamp: 1784249169392 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/wayland-1.26.0-h4f8a99f_0.conda + sha256: 27d8782a2f6cd193f2f446de829f7a92f3b34cc885e2d59d4b8326934023d8fd + md5: 8da6920e59279dedb8c737cff347cfee depends: - - python >=3.10 + - libexpat >=2.8.1,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - libstdcxx >=14 license: MIT license_family: MIT - run_exports: {} - size: 642081 - timestamp: 1783619174976 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - sha256: 8272686bacba85b683bf4ad1fedde16203b7610276074e22593a275b0ce3c017 - md5: 224418e442ea786882979fbd2b36061f - depends: - - python >=3.10 - - vcs_versioning >=2.0.0.dev0 - - packaging >=20 - - setuptools - - tomli >=1 - - typing_extensions - - python + purls: [] + size: 341752 + timestamp: 1784249192116 +- conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda + sha256: 04ce686cd187d379344f9b2be7b4da5f431b265dc0944a6b764fab9da9171948 + md5: 0839a3421140d4a9ba93fb988698fc00 license: MIT license_family: MIT - run_exports: {} - size: 28577 - timestamp: 1782401906421 -- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d - md5: 3339e3b65d58accf4ca4fb8748ab16b3 + purls: [] + size: 147954 + timestamp: 1780946721169 +- conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.8.2-pyhd8ed1ab_0.conda + sha256: 4acf845da404e84cef1acccc66cc0156af1b83a5b5d7077b2ca19b705c561e57 + md5: 99f7755ec8648a042b0dbe906234f888 depends: - - python >=3.9 - - python + - python >=3.10 license: MIT license_family: MIT purls: - - pkg:pypi/six?source=hash-mapping - size: 18455 - timestamp: 1753199211006 -- conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-3.0.1-pyhd8ed1ab_0.conda - sha256: 17007a4cfbc564dc3e7310dcbe4932c6ecb21593d4fec3c68610720f19e73fb2 - md5: 755cf22df8693aa0d1aec1c123fa5863 + - pkg:pypi/wcwidth?source=compressed-mapping + size: 132415 + timestamp: 1782771807703 +- conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda + sha256: 19ff205e138bb056a46f9e3839935a2e60bd1cf01c8241a5e172a422fed4f9c6 + md5: 2841eb5bfc75ce15e9a0054b98dcd64d depends: - python >=3.9 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/snowballstemmer?source=hash-mapping - size: 73009 - timestamp: 1747749529809 -- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda - sha256: 23b71ecf089967d2900126920e7f9ff18cdcef82dbff3e2f54ffa360243a17ac - md5: 18de09b20462742fe093ba39185d9bac - depends: - - python >=3.10 - license: MIT - license_family: MIT - purls: - - pkg:pypi/soupsieve?source=hash-mapping - size: 38187 - timestamp: 1769034509657 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-8.1.3-pyhd8ed1ab_1.conda - sha256: 3228eb332ce159f031d4b7d2e08117df973b0ba3ddcb8f5dbb7f429f71d27ea1 - md5: 1a3281a0dc355c02b5506d87db2d78ac + - pkg:pypi/webencodings?source=hash-mapping + size: 15496 + timestamp: 1733236131358 +- conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda + sha256: 93807369ab91f230cf9e6e2a237eaa812492fe00face5b38068735858fba954f + md5: 46e441ba871f524e2b067929da3051c2 depends: - - alabaster >=0.7.14 - - babel >=2.13 - - colorama >=0.4.6 - - docutils >=0.20,<0.22 - - imagesize >=1.3 - - jinja2 >=3.1 - - packaging >=23.0 - - pygments >=2.17 - - python >=3.10 - - requests >=2.30.0 - - snowballstemmer >=2.2 - - sphinxcontrib-applehelp >=1.0.7 - - sphinxcontrib-devhelp >=1.0.6 - - sphinxcontrib-htmlhelp >=2.0.6 - - sphinxcontrib-jsmath >=1.0.1 - - sphinxcontrib-qthelp >=1.0.6 - - sphinxcontrib-serializinghtml >=1.1.9 - - tomli >=2.0 - license: BSD-2-Clause - license_family: BSD + - __win + - python >=3.9 + license: LicenseRef-Public-Domain purls: - - pkg:pypi/sphinx?source=hash-mapping - size: 1387076 - timestamp: 1733754175386 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-autodoc-typehints-3.0.1-pyhd8ed1ab_0.conda - sha256: 0f93bb75a41918433abc8d8d80ef99d7fd8658d5ba34da3c5d8f707cb6bb3f46 - md5: 6ad405d62c8de3792608a27b7e085e15 + - pkg:pypi/win-inet-pton?source=hash-mapping + size: 9555 + timestamp: 1733130678956 +- conda: https://conda.anaconda.org/conda-forge/linux-64/x264-1!164.3095-h166bdaf_2.tar.bz2 + sha256: 175315eb3d6ea1f64a6ce470be00fa2ee59980108f246d3072ab8b977cb048a5 + md5: 6c99772d483f566d59e25037fea2c4b1 depends: - - python >=3.10 - - sphinx >=8.1.3 + - libgcc-ng >=12 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 897548 + timestamp: 1660323080555 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x264-1!164.3095-h4e544f5_2.tar.bz2 + sha256: b48f150db8c052c197691c9d76f59e252d3a7f01de123753d51ebf2eed1cf057 + md5: 0efaf807a0b5844ce5f605bd9b668281 + depends: + - libgcc-ng >=12 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 1000661 + timestamp: 1660324722559 +- conda: https://conda.anaconda.org/conda-forge/win-64/x264-1!164.3095-h8ffe710_2.tar.bz2 + sha256: 97166b318f8c68ffe4d50b2f4bd36e415219eeaef233e7d41c54244dc6108249 + md5: 19e39905184459760ccb8cf5c75f148b + depends: + - vc >=14.1,<15 + - vs2015_runtime >=14.16.27033 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 1041889 + timestamp: 1660323726084 +- conda: https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 + sha256: 76c7405bcf2af639971150f342550484efac18219c0203c5ee2e38b8956fe2a0 + md5: e7f6ed84d4623d52ee581325c1587a6b + depends: + - libgcc-ng >=10.3.0 + - libstdcxx-ng >=10.3.0 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 3357188 + timestamp: 1646609687141 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/x265-3.5-hdd96247_3.tar.bz2 + sha256: cb2227f2441499900bdc0168eb423d7b2056c8fd5a3541df4e2d05509a88c668 + md5: 786853760099c74a1d4f0da98dd67aea + depends: + - libgcc-ng >=10.3.0 + - libstdcxx-ng >=10.3.0 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 1018181 + timestamp: 1646610147365 +- conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 + sha256: 02b9874049112f2b7335c9a3e880ac05d99a08d9a98160c5a98898b2b3ac42b2 + md5: ca7129a334198f08347fb19ac98a2de9 + depends: + - vc >=14.1,<15 + - vs2015_runtime >=14.16.27033 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 5517425 + timestamp: 1646611941216 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.48-h280c20c_0.conda + sha256: 3b04afd5d1a65d2d27ac2d49a63b01ab8bcd875776779ec63e337370ed38afdc + md5: b233b41be0bf210989d57160ed39b394 + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - xorg-libx11 >=1.8.13,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/sphinx-autodoc-typehints?source=hash-mapping - size: 24055 - timestamp: 1737099757820 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda - sha256: 8cd892e49cb4d00501bc4439fb0c73ca44905f01a65b2b7fa05ba0e8f3924f19 - md5: bf22cb9c439572760316ce0748af3713 + purls: [] + size: 441670 + timestamp: 1782027360439 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xkeyboard-config-2.48-h80f16a2_0.conda + sha256: 96078068df25ddccc60958be740e6fa99efb1e0fa2dae2f84e775201bf84d70c + md5: 3dbc6d9e1f8a8768e7ef9f57585a43ca depends: - - python >=3.9 - - sphinx >=1.8 + - libgcc >=14 + - xorg-libx11 >=1.8.13,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/sphinx-copybutton?source=hash-mapping - size: 17893 - timestamp: 1734573117732 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-jinja2-compat-0.4.1-pyhd8ed1ab_0.conda - sha256: 115f4306ace812d90b4ffab5ac27cc01c2fac13df67c5dcc37931130c8ebea13 - md5: 7ecc82915cd2c4654fa26ddc4d3650f7 + purls: [] + size: 442725 + timestamp: 1782027381059 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda + sha256: c12396aabb21244c212e488bbdc4abcdef0b7404b15761d9329f5a4a39113c4b + md5: fb901ff28063514abb6046c9ec2c4a45 depends: - - jinja2 >=2.10 - - markupsafe >=1 - - python >=3.9 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 license: MIT license_family: MIT - purls: - - pkg:pypi/sphinx-jinja2-compat?source=hash-mapping - size: 12320 - timestamp: 1754550385132 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-prompt-1.10.1-pyhd8ed1ab_0.conda - sha256: 3d2e0d961b38f66ea3e7decd04917bf69104b6683dae778e4d3ef5291c04b861 - md5: bfc047865de18ef2657bd8a95d7b8b49 + purls: [] + size: 58628 + timestamp: 1734227592886 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda + sha256: a2ba1864403c7eb4194dacbfe2777acf3d596feae43aada8d1b478617ce45031 + md5: c8d8ec3e00cd0fd8a231789b91a7c5b7 depends: - - pygments - - python >=3.11 - - sphinx - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/sphinx-prompt?source=hash-mapping - size: 12214 - timestamp: 1758128174284 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-tabs-3.4.1-pyhd8ed1ab_1.conda - sha256: 43c343edc9ea11ffd947d97fa60bf6347a404700e2cde81fb954e60b7e6a42c1 - md5: 8b8362d876396fd967cbb5f404def907 + - libgcc >=13 + license: MIT + license_family: MIT + purls: [] + size: 60433 + timestamp: 1734229908988 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda + sha256: 277841c43a39f738927145930ff963c5ce4c4dacf66637a3d95d802a64173250 + md5: 1c74ff8c35dcadf952a16f752ca5aa49 depends: - - docutils >=0.18.0 - - pygments - - python >=3.6 - - sphinx >=2 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libuuid >=2.38.1,<3.0a0 + - xorg-libice >=1.1.2,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/sphinx-tabs?source=hash-mapping - size: 15026 - timestamp: 1675342588275 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-toolbox-4.1.2-pyhd8ed1ab_0.conda - sha256: 63d5b2d672499191d26f3ad2ed57a39c5fc691086a28fd41caec4689b6fa901a - md5: 8f0cb58909ab8ef6d76f03dac2a4a6d0 + purls: [] + size: 27590 + timestamp: 1741896361728 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda + sha256: b86a819cd16f90c01d9d81892155126d01555a20dabd5f3091da59d6309afd0a + md5: 2d1409c50882819cb1af2de82e2b7208 depends: - - apeye >=0.4.0 - - autodocsumm >=0.2.0 - - beautifulsoup4 >=4.9.1 - - cachecontrol >=0.13.0 - - dict2css >=0.2.3 - - docutils >=0.16 - - domdf-python-tools >=2.9.0 - - filelock >=3.8.0 - - html5lib >=1.1 - - python >=3.10 - - ruamel.yaml >=0.16.12 - - sphinx >=3.2.0 - - sphinx-autodoc-typehints >=1.11.1 - - sphinx-jinja2-compat >=0.1.0 - - sphinx-prompt >=1.1.0 - - sphinx-tabs <3.5.0,>=1.2.1 - - tabulate >=0.8.7 - - typing-extensions !=3.10.0.1,>=3.7.4.3 - - typing_inspect >=0.6.0 + - libgcc >=13 + - libuuid >=2.38.1,<3.0a0 + - xorg-libice >=1.1.2,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/sphinx-toolbox?source=hash-mapping - size: 98891 - timestamp: 1768566379359 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda - sha256: d7433a344a9ad32a680b881c81b0034bc61618d12c39dd6e3309abeffa9577ba - md5: 16e3f039c0aa6446513e94ab18a8784b + purls: [] + size: 28701 + timestamp: 1741897678254 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda + sha256: 516d4060139dbb4de49a4dcdc6317a9353fb39ebd47789c14e6fe52de0deee42 + md5: 861fb6ccbc677bb9a9fb2468430b9c6a depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-applehelp?source=hash-mapping - size: 29752 - timestamp: 1733754216334 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda - sha256: 55d5076005d20b84b20bee7844e686b7e60eb9f683af04492e598a622b12d53d - md5: 910f28a05c178feba832f842155cbfff + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libxcb >=1.17.0,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 839652 + timestamp: 1770819209719 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda + sha256: cf886160e2ff580d77f7eb8ec1a77c41c2c5b05343e329bc35f0ddf40b8d92ab + md5: 22dd10425ef181e80e130db50675d615 depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-devhelp?source=hash-mapping - size: 24536 - timestamp: 1733754232002 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda - sha256: c1492c0262ccf16694bdcd3bb62aa4627878ea8782d5cd3876614ffeb62b3996 - md5: e9fb3fe8a5b758b4aff187d434f94f03 - depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-htmlhelp?source=hash-mapping - size: 32895 - timestamp: 1733754385092 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda - sha256: 578bef5ec630e5b2b8810d898bbbf79b9ae66d49b7938bcc3efc364e679f2a62 - md5: fa839b5ff59e192f411ccc7dae6588bb - depends: - - python >=3.9 - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-jsmath?source=hash-mapping - size: 10462 - timestamp: 1733753857224 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda - sha256: c664fefae4acdb5fae973bdde25836faf451f41d04342b64a358f9a7753c92ca - md5: 00534ebcc0375929b45c3039b5ba7636 - depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-qthelp?source=hash-mapping - size: 26959 - timestamp: 1733753505008 -- conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda - sha256: 64d89ecc0264347486971a94487cb8d7c65bfc0176750cf7502b8a272f4ab557 - md5: 3bc61f7161d28137797e038263c04c54 - depends: - - python >=3.9 - - sphinx >=5 - license: BSD-2-Clause - license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-serializinghtml?source=hash-mapping - size: 28669 - timestamp: 1733750596111 -- conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda - sha256: 570da295d421661af487f1595045760526964f41471021056e993e73089e9c41 - md5: b1b505328da7a6b246787df4b5a49fbc - depends: - - asttokens - - executing - - pure_eval - - python >=3.9 + - libgcc >=14 + - libxcb >=1.17.0,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/stack-data?source=hash-mapping - size: 26988 - timestamp: 1733569565672 -- conda: https://conda.anaconda.org/conda-forge/noarch/sympy-1.14.0-pyh2585a3b_106.conda - sha256: 1c8057e6875eba958aa8b3c1a072dc9a75d013f209c26fd8125a5ebd3abbec0c - md5: 32d866e43b25275f61566b9391ccb7b5 - depends: - - __unix - - cpython - - gmpy2 >=2.0.8 - - mpmath >=1.1.0,<1.5 - - python >=3.10 - license: BSD-3-Clause - license_family: BSD - size: 4661767 - timestamp: 1771952371059 -- conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - sha256: c47299fe37aebb0fcf674b3be588e67e4afb86225be4b0d452c7eb75c086b851 - md5: 13dc3adbc692664cd3beabd216434749 - depends: - - __glibc >=2.28 - - kernel-headers_linux-64 4.18.0 he073ed8_9 - - tzdata - license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later - license_family: GPL - run_exports: - strong: - - __glibc >=2.28,<3.0.a0 - size: 24008591 - timestamp: 1765578833462 -- conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - sha256: 1bd2db6b2e451247bab103e4a0128cf6c7595dd72cb26d70f7fadd9edd1d1bc3 - md5: fdf07ab944a222ff28c754914fdb0740 - depends: - - __glibc >=2.28 - - kernel-headers_linux-aarch64 4.18.0 h05a177a_9 - - tzdata - license: LGPL-2.0-or-later AND LGPL-2.0-or-later WITH exceptions AND GPL-2.0-or-later - license_family: GPL - run_exports: - strong: - - __glibc >=2.28,<3.0.a0 - size: 23644746 - timestamp: 1765578629426 -- conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.10.0-pyhcf101f3_0.conda - sha256: 3f661e98a09f976775a494488beb3d35ebb00f535b169c6bd891f2e280d55783 - md5: 3b887b7b3468b0f494b4fad40178b043 + purls: [] + size: 869058 + timestamp: 1770819244991 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda + sha256: 6bc6ab7a90a5d8ac94c7e300cc10beb0500eeba4b99822768ca2f2ef356f731b + md5: b2895afaf55bf96a8c8282a2e47a5de0 depends: - - python >=3.10 - - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 license: MIT license_family: MIT - purls: - - pkg:pypi/tabulate?source=hash-mapping - size: 43964 - timestamp: 1772732795746 -- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda - sha256: 62940c563de45790ba0f076b9f2085a842a65662268b02dd136a8e9b1eaf47a8 - md5: 72e780e9aa2d0a3295f59b1874e3768b + purls: [] + size: 15321 + timestamp: 1762976464266 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxau-1.0.12-he30d5cf_1.conda + sha256: e9f6e931feeb2f40e1fdbafe41d3b665f1ab6cb39c5880a1fcf9f79a3f3c84a5 + md5: 1c246e1105000c3660558459e2fd6d43 depends: - - python >=3.10 - - python + - libgcc >=14 license: MIT license_family: MIT - size: 21453 - timestamp: 1768146676791 -- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - sha256: 91cafdb64268e43e0e10d30bd1bef5af392e69f00edd34dfaf909f69ab2da6bd - md5: b5325cf06a000c5b14970462ff5e4d58 + purls: [] + size: 16317 + timestamp: 1762977521691 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxcursor-1.2.3-hb9d3cd8_0.conda + sha256: 832f538ade441b1eee863c8c91af9e69b356cd3e9e1350fff4fe36cc573fc91a + md5: 2ccd714aa2242315acaf0a67faea780b depends: - - python >=3.10 - - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + - xorg-libxrender >=0.9.11,<0.10.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/tomli?source=hash-mapping - run_exports: {} - size: 21561 - timestamp: 1774492402955 -- conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda - sha256: f39a5620c6e8e9e98357507262a7869de2ae8cc07da8b7f84e517c9fd6c2b959 - md5: 019a7385be9af33791c989871317e1ed - depends: - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/traitlets?source=hash-mapping - size: 110051 - timestamp: 1733367480074 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - sha256: 7c2df5721c742c2a47b2c8f960e718c930031663ac1174da67c1ed5999f7938c - md5: edd329d7d3a4ab45dcf905899a7a6115 - depends: - - typing_extensions ==4.15.0 pyhcf101f3_0 - license: PSF-2.0 - license_family: PSF purls: [] - size: 91383 - timestamp: 1756220668932 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - sha256: 032271135bca55aeb156cee361c81350c6f3fb203f57d024d7e5a1fc9ef18731 - md5: 0caa1af407ecff61170c9437a808404d - depends: - - python >=3.10 - - python - license: PSF-2.0 - license_family: PSF - purls: - - pkg:pypi/typing-extensions?source=hash-mapping - size: 51692 - timestamp: 1756220668932 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - sha256: 2d888f90af0686044882c74193ec80a90ec1943145d94a7b1b048958acda1848 - md5: c70ad746c22219b9700931707482992c - depends: - - python >=3.10 - - python - license: PSF-2.0 - license_family: PSF - run_exports: {} - size: 52631 - timestamp: 1783002732887 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing_inspect-0.9.0-pyhd8ed1ab_1.conda - sha256: a3fbdd31b509ff16c7314e8d01c41d9146504df632a360ab30dbc1d3ca79b7c0 - md5: fa31df4d4193aabccaf09ce78a187faf + size: 32533 + timestamp: 1730908305254 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxcursor-1.2.3-h86ecc28_0.conda + sha256: c5d3692520762322a9598e7448492309f5ee9d8f3aff72d787cf06e77c42507f + md5: f2054759c2203d12d0007005e1f1296d depends: - - mypy_extensions >=0.3.0 - - python >=3.9 - - typing_extensions >=3.7.4 + - libgcc >=13 + - xorg-libx11 >=1.8.9,<2.0a0 + - xorg-libxfixes >=6.0.1,<7.0a0 + - xorg-libxrender >=0.9.11,<0.10.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/typing-inspect?source=hash-mapping - size: 14919 - timestamp: 1733845966415 -- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - sha256: 1d30098909076af33a35017eed6f2953af1c769e273a0626a04722ac4acaba3c - md5: ad659d0a2b3e47e38d829aa8cad2d610 - license: LicenseRef-Public-Domain purls: [] - size: 119135 - timestamp: 1767016325805 -- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - sha256: b928c30ddcb0e3f544c6eade8352737e6e610e263276b90232db6a578ef899d8 - md5: fcb489df604d100968b737f2cb6076c6 - license: LicenseRef-Public-Domain - run_exports: {} - size: 118849 - timestamp: 1784250406640 -- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda - sha256: af641ca7ab0c64525a96fd9ad3081b0f5bcf5d1cbb091afb3f6ed5a9eee6111a - md5: 9272daa869e03efe68833e3dc7a02130 + size: 34596 + timestamp: 1730908388714 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda + sha256: 25d255fb2eef929d21ff660a0c687d38a6d2ccfbcbf0cc6aa738b12af6e9d142 + md5: 1dafce8548e38671bea82e3f5c6ce22f depends: - - backports.zstd >=1.0.0 - - brotli-python >=1.2.0 - - h2 >=4,<5 - - pysocks >=1.5.6,<2.0,!=1.5.7 - - python >=3.10 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 license: MIT license_family: MIT - purls: - - pkg:pypi/urllib3?source=hash-mapping - size: 103172 - timestamp: 1767817860341 -- conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - sha256: 5728b15adf4e2877e510996e0d617d1531ccd8e55ca59358f60d3a10aaead5fa - md5: efbdc1f76721fb4ae7a1dbb5fff72562 + purls: [] + size: 20591 + timestamp: 1762976546182 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda + sha256: 128d72f36bcc8d2b4cdbec07507542e437c7d67f677b7d77b71ed9eeac7d6df1 + md5: bff06dcde4a707339d66d45d96ceb2e2 depends: - - python >=3.10 - - packaging >=20 - - tomli >=1 - - typing_extensions >=4.1 - - python + - libgcc >=14 license: MIT license_family: MIT - run_exports: {} - size: 83180 - timestamp: 1782748145197 -- conda: https://conda.anaconda.org/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda - sha256: b72270395326dc56de9bd6ca82f63791b3c8c9e2b98e25242a9869a4ca821895 - md5: f622897afff347b715d046178ad745a5 + purls: [] + size: 21039 + timestamp: 1762979038025 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda + sha256: 79c60fc6acfd3d713d6340d3b4e296836a0f8c51602327b32794625826bd052f + md5: 34e54f03dfea3e7a2dcf1453a85f1085 depends: - - __win - license: MIT - license_family: MIT - run_exports: {} - size: 238764 - timestamp: 1745560912727 -- conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.47-hd8ed1ab_0.conda - sha256: 9ab2c12053ea8984228dd573114ffc6d63df42c501d59fda3bf3aeb1eaa1d23e - md5: 7da1571f560d4ba3343f7f4c48a79c76 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 license: MIT license_family: MIT - size: 140476 - timestamp: 1765821981856 -- conda: https://conda.anaconda.org/conda-forge/noarch/wayland-protocols-1.49-hd8ed1ab_0.conda - sha256: 04ce686cd187d379344f9b2be7b4da5f431b265dc0944a6b764fab9da9171948 - md5: 0839a3421140d4a9ba93fb988698fc00 + purls: [] + size: 50326 + timestamp: 1769445253162 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda + sha256: db2188bc0d844d4e9747bac7f6c1d067e390bd769c5ad897c93f1df759dc5dba + md5: fb42b683034619915863d68dd9df03a3 + depends: + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 license: MIT license_family: MIT purls: [] - size: 147954 - timestamp: 1780946721169 -- conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.6.0-pyhd8ed1ab_0.conda - sha256: e298b508b2473c4227206800dfb14c39e4b14fd79d4636132e9e1e4244cdf4aa - md5: c3197f8c0d5b955c904616b716aca093 + size: 52409 + timestamp: 1769446753771 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda + sha256: 83c4c99d60b8784a611351220452a0a85b080668188dce5dfa394b723d7b64f4 + md5: ba231da7fccf9ea1e768caf5c7099b84 depends: - - python >=3.10 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/wcwidth?source=hash-mapping - size: 71550 - timestamp: 1770634638503 -- conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda - sha256: 19ff205e138bb056a46f9e3839935a2e60bd1cf01c8241a5e172a422fed4f9c6 - md5: 2841eb5bfc75ce15e9a0054b98dcd64d - depends: - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/webencodings?source=hash-mapping - size: 15496 - timestamp: 1733236131358 -- conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda - sha256: 93807369ab91f230cf9e6e2a237eaa812492fe00face5b38068735858fba954f - md5: 46e441ba871f524e2b067929da3051c2 + purls: [] + size: 20071 + timestamp: 1759282564045 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda + sha256: 8cb9c88e25c57e47419e98f04f9ef3154ad96b9f858c88c570c7b91216a64d0e + md5: e8b4056544341daf1d415eaeae7a040c depends: - - __win - - python >=3.9 - license: LicenseRef-Public-Domain - purls: - - pkg:pypi/win-inet-pton?source=hash-mapping - size: 9555 - timestamp: 1733130678956 -- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - sha256: b4533f7d9efc976511a73ef7d4a2473406d7f4c750884be8e8620b0ce70f4dae - md5: 30cd29cb87d819caead4d55184c1d115 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 20704 + timestamp: 1759284028146 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.3-hb03c661_0.conda + sha256: 495f99c8eacfa4ae2d8fed2a7f2105777af89acdc204df145d2bbbc380ac631b + md5: adba2e334082bb218db806d4c12277c9 depends: - - python >=3.10 - - python + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/zipp?source=hash-mapping - size: 24194 - timestamp: 1764460141901 -- conda: https://conda.anaconda.org/conda-forge/win-64/_openmp_mutex-4.5-20_gnu.conda - build_number: 20 - sha256: 8a1cee28bd0ee7451ada1cd50b64720e57e17ff994fc62dd8329bef570d382e4 - md5: 1626967b574d1784b578b52eaeb071e7 + purls: [] + size: 47717 + timestamp: 1779111857071 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.3-he30d5cf_0.conda + sha256: 0c1c7b39763469cfe0e9c6d0f9a39415321f477710719f4c5d63c61ea270271c + md5: f8ad5777ecc217d383a722598dbeb1ac depends: - - libgomp >=7.5.0 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - constrains: - - openmp_impl <0.0a0 - - msys2-conda-epoch <0.0a0 - license: BSD-3-Clause - license_family: BSD - size: 52252 - timestamp: 1770943776666 -- conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.14.1-pl5321h06fc181_1.conda - sha256: 3033fa8953f7f0c1bb5b89b5af77253badc14a89ba94d743dde3c9159e10fd5e - md5: 7a8ace8100a48355a34d87386012c57b + - libgcc >=14 + - xorg-libx11 >=1.8.13,<2.0a0 + - xorg-libxext >=1.3.7,<2.0a0 + - xorg-libxfixes >=6.0.2,<7.0a0 + license: MIT + license_family: MIT + purls: [] + size: 49292 + timestamp: 1779113229775 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda + sha256: 80ed047a5cb30632c3dc5804c7716131d767089f65877813d4ae855ee5c9d343 + md5: e192019153591938acf7322b6459d36e depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: BSD-2-Clause - license_family: BSD + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: MIT + license_family: MIT purls: [] - size: 2214571 - timestamp: 1780752497150 -- conda: https://conda.anaconda.org/conda-forge/win-64/aom-3.9.1-he0c23c2_0.conda - sha256: 0524d0c0b61dacd0c22ac7a8067f977b1d52380210933b04141f5099c5b6fec7 - md5: 3d7c14285d3eb3239a76ff79063f27a5 + size: 30456 + timestamp: 1769445263457 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda + sha256: 9f5196665a8d72f4f119c40dcc4bafeb0b540b102cc7b8b299c2abf599e7919f + md5: 1f64c613f0b8d67e9fb0e165d898fb6b depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: BSD-2-Clause - license_family: BSD - size: 1958151 - timestamp: 1718551737234 -- conda: https://conda.anaconda.org/conda-forge/win-64/binutils_impl_win-64-2.45.1-default_ha84baeb_101.conda - sha256: 31211bd89e77203f731f31871ff13b5828fbd99f02ae2fc56ae15fcd568c4466 - md5: 84d2e3fd656b05705b7cfe7a92a8c840 + - libgcc >=14 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxrender >=0.9.12,<0.10.0a0 + license: MIT + license_family: MIT + purls: [] + size: 31122 + timestamp: 1769445286951 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda + sha256: 044c7b3153c224c6cedd4484dd91b389d2d7fd9c776ad0f4a34f099b3389f4a1 + md5: 96d57aba173e878a2089d5638016dc5e depends: - - ld_impl_win-64 2.45.1 default_hfd38196_101 - - m2w64-sysroot_win-64 >=12.0.0.r0 - - zstd >=1.5.7,<1.6.0a0 - license: GPL-3.0-only - license_family: GPL - size: 5830940 - timestamp: 1770267725685 -- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py314he701e3d_1.conda - sha256: 6854ee7675135c57c73a04849c29cbebc2fb6a3a3bfee1f308e64bf23074719b - md5: 1302b74b93c44791403cbeee6a0f62a3 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 33005 + timestamp: 1734229037766 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda + sha256: ffd77ee860c9635a28cfda46163dcfe9224dc6248c62404c544ae6b564a0be1f + md5: ae2c2dd0e2d38d249887727db2af960e depends: - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - libbrotlicommon 1.2.0 hfd05255_1 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/brotli?source=hash-mapping - size: 335782 - timestamp: 1764018443683 -- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - sha256: 76dfb71df5e8d1c4eded2dbb5ba15bb8fb2e2b0fe42d94145d5eed4c75c35902 - md5: 4cb8e6b48f67de0b018719cdf1136306 + purls: [] + size: 33649 + timestamp: 1734229123157 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxscrnsaver-1.2.4-hb9d3cd8_0.conda + sha256: 58e8fc1687534124832d22e102f098b5401173212ac69eb9fd96b16a3e2c8cb2 + md5: 303f7a0e9e0cd7d250bb6b952cecda90 depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: bzip2-1.0.6 - license_family: BSD + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: MIT + license_family: MIT purls: [] - run_exports: - weak: - - bzip2 >=1.0.8,<2.0a0 - size: 56115 - timestamp: 1771350256444 -- conda: https://conda.anaconda.org/conda-forge/win-64/cairo-1.18.4-h477c42c_1.conda - sha256: 9ee4ad706c5d3e1c6c469785d60e3c2b263eec569be0eac7be33fbaef978bccc - md5: 52ea1beba35b69852d210242dd20f97d + size: 14412 + timestamp: 1727899730073 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxscrnsaver-1.2.4-h86ecc28_0.conda + sha256: ab88b1533e7498baeb00cbda50c899a6fe73eaee14df32c57b8ad3f2a0b3cc26 + md5: 7a0a04defd4399a93936f06fcfac5531 depends: - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - icu >=78.1,<79.0a0 - - libexpat >=2.7.3,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libglib >=2.86.3,<3.0a0 - - libpng >=1.6.53,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - pixman >=0.46.4,<1.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-only or MPL-1.1 + - libgcc >=13 + - xorg-libx11 >=1.8.12,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + license: MIT + license_family: MIT purls: [] - size: 1537783 - timestamp: 1766416059188 -- conda: https://conda.anaconda.org/conda-forge/win-64/cffi-2.0.0-py314h5a2d7ad_1.conda - sha256: 924f2f01fa7a62401145ef35ab6fc95f323b7418b2644a87fea0ea68048880ed - md5: c360170be1c9183654a240aadbedad94 + size: 15720 + timestamp: 1750007336692 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda + sha256: 752fdaac5d58ed863bbf685bb6f98092fe1a488ea8ebb7ed7b606ccfce08637a + md5: 7bbe9a0cc0df0ac5f5a8ad6d6a11af2f depends: - - pycparser - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - xorg-libx11 >=1.8.10,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxi >=1.7.10,<2.0a0 license: MIT license_family: MIT - size: 294731 - timestamp: 1761203441365 -- conda: https://conda.anaconda.org/conda-forge/win-64/conda-gcc-specs-15.2.0-hd546029_18.conda - sha256: 21062850a891e5a82b7a473de0a2fa4bfafff6fcba9455a619604343018c9f99 - md5: 071dbd17ed598f723c5f48624ae455f9 + purls: [] + size: 32808 + timestamp: 1727964811275 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda + sha256: 6eaffce5a34fc0a16a21ddeaefb597e792a263b1b0c387c1ce46b0a967d558e1 + md5: c05698071b5c8e0da82a282085845860 depends: - - gcc_impl_win-64 >=15.2.0,<15.2.1.0a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 54725 - timestamp: 1771382417485 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-bindings-12.9.6-py314hdc4d7ff_0.conda - sha256: 62ebdca571dff04c6af652584b6d7b99c296a6f5718f889cfdc0c7e104613f1c - md5: 14b50ab62bc7b4b32fc4a9c2107ca605 + - libgcc >=13 + - xorg-libx11 >=1.8.9,<2.0a0 + - xorg-libxext >=1.3.6,<2.0a0 + - xorg-libxi >=1.7.10,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 33786 + timestamp: 1727964907993 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xorgproto-2025.1-hb03c661_0.conda + sha256: 7a8c64938428c2bfd016359f9cb3c44f94acc256c6167dbdade9f2a1f5ca7a36 + md5: aa8d21be4b461ce612d8f5fb791decae depends: - - cuda-nvcc-impl >=12,<13.0a0 - - cuda-nvrtc >=12,<13.0a0 - - cuda-pathfinder >=1.1.0,<2 - - cuda-version >=12,<13.0a0 - - libnvjitlink >=12.3,<13 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - cuda-python >=12.9.6,<12.10.0a0 - - cuda-cudart >=12,<13.0a0 - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - size: 3891535 - timestamp: 1773288261512 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-bindings-12.9.7-py314h2547b3f_1.conda - sha256: 8f32f1668cf133a89b173edaef75db68f5f0c79e67a0f0d9d724d7ed052fca0d - md5: 590560507eb93304d08477e8ee3ef8f1 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 570010 + timestamp: 1766154256151 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-xorgproto-2025.1-he30d5cf_0.conda + sha256: d8a7593362562f66bab992901df6cdc845c6004d15c1ba2d1e3e39e4e4672384 + md5: 999d230bcb0329c11d101118ace392d9 + depends: + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 569539 + timestamp: 1766155414260 +- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + sha256: 6d9ea2f731e284e9316d95fa61869fe7bbba33df7929f82693c121022810f4ad + md5: a77f85f77be52ff59391544bfe73390a + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + license: MIT + license_family: MIT + purls: [] + size: 85189 + timestamp: 1753484064210 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h80f16a2_3.conda + sha256: 66265e943f32ce02396ad214e27cb35f5b0490b3bd4f064446390f9d67fa5d88 + md5: 032d8030e4a24fe1f72c74423a46fb88 + depends: + - libgcc >=14 + license: MIT + license_family: MIT + purls: [] + size: 88088 + timestamp: 1753484092643 +- conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda + sha256: 80ee68c1e7683a35295232ea79bcc87279d31ffeda04a1665efdb43cbd50a309 + md5: 433699cba6602098ae8957a323da2664 depends: - - python - - cuda-pathfinder >=1.5.5,<2 - - cuda-version >=12,<13.0a0 - - cuda-nvrtc >=12,<13.0a0 - - cuda-nvcc-impl >=12,<13.0a0 - - libnvjitlink >=12.3,<13 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - constrains: - - cuda-cudart >=12,<13.0a0 - - libnvfatbin >=12,<13.0a0 - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - run_exports: {} - size: 4381879 - timestamp: 1782355421224 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-bindings-13.3.1-py314hb98de8c_1.conda - sha256: 8ca1d70d795d8b5af57c9866f7e32ce6f117f64cd0ce41816c62d1be365ec103 - md5: a530f37798da1d6788a9286b4bcfa06e - depends: - - python - - cuda-pathfinder >=1.5.5,<2 - - cuda-version >=13,<14.0a0 - - cuda-nvrtc >=13,<14.0a0 - - cuda-nvvm-impl >=13,<14.0a0 - - libnvfatbin >=13.0,<14.0a0 - - libnvjitlink >=13.0,<14.0a0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - constrains: - - cuda-cudart >=13,<14.0a0 - license: LicenseRef-NVIDIA-SOFTWARE-LICENSE - run_exports: {} - size: 4181258 - timestamp: 1780110974936 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-crt-tools-12.9.86-h57928b3_2.conda - sha256: fb2283a55820eeff84c861b469cfee6a9d0ac9aebe02e82aae480a60068a7659 - md5: d0057a8511cb12745675db18ccbec8f2 + license: MIT + license_family: MIT + purls: [] + size: 63944 + timestamp: 1753484092156 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h09e67af_11.conda + sha256: dc9f28dedcb5f35a127fad2d847674d2833369dd616d294e423b8997df31d8a8 + md5: 96b08867e21d4694fa5c2c226e6581b0 depends: - - cuda-version >=12.9,<12.10.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 29604 - timestamp: 1753975679251 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-12.9.79-he0c23c2_0.conda - sha256: a30cd9adf3a70d069d4d87c5728ec16778b77071629612ca5d8513cd92d89c09 - md5: 0a243d4f000a0d2f51dd94ee9132b234 + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 + - libstdcxx >=14 + - krb5 >=1.22.2,<1.23.0a0 + - libsodium >=1.0.22,<1.0.23.0a0 + license: MPL-2.0 + license_family: MOZILLA + purls: [] + size: 311184 + timestamp: 1779123989774 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zeromq-4.3.5-hec9560f_11.conda + sha256: 134bceda31df1ad0dbadb61dd30e7254f5eab398288fcdd8b070946130533b5a + md5: 1ae4f546793d83754d79a43a38154746 depends: - - cuda-cudart_win-64 12.9.79 he0c23c2_0 - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 170799 - timestamp: 1749218946117 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-13.3.29-hac47afa_0.conda - sha256: c1d2727ec436cdc324d4c3e5d8256ea8bc0f9a8793773033021e5476533de719 - md5: a527f7cd2eec390cc8700a0e1878a954 + - libstdcxx >=14 + - libgcc >=14 + - krb5 >=1.22.2,<1.23.0a0 + - libsodium >=1.0.22,<1.0.23.0a0 + license: MPL-2.0 + license_family: MOZILLA + purls: [] + size: 355573 + timestamp: 1779123980042 +- conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h3a581c9_11.conda + sha256: c3e279cb309b153152fcdd6ee6d039ad996d563c849f06be39d85b8e3351df25 + md5: f016c0c5f9c01549b259146614786192 depends: - - cuda-cudart_win-64 13.3.29 hac47afa_0 - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 215494 - timestamp: 1779898489923 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-12.9.79-he0c23c2_0.conda - sha256: 1ee68f0ffd37889f0fc438d4da7124054b124632e1c3bc15950b9851b002473e - md5: e5bb074108bc2501f8374e80748aa181 - depends: - - cuda-cudart 12.9.79 he0c23c2_0 - - cuda-cudart-dev_win-64 12.9.79 he0c23c2_0 - - cuda-cudart-static 12.9.79 he0c23c2_0 - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-cudart >=12.9.79,<13.0a0 - size: 23222 - timestamp: 1749219022963 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-13.3.29-hac47afa_0.conda - sha256: 035d753771cb6736724ae08d0f4f1bb2886c590d7e06f303eb3ef47c15d39e7e - md5: b654d915abbee1382e58e49db9884f8e - depends: - - cuda-cudart 13.3.29 hac47afa_0 - - cuda-cudart-dev_win-64 13.3.29 hac47afa_0 - - cuda-cudart-static 13.3.29 hac47afa_0 - - cuda-version >=13.3,<13.4.0a0 - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24489 - timestamp: 1779898504358 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-12.9.79-he0c23c2_0.conda - sha256: 02d3ff9ec59c7f59132ffe9398746ad9422a75706e7cad19acc6c30a5c0fc763 - md5: 718879691b8119c893f587f46c734fca + - libsodium >=1.0.22,<1.0.23.0a0 + - krb5 >=1.22.2,<1.23.0a0 + license: MPL-2.0 + license_family: MOZILLA + purls: [] + size: 265717 + timestamp: 1779124031378 +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda + sha256: 210bd31c22bb88f5e2a167df24c95bb5f152b2ada7502f9b8c49d1f5366db423 + md5: ba3dcdc8584155c97c648ae9c044b7a3 depends: - - cuda-cudart-static_win-64 12.9.79 he0c23c2_0 - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 23249 - timestamp: 1749218998822 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-13.3.29-hac47afa_0.conda - sha256: 685533b8d9b7a65810fd86da7d2c605ddb4ba1270591d7137be995c0dbf4661b - md5: a5a881ac16787902dc51e5d7b6c870c1 + - python >=3.10 + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/zipp?source=compressed-mapping + size: 24190 + timestamp: 1779159948016 +- conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda + sha256: ef408f85f664a4b9c9dac3cb2e36154d9baa15a88984ea800e11060e0f2394a1 + md5: 5187ecf958be3c39110fe691cbd6873e depends: - - cuda-cudart-static_win-64 13.3.29 hac47afa_0 - - cuda-version >=13.3,<13.4.0a0 + - libzlib 1.3.2 hfd05255_2 - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 24488 - timestamp: 1779898500699 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvcc-impl-12.9.86-h53cbb54_2.conda - sha256: d52c7b77b7d4f707efb3b76f93beb1c2b97883db6605818c1727935df9babe5d - md5: 17181de579b111f1cbad7af2b45aed0e + license: Zlib + license_family: Other + purls: [] + size: 850351 + timestamp: 1774072891049 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hceb46e0_1.conda + sha256: ea4e50c465d70236408cb0bfe0115609fd14db1adcd8bd30d8918e0291f8a75f + md5: 2aadb0d17215603a82a2a6b0afd9a4cb depends: - - cuda-cudart >=12.9.79,<13.0a0 - - cuda-cudart-dev - - cuda-nvcc-dev_win-64 12.9.86 h36c15f3_2 - - cuda-nvcc-tools 12.9.86 he0c23c2_2 - - cuda-nvvm-impl 12.9.86 h2466b09_2 - - cuda-version >=12.9,<12.10.0a0 - - libnvptxcompiler-dev 12.9.86 h57928b3_2 - constrains: - - vc >=14.2 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27684 - timestamp: 1753976469818 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvcc-tools-12.9.86-he0c23c2_2.conda - sha256: e28baff7cbee6bbc30797adfe09f497c9ac2b69deb7f5152fc7e238c2f37e42b - md5: b018676d60a0f1e51a120382db5221fc + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 + license: Zlib + license_family: Other + purls: [] + size: 122618 + timestamp: 1770167931827 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zlib-ng-2.3.3-ha7cb516_1.conda + sha256: 638a3a41a4fbfed52d3c60c8ef5a3693b3f12a5b1a3f58fa29f5698d0a0702e2 + md5: f731af71c723065d91b4c01bb822641b depends: - - cuda-crt-tools 12.9.86 h57928b3_2 - - cuda-nvvm-tools 12.9.86 h2466b09_2 - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27361 - timestamp: 1753976245101 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-12.9.86-hac47afa_1.conda - sha256: d90ef446ac859db26286a5d39d39333c4e4cee31ba5042b5c7922bd25de531f6 - md5: d68b5d96a53c80dc3dbbd8f7c3b8106d + - libgcc >=14 + - libstdcxx >=14 + license: Zlib + license_family: Other + purls: [] + size: 121046 + timestamp: 1770167944449 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 + md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 depends: - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 58467504 - timestamp: 1760723834711 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda - sha256: 7306b27c3a70cf1c35d4d200c1936037c9d6484322a39fac1967439a20585003 - md5: ab010d7a1be0e140b65f6bf8473180fb + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 601375 + timestamp: 1764777111296 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda + sha256: 569990cf12e46f9df540275146da567d9c618c1e9c7a0bc9d9cfefadaed20b75 + md5: c3655f82dcea2aa179b291e7099c1fcc depends: - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD purls: [] - run_exports: {} - size: 35152509 - timestamp: 1779897499641 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-12.9.86-hac47afa_1.conda - sha256: 1e1c41f95d606eaf6581fccf9546ed6ee4053c42b78e11057cd6d2801b96f0e2 - md5: b97225dd005cb0dcdca7911c61ca38e5 + size: 614429 + timestamp: 1764777145593 +- conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda + sha256: 368d8628424966fd8f9c8018326a9c779e06913dd39e646cf331226acc90e5b2 + md5: 053b84beec00b71ea8ff7a4f84b55207 depends: - - cuda-nvrtc 12.9.86 hac47afa_1 - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - vc >=14.3,<15 - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-nvrtc >=12.9.86,<13.0a0 - size: 35214 - timestamp: 1760724506186 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-13.3.33-hac47afa_0.conda - sha256: dd20cfdb605f8c8c9cccd851e3ce2f1387281d3b6f7ee42f323119898dd848d2 - md5: c7a4384bbc6f3f241f2389eeccb4cc73 - depends: - - cuda-nvrtc 13.3.33 hac47afa_0 - - cuda-version >=13.3,<13.4.0a0 - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: - weak: - - cuda-nvrtc >=13.3.33,<14.0a0 - size: 37954 - timestamp: 1779898185609 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.33-h719f0c7_0.conda - sha256: d63d8a093e2390976ef5732996248fe683f153764553a98f5096de7252fb31bb - md5: 28b7994501f69efa53dbf1ebe9f9b350 - depends: - - cuda-nvvm-dev_win-64 13.3.33.* - - cuda-nvvm-impl 13.3.33.* - - cuda-nvvm-tools 13.3.33.* - license: LicenseRef-NVIDIA-End-User-License-Agreement + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD purls: [] - size: 26223 - timestamp: 1779909907942 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.73-h719f0c7_0.conda - sha256: 0695be0be2ef990ad821d4f1e481c275c717fd77f790a9fca50557771d1c3da4 - md5: 681a2be43dcc68156ed403872cefa25e - depends: - - cuda-nvvm-dev_win-64 13.3.73.* - - cuda-nvvm-impl 13.3.73.* - - cuda-nvvm-tools 13.3.73.* - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 25400 - timestamp: 1782788559176 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-12.9.86-h2466b09_2.conda - sha256: 7b995ea653816b129bae6e4ee92898824a39fe82227472537bf75ac6ece7e955 - md5: d8cea7bc32045bde718d0b1ceb595445 - depends: - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 31168 - timestamp: 1753975780038 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.33-h2466b09_0.conda - sha256: 64393c62eb39d09b1be9cecddd6721fa018f67f1d598d89ff63a36d4d1dac221 - md5: 0aa6111a0d7a368cc75e261d020a2c07 - depends: - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - size: 32862 - timestamp: 1779905180272 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda - sha256: 923a4ce23f1b4c9d733ad3b776de0569d51ec0a036935ee699d136d388684eae - md5: 1218693a2f626407453930c7af8d188d - depends: - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 32375 - timestamp: 1782782913178 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-12.9.86-h2466b09_2.conda - sha256: 5692a559206420f77e376a598329db966da762ad574866f9cc80a447d26ac49c - md5: 25e269101d3eb39715a48998bc04289e - depends: - - cuda-version >=12.9,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 40286977 - timestamp: 1753975898550 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.33-h2466b09_0.conda - sha256: aac4f4ddb2d612350269e58364b5aa1142612838d429d493e2816a1626e41883 - md5: 394839d70f28114ece1f2e4efac66523 - depends: - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - size: 45453672 - timestamp: 1779905194696 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.73-h2466b09_0.conda - sha256: b06b40a782cae69f4c208bb64a83da6603d83b3ea7eb4b77a70d806189dedb98 - md5: 119e34d79508b512d33235312fdaff7d - depends: - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 45302858 - timestamp: 1782782927290 -- conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-13.3.27-h57928b3_0.conda - sha256: 51e619f0151a0b109671abfc6daa7761e17054f7d570c2e50dc7141745dd633c - md5: 024766ae1ca6cbe87200bf11d9643039 - depends: - - cuda-cudart-dev - - cuda-version >=13.3,<13.4.0a0 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 25690 - timestamp: 1779913686281 -- conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.4-py314h344ed54_0.conda - sha256: c2e08246f2e6f38b5793ebc8d36de32704e4f152ed959ab0558d529580610e0e - md5: 545afbc1940d8a81f114b9c14eecf2ca - depends: - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/cython?source=hash-mapping - size: 3332872 - timestamp: 1767577440799 -- conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda - sha256: 8900c3a11e71521ed7400265a36686c4ed3973b937658c1f58cc74b707a1c173 - md5: 596f6f1a842a246dbe778dce002d0ca5 - depends: - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - run_exports: {} - size: 3338147 - timestamp: 1782821777709 -- conda: https://conda.anaconda.org/conda-forge/win-64/dav1d-1.2.1-hcfcfb64_0.conda - sha256: 2aa2083c9c186da7d6f975ccfbef654ed54fff27f4bc321dbcd12cee932ec2c4 - md5: ed2c27bda330e3f0ab41577cf8b9b585 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: BSD-2-Clause - license_family: BSD - purls: [] - size: 618643 - timestamp: 1685696352968 -- conda: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.20-py314hb98de8c_0.conda - sha256: ece1d8299ad081edaf1e5279f2a900bdedddb2c795ac029a06401543cd7610ad - md5: 48ae8370a4562f7049d587d017792a3a - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/debugpy?source=hash-mapping - size: 4026404 - timestamp: 1769745008861 -- conda: https://conda.anaconda.org/conda-forge/win-64/dlpack-1.3-hac47afa_0.conda - sha256: 71e3dc11ddfa082efbba5f1c0b3c8c19550b7752c03c8d8978b900b745a63e2c - md5: 9d6d5b3e54a67118a43a8a3e92ac0b05 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - run_exports: {} - size: 20158 - timestamp: 1769613734973 -- conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.0.1-gpl_hb2d76f6_914.conda - sha256: fbe7916ed95bdc9650c9906865ab21cc04fb337548fdffec94f64a547ba3644d - md5: 7cffff39ee349bddb81e1de24c780f34 - depends: - - aom >=3.9.1,<3.10.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - harfbuzz >=12.3.2 - - lame >=3.100,<3.101.0a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libiconv >=1.18,<2.0a0 - - libjxl >=0.11,<1.0a0 - - liblzma >=5.8.2,<6.0a0 - - libopus >=1.6.1,<2.0a0 - - librsvg >=2.60.0,<3.0a0 - - libvorbis >=1.3.7,<1.4.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.1,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.5,<4.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2025.5,<2025.6.0a0 - - svt-av1 >=4.0.1,<4.0.2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - size: 10417843 - timestamp: 1773010275486 -- conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.1-gpl_h6d5d71d_904.conda - sha256: 6931df70697ae0d74ea9680695facd1a5e1e0163bf0e4a5618a086bef7a6f220 - md5: 8d45d61991af969cd4641f678e741996 - depends: - - aom >=3.14.1,<3.15.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.18.1,<3.0a0 - - fonts-conda-ecosystem - - harfbuzz >=14.2.1 - - lame >=3.100,<3.101.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libiconv >=1.18,<2.0a0 - - libjxl >=0.11,<1.0a0 - - liblzma >=5.8.3,<6.0a0 - - libopus >=1.6.1,<2.0a0 - - librsvg >=2.62.3,<3.0a0 - - libvorbis >=1.3.7,<1.4.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.2,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.6,<4.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2026.2,<2026.3.0a0 - - svt-av1 >=4.0.1,<4.0.2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - purls: [] - size: 10974250 - timestamp: 1780670037652 -- conda: https://conda.anaconda.org/conda-forge/win-64/ffmpeg-8.1.2-gpl_h6d5d71d_900.conda - sha256: a8572b3fda7c1ece328f42b134d05d95a81e79a2d867be2bdf7a1ec773ab16dc - md5: 7ac319fdea62aeb708cd8680822ca138 - depends: - - aom >=3.14.1,<3.15.0a0 - - bzip2 >=1.0.8,<2.0a0 - - dav1d >=1.2.1,<1.2.2.0a0 - - fontconfig >=2.18.1,<3.0a0 - - fonts-conda-ecosystem - - harfbuzz >=14.2.1 - - lame >=3.100,<3.101.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libiconv >=1.18,<2.0a0 - - libjxl >=0.11,<1.0a0 - - liblzma >=5.8.3,<6.0a0 - - libopus >=1.6.1,<2.0a0 - - librsvg >=2.62.3,<3.0a0 - - libvorbis >=1.3.7,<1.4.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libwebp-base >=1.6.0,<2.0a0 - - libxml2 - - libxml2-16 >=2.14.6 - - libzlib >=1.3.2,<2.0a0 - - openh264 >=2.6.0,<2.6.1.0a0 - - openssl >=3.5.7,<4.0a0 - - sdl2 >=2.32.56,<3.0a0 - - shaderc >=2026.2,<2026.3.0a0 - - svt-av1 >=4.0.1,<4.0.2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - x264 >=1!164.3095,<1!165 - - x265 >=3.5,<3.6.0a0 - constrains: - - __cuda >=12.8 - license: GPL-2.0-or-later - license_family: GPL - purls: [] - size: 11019346 - timestamp: 1781695659357 -- conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.17.1-hd47e2ca_0.conda - sha256: ff2db9d305711854de430f946dc59bd40167940a1de38db29c5a78659f219d9c - md5: a0b1b87e871011ca3b783bbf410bc39f - depends: - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.1 - - libfreetype6 >=2.14.1 - - libiconv >=1.18,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 195332 - timestamp: 1771382820659 -- conda: https://conda.anaconda.org/conda-forge/win-64/fontconfig-2.18.1-hd47e2ca_0.conda - sha256: 9217184c4a8e82101b0e512b059ae3ff67e3913133b9031edad89ab5341284e4 - md5: abd79bad98c99c1a116154d6de74ea89 - depends: - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libiconv >=1.18,<2.0a0 - - libintl >=0.22.5,<1.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - purls: [] - size: 202630 - timestamp: 1780450217840 -- conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.2-h57928b3_0.conda - sha256: 6dd4bb3862ea3d07015331059504cf3b6af1a11a6909e7a9b6e04a20e253da28 - md5: c360b467564b875a9f5dc481b8726cee - depends: - - libfreetype 2.14.2 h57928b3_0 - - libfreetype6 2.14.2 hdbac1cb_0 - license: GPL-2.0-only OR FTL - size: 185633 - timestamp: 1772756186241 -- conda: https://conda.anaconda.org/conda-forge/win-64/freetype-2.14.3-h57928b3_1.conda - sha256: a0e419e96146159f12344c870dca608d11bca36841f228092b986ffc2e1e0f02 - md5: e77293b32225b136a8be300f93d0e89f - depends: - - libfreetype 2.14.3 h57928b3_1 - - libfreetype6 2.14.3 hdbac1cb_1 - - zlib - license: GPL-2.0-only OR FTL - purls: [] - size: 185584 - timestamp: 1780934817461 -- conda: https://conda.anaconda.org/conda-forge/win-64/fribidi-1.0.16-hfd05255_0.conda - sha256: 15011071ee56c216ffe276c8d734427f1f893f275ef733f728d13f610ed89e6e - md5: c27bd87e70f970010c1c6db104b88b18 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-or-later - purls: [] - size: 64394 - timestamp: 1757438741305 -- conda: https://conda.anaconda.org/conda-forge/win-64/gcc-15.2.0-hd556455_18.conda - sha256: 349dd70890b3bb51d8f7a7976f53711f4606c076a659ee7fdc7c32e2ffa019a1 - md5: 0f295318682c2fbefbe293399fae135f - depends: - - conda-gcc-specs - - gcc_impl_win-64 15.2.0 ha526d7c_18 - license: BSD-3-Clause - license_family: BSD - size: 1198343 - timestamp: 1771382604468 -- conda: https://conda.anaconda.org/conda-forge/win-64/gcc_impl_win-64-15.2.0-ha526d7c_18.conda - sha256: 70db065b687f52e64b942af8daf33e244e17128158ced9dc019924c4f79d3b82 - md5: 7568471e78e882712c3d3715624a54c8 - depends: - - binutils_impl_win-64 >=2.45 - - libgcc >=15.2.0 - - libgcc-devel_win-64 15.2.0 hbb59886_118 - - libgomp >=15.2.0 - - libstdcxx >=15.2.0 - - libstdcxx-devel_win-64 15.2.0 h0a72980_118 - - m2w64-sysroot_win-64 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 62510234 - timestamp: 1771382289787 -- conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.5-h1f5b9c4_1.conda - sha256: 82c725a67098c7c43dfc33ba292a48e68530135b94a8703f20566d90574acdfd - md5: 4059b4975e2de5894286dbe6bd6728fb - depends: - - libglib >=2.86.4,<3.0a0 - - libintl >=0.22.5,<1.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-or-later - license_family: LGPL - size: 574950 - timestamp: 1771530717329 -- conda: https://conda.anaconda.org/conda-forge/win-64/gdk-pixbuf-2.44.6-h1f5b9c4_0.conda - sha256: 3b8a4bdb183b3b9b70caa91498680add15fb70678ec2a21391e6860c5dfed3e7 - md5: e1ff1d17cb48f89d71f74b0c5eab3b47 - depends: - - libglib >=2.86.4,<3.0a0 - - libintl >=0.22.5,<1.0a0 - - libjpeg-turbo >=3.1.2,<4.0a0 - - liblzma >=5.8.2,<6.0a0 - - libpng >=1.6.56,<1.7.0a0 - - libtiff >=4.7.1,<4.8.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-or-later - license_family: LGPL - purls: [] - size: 576065 - timestamp: 1774986034812 -- conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.2.0-h294ba9c_1.conda - sha256: c46afa4a43b7709e07a69d0a2d70b10f59f22e96dbf9ec80e53a42cc6551111c - md5: 4b5f576265df0a05d4e47e48c50bb4e6 - depends: - - spirv-tools >=2026,<2027.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - size: 4929181 - timestamp: 1770195251565 -- conda: https://conda.anaconda.org/conda-forge/win-64/glslang-16.3.0-h294ba9c_0.conda - sha256: d80276b89d8aeab6ff0d8d7d4b9af336b368fc0b8fa28ea8cde6f6f2aa07bacf - md5: 7d6fed8a6ebeeebd6362790e22e56bb3 - depends: - - spirv-tools >=2026,<2027.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 5074630 - timestamp: 1777747167205 -- conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.14-hac47afa_2.conda - sha256: 5f1714b07252f885a62521b625898326ade6ca25fbc20727cfe9a88f68a54bfd - md5: b785694dd3ec77a011ccf0c24725382b - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.0-or-later - license_family: LGPL - size: 96336 - timestamp: 1755102441729 -- conda: https://conda.anaconda.org/conda-forge/win-64/graphite2-1.3.15-hac47afa_0.conda - sha256: 88b6601f8edae59834b59b521e293ff3b58361dc1603240f5a8328c24e6936ad - md5: ff9a9bfe791f56b0227597a7651a6af0 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.0-or-later - license_family: LGPL - purls: [] - size: 97308 - timestamp: 1780454389458 -- conda: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.3.2-py314hb98de8c_0.conda - sha256: b61f03453a5807b8967db6d8d16a37c56b96456d6883002ee87725d083617973 - md5: 64347a7bd3297554c5e7ae49dd268f9a - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/greenlet?source=hash-mapping - size: 237568 - timestamp: 1771658406473 -- conda: https://conda.anaconda.org/conda-forge/win-64/gxx-15.2.0-hf1b5d6d_18.conda - sha256: e85f25cee7618096463f426ec4c6ddd7c93058ed71c94d894c17dcb3269d867e - md5: 882c461155d96001e0611b70ab620e9b - depends: - - gcc 15.2.0 hd556455_18 - - gxx_impl_win-64 15.2.0 h22fd5bf_18 - license: BSD-3-Clause - license_family: BSD - size: 824078 - timestamp: 1771382638258 -- conda: https://conda.anaconda.org/conda-forge/win-64/gxx_impl_win-64-15.2.0-h22fd5bf_18.conda - sha256: 55a524b1910bf26952d08aeb89b0496d423110378e991b5ff6ef2c662b884760 - md5: 88379befc88f4efb16733dae4b96dac4 - depends: - - gcc_impl_win-64 15.2.0 ha526d7c_18 - - libstdcxx-devel_win-64 15.2.0 h0a72980_118 - - m2w64-sysroot_win-64 - - tzdata - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 14533744 - timestamp: 1771382555150 -- conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-13.1.0-h5a1b470_0.conda - sha256: 27acd845926048481a831b7321674b3f92accde49869fb95438f0a35ea89419b - md5: b3a4ff5d1e21d58090cd87060eb54c2d - depends: - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.2,<79.0a0 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libglib >=2.86.4,<3.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: MIT - license_family: MIT - size: 1285640 - timestamp: 1773217788574 -- conda: https://conda.anaconda.org/conda-forge/win-64/harfbuzz-14.2.1-h5a1b470_0.conda - sha256: 55d6d483e089afe68bdbb38a003d7b76002e65341665b80f38e6ce4b494beef6 - md5: 0bcbb7f911590beec914555c6b82050d - depends: - - cairo >=1.18.4,<2.0a0 - - graphite2 >=1.3.14,<2.0a0 - - icu >=78.3,<79.0a0 - - libexpat >=2.8.1,<3.0a0 - - libfreetype >=2.14.3 - - libfreetype6 >=2.14.3 - - libglib >=2.88.1,<3.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: MIT - license_family: MIT - purls: [] - size: 1304897 - timestamp: 1780450940279 -- conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.2-h637d24d_0.conda - sha256: 5a41fb28971342e293769fc968b3414253a2f8d9e30ed7c31517a15b4887246a - md5: 0ee3bb487600d5e71ab7d28951b2016a - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 13222158 - timestamp: 1767970128854 -- conda: https://conda.anaconda.org/conda-forge/win-64/icu-78.3-h637d24d_0.conda - sha256: 1bda728d70a619731b278c859eda364146cb5b4b8c739a64da8128353d81d1c4 - md5: 0097b24800cb696915c3dbd1f5335d3f - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - purls: [] - size: 14954024 - timestamp: 1773822508646 -- conda: https://conda.anaconda.org/conda-forge/win-64/krb5-1.22.2-h0ea6238_0.conda - sha256: eb60f1ad8b597bcf95dee11bc11fe71a8325bc1204cf51d2bb1f2120ffd77761 - md5: 4432f52dc0c8eb6a7a6abc00a037d93c - depends: - - openssl >=3.5.5,<4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - purls: [] - size: 751055 - timestamp: 1769769688841 -- conda: https://conda.anaconda.org/conda-forge/win-64/lame-3.100-hcfcfb64_1003.tar.bz2 - sha256: 824988a396b97bb9138823a1b3aabd8326e06da5834b3011253d72bb45fd3a88 - md5: d92e64077c44c9e32c72d4b5799d47e4 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vs2015_runtime >=14.29.30139 - license: LGPL-2.0-only - license_family: LGPL - purls: [] - size: 570583 - timestamp: 1664996824680 -- conda: https://conda.anaconda.org/conda-forge/win-64/ld_impl_win-64-2.45.1-default_hfd38196_101.conda - sha256: 6e0294b26a796436c0e449cc55d45ec518904c6e666ca882a74000407f25aed5 - md5: 6e84306d2deb7e69d0bc90a6b36d5ebb - depends: - - zstd >=1.5.7,<1.6.0a0 - constrains: - - binutils_impl_win-64 2.45.1 - license: GPL-3.0-only - license_family: GPL - size: 876736 - timestamp: 1770267709635 -- conda: https://conda.anaconda.org/conda-forge/win-64/lerc-4.1.0-hd936e49_0.conda - sha256: 45df58fca800b552b17c3914cc9ab0d55a82c5172d72b5c44a59c710c06c5473 - md5: 54b231d595bc1ff9bff668dd443ee012 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - purls: [] - size: 172395 - timestamp: 1773113455582 -- conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-5_hf2e6a31_mkl.conda - build_number: 5 - sha256: f0cb7b2697461a306341f7ff32d5b361bb84f3e94478464c1e27ee01fc8f276b - md5: f9decf88743af85c9c9e05556a4c47c0 - depends: - - mkl >=2025.3.0,<2026.0a0 - constrains: - - liblapack 3.11.0 5*_mkl - - libcblas 3.11.0 5*_mkl - - blas 2.305 mkl - - liblapacke 3.11.0 5*_mkl - license: BSD-3-Clause - license_family: BSD - size: 67438 - timestamp: 1765819100043 -- conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-6_hf2e6a31_mkl.conda - build_number: 6 - sha256: 10c8054f007adca8c780cd8bb9335fa5d990f0494b825158d3157983a25b1ea2 - md5: 95543eec964b4a4a7ca3c4c9be481aa1 - depends: - - mkl >=2025.3.1,<2026.0a0 - constrains: - - blas 2.306 mkl - - liblapacke 3.11.0 6*_mkl - - liblapack 3.11.0 6*_mkl - - libcblas 3.11.0 6*_mkl - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 68082 - timestamp: 1774503684284 -- conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.11.0-8_h8455456_mkl.conda - build_number: 8 - sha256: 43a87b59e6d4c68d80b2e4de487b1b54d66fe1f9a06636909b5a5ab9eae27269 - md5: 4a0ce24b1a946ff77ae9eaa7ef015a33 - depends: - - mkl >=2026.0.0,<2027.0a0 - constrains: - - libcblas 3.11.0 8*_mkl - - liblapacke 3.11.0 8*_mkl - - blas 2.308 mkl - - liblapack 3.11.0 8*_mkl - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 68103 - timestamp: 1779859688049 -- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.2.0-hfd05255_1.conda - sha256: 5097303c2fc8ebf9f9ea9731520aa5ce4847d0be41764edd7f6dee2100b82986 - md5: 444b0a45bbd1cb24f82eedb56721b9c4 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - purls: [] - size: 82042 - timestamp: 1764017799966 -- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.2.0-hfd05255_1.conda - sha256: 3239ce545cf1c32af6fffb7fc7c75cb1ef5b6ea8221c66c85416bb2d46f5cccb - md5: 450e3ae947fc46b60f1d8f8f318b40d4 - depends: - - libbrotlicommon 1.2.0 hfd05255_1 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - purls: [] - size: 34449 - timestamp: 1764017851337 -- conda: https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.2.0-hfd05255_1.conda - sha256: 3226df6b7df98734440739f75527d585d42ca2bfe912fbe8d1954c512f75341a - md5: ccd93cfa8e54fd9df4e83dbe55ff6e8c - depends: - - libbrotlicommon 1.2.0 hfd05255_1 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - purls: [] - size: 252903 - timestamp: 1764017901735 -- conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-5_h2a3cdd5_mkl.conda - build_number: 5 - sha256: 49dc59d8e58360920314b8d276dd80da7866a1484a9abae4ee2760bc68f3e68d - md5: b3fa8e8b55310ba8ef0060103afb02b5 - depends: - - libblas 3.11.0 5_hf2e6a31_mkl - constrains: - - liblapack 3.11.0 5*_mkl - - liblapacke 3.11.0 5*_mkl - - blas 2.305 mkl - license: BSD-3-Clause - license_family: BSD - size: 68079 - timestamp: 1765819124349 -- conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-6_h2a3cdd5_mkl.conda - build_number: 6 - sha256: 02b2a2225f4899c6aaa1dc723e06b3f7a4903d2129988f91fc1527409b07b0a5 - md5: 9e4bf521c07f4d423cba9296b7927e3c - depends: - - libblas 3.11.0 6_hf2e6a31_mkl - constrains: - - blas 2.306 mkl - - liblapacke 3.11.0 6*_mkl - - liblapack 3.11.0 6*_mkl - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 68221 - timestamp: 1774503722413 -- conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.11.0-8_h2a3cdd5_mkl.conda - build_number: 8 - sha256: 2a5b6555b481df4603e44cba49a6ef727584fd2f3c5235dd4bcb3028fffbdfb5 - md5: 09f1d8e4d2675d34ad2acb115211d10c - depends: - - libblas 3.11.0 8_h8455456_mkl - constrains: - - liblapacke 3.11.0 8*_mkl - - blas 2.308 mkl - - liblapack 3.11.0 8*_mkl - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 68443 - timestamp: 1779859701498 -- conda: https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.25-h51727cc_0.conda - sha256: 834e4881a18b690d5ec36f44852facd38e13afe599e369be62d29bd675f107ee - md5: e77030e67343e28b084fabd7db0ce43e - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - purls: [] - size: 156818 - timestamp: 1761979842440 -- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.4-hac47afa_0.conda - sha256: b31f6fb629c4e17885aaf2082fb30384156d16b48b264e454de4a06a313b533d - md5: 1c1ced969021592407f16ada4573586d - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - expat 2.7.4.* - license: MIT - license_family: MIT - size: 70323 - timestamp: 1771259521393 -- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.5-hac47afa_0.conda - sha256: 6850c3a4d5dc215b86f58518cfb8752998533d6569b08da8df1da72e7c68e571 - md5: bfb43f52f13b7c56e7677aa7a8efdf0c - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - expat 2.7.5.* - license: MIT - license_family: MIT - purls: [] - size: 70609 - timestamp: 1774719377850 -- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - sha256: 1a54d874addda73b6f7164d5f3905821277a1831bcc05edd74b3085391688571 - md5: ccc490c81ffe14181861beac0e8f3169 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - expat 2.8.1.* - license: MIT - license_family: MIT - purls: [] - run_exports: {} - size: 71631 - timestamp: 1781203724164 -- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - sha256: 59d01f2dfa8b77491b5888a5ab88ff4e1574c9359f7e229da254cdfe27ddc190 - md5: 720b39f5ec0610457b725eb3f396219a - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - purls: [] - run_exports: - weak: - - libffi >=3.5.2,<3.6.0a0 - size: 45831 - timestamp: 1769456418774 -- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.2-h57928b3_0.conda - sha256: 427c3072b311e65bd3eae3fcb78f6847b15b2dbb173a8546424de56550b2abfb - md5: 153d52fd0e4ba2a5bd5bb4f4afa41417 - depends: - - libfreetype6 >=2.14.2 - license: GPL-2.0-only OR FTL - size: 8404 - timestamp: 1772756167212 -- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype-2.14.3-h57928b3_1.conda - sha256: 035d0c67bf9f7a16f4a1764f420c120f1a995d071bb265fcc66ef688ef709d7b - md5: e45b52fb9a81c9e2708465a706e05952 - depends: - - libfreetype6 >=2.14.3 - license: GPL-2.0-only OR FTL - purls: [] - size: 8711 - timestamp: 1780934891782 -- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.2-hdbac1cb_0.conda - sha256: 1e80e01e5662bd3a0c0e094fbeaec449dbb2288949ca55ca80345e7812904e67 - md5: c21a474a38982cdb56b3454cf4f78389 - depends: - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - freetype >=2.14.2 - license: GPL-2.0-only OR FTL - size: 340155 - timestamp: 1772756166648 -- conda: https://conda.anaconda.org/conda-forge/win-64/libfreetype6-2.14.3-hdbac1cb_1.conda - sha256: 0bbd19c9f7c4d0232b31892e6a4d1f82b8d19d1b84d89725f1f491b336447758 - md5: 4e4d54f9f98383d977ba56ef39ebf46d - depends: - - libpng >=1.6.58,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - freetype >=2.14.3 - license: GPL-2.0-only OR FTL - purls: [] - size: 340411 - timestamp: 1780934813224 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgcc-15.2.0-h8ee18e1_18.conda - sha256: da2c96563c76b8c601746f03e03ac75d2b4640fa2ee017cb23d6c9fc31f1b2c6 - md5: b085746891cca3bd2704a450a7b4b5ce - depends: - - _openmp_mutex >=4.5 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - constrains: - - libgcc-ng ==15.2.0=*_18 - - msys2-conda-epoch <0.0a0 - - libgomp 15.2.0 h8ee18e1_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 820022 - timestamp: 1771382190160 -- conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.86.4-h0c9aed9_1.conda - sha256: f035fb25f8858f201e0055c719ef91022e9465cd51fe803304b781863286fb10 - md5: 0329a7e92c8c8b61fcaaf7ad44642a96 - depends: - - libffi >=3.5.2,<3.6.0a0 - - libiconv >=1.18,<2.0a0 - - libintl >=0.22.5,<1.0a0 - - libzlib >=1.3.1,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - glib 2.86.4 *_1 - license: LGPL-2.1-or-later - size: 4095369 - timestamp: 1771863229701 -- conda: https://conda.anaconda.org/conda-forge/win-64/libglib-2.88.1-h7ce1215_2.conda - sha256: f61277e224e9889c221bb2eac0f57d5aeeb82fc45d3dc326957d251c97444f7c - md5: 5fb838786a8317ebb38056bbe236d3ff - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libiconv >=1.18,<2.0a0 - - libzlib >=1.3.2,<2.0a0 - - pcre2 >=10.47,<10.48.0a0 - - libintl >=0.22.5,<1.0a0 - - libffi >=3.5.2,<3.6.0a0 - constrains: - - glib >2.66 - license: LGPL-2.1-or-later - purls: [] - size: 4522891 - timestamp: 1778508851933 -- conda: https://conda.anaconda.org/conda-forge/win-64/libgomp-15.2.0-h8ee18e1_18.conda - sha256: 94981bc2e42374c737750895c6fdcfc43b7126c4fc788cad0ecc7281745931da - md5: 939fb173e2a4d4e980ef689e99b35223 - depends: - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - constrains: - - msys2-conda-epoch <0.0a0 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 663864 - timestamp: 1771382118742 -- conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.12.2-default_h4379cf1_1000.conda - sha256: 8cdf11333a81085468d9aa536ebb155abd74adc293576f6013fc0c85a7a90da3 - md5: 3b576f6860f838f950c570f4433b086e - depends: - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - - libxml2 - - libxml2-16 >=2.14.6 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 2411241 - timestamp: 1765104337762 -- conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.13.0-default_h049141e_1000.conda - sha256: 2ee12e37223dfcd0acd050c80a91150c482b6e2899198521e1800dce66662467 - md5: 6a01c986e30292c715038d2788aa1385 - depends: - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - - libxml2 - - libxml2-16 >=2.14.6 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 2396128 - timestamp: 1770954127918 -- conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.3.0-ha71e874_1.conda - sha256: c722a04f065656b988a46dee87303ff0bf037179c50e2e76704b693def7f9a96 - md5: f4649d4b6bf40d616eda57d6255d2333 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 OR BSD-3-Clause - size: 536186 - timestamp: 1758894243956 -- conda: https://conda.anaconda.org/conda-forge/win-64/libhwy-1.4.0-h172a326_0.conda - sha256: 4b45bf59ee46d3c746272c27651da9ce709fda4eee8536c7424acea60d0e2ad0 - md5: aeca1cb6665f19e560c1fbd20b5bcf34 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 OR BSD-3-Clause - purls: [] - size: 562583 - timestamp: 1776989522919 -- conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.18-hc1393d2_2.conda - sha256: 0dcdb1a5f01863ac4e8ba006a8b0dc1a02d2221ec3319b5915a1863254d7efa7 - md5: 64571d1dd6cdcfa25d0664a5950fdaa2 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-only - purls: [] - size: 696926 - timestamp: 1754909290005 -- conda: https://conda.anaconda.org/conda-forge/win-64/libintl-0.22.5-h5728263_3.conda - sha256: c7e4600f28bcada8ea81456a6530c2329312519efcf0c886030ada38976b0511 - md5: 2cf0cf76cc15d360dfa2f17fd6cf9772 - depends: - - libiconv >=1.17,<2.0a0 - license: LGPL-2.1-or-later - purls: [] - size: 95568 - timestamp: 1723629479451 -- conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.2-hfd05255_0.conda - sha256: 795e2d4feb2f7fc4a2c6e921871575feb32b8082b5760726791f080d1e2c2597 - md5: 56a686f92ac0273c0f6af58858a3f013 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib - size: 841783 - timestamp: 1762094814336 -- conda: https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-3.1.4.1-hfd05255_0.conda - sha256: 698d57b5b90120270eaa401298319fcb25ea186ae95b340c2f4813ed9171083d - md5: 25a127bad5470852b30b239f030ec95b - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - jpeg <0.0.0a - license: IJG AND BSD-3-Clause AND Zlib - purls: [] - size: 842806 - timestamp: 1775962811457 -- conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-h932607e_1.conda - sha256: 4715e22c602526c85da09f73865676add67e0995a944b821fbff84547a9db533 - md5: 327bce3eb1ef1875c7145e915d25bcd3 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libhwy >=1.4.0,<1.5.0a0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 1194926 - timestamp: 1777065171989 -- conda: https://conda.anaconda.org/conda-forge/win-64/libjxl-0.11.2-hf3f85d1_0.conda - sha256: 525c5382eb32a43e7baf45b452079bf23daf8f8bf19fee7c8dafa8c731ada8bd - md5: 869e71fcf2135212c51a96f7f7dbd00d - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libbrotlienc >=1.2.0,<1.3.0a0 - - libbrotlidec >=1.2.0,<1.3.0a0 - - libhwy >=1.3.0,<1.4.0a0 - license: BSD-3-Clause - license_family: BSD - size: 1317916 - timestamp: 1770801992810 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-5_hf9ab0e9_mkl.conda - build_number: 5 - sha256: a2d33f5cc2b8a9042f2af6981c6733ab1a661463823eaa56595a9c58c0ab77e1 - md5: e62c42a4196dee97d20400612afcb2b1 - depends: - - libblas 3.11.0 5_hf2e6a31_mkl - constrains: - - libcblas 3.11.0 5*_mkl - - blas 2.305 mkl - - liblapacke 3.11.0 5*_mkl - license: BSD-3-Clause - license_family: BSD - size: 80225 - timestamp: 1765819148014 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-6_hf9ab0e9_mkl.conda - build_number: 6 - sha256: 2e6ac39e456ba13ec8f02fc0787b8a22c89780e24bd5556eaf642177463ffb36 - md5: 7e9cdaf6f302142bc363bbab3b5e7074 - depends: - - libblas 3.11.0 6_hf2e6a31_mkl - constrains: - - blas 2.306 mkl - - liblapacke 3.11.0 6*_mkl - - libcblas 3.11.0 6*_mkl - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 80571 - timestamp: 1774503757128 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.11.0-8_hf9ab0e9_mkl.conda - build_number: 8 - sha256: 44999ed04bc0a56de44ee0ac8bd5b3702efd411a8b29491c0e3d3deb8619c94e - md5: d584799b920ecae9b75a2b70743a3de7 - depends: - - libblas 3.11.0 8_h8455456_mkl - constrains: - - libcblas 3.11.0 8*_mkl - - liblapacke 3.11.0 8*_mkl - - blas 2.308 mkl - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 81027 - timestamp: 1779859714698 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda - sha256: f25bf293f550c8ed2e0c7145eb404324611cfccff37660869d97abf526eb957c - md5: ba0bfd4c3cf73f299ffe46ff0eaeb8e3 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - xz 5.8.2.* - license: 0BSD - purls: [] - size: 106169 - timestamp: 1768752763559 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - sha256: d636d1a25234063642f9c531a7bb58d84c1c496411280a36ea000bd122f078f1 - md5: 8f83619ab1588b98dd99c90b0bfc5c6d - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - xz 5.8.3.* - license: 0BSD - purls: [] - run_exports: - weak: - - liblzma >=5.8.3,<6.0a0 - size: 106486 - timestamp: 1775825663227 -- conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - sha256: 40dcd0b9522a6e0af72a9db0ced619176e7cfdb114855c7a64f278e73f8a7514 - md5: e4a9fc2bba3b022dad998c78856afe47 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-2-Clause - license_family: BSD - purls: [] - run_exports: {} - size: 89411 - timestamp: 1769482314283 -- conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_0.conda - sha256: 665c371c11211fb767e9b04e921fd6aed4148072df189039f48d732d28bb9dce - md5: 3391d24d389bc2230da0b534e79c1d69 - depends: - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - size: 361081 - timestamp: 1779897659188 -- conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_1.conda - sha256: 2aef341d28724fbdc03ca41af624304be24ad1fa44ba874d498a4cbff69c227e - md5: 2e2cbaab71b7fe4ae89ddea62e16adbf - depends: - - cuda-version >=13.3,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 360699 - timestamp: 1782920315550 -- conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-12.9.86-hac47afa_2.conda - sha256: adf35938c9ecd77d27c87ef870f7710ee422933ad95d1aac136ff39e7af0551f - md5: feaee6b1ab0e7ed9152dc88e1b0eeddd - depends: - - cuda-version >=12,<12.10.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27343190 - timestamp: 1760724535115 -- conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda - sha256: 90d9e0eec8aca30a7592d137c68f755bf743e1be43b38657751beadb06b443c2 - md5: a1067e24336c586bf64b47206c5bd8b5 - depends: - - cuda-version >=13,<13.4.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-NVIDIA-End-User-License-Agreement - purls: [] - run_exports: {} - size: 28928043 - timestamp: 1779897886674 -- conda: https://conda.anaconda.org/conda-forge/win-64/libnvptxcompiler-dev-12.9.86-h57928b3_2.conda - sha256: b05ab0cb8c66535a9cb27cf229752c42dab1fc4bda46c050514c42ad0a74b12c - md5: ed841728d5a36ce8269c6f875c001236 - depends: - - cuda-version >=12.9,<12.10.0a0 - - libnvptxcompiler-dev_win-64 12.9.86 h57928b3_2 - license: LicenseRef-NVIDIA-End-User-License-Agreement - run_exports: {} - size: 27359 - timestamp: 1753976279054 -- conda: https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.5-h2466b09_1.conda - sha256: c63e5fb169dbd192aacdcee6e37235407f106b8ca9c9036942a25e0366cbc73c - md5: b67ed8c9ca072695ff482e50d888a523 - depends: - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - - ucrt >=10.0.20348.0 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 35040 - timestamp: 1745826086628 -- conda: https://conda.anaconda.org/conda-forge/win-64/libopus-1.6.1-h6a83c73_0.conda - sha256: c3678f111866235b44fa65265966abae7d90b6387178f1459afaedcee8b4a997 - md5: 0ed21da5b6e3a0393e05762b3cce2878 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 307373 - timestamp: 1768497136248 -- conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.55-h7351971_0.conda - sha256: db23f281fa80597a0dc0445b18318346862602d7081ed76244df8cc4418d6d68 - md5: 43f47a9151b9b8fc100aeefcf350d1a0 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libzlib >=1.3.1,<2.0a0 - license: zlib-acknowledgement - size: 383155 - timestamp: 1770691504832 -- conda: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.58-h7351971_0.conda - sha256: 218913aeee391460bd0e341b834dbd9c6fa6ae0a4276c0c300266cc99a816a28 - md5: 52f1280563f3b48b5f75414cd2d15dd1 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libzlib >=1.3.2,<2.0a0 - license: zlib-acknowledgement - purls: [] - size: 385227 - timestamp: 1776315248638 -- conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.60.0-hd5e4115_1.conda - sha256: 3d06becb70212a7ed609eea07728b6545ddcff4889844290fed14a5d2fc18cd9 - md5: a105938a4fae24539c89de6e7671d279 - depends: - - cairo >=1.18.4,<2.0a0 - - gdk-pixbuf >=2.44.5,<3.0a0 - - libglib >=2.86.4,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-or-later - size: 2877820 - timestamp: 1771301866036 -- conda: https://conda.anaconda.org/conda-forge/win-64/librsvg-2.62.3-h15cfe45_0.conda - sha256: 6f678be6074b79fe754660d16857a6edba73dd197ad92086250dc38c11b179ab - md5: 3fffc63af7b943cde57aa72f5ffe6048 - depends: - - cairo >=1.18.4,<2.0a0 - - gdk-pixbuf >=2.44.6,<3.0a0 - - harfbuzz >=14.2.0 - - libglib >=2.88.1,<3.0a0 - - libxml2-16 >=2.14.6 - - pango >=1.56.4,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LGPL-2.1-or-later - purls: [] - size: 3361405 - timestamp: 1780451179155 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsodium-1.0.21-h6a83c73_3.conda - sha256: d915f4fa8ebbf237c7a6e511ed458f2cfdc7c76843a924740318a15d0dd33d6d - md5: da2aa614d16a795b3007b6f4a1318a81 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: ISC - purls: [] - size: 276860 - timestamp: 1772479407566 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda - sha256: 5fccf1e4e4062f8b9a554abf4f9735a98e70f82e2865d0bfdb47b9de94887583 - md5: 8830689d537fda55f990620680934bb1 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: blessing - purls: [] - size: 1297302 - timestamp: 1772818899033 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.2-hf5d6505_0.conda - sha256: 4cd81319dcc58fb758da20a6d5595950c021adc2c18d7cffeadcfb590529629f - md5: df294e7f9f24a6063f0e226f4d028fda - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: blessing - purls: [] - size: 1313306 - timestamp: 1780574491977 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda - sha256: 692dfb73a22c873656d5e393b8f1e2b019a3c8a6486c97cb6900552e64e38c25 - md5: 051f1b2228e7517a2ef8cca5146c8967 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: blessing - run_exports: - weak: - - libsqlite >=3.53.3,<4.0a0 - size: 1315909 - timestamp: 1782519131898 -- conda: https://conda.anaconda.org/conda-forge/win-64/libstdcxx-15.2.0-hae5796f_18.conda - sha256: 7134b90a850f0e14f15bd0f0218fd728f19cd5c58420a90c2f561f58272b8519 - md5: 7c09facd8f5aced6b4c146e1c4053e50 - depends: - - libgcc 15.2.0 h8ee18e1_18 - - libwinpthread >=12.0.0.r4.gg4f2fc60ca - constrains: - - libstdcxx-ng ==15.2.0=*_18 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 6462596 - timestamp: 1771382223989 -- conda: https://conda.anaconda.org/conda-forge/win-64/libtiff-4.7.1-h8f73337_1.conda - sha256: f1b8cccaaeea38a28b9cd496694b2e3d372bb5be0e9377c9e3d14b330d1cba8a - md5: 549845d5133100142452812feb9ba2e8 - depends: - - lerc >=4.0.0,<5.0a0 - - libdeflate >=1.25,<1.26.0a0 - - libjpeg-turbo >=3.1.0,<4.0a0 - - liblzma >=5.8.1,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zstd >=1.5.7,<1.6.0a0 - license: HPND - purls: [] - size: 993166 - timestamp: 1762022118895 -- conda: https://conda.anaconda.org/conda-forge/win-64/libusb-1.0.29-h1839187_0.conda - sha256: 9837f8e8de20b6c9c033561cd33b4554cd551b217e3b8d2862b353ed2c23d8b8 - md5: a656b2c367405cd24988cf67ff2675aa - depends: - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - - ucrt >=10.0.20348.0 - license: LGPL-2.1-or-later - purls: [] - size: 118204 - timestamp: 1748856290542 -- conda: https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h5112557_2.conda - sha256: 429124709c73b2e8fae5570bdc6b42f5418a7551ba72e591bb960b752e87b365 - md5: 42a8a56c60882da5d451aa95b8455111 - depends: - - libogg - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libogg >=1.3.5,<1.4.0a0 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 243401 - timestamp: 1753879416570 -- conda: https://conda.anaconda.org/conda-forge/win-64/libvulkan-loader-1.4.341.0-h477610d_0.conda - sha256: 0f0965edca8b255187604fc7712c53fe9064b31a1845a7dfb2b63bf660de84a7 - md5: 804880b2674119b84277d6c16b01677d - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - constrains: - - libvulkan-headers 1.4.341.0.* - license: Apache-2.0 - license_family: APACHE - purls: [] - size: 282251 - timestamp: 1770077165680 -- conda: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.6.0-h4d5522a_0.conda - sha256: 7b6316abfea1007e100922760e9b8c820d6fc19df3f42fb5aca684cfacb31843 - md5: f9bbae5e2537e3b06e0f7310ba76c893 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - libwebp 1.6.0 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 279176 - timestamp: 1752159543911 -- conda: https://conda.anaconda.org/conda-forge/win-64/libwinpthread-12.0.0.r4.gg4f2fc60ca-h57928b3_10.conda - sha256: 0fccf2d17026255b6e10ace1f191d0a2a18f2d65088fd02430be17c701f8ffe0 - md5: 8a86073cf3b343b87d03f41790d8b4e5 - depends: - - ucrt - constrains: - - pthreads-win32 <0.0a0 - - msys2-conda-epoch <0.0a0 - license: MIT AND BSD-3-Clause-Clear - purls: [] - size: 36621 - timestamp: 1759768399557 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.2-h3cfd58e_0.conda - sha256: d6d792f8f1d6786b9144adfa62c33a04aeec3d76682351b353ca1224fc1a74f3 - md5: f6dd496a1f2b66951110a3a0817f699b - depends: - - icu >=78.2,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - libxml2 2.15.2 - license: MIT - license_family: MIT - size: 520731 - timestamp: 1772704723763 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.2-h692994f_0.conda - sha256: b8c71b3b609c7cfe17f3f2a47c75394d7b30acfb8b34ad7a049ea8757b4d33df - md5: e365238134188e42ed36ee996159d482 - depends: - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - libxml2 2.15.2 - - icu <0.0a0 - license: MIT - license_family: MIT - purls: [] - size: 520078 - timestamp: 1772704728534 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-16-2.15.3-h3cfd58e_0.conda - sha256: 3b61ee3caba702d2ff432fa3920835db963026e5c99c4e6fdca0c6114f59e7ce - md5: 9e8dd0d90ed830107b2c36801035b7db - depends: - - icu >=78.3,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - libxml2 2.15.3 - license: MIT - license_family: MIT - purls: [] - size: 519871 - timestamp: 1776376969852 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.2-h5d26750_0.conda - sha256: f905eb7046987c336122121759e7f09144729f6898f48cd06df2a945b86998d8 - md5: 1007e1bfe181a2aee214779ee7f13d30 - depends: - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libxml2-16 2.15.2 h692994f_0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - icu <0.0a0 - license: MIT - license_family: MIT - purls: [] - size: 43681 - timestamp: 1772704748950 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.2-h779ef1b_0.conda - sha256: 2131e25d4fb21be66d7ef685e1b2d66f04aa08e70b37322d557824389d0a4c2a - md5: be3843e412c9f9d697958aa68c72d09d - depends: - - icu >=78.2,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.2,<6.0a0 - - libxml2-16 2.15.2 h3cfd58e_0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 43866 - timestamp: 1772704745691 -- conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.15.3-h8ef44ab_0.conda - sha256: a4599c6bbbbdd7db570896e520c557eec8e66d94e839a59d17dc1f24a3d5f82b - md5: 95591ca5671d2213f5b2d5aa7818420d - depends: - - icu >=78.3,<79.0a0 - - libiconv >=1.18,<2.0a0 - - liblzma >=5.8.3,<6.0a0 - - libxml2-16 2.15.3 h3cfd58e_0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - purls: [] - size: 43684 - timestamp: 1776376992865 -- conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda - sha256: ba945c6493449bed0e6e29883c4943817f7c79cbff52b83360f7b341277c6402 - md5: 41fbfac52c601159df6c01f875de31b9 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - constrains: - - zlib 1.3.1 *_2 - license: Zlib - license_family: Other - size: 55476 - timestamp: 1727963768015 -- conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - sha256: 88609816e0cc7452bac637aaf65783e5edf4fee8a9f8e22bdc3a75882c536061 - md5: dbabbd6234dea34040e631f87676292f - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - zlib 1.3.2 *_2 - license: Zlib - license_family: Other - purls: [] - run_exports: - weak: - - libzlib >=1.3.2,<2.0a0 - size: 58347 - timestamp: 1774072851498 -- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.0-h4fa8253_0.conda - sha256: bb55a3736380759d338f87aac68df4fd7d845ae090b94400525f5d21a55eea31 - md5: e5505e0b7d6ef5c19d5c0c1884a2f494 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - openmp 22.1.0|22.1.0.* - - intel-openmp <0.0a0 - license: Apache-2.0 WITH LLVM-exception - license_family: APACHE - size: 347404 - timestamp: 1772025050288 -- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.2-h4fa8253_0.conda - sha256: fa8bd542624507309cbdfc620bdfe546ed823d418e6ba878977d48da7a0f6212 - md5: 29407a30bd93dc8c11c03ca60249a340 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - intel-openmp <0.0a0 - - openmp 22.1.2|22.1.2.* - license: Apache-2.0 WITH LLVM-exception - license_family: APACHE - purls: [] - size: 348400 - timestamp: 1774733045609 -- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.7-h4fa8253_0.conda - sha256: 70140a1fa5d7cb801c6be3273b0704b5f0e418e2fff6b12b8ce9db13067a1ed5 - md5: 0ca3373049a5be11689bc2f9b2f3a9d2 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - intel-openmp <0.0a0 - - openmp 22.1.7|22.1.7.* - license: Apache-2.0 WITH LLVM-exception - license_family: APACHE - purls: [] - size: 347536 - timestamp: 1780456277495 -- conda: https://conda.anaconda.org/conda-forge/win-64/llvm-openmp-22.1.8-h4fa8253_0.conda - sha256: 50c02902bb516eeb56680358f052be38b5bf74b40e78ea4b2a675e84957e7307 - md5: de3551bf6508d45ca46b714639e52823 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - openmp 22.1.8|22.1.8.* - - intel-openmp <0.0a0 - license: Apache-2.0 WITH LLVM-exception - license_family: APACHE - purls: [] - size: 348002 - timestamp: 1781737042070 -- conda: https://conda.anaconda.org/conda-forge/win-64/m2-conda-epoch-20250515-0_x86_64.conda - build_number: 0 - sha256: 51e9214548f177db9c3fe70424e3774c95bf19cd69e0e56e83abe2e393228ba1 - md5: 7d60fb16df2cd07fbc3dbff1c9df4244 - constrains: - - msys2-conda-epoch <0.0a0 - license: BSD-3-Clause - license_family: BSD - size: 7539 - timestamp: 1747330852019 -- conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py314h2359020_1.conda - sha256: 02805a0f3cd168dbf13afc5e4aed75cc00fe538ce143527a6471485b36f5887c - md5: 8de7b40f8b30a8fcaa423c2537fe4199 - depends: - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - jinja2 >=3.0.0 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/markupsafe?source=hash-mapping - size: 30022 - timestamp: 1772445159549 -- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.0-hac47afa_455.conda - sha256: b2b4c84b95210760e4d12319416c60ab66e03674ccdcbd14aeb59f82ebb1318d - md5: fd05d1e894497b012d05a804232254ed - depends: - - llvm-openmp >=21.1.8 - - tbb >=2022.3.0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary - size: 100224829 - timestamp: 1767634557029 -- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2025.3.1-hac47afa_11.conda - sha256: f2c2b2a3c2e7d08d78c10bef7c135a4262c80d1d48c85fb5902ca30d61d645f4 - md5: 3fd3009cef89c36e9898a6feeb0f5530 - depends: - - llvm-openmp >=22.1.1 - - tbb >=2022.3.0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary - purls: [] - size: 99997309 - timestamp: 1774449747739 -- conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2026.0.0-hac47afa_908.conda - sha256: f997bfc9bc4d4e14261cdcd1ad195d64a72ee44dca3145d24c1349f8d1311aa5 - md5: 36ea6e1292e9d5e89374201da79646ef - depends: - - llvm-openmp >=22.1.5 - - onemkl-license 2026.0.0 h57928b3_908 - - tbb >=2023.0.0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary - purls: [] - size: 114354729 - timestamp: 1779293121860 -- conda: https://conda.anaconda.org/conda-forge/win-64/ml_dtypes-0.5.4-np2py314hb7a55bc_1.conda - sha256: 2cb8eac7bd0af92575214628c081528ae003131d6711e4854e2fc3fb8f6dc11e - md5: e2b07dfa101dab343103bb28ed0aba3b - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - numpy >=1.23,<3 - license: MPL-2.0 AND Apache-2.0 - size: 202093 - timestamp: 1771362373159 -- conda: https://conda.anaconda.org/conda-forge/win-64/msgpack-python-1.1.2-py314h909e829_1.conda - sha256: 2ce1f564d5aa2e0637c03692baeea4ecf234c7fb2a43e7810c369e1b054d7a30 - md5: ad4584f884d029b02fc9eaf89afc5d9f - depends: - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - purls: - - pkg:pypi/msgpack?source=hash-mapping - size: 88657 - timestamp: 1762504357246 -- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.2-py314h06c3c77_1.conda - sha256: 34fc25b81cfa987e1825586ddb1a4ac76a246fdef343c9171109017674ad6503 - md5: 2fccd2c4e9feb4e4c2a90043015525d6 - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - constrains: - - numpy-base <0a0 - license: BSD-3-Clause - license_family: BSD - size: 7309134 - timestamp: 1770098414535 -- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.3-py314h02f10f6_0.conda - sha256: e4afa67a7350836a1d652f8e7351fe4cb853f8eb8b5c86c9203cefff67669083 - md5: 54355aaff5c94c602b7b9540fbc3ca1d - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - python_abi 3.14.* *_cp314 - - liblapack >=3.9.0,<4.0a0 - constrains: - - numpy-base <0a0 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/numpy?source=hash-mapping - size: 7311362 - timestamp: 1773839141373 -- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.6-py312ha3f287d_0.conda - sha256: 9abf760418f2497f87715fa35d1c9cea5416be9edd1b166a218dfabe3b16e5be - md5: 1dd6f497cc8369359f024463426e323c - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - liblapack >=3.9.0,<4.0a0 - - python_abi 3.12.* *_cp312 - - libcblas >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - constrains: - - numpy-base <0a0 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/numpy?source=hash-mapping - size: 7169449 - timestamp: 1779169226122 -- conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.4.6-py314h02f10f6_0.conda - sha256: de0eee21d902fb45a58454e3739e04ede7d02bf7575ca0ae9f959f20fa15c76b - md5: df95e6c7325bbae2571e5cef5f9c8096 - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - libblas >=3.9.0,<4.0a0 - - python_abi 3.14.* *_cp314 - constrains: - - numpy-base <0a0 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/numpy?source=hash-mapping - size: 7318163 - timestamp: 1779169232086 -- conda: https://conda.anaconda.org/conda-forge/win-64/onemkl-license-2026.0.0-h57928b3_908.conda - sha256: 42ad15cbb3bf31830efa04d4b86dd2d5c0dd590c86f98adcd3c8c1f75acf5dd5 - md5: 9c9303e08b50e09f5c23e1dac99d0936 - license: LicenseRef-IntelSimplifiedSoftwareOct2022 - license_family: Proprietary - purls: [] - size: 41580 - timestamp: 1779292867015 -- conda: https://conda.anaconda.org/conda-forge/win-64/openh264-2.6.0-hb17fa0b_0.conda - sha256: 914702d9a64325ff3afb072c8bc0f8cbea3f19955a8395a8c190e45604f83c76 - md5: ad4cac6ceb9e4c8e01802e3f15e87bb2 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: BSD-2-Clause - license_family: BSD - purls: [] - size: 411269 - timestamp: 1739401120354 -- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda - sha256: 53a5ad2e5553b8157a91bb8aa375f78c5958f77cb80e9d2ce59471ea8e5c0bd6 - md5: eb585509b815415bc964b2c7e11c7eb3 - depends: - - ca-certificates - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - purls: [] - size: 9343023 - timestamp: 1769557547888 -- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - sha256: cb6e7ba0d010ee0d3249ce9886de3d7613d26d9965d4c95666fa66b9c4c31001 - md5: e99f95734a326c0fd4d02bbd995150d4 - depends: - - ca-certificates - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - purls: [] - run_exports: - weak: - - openssl >=3.6.3,<4.0a0 - size: 9414790 - timestamp: 1781071745579 -- conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h03d888a_0.conda - sha256: dcda7e9bedc1c87f51ceef7632a5901e26081a1f74a89799a3e50dbdc801c0bd - md5: 452d6d3b409edead3bd90fc6317cd6d4 - depends: - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.15.0,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.10,<2.0a0 - - harfbuzz >=11.0.1 - - libexpat >=2.7.0,<3.0a0 - - libfreetype >=2.13.3 - - libfreetype6 >=2.13.3 - - libglib >=2.84.2,<3.0a0 - - libpng >=1.6.49,<1.7.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LGPL-2.1-or-later - size: 454854 - timestamp: 1751292618315 -- conda: https://conda.anaconda.org/conda-forge/win-64/pango-1.56.4-h13911b6_1.conda - sha256: 3d4e6e541e633f6fd22fc2c1d79ad5ec39503dea3ba04fc3e01d5be904ec7cea - md5: 1f1cf3772ba7d4eef989e4679ddf97f7 - depends: - - cairo >=1.18.4,<2.0a0 - - fontconfig >=2.17.1,<3.0a0 - - fonts-conda-ecosystem - - fribidi >=1.0.16,<2.0a0 - - harfbuzz >=13.2.1 - - libexpat >=2.7.4,<3.0a0 - - libfreetype >=2.14.2 - - libfreetype6 >=2.14.2 - - libglib >=2.86.4,<3.0a0 - - libpng >=1.6.55,<1.7.0a0 - - libzlib >=1.3.2,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 - license: LGPL-2.1-or-later - purls: [] - size: 454919 - timestamp: 1774282149607 -- conda: https://conda.anaconda.org/conda-forge/win-64/pcre2-10.47-hd2b5f0e_0.conda - sha256: 3e9e02174edf02cb4bcdd75668ad7b74b8061791a3bc8bdb8a52ae336761ba3e - md5: 77eaf2336f3ae749e712f63e36b0f0a1 - depends: - - bzip2 >=1.0.8,<2.0a0 - - libzlib >=1.3.1,<2.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 995992 - timestamp: 1763655708300 -- conda: https://conda.anaconda.org/conda-forge/win-64/pixman-0.46.4-h5112557_1.conda - sha256: 246fce4706b3f8b247a7d6142ba8d732c95263d3c96e212b9d63d6a4ab4aff35 - md5: 08c8fa3b419df480d985e304f7884d35 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: MIT - license_family: MIT - purls: [] - size: 542795 - timestamp: 1754665193489 -- conda: https://conda.anaconda.org/conda-forge/win-64/psutil-7.2.2-py314hc5dbbe4_0.conda - sha256: 17c8274ce5a32c9793f73a5a0094bd6188f3a13026a93147655143d4df034214 - md5: fd539ac231820f64066839251aa9fa48 - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/psutil?source=hash-mapping - size: 249950 - timestamp: 1769678167309 -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.12.13-h0159041_0_cpython.conda - sha256: a02b446d8b7b167b61733a3de3be5de1342250403e72a63b18dac89e99e6180e - md5: 2956dff38eb9f8332ad4caeba941cfe7 - depends: - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.4,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - liblzma >=5.8.2,<6.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - python_abi 3.12.* *_cp312 - license: Python-2.0 - purls: [] - size: 15840187 - timestamp: 1772728877265 -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda - build_number: 101 - sha256: 3f99d83bfd95b9bdae64a42a1e4bf5131dc20b724be5ac8a9a7e1ac2c0f006d7 - md5: 7ec2be7eaf59f83f3e5617665f3fbb2e - depends: - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - liblzma >=5.8.2,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 - - python_abi 3.14.* *_cp314 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - purls: [] - size: 18273230 - timestamp: 1770675442998 - python_site_packages_path: Lib/site-packages -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda - build_number: 100 - sha256: f1acb89cb1a6bec9a94ae9f8e7411839de009cd64d3ac6a6aec4f3d8a481099a - md5: 8333e3ca6f8d1ebcd30b678dd53f0a25 - depends: - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.8.1,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - liblzma >=5.8.3,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.53.2,<4.0a0 - - libzlib >=1.3.2,<2.0a0 - - openssl >=3.5.7,<4.0a0 - - python_abi 3.14.* *_cp314 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - purls: [] - run_exports: - weak: - - python_abi 3.14.* *_cp314 - noarch: - - python - size: 18481352 - timestamp: 1781256034828 - python_site_packages_path: Lib/site-packages -- conda: https://conda.anaconda.org/conda-forge/win-64/pywin32-311-py314h8f8f202_1.conda - sha256: 6918a8067f296f3c65d43e84558170c9e6c3f4dd735cfe041af41a7fdba7b171 - md5: 2d7b7ba21e8a8ced0eca553d4d53f773 - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - license: PSF-2.0 - license_family: PSF - purls: - - pkg:pypi/pywin32?source=hash-mapping - size: 6713155 - timestamp: 1756487145487 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda - sha256: a2aff34027aa810ff36a190b75002d2ff6f9fbef71ec66e567616ac3a679d997 - md5: 0cd9b88826d0f8db142071eb830bce56 - depends: - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - yaml >=0.2.5,<0.3.0a0 - license: MIT - license_family: MIT - purls: - - pkg:pypi/pyyaml?source=hash-mapping - size: 181257 - timestamp: 1770223460931 -- conda: https://conda.anaconda.org/conda-forge/win-64/pyzmq-27.1.0-py312h343a6d4_2.conda - noarch: python - sha256: d84bcc19a945ca03d1fd794be3e9896ab6afc9f691d58d9c2da514abe584d4df - md5: eb1ec67a70b4d479f7dd76e6c8fe7575 - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - zeromq >=4.3.5,<4.3.6.0a0 - - _python_abi3_support 1.* - - cpython >=3.12 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/pyzmq?source=hash-mapping - size: 183235 - timestamp: 1771716967192 -- conda: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.30.0-py314h9f07db2_0.conda - sha256: e4435368c5c25076dc0f5918ba531c5a92caee8e0e2f9912ef6810049cf00db2 - md5: e86531e278ad304438e530953cd55d14 - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/rpds-py?source=hash-mapping - size: 235780 - timestamp: 1764543046065 -- conda: https://conda.anaconda.org/conda-forge/win-64/ruamel.yaml.clib-0.2.15-py314hc5dbbe4_1.conda - sha256: b719637ce71e533193cd2bcacbf6ba5c10deaafa1be90d96040ee2314c6b17d1 - md5: 496de351b0f9afe9e245229528304f25 - depends: - - python - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/ruamel-yaml-clib?source=hash-mapping - size: 105668 - timestamp: 1766159584330 -- conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.17.1-py314h221f224_0.conda - sha256: d9a7b6d3a306195eef4db814614a74746aae4b63e570f6db15769bd28d19a957 - md5: cfcd38938ee0137f4bf0ca824dfb0887 - depends: - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - liblapack >=3.9.0,<4.0a0 - - numpy <2.7 - - numpy >=1.23,<3 - - numpy >=1.25.2 - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/scipy?source=hash-mapping - size: 14970549 - timestamp: 1771881565717 -- conda: https://conda.anaconda.org/conda-forge/win-64/sdl2-2.32.56-h5112557_0.conda - sha256: d17da21386bdbf32bce5daba5142916feb95eed63ef92b285808c765705bbfd2 - md5: 4cffbfebb6614a1bff3fc666527c25c7 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - sdl3 >=3.2.22,<4.0a0 - license: Zlib - purls: [] - size: 572101 - timestamp: 1757842925694 -- conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.10-h5112557_0.conda - sha256: 0331417611907f1891c1c8b1c52fed48e337157a6e2d6a893ed352792f8f7ea0 - md5: 82adb3bed17cc9189d81ca90b41c77b9 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libusb >=1.0.29,<2.0a0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - license: Zlib - purls: [] - size: 1677765 - timestamp: 1780262836463 -- conda: https://conda.anaconda.org/conda-forge/win-64/sdl3-3.4.2-h5112557_0.conda - sha256: a4677774a9d542c6f4bac8779a2d7105748d38d8b7d56c8d02f36d14fba471b9 - md5: a0256884d35489e520360267e67ce3fc - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libvulkan-loader >=1.4.341.0,<2.0a0 - - libusb >=1.0.29,<2.0a0 - license: Zlib - size: 1669623 - timestamp: 1771668231217 -- conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2025.5-h8fa7867_1.conda - sha256: b2f6e199df47ca314294ad393818d6b499fd544703abcede0f19007b8f8f10e4 - md5: 04d62bc008ee442843e2f24f603ea1a6 - depends: - - glslang >=16,<17.0a0 - - spirv-tools >=2026,<2027.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - size: 1558909 - timestamp: 1770208850155 -- conda: https://conda.anaconda.org/conda-forge/win-64/shaderc-2026.2-h8fa7867_0.conda - sha256: 3a4edc274c947d34258af01886d9ca301098fe037dacd91ccd5f5291dda5ca0b - md5: dd6d0d119b1ca747af3ba964eaa3c565 - depends: - - glslang >=16,<17.0a0 - - spirv-tools >=2026,<2027.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - purls: [] - size: 1559352 - timestamp: 1777360694042 -- conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.1-h49e36cd_0.conda - sha256: 9976eeaf650d43833c110447ba264a72f470928d8a8fa5d1cfbadcd2a276184c - md5: bf5a4eb05c8b38dbc4e32ce17ab36389 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - spirv-headers >=1.4.341.0,<1.4.341.1.0a0 - license: Apache-2.0 - license_family: APACHE - size: 13881533 - timestamp: 1770089875437 -- conda: https://conda.anaconda.org/conda-forge/win-64/spirv-tools-2026.2-h49e36cd_0.conda - sha256: 256818df74531014639af4cd0791a2a2d238bef74b593db92baeb3c881d89ef2 - md5: 64190192873306d90833d53a820311b8 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - spirv-headers >=1.4.350.0,<1.4.350.1.0a0 - license: Apache-2.0 - license_family: APACHE - purls: [] - size: 14305012 - timestamp: 1780140089597 -- conda: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.49-py314hc5dbbe4_0.conda - sha256: 5ae3d2575dcc8e6960495f10f572b1e73cb00f5184e296424f95b329ea499aff - md5: e62753bfe50824a55342792142336f75 - depends: - - python - - greenlet !=0.4.17 - - typing-extensions >=4.6.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - license: MIT - license_family: MIT - purls: - - pkg:pypi/sqlalchemy?source=hash-mapping - size: 3982656 - timestamp: 1775241410725 -- conda: https://conda.anaconda.org/conda-forge/win-64/svt-av1-4.0.1-hac47afa_0.conda - sha256: 4d77eec06ee4c5de38d330fb7dfd6dac2f867ec007123acb901be9942e12c08a - md5: d9714a97bc69f98fd5032f675ae1b0b5 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-2-Clause - license_family: BSD - purls: [] - size: 1808810 - timestamp: 1769664619287 -- conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2022.3.0-h3155e25_2.conda - sha256: abd9a489f059fba85c8ffa1abdaa4d515d6de6a3325238b8e81203b913cf65a9 - md5: 0f9817ffbe25f9e69ceba5ea70c52606 - depends: - - libhwloc >=2.12.2,<2.12.3.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - purls: [] - size: 155869 - timestamp: 1767886839029 -- conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2023.0.0-hd3d4ead_2.conda - sha256: 8a4053839b8e997a5965e2dff7d6cf3c77be62d82c0e48c8a04a5ed2d2e73035 - md5: 8ee01a693aecff5432069eaaf1183c45 - depends: - - libhwloc >=2.13.0,<2.13.1.0a0 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: APACHE - purls: [] - size: 156515 - timestamp: 1778673901757 -- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda - sha256: 0e79810fae28f3b69fe7391b0d43f5474d6bd91d451d5f2bde02f55ae481d5e3 - md5: 0481bfd9814bf525bd4b3ee4b51494c4 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: TCL - license_family: BSD - purls: [] - size: 3526350 - timestamp: 1769460339384 -- conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda - sha256: 13fa29257d43f8e630a1e591ed77fae9bbbb236b011432f01e2034cf36e6bf03 - md5: aaf79e2af50a151fb5b5a3e3f38b7a69 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: TCL - run_exports: - weak: - - tk >=8.6.13,<8.7.0a0 - size: 3782314 - timestamp: 1784229072899 -- conda: https://conda.anaconda.org/conda-forge/win-64/tornado-6.5.5-py314h5a2d7ad_0.conda - sha256: 49d64837dd02475903479ca47b82669bd6c9f7e6afde61860c6f3f2bd57d8a03 - md5: 87b1215adf7f0ba1fb9250af9fc668e1 - depends: - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - purls: - - pkg:pypi/tornado?source=hash-mapping - size: 914835 - timestamp: 1774358183098 -- conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - sha256: 3005729dce6f3d3f5ec91dfc49fc75a0095f9cd23bab49efb899657297ac91a5 - md5: 71b24316859acd00bdb8b38f5e2ce328 - constrains: - - vc14_runtime >=14.29.30037 - - vs2015_runtime >=14.29.30037 - license: LicenseRef-MicrosoftWindowsSDK10 - purls: [] - run_exports: {} - size: 694692 - timestamp: 1756385147981 -- conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.11.29-h7ca4a90_0.conda - sha256: 2275f79774c48a0bdb97f7ec7a75ed66d5fbbc8b1cca22d9be74a0dcab046189 - md5: 6e29fdc78a0e55d92d2d38b2b3149735 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: Apache-2.0 OR MIT - run_exports: {} - size: 21860770 - timestamp: 1784166533243 -- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda - sha256: 9dc40c2610a6e6727d635c62cced5ef30b7b30123f5ef67d6139e23d21744b3a - md5: 1e610f2416b6acdd231c5f573d754a0f - depends: - - vc14_runtime >=14.44.35208 - track_features: - - vc14 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 19356 - timestamp: 1767320221521 -- conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda - sha256: 17693b60cb54f80c60275f003f3bfc1b128af56dbfd65c4fae37c64eeb755ce1 - md5: 2eacea63f545b97342da520df6854276 - depends: - - vc14_runtime >=14.51.36231 - track_features: - - vc14 - license: BSD-3-Clause - license_family: BSD - purls: [] - run_exports: {} - size: 20362 - timestamp: 1781320968457 -- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda - sha256: 02732f953292cce179de9b633e74928037fa3741eb5ef91c3f8bae4f761d32a5 - md5: 37eb311485d2d8b2c419449582046a42 - depends: - - ucrt >=10.0.20348.0 - - vcomp14 14.44.35208 h818238b_34 - constrains: - - vs2015_runtime 14.44.35208.* *_34 - license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime - license_family: Proprietary - purls: [] - size: 683233 - timestamp: 1767320219644 -- conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda - sha256: 8153ed849c92e891eacac0f2f8d7ecb79f9b5fd7f7917fbb896f252a60a40390 - md5: 06a5bf5a1ca16cce0df6eaa91fc42bc2 - depends: - - ucrt >=10.0.20348.0 - - vcomp14 14.51.36231 h1b9f54f_39 - constrains: - - vs2015_runtime 14.51.36231.* *_39 - license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime - license_family: Proprietary - purls: [] - run_exports: {} - size: 737434 - timestamp: 1781320964561 -- conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda - sha256: 878d5d10318b119bd98ed3ed874bd467acbe21996e1d81597a1dbf8030ea0ce6 - md5: 242d9f25d2ae60c76b38a5e42858e51d - depends: - - ucrt >=10.0.20348.0 - constrains: - - vs2015_runtime 14.44.35208.* *_34 - license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime - license_family: Proprietary - purls: [] - size: 115235 - timestamp: 1767320173250 -- conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda - sha256: 07fb14713c4bc62e2533a2e23a363abfb0e65650681fba0ae4c840e2219350f3 - md5: 8b53a83fda40ec679e4d63fa32fae989 - depends: - - ucrt >=10.0.20348.0 - constrains: - - vs2015_runtime 14.51.36231.* *_39 - license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime - license_family: Proprietary - purls: [] - run_exports: - strong: - - vcomp14 >=14.51.36231 - size: 120684 - timestamp: 1781320948530 -- conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.44.35208-h38c0c73_34.conda - sha256: 63ff4ec6e5833f768d402f5e95e03497ce211ded5b6f492e660e2bfc726ad24d - md5: f276d1de4553e8fca1dfb6988551ebb4 - depends: - - vc14_runtime >=14.44.35208 - license: BSD-3-Clause - license_family: BSD - size: 19347 - timestamp: 1767320221943 -- conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.51.36231-h84cd919_39.conda - sha256: 6de6c2cf008fc2dce61060b583f2d8494c83883106952b201381b6b0505f03d7 - md5: 2ccc63d7b7d066a814ed9f99072832d7 - depends: - - vc14_runtime >=14.51.36231 - license: BSD-3-Clause - license_family: BSD - purls: [] - size: 20355 - timestamp: 1781320968804 -- conda: https://conda.anaconda.org/conda-forge/win-64/vs2022_win-64-19.44.35207-ha74f236_39.conda - sha256: 434b4f517b7119675930d17749bf123558271f3f316b217f7ac759e6d7121e9d - md5: 59f1d09ae752b761542975d7b6ad1b89 - depends: - - vswhere - constrains: - - vs_win-64 2022.14 - track_features: - - vc14 - license: BSD-3-Clause - license_family: BSD - run_exports: - strong: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - size: 24190 - timestamp: 1781320983107 -- conda: https://conda.anaconda.org/conda-forge/win-64/x264-1!164.3095-h8ffe710_2.tar.bz2 - sha256: 97166b318f8c68ffe4d50b2f4bd36e415219eeaef233e7d41c54244dc6108249 - md5: 19e39905184459760ccb8cf5c75f148b - depends: - - vc >=14.1,<15 - - vs2015_runtime >=14.16.27033 - license: GPL-2.0-or-later - license_family: GPL - purls: [] - size: 1041889 - timestamp: 1660323726084 -- conda: https://conda.anaconda.org/conda-forge/win-64/x265-3.5-h2d74725_3.tar.bz2 - sha256: 02b9874049112f2b7335c9a3e880ac05d99a08d9a98160c5a98898b2b3ac42b2 - md5: ca7129a334198f08347fb19ac98a2de9 - depends: - - vc >=14.1,<15 - - vs2015_runtime >=14.16.27033 - license: GPL-2.0-or-later - license_family: GPL - purls: [] - size: 5517425 - timestamp: 1646611941216 -- conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - sha256: 80ee68c1e7683a35295232ea79bcc87279d31ffeda04a1665efdb43cbd50a309 - md5: 433699cba6602098ae8957a323da2664 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - license: MIT - license_family: MIT - purls: [] - size: 63944 - timestamp: 1753484092156 -- conda: https://conda.anaconda.org/conda-forge/win-64/zeromq-4.3.5-h507cc87_10.conda - sha256: b8568dfde46edf3455458912ea6ffb760e4456db8230a0cf34ecbc557d3c275f - md5: 1ab0237036bfb14e923d6107473b0021 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libsodium >=1.0.21,<1.0.22.0a0 - - krb5 >=1.22.2,<1.23.0a0 - license: MPL-2.0 - license_family: MOZILLA - purls: [] - size: 265665 - timestamp: 1772476832995 -- conda: https://conda.anaconda.org/conda-forge/win-64/zlib-1.3.2-hfd05255_2.conda - sha256: ef408f85f664a4b9c9dac3cb2e36154d9baa15a88984ea800e11060e0f2394a1 - md5: 5187ecf958be3c39110fe691cbd6873e - depends: - - libzlib 1.3.2 hfd05255_2 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Zlib - license_family: Other - purls: [] - size: 850351 - timestamp: 1774072891049 -- conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - sha256: 368d8628424966fd8f9c8018326a9c779e06913dd39e646cf331226acc90e5b2 - md5: 053b84beec00b71ea8ff7a4f84b55207 - depends: - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - purls: [] - run_exports: - weak: - - zstd >=1.5.7,<1.6.0a0 - size: 388453 - timestamp: 1764777142545 -- conda_source: cuda-bindings[1a320ca0] @ ../cuda_bindings - variants: - c_compiler: vs2022 - cuda_version: 13.3.* - cxx_compiler: vs2022 - python: 3.14.* - target_platform: win-64 - depends: - - python - - python >=3.10 - - cuda-version - - cuda-pathfinder - - libnvjitlink - - cuda-nvrtc - - cuda-nvrtc >=13.3.33,<14.0a0 - - cuda-nvvm - - libnvfatbin - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - source_depends: - cuda-pathfinder: - path: ../cuda_pathfinder - build_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2022_win-64-19.44.35207-ha74f236_39.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.4.1-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.73-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-13.3.73-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-13.3.73-h719f0c7_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-13.3.73-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-profiler-api-13.3.27-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.11.29-h7ca4a90_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda - - conda_source: cuda-pathfinder[169735b8] @ ../cuda_pathfinder -- conda_source: cuda-bindings[29afc263] @ ../cuda_bindings - variants: - c_stdlib: sysroot - c_stdlib_version: '2.28' - cuda_version: 13.3.* - python: 3.14.* - target_platform: linux-64 - depends: - - python - - python >=3.10 - - cuda-version - - cuda-pathfinder - - libnvjitlink - - cuda-nvrtc - - cuda-nvrtc >=13.3.33,<14.0a0 - - cuda-nvvm - - libnvfatbin - - libcufile - - libcufile >=1.18.1.6,<2.0a0 - - libgcc >=15 - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - source_depends: - cuda-pathfinder: - path: ../cuda_pathfinder - build_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-15.2.0-h7be306e_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-15.2.0-hcb00b6d_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-13.3.73-h69a702a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-13.3.73-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-13.3.27-h7938cbb_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-dev-1.18.1.6-h676940d_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.11.29-h2112641_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.73-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-13.3.73-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda_source: cuda-pathfinder[83159de6] @ ../cuda_pathfinder -- conda_source: cuda-bindings[b73e05e0] @ ../cuda_bindings - variants: - c_stdlib: sysroot - c_stdlib_version: '2.28' - cuda_version: 13.3.* - python: 3.14.* - target_platform: linux-aarch64 - depends: - - python - - python >=3.10 - - cuda-version - - cuda-pathfinder - - libnvjitlink - - cuda-nvrtc - - cuda-nvrtc >=13.3.33,<14.0a0 - - cuda-nvvm - - libnvfatbin - - libcufile - - libcufile >=1.18.1.6,<2.0a0 - - libgcc >=15 - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - source_depends: - cuda-pathfinder: - path: ../cuda_pathfinder - build_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_linux-aarch64-2.46.1-default_hf1166c9_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_linux-aarch64-15.2.0-h0bf4bd8_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_linux-aarch64-15.2.0-h7e4acf5_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-13.3.73-he9431aa_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-13.3.73-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-13.3.27-h16bee8c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-dev-1.18.1.6-he38c790_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/uv-0.11.29-hbe9c82f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.4.1-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda_source: cuda-pathfinder[4dfff30f] @ ../cuda_pathfinder -- conda_source: cuda-core[2472945f] @ . - variants: - c_stdlib: sysroot - c_stdlib_version: '2.28' - cuda_version: 12.* - python: 3.14.* - target_platform: linux-64 - depends: - - python - - python >=3.10 - - cuda-version - - numpy - - cuda-bindings - - cuda-pathfinder - - backports.strenum - - libgcc >=15 - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - cuda-nvrtc >=12.9.86,<13.0a0 - - cuda-cudart >=12.9.79,<13.0a0 - license: Apache-2.0 - build_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-15.2.0-h7be306e_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-15.2.0-hcb00b6d_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-bindings-12.9.7-py314hadd79bd_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-crt-tools-12.9.86-ha770c72_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-12.9.79-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-12.9.79-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-12.9.79-h5888daf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-impl-12.9.86-h85509e4_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-tools-12.9.86-he02047a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-12.9.86-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-12.9.86-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-12.9.86-h4bc722e_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-12.9.86-h4bc722e_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-12.9.79-h7938cbb_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/dlpack-1.3-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.14.1.1-hbc026e6_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-12.9.86-hecca717_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvptxcompiler-dev-12.9.86-ha770c72_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.11.29-h2112641_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-12.9.27-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-12.9.86-ha770c72_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-12.9.79-h3f2d84a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-12.9.79-h3f2d84a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-12.9.79-h3f2d84a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_linux-64-12.9.86-he91c749_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-64-12.9.86-ha770c72_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.5.6-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_linux-64-12.9.86-ha770c72_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda -- conda_source: cuda-core[491c4fa3] @ . - variants: - c_stdlib: sysroot - c_stdlib_version: '2.28' - cuda_version: 12.* - python: 3.14.* - target_platform: linux-aarch64 - depends: - - python - - python >=3.10 - - cuda-version - - numpy - - cuda-bindings - - cuda-pathfinder - - backports.strenum - - libgcc >=15 - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - python_abi 3.14.* *_cp314 - - cuda-nvrtc >=12.9.86,<13.0a0 - - cuda-cudart >=12.9.79,<13.0a0 - license: Apache-2.0 - build_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_linux-aarch64-2.46.1-default_hf1166c9_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_linux-aarch64-15.2.0-h0bf4bd8_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_linux-aarch64-15.2.0-h7e4acf5_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-bindings-12.9.7-py314hd8c1704_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-crt-tools-12.9.86-h579c4fd_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvcc-impl-12.9.86-h614329b_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvcc-tools-12.9.86-h614329b_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-12.9.86-h8f3c8d4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-12.9.86-h8f3c8d4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-12.9.86-h7b14b0b_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-tools-12.9.86-h7b14b0b_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-12.9.79-h16bee8c_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dlpack-1.3-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.14.1.1-had8bf56_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-12.9.86-h8f3c8d4_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvptxcompiler-dev-12.9.86-h579c4fd_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/uv-0.11.29-hbe9c82f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-12.9.27-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-12.9.79-h3ae8b8a_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_linux-aarch64-12.9.86-h4310d6a_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.5.6-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_linux-aarch64-12.9.86-h579c4fd_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda -- conda_source: cuda-core[496050ab] @ . - variants: - c_stdlib: sysroot - c_stdlib_version: '2.28' - cuda_version: 13.3.* - python: 3.14.* - target_platform: linux-64 - depends: - - python - - python >=3.10 - - cuda-version - - numpy - - cuda-bindings - - cuda-pathfinder - - backports.strenum - - libgcc >=15 - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - cuda-cudart >=13.3.29,<14.0a0 - - cuda-nvrtc >=13.3.33,<14.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - build_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.46.1-default_hfdba357_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.46.1-default_h4852527_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-15.2.0-he0086c7_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-15.2.0-h7be306e_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-15.2.0-hda75c37_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-15.2.0-hcb00b6d_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-15.2.0-h90f66d4_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-4.18.0-he073ed8_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-15.2.0-hcc6f6b0_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-15.2.0-hd446a21_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.28-h4ee821c_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-bindings-13.3.1-py314h42812f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-dev-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-static-13.3.29-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-dev-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-impl-13.3.73-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cuda-profiler-api-13.3.27-h7938cbb_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.2.8-py314h1807b08_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/dlpack-1.3-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.78-hd0affe5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.18.1.6-h053a66a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvfatbin-13.3.29-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-13.3.33-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libudev1-257.13-h084b8d7_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/rdma-core-63.0-h192683f_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.11.29-h2112641_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-64-13.3.3.4.1-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-64-13.3.73-ha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-13.3.29-h376f20c_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.5.6-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda -- conda_source: cuda-core[8e8d43e1] @ . - variants: - c_compiler: vs2022 - cuda_version: 12.* - cxx_compiler: vs2022 - python: 3.14.* - target_platform: win-64 - depends: - - python - - python >=3.10 - - cuda-version - - numpy - - cuda-bindings - - cuda-pathfinder - - backports.strenum - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - python_abi 3.14.* *_cp314 - - cuda-nvrtc >=12.9.86,<13.0a0 - - cuda-cudart >=12.9.79,<13.0a0 - license: Apache-2.0 - build_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2022_win-64-19.44.35207-ha74f236_39.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-12.9.27-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-12.9.86-h57928b3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvcc-dev_win-64-12.9.86-h36c15f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-nvvm-dev_win-64-12.9.86-h57928b3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.5.6-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libnvptxcompiler-dev_win-64-12.9.86-h57928b3_2.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-bindings-12.9.7-py314h2547b3f_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-crt-tools-12.9.86-h57928b3_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-dev-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-cudart-static-12.9.79-he0c23c2_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvcc-impl-12.9.86-h53cbb54_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvcc-tools-12.9.86-he0c23c2_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-12.9.86-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-12.9.86-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-12.9.86-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-tools-12.9.86-h2466b09_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/dlpack-1.3-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-12.9.86-hac47afa_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvptxcompiler-dev-12.9.86-h57928b3_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.11.29-h7ca4a90_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda -- conda_source: cuda-core[b9ba9726] @ . - variants: - c_stdlib: sysroot - c_stdlib_version: '2.28' - cuda_version: 13.3.* - python: 3.14.* - target_platform: linux-aarch64 - depends: - - python - - python >=3.10 - - cuda-version - - numpy - - cuda-bindings - - cuda-pathfinder - - backports.strenum - - libgcc >=15 - - libgcc >=15 - - libstdcxx >=15 - - __glibc >=2.28,<3.0.a0 - - cuda-cudart >=13.3.29,<14.0a0 - - cuda-nvrtc >=13.3.33,<14.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - build_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_impl_linux-aarch64-2.46.1-default_h5f4c503_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/binutils_linux-aarch64-2.46.1-default_hf1166c9_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_impl_linux-aarch64-15.2.0-h3530432_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gcc_linux-aarch64-15.2.0-h0bf4bd8_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_impl_linux-aarch64-15.2.0-h03e2352_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/gxx_linux-aarch64-15.2.0-h7e4acf5_27.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsanitizer-15.2.0-he19c465_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-aarch64-4.18.0-h05a177a_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-aarch64-15.2.0-h55c397f_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-aarch64-15.2.0-ha7b1723_119.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-aarch64-2.28-h585391f_9.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-bindings-13.3.1-py314he6363bd_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-dev-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-cudart-static-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvrtc-dev-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-nvvm-impl-13.3.73-h7b14b0b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cuda-profiler-api-13.3.27-h16bee8c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cython-3.2.8-py314hc6b4731_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/dlpack-1.3-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcap-2.78-hf9559e3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcudla-13.3.29-hfae3067_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcufile-1.18.1.6-h42688b2_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnl-3.11.0-h86ecc28_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvfatbin-13.3.29-h8f3c8d4_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnvjitlink-13.3.33-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsystemd0-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libudev1-257.13-hfcc8634_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rdma-core-63.0-h1f0f388_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/uv-0.11.29-hbe9c82f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/arm-variant-1.2.0-sbsa.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_linux-aarch64-13.3.3.4.1-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_linux-aarch64-13.3.73-h579c4fd_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-aarch64-13.3.29-h8f3c8d4_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.5.6-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda -- conda_source: cuda-core[f1ea05b3] @ . - variants: - c_compiler: vs2022 - cuda_version: 13.3.* - cxx_compiler: vs2022 - python: 3.14.* - target_platform: win-64 - depends: - - python - - python >=3.10 - - cuda-version - - numpy - - cuda-bindings - - cuda-pathfinder - - backports.strenum - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - ucrt >=10.0.20348.0 - - cuda-nvrtc >=13.3.33,<14.0a0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - build_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/vswhere-3.1.7-h40126e0_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vs2022_win-64-19.44.35207-ha74f236_39.conda - host_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cccl_win-64-13.3.3.4.1-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-crt-dev_win-64-13.3.73-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-dev_win-64-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart-static_win-64-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_win-64-13.3.29-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-pathfinder-1.5.6-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cuda-version-13.3-hcbadf70_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-bindings-13.3.1-py314hb98de8c_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvrtc-dev-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cuda-nvvm-impl-13.3.73-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.2.8-py314h344ed54_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/dlpack-1.3-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvfatbin-13.3.29-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libnvjitlink-13.3.33-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.11.29-h7ca4a90_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda -- conda_source: cuda-pathfinder[169735b8] @ ../cuda_pathfinder - variants: - target_platform: noarch - depends: - - python >=3.10 - - python * - license: Apache-2.0 - host_packages: - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-h4c7d964_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.8.1-hac47afa_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.3-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.53.3-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.3-hf411b9b_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.6-h4b44e0e_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h967ab96_3.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.11.29-h7ca4a90_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.5-h1b7c187_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.51.36231-h1b9f54f_39.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda -- conda_source: cuda-pathfinder[4dfff30f] @ ../cuda_pathfinder - variants: - target_platform: noarch - depends: - - python >=3.10 - - python * - license: Apache-2.0 - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.3-h10b116e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.2-h1022ec0_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.3-h546c87b_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.6-hc679e19_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h5cf4473_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/uv-0.11.29-hbe9c82f_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda -- conda_source: cuda-pathfinder[83159de6] @ ../cuda_pathfinder - variants: - target_platform: noarch - depends: - - python >=3.10 - - python * - license: Apache-2.0 - host_packages: - - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.3-h0c1763c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.2-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.3-h35e630c_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.6-habeac84_100_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.11.29-h2112641_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.6.17-hbd8a1cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-83.0.0-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-10.2.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.16.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/vcs_versioning-2.2.2-pyhcf101f3_0.conda -- pypi: https://files.pythonhosted.org/packages/01/8a/f767031dcd0d24c2bbab4b696dbcf004da4f3284e5e4649fc47bc0e2bb78/nvidia_nvvm-13.3.33-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl - name: nvidia-nvvm - version: 13.3.33 - sha256: aafaf73246b6126bc88f521e5dab1d196395ee87739d9f5b7c39c9fee0ead9c7 - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/0d/a0/1daeae599cadd612689dbbf70d7da1c01883964fc2fbc7386f3c630a68cf/cuda_core-1.0.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl - name: cuda-core - version: 1.0.1 - sha256: 6816dc020aee6103d8071bc02d8e4e1d91f2b49596f666896d608d92224d79d1 - requires_dist: - - cuda-pathfinder>=1.4.2 - - numpy - - backports-strenum ; python_full_version < '3.11' - - cuda-bindings[all]==12.* ; extra == 'cu12' - - cuda-bindings[all]==13.* ; extra == 'cu13' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/11/c8/26f2e4aae92f11522a96043892ba39a90eac610d5242523aa863212bc1c7/cuda_pathfinder-1.5.5-py3-none-any.whl - name: cuda-pathfinder - version: 1.5.5 - sha256: 0228c023f95d1480f143ef5c8922d27a2ab052087a942e81dc289c9eb8f91689 - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/39/2a/6d2e9047d1fb243dbaa364b01e0297534b9ed7fd27dba1c9f361519cf69b/cuda_bindings-13.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - name: cuda-bindings - version: 13.3.1 - sha256: e32d08f71ebcdf00f0f41eab2eb37e8da94c8ed411cc9f7f7a019ce6b34abe3a - requires_dist: - - cuda-pathfinder>=1.4.2 - - cuda-toolkit[nvfatbin,nvjitlink,nvrtc,nvvm]==13.* ; extra == 'all' - - cuda-toolkit[cufile]==13.* ; sys_platform == 'linux' and extra == 'all' - - cuda-toolkit==13.* ; extra == 'all' - - nvidia-cudla==13.* ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/3f/af/e1b107f034f7c133255c162b922bbad3da5be20ebf76df17662ae4bd31f6/nvidia_cuda_nvcc-13.3.33-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - name: nvidia-cuda-nvcc - version: 13.3.33 - sha256: 53b5f1be1731574368b8be931b77b6313492266c464aef3dd3f431569ce90deb - requires_dist: - - nvidia-nvvm - - nvidia-cuda-runtime - - nvidia-cuda-crt - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/46/36/246f73ec99cfeab2f2cb2ce7d4218766cc36a2da418901223f4f4da9c813/numba-0.65.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl - name: numba - version: 0.65.1 - sha256: 90ca10b3463bae0bd70589726fe3c77d01d6b5fc86bee54bcdf9fb6b47c28977 - requires_dist: - - llvmlite>=0.47.0.dev0,<0.48 - - numpy>=1.22 - - numpy>=1.22,<2.5 - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/4d/56/9a98585665531ee32c355422f7bbd22f20da56bfbea3f565373c1382c40b/numba_cuda-0.30.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl - name: numba-cuda - version: 0.30.2 - sha256: e0ce7bc6c740e76ae14e6c2e81e129ae3fdc34556850ad805dc44e5d21314e5e - requires_dist: - - numba>=0.60.0 - - cuda-bindings>=12.9.1,<14.0.0 - - cuda-core>=0.5.1,<2.0.0 - - cuda-pathfinder>=1.4.0,<2.0.0 - - packaging - - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'cu12' - - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==12.* ; extra == 'cu12' - - nvidia-nvjitlink-cu12>=12.3.0,<13.0.0 ; extra == 'cu12' - - cuda-bindings==13.* ; extra == 'cu13' - - cuda-toolkit[cccl,cudart,nvrtc,nvvm]==13.* ; extra == 'cu13' - - nvidia-nvjitlink>=13.0.0,<14.0.0 ; extra == 'cu13' - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/51/08/1aeffc9a529a7f94c9cee9bfd3a991743398b5f90aab30f06f2a4bc8205e/cuda_core-1.0.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - name: cuda-core - version: 1.0.1 - sha256: af2db9e50e81d73e4f0b72ad279d0a9c789372393938fe75c17236b9ed974d7d - requires_dist: - - cuda-pathfinder>=1.4.2 - - numpy - - backports-strenum ; python_full_version < '3.11' - - cuda-bindings[all]==12.* ; extra == 'cu12' - - cuda-bindings[all]==13.* ; extra == 'cu13' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/52/b8/83b1f563925b290f2d11a01a77a84013ba56052fe3653a5bef3ccfbb43d6/cuda_bindings-13.3.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl - name: cuda-bindings - version: 13.3.1 - sha256: c3c772dfff49681541d59630c90f858e173ac926b9c593a2b7123f2a1043cc76 - requires_dist: - - cuda-pathfinder>=1.4.2 - - cuda-toolkit[nvfatbin,nvjitlink,nvrtc,nvvm]==13.* ; extra == 'all' - - cuda-toolkit[cufile]==13.* ; sys_platform == 'linux' and extra == 'all' - - cuda-toolkit==13.* ; extra == 'all' - - nvidia-cudla==13.* ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/52/f6/620a144d38e5496a6e8842b837d48885fb532594752194a01f81701d8b91/numba_cuda_mlir-0.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - name: numba-cuda-mlir - version: 0.4.0 - sha256: 2e67ed54324fdd9e3bd86872bc4949a1fe96c849cc5640939a7513da6f0f64b4 - requires_dist: - - numpy - - typing-extensions ; python_full_version < '3.12' - - cuda-bindings>=12.9.1,<14.0.0 - - cuda-core>=0.5.1,<2.0.0 - - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'cu12' - - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==12.* ; extra == 'cu12' - - nvidia-nvjitlink-cu12>=12.3.0,<13.0.0 ; extra == 'cu12' - - cuda-bindings==13.* ; extra == 'cu13' - - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==13.* ; extra == 'cu13' - - nvidia-nvjitlink>=13.0.0,<14.0.0 ; extra == 'cu13' - requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/5f/7a/9cb8a7fb87a85b11e8753548ae1422be847c5dddf3ca9ff5b080b309e271/nvidia_cuda_cccl-13.3.3.3.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - name: nvidia-cuda-cccl - version: 13.3.3.3.1 - sha256: 4dbc9dd84fbaeae267cbd80a9ed76d35171dba78639695dbdff0bae50e4503fa - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/5f/e5/c1a221c8e6fecd071b80ea44c20fc253ae24f56e15e3f77cfbc3fb76e724/nvidia_cuda_runtime-13.3.29-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - name: nvidia-cuda-runtime - version: 13.3.29 - sha256: 73291e19c9dd919c140c91bda2f80b0eca487da5ee30a086ef7bc4918ecb90ea - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/69/30/45414e35ff2eee7db3da037e5707037ccf9d2b5218ffbdb055ea4d5aa98a/nvidia_nvjitlink-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - name: nvidia-nvjitlink - version: 13.3.33 - sha256: ce48b37dfeb3cb1eae4cf85adacb47d7a6539ea2272870c9a3628ce275c2037e - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/69/47/a415af0283e4db0398104c6d1c11c9861a98dc67a7aa442a7769ed5d6196/numba-0.65.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - name: numba - version: 0.65.1 - sha256: 52bc6f3ceb8fcaff9b2ae26b4c6b1e9fee39db8d355534c0fe4f39a901246b84 - requires_dist: - - llvmlite>=0.47.0.dev0,<0.48 - - numpy>=1.22 - - numpy>=1.22,<2.5 - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/6f/be/7d2159a318ebdba835e57ae4df13a799f199a3416a15b37a3fac4f8ce400/numba_cuda-0.30.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - name: numba-cuda - version: 0.30.2 - sha256: 6214cefb42636c667139c5e897a5ee92cf8bf7177ef907580eea5f2368eee9d9 - requires_dist: - - numba>=0.60.0 - - cuda-bindings>=12.9.1,<14.0.0 - - cuda-core>=0.5.1,<2.0.0 - - cuda-pathfinder>=1.4.0,<2.0.0 - - packaging - - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'cu12' - - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==12.* ; extra == 'cu12' - - nvidia-nvjitlink-cu12>=12.3.0,<13.0.0 ; extra == 'cu12' - - cuda-bindings==13.* ; extra == 'cu13' - - cuda-toolkit[cccl,cudart,nvrtc,nvvm]==13.* ; extra == 'cu13' - - nvidia-nvjitlink>=13.0.0,<14.0.0 ; extra == 'cu13' - requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/82/dd/1206a7ca6ab15e3f02069707ca96222e202af681bb73756da7527f3cb837/numpy-2.4.6-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl - name: numpy - version: 2.4.6 - sha256: 9cd5ffd25db4e7ba6a375693b3fc0fc1791ec636c17db3720da19bde7180ec43 - requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/83/36/ce0d42d3a4465c858c379932f0080d29d22f04383ab79119c7c4f4cdd5ef/nvidia_nvvm-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - name: nvidia-nvvm - version: 13.3.33 - sha256: fd74a1c5ef284ba04c1ba75f886404dff953c54731a3a9c7b45e9aedaf1a226b - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/8b/2c/86916c8a34dcdb0c3ddd1c0e30545041bd781184e437b9cb76fcda70560b/nvidia_cuda_nvrtc-13.3.33-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl - name: nvidia-cuda-nvrtc - version: 13.3.33 - sha256: 82530788b8c6164a54d3fd9ae8bcca8893d397c4aeb998861982a03bbe41e204 - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/8c/79/017fab2f7167a9a9795665f894d04f77aafceca80821b51589bb4b23ff5c/nvidia_sphinx_theme-0.0.9.post1-py3-none-any.whl - name: nvidia-sphinx-theme - version: 0.0.9.post1 - sha256: 21ca60206dff2f380d7783d64bbaf71a5b9cacae53c7d0686f089c16b5a3d45a - requires_dist: - - sphinx>=7.1 - - pydata-sphinx-theme>=0.15 - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/8d/a7/998af901511d5efdc6e42fc597d32a69f34eecf86f1591a9d230ab3ab951/nvidia_cuda_crt-13.3.33-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - name: nvidia-cuda-crt - version: 13.3.33 - sha256: 01ff37600c7b880a14cab4ade763b4c10c0ff92f25cc9dca30f0881ce52693c4 - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/97/be/5699b6e642b372f7d24c59c2f41383e2696825e20bab85f7399c7c6a56f7/nvidia_cuda_runtime-13.3.29-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - name: nvidia-cuda-runtime - version: 13.3.29 - sha256: e04420616e72f563167a7733272992d7e6df6dc5cb54b2f94f9f1520ea9e30c1 - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/9a/8c/29b52f76ee4b4f94d5f1ef05797a83ae48ba8b6d5fcd5691dafb570a5f65/cuda_toolkit-13.3.0-py2.py3-none-any.whl - name: cuda-toolkit - version: 13.3.0 - sha256: 6e50798a0cc6e94f3044be58ca7b6628852c017ccec1220af88e60d266fe8f2c - requires_dist: - - nvidia-cublas==13.5.1.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-cccl==13.3.3.3.1.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-crt==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-culibos==13.3.33.* ; (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-cuobjdump==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-cupti==13.3.35.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-cuxxfilt==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-nvcc==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-nvdisasm==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-nvrtc==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-opencl==13.3.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-profiler-api==13.3.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-runtime==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-sanitizer-api==13.3.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-tileiras==13.3.36.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cudla==13.3.29.* ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all' - - nvidia-cufft==12.3.0.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cufile==1.18.0.66.* ; (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-curand==10.4.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cusolver==12.2.2.18.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cusparse==12.8.1.7.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-npp==13.1.2.48.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-nvfatbin==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-nvjitlink>=13.3.33,<14 ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-nvjpeg==13.2.0.21.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-nvml-dev==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-nvptxcompiler==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-nvtx==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-nvvm==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'all') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'all') - - nvidia-cuda-cccl==13.3.3.3.1.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cccl') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cccl') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cccl') - - nvidia-cuda-crt==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'crt') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'crt') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'crt') - - nvidia-cublas==13.5.1.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cublas') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cublas') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cublas') - - nvidia-cuda-nvrtc==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cublas') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cublas') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cublas') - - nvidia-cuda-runtime==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cudart') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cudart') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cudart') - - nvidia-cudla==13.3.29.* ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cudla' - - nvidia-cufft==12.3.0.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cufft') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cufft') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cufft') - - nvidia-nvjitlink>=13.3.33,<14 ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cufft') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cufft') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cufft') - - nvidia-cufile==1.18.0.66.* ; (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cufile') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cufile') - - nvidia-cuda-culibos==13.3.33.* ; (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'culibos') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'culibos') - - nvidia-cuda-cuobjdump==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cuobjdump') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cuobjdump') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cuobjdump') - - nvidia-cuda-cupti==13.3.35.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cupti') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cupti') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cupti') - - nvidia-curand==10.4.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'curand') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'curand') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'curand') - - nvidia-cublas==13.5.1.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cusolver') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cusolver') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cusolver') - - nvidia-cusolver==12.2.2.18.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cusolver') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cusolver') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cusolver') - - nvidia-cusparse==12.8.1.7.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cusolver') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cusolver') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cusolver') - - nvidia-nvjitlink>=13.3.33,<14 ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cusolver') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cusolver') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cusolver') - - nvidia-cusparse==12.8.1.7.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cusparse') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cusparse') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cusparse') - - nvidia-nvjitlink>=13.3.33,<14 ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cusparse') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cusparse') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cusparse') - - nvidia-cuda-cuxxfilt==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'cuxxfilt') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cuxxfilt') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'cuxxfilt') - - nvidia-npp==13.1.2.48.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'npp') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'npp') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'npp') - - nvidia-cuda-crt==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvcc') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvcc') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvcc') - - nvidia-cuda-nvcc==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvcc') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvcc') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvcc') - - nvidia-cuda-runtime==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvcc') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvcc') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvcc') - - nvidia-nvvm==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvcc') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvcc') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvcc') - - nvidia-cuda-nvdisasm==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvdisasm') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvdisasm') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvdisasm') - - nvidia-nvfatbin==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvfatbin') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvfatbin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvfatbin') - - nvidia-nvjitlink>=13.3.33,<14 ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvjitlink') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvjitlink') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvjitlink') - - nvidia-nvjpeg==13.2.0.21.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvjpeg') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvjpeg') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvjpeg') - - nvidia-nvml-dev==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvml') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvml') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvml') - - nvidia-nvptxcompiler==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvptxcompiler') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvptxcompiler') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvptxcompiler') - - nvidia-cuda-nvrtc==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvrtc') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvrtc') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvrtc') - - nvidia-nvtx==13.3.29.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvtx') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvtx') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvtx') - - nvidia-nvvm==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'nvvm') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'nvvm') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'nvvm') - - nvidia-cuda-opencl==13.3.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'opencl') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'opencl') - - nvidia-cuda-profiler-api==13.3.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'profiler') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'profiler') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'profiler') - - nvidia-cuda-sanitizer-api==13.3.27.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'sanitizer') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'sanitizer') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'sanitizer') - - nvidia-cuda-nvcc==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'tileiras') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'tileiras') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'tileiras') - - nvidia-cuda-tileiras==13.3.36.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'tileiras') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'tileiras') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'tileiras') - - nvidia-nvjitlink>=13.3.33,<14 ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'tileiras') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'tileiras') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'tileiras') - - nvidia-nvvm==13.3.33.* ; (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'tileiras') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'tileiras') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'tileiras') -- pypi: https://files.pythonhosted.org/packages/a1/4d/603557ab3cb171cc2a61d3678a39cb4dae3fd21275078bfbd1c0b0b5230b/cuda_core-1.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - name: cuda-core - version: 1.0.1 - sha256: be7b65311bf78964b7905adbf3c0f8f717d432f2854dc45169277729bf60f1e2 - requires_dist: - - cuda-pathfinder>=1.4.2 - - numpy - - backports-strenum ; python_full_version < '3.11' - - cuda-bindings[all]==12.* ; extra == 'cu12' - - cuda-bindings[all]==13.* ; extra == 'cu13' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/b1/90/16712f7566d35bb86964ca3a29858e6ca2d9e6c75d5f869e56dc6f700001/numba_cuda_mlir-0.4.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl - name: numba-cuda-mlir - version: 0.4.0 - sha256: d9c481dbe6a0bfc2f8d3bdb5b1ee6fce142667c88fffb970c26b2d7b33b6a541 - requires_dist: - - numpy - - typing-extensions ; python_full_version < '3.12' - - cuda-bindings>=12.9.1,<14.0.0 - - cuda-core>=0.5.1,<2.0.0 - - cuda-bindings>=12.9.1,<13.0.0 ; extra == 'cu12' - - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==12.* ; extra == 'cu12' - - nvidia-nvjitlink-cu12>=12.3.0,<13.0.0 ; extra == 'cu12' - - cuda-bindings==13.* ; extra == 'cu13' - - cuda-toolkit[cccl,cudart,nvcc,nvrtc]==13.* ; extra == 'cu13' - - nvidia-nvjitlink>=13.0.0,<14.0.0 ; extra == 'cu13' - requires_python: '>=3.11' -- pypi: https://files.pythonhosted.org/packages/b6/55/a3b4a543185305a9bdf3d9759d53646ed96e55e7dfd43f53e7a421b8fbae/llvmlite-0.47.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl - name: llvmlite - version: 0.47.0 - sha256: 003bcf7fa579e14db59c1a1e113f93ab8a06b56a4be31c7f08264d1d4072d077 - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/be/b6/bb07a3a63b5b7b55516366747892abbf3ee62d616684c40bb51e6cbfe956/nvidia_cuda_nvcc-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - name: nvidia-cuda-nvcc - version: 13.3.33 - sha256: 8c348623b1434aebd234da9ec1f81022587ae4995d65c3dc8a7743245cc441f7 - requires_dist: - - nvidia-nvvm - - nvidia-cuda-runtime - - nvidia-cuda-crt - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/ce/67/5e7dba1ba576dd73da5dee894ca076ca5e959450dfff66d6d510a255d1f7/cuda_bindings-13.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl - name: cuda-bindings - version: 13.3.1 - sha256: c7855c4868aabc0cfae28abbe83d56734bdfbd08f08fc234ac1912a12858bf49 - requires_dist: - - cuda-pathfinder>=1.4.2 - - cuda-toolkit[nvfatbin,nvjitlink,nvrtc,nvvm]==13.* ; extra == 'all' - - cuda-toolkit[cufile]==13.* ; sys_platform == 'linux' and extra == 'all' - - cuda-toolkit==13.* ; extra == 'all' - - nvidia-cudla==13.* ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/d1/32/5ea57f8cd6ad5df2173d175ac5db4e06edde40028b1b1f6c539ea4c10290/nvidia_cuda_crt-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - name: nvidia-cuda-crt - version: 13.3.33 - sha256: c8c257393f9c9146a85d3644f352be8154843d760031f756e673222c768a4930 - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/d4/e0/c8a1f0c8f9ffdea4f5fe6dbab89b326cef4d85caf489dad39e209da89416/cuda_bindings-13.3.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl - name: cuda-bindings - version: 13.3.1 - sha256: efd4c814d311ec08c981f6dded1dbe7d4b371067ee4f6c14cccec4bde9590f80 - requires_dist: - - cuda-pathfinder>=1.4.2 - - cuda-toolkit[nvfatbin,nvjitlink,nvrtc,nvvm]==13.* ; extra == 'all' - - cuda-toolkit[cufile]==13.* ; sys_platform == 'linux' and extra == 'all' - - cuda-toolkit==13.* ; extra == 'all' - - nvidia-cudla==13.* ; platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'all' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl - name: packaging - version: '26.2' - sha256: 5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e - requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/e3/ab/db09228d5a8c124a93514726d2e18f31824f66d3a6769ee4e51721dd64cf/cuda_core-1.0.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl - name: cuda-core - version: 1.0.1 - sha256: 4410bf1ef15c2ec23dccc302da76893c9354b530dee422e3277b116231bf5fe1 - requires_dist: - - cuda-pathfinder>=1.4.2 - - numpy - - backports-strenum ; python_full_version < '3.11' - - cuda-bindings[all]==12.* ; extra == 'cu12' - - cuda-bindings[all]==13.* ; extra == 'cu13' - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/e6/4b/e3f2cd17822cf772a4a51a0a8080b0032e6d37b2dbe8cfb724eac4e31c52/llvmlite-0.47.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - name: llvmlite - version: 0.47.0 - sha256: 5853bf26160857c0c2573415ff4efe01c4c651e59e2c55c2a088740acfee51cd - requires_python: '>=3.10' -- pypi: https://files.pythonhosted.org/packages/e7/b6/60a3641111d39ebfcfcd8b8bfd0290d7623c4b8b5f90952c2d84776f8ca4/nvidia_cuda_nvrtc-13.3.33-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl - name: nvidia-cuda-nvrtc - version: 13.3.33 - sha256: 7b05ecda494c6dabc44231a608b060a71008a730d9dfda932cc508e6d29159e0 - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/f0/ee/580ca6f29dcab0221db8706badca1bbbb084f1975c4d4e83329c3a7e31f0/nvidia_nvjitlink-13.3.33-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl - name: nvidia-nvjitlink - version: 13.3.33 - sha256: 26a6de7fb4c8fdaa7703d3dad720d6d427ddfea5c48a528fd97c11733ad830e5 - requires_python: '>=3' -- pypi: https://files.pythonhosted.org/packages/fe/fb/195d50d25ab68a76b817ffc68c45b1fb828598ce35a8e5c1736060628dab/nvidia_cuda_cccl-13.3.3.3.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - name: nvidia-cuda-cccl - version: 13.3.3.3.1 - sha256: 40ba1fa0b2c694ddc06cc791ed5c8bdad4638e2735b784960d68ac3086399c97 - requires_python: '>=3' + size: 388453 + timestamp: 1764777142545 diff --git a/cuda_core/pixi.toml b/cuda_core/pixi.toml index 8772ed4e88b..c8c9b9316b6 100644 --- a/cuda_core/pixi.toml +++ b/cuda_core/pixi.toml @@ -23,32 +23,86 @@ pytest-rerunfailures = "*" cloudpickle = "*" psutil = "*" pyglet = "*" +packaging = "*" +tomli = "*" # PEP 723 parsing fallback on Python 3.10. -[feature.examples.dependencies] +[feature.local-deps.dependencies] +cuda-bindings = { path = "../cuda_bindings" } +cuda-pathfinder = { path = "../cuda_pathfinder" } + +[feature.samples.dependencies] cuda-core = { path = "." } +# Common / cross-platform sample deps. cffi = "*" pyglet = "*" - -[feature.examples.system-requirements] +pytest = "*" +packaging = "*" +tomli = "*" # PEP 723 parsing fallback on Python 3.10. +# numpy pinned <2.5 so `numba` (transitive dep of `numba-cuda` in +# samples/cuda_core/simplePrint) can install; numba currently requires numpy<2.5. +numpy = ">=2.2.5,<2.5" +setuptools = "*" # samples/cuda_core/stridedMemoryViewCpu (cffi JIT build) + +[feature.samples.system-requirements] cuda = "13" -[feature.local-deps.dependencies] -cuda-bindings = { path = "../cuda_bindings" } -cuda-pathfinder = { path = "../cuda_pathfinder" } - -[feature.examples.target.linux.dependencies] +[feature.samples.pypi-dependencies] +# cuda.compute (CCCL Python module) is required by 5 samples: binarySearch, +# cudaComputeLambdas, matrixMulSharedMem, parallelReduction, prefixSum. +# The conda-forge `cuda-cccl` package only installs C++ headers; the PyPI +# wheel is the one that exposes `cuda.cccl` to Python. +cuda-cccl = { version = "*", extras = ["minimal-sysctk13"] } +# nvtx: samples/cuda_core/kernelNsysProfile +nvtx = "*" +# numba-cuda: samples/cuda_core/simplePrint (pin >=0.29 to match the sample's +# PEP 723 declaration; older 0.0.x releases resolve otherwise). +numba-cuda = ">=0.29.0" +# nvmath-python: samples/cuda_core/matrixMulSharedMem +nvmath-python = { version = "*", extras = ["sysctk13"] } +# nvidia-nvjitlink: samples/cuda_core/simplePrint (was nvidia-nvjitlink-cu13, now deprecated) +nvidia-nvjitlink = "*" + +# These packages are provided by the local Conda path builds in `local-deps`. +# Ignore copies requested through PyPI dependency closures so they cannot +# overwrite the branch-under-test packages in site-packages. +[feature.samples.pypi-options.dependency-overrides] +cuda-bindings = { version = "*", env-markers = "python_version < '0'" } +cuda-core = { version = "*", env-markers = "python_version < '0'" } +cuda-pathfinder = { version = "*", env-markers = "python_version < '0'" } + +[feature.samples.target.linux.dependencies] cupy = "*" pytorch-gpu = "*" libgl-devel = "*" gxx = "*" - -[feature.examples.target.linux-64.activation.env] +pillow = "*" +# mpi4py + openmpi: samples/cuda_core/multiGPUGradientAverage +mpi4py = "*" +openmpi = "*" +# NOTE: two sample deps are intentionally NOT installed here: +# +# * `tensorflow` (samples/cuda_core/customTensorFlowKernel) -- +# conda-forge tensorflow ships an object whose shared library requires +# an executable stack, which fails to load on hardened kernels +# (`cannot enable executable stack as shared object requires`). The +# sample self-waives when TensorFlow is missing / broken; users who +# want to run it should `pip install tensorflow` into a separate env. +# +# * `cudf-cu13`, `cugraph-cu13`, `dask-cuda` (samples/cuda_core/pageRank) -- +# the RAPIDS stack is not on the conda-forge channel used here; it +# lives on the `rapidsai` channel and pulls in ~2 GB of dependencies. +# Left out to keep the samples env solvable. Users who want to run +# samples/cuda_core/pageRank can install those wheels via +# `pip install -r samples/cuda_core/pageRank/requirements.txt` into a dedicated +# environment. + +[feature.samples.target.linux-64.activation.env] CUDA_HOME = "$CONDA_PREFIX/targets/x86_64-linux" -[feature.examples.target.linux-aarch64.activation.env] +[feature.samples.target.linux-aarch64.activation.env] CUDA_HOME = "$CONDA_PREFIX/targets/sbsa-linux" -[feature.examples.target.win-64.activation.env] +[feature.samples.target.win-64.activation.env] CUDA_HOME = "$CONDA_PREFIX/Library" [feature.cython-tests.dependencies] @@ -115,7 +169,7 @@ nvidia-sphinx-theme = "*" make = "*" # Dedicated environment for the MLIR numba-cuda example -# (examples/gl_interop_fluid_numba_cuda_mlir.py). numba-cuda-mlir pulls +# (samples/cuda_core/glInteropFluidNumbaCudaMlir). numba-cuda-mlir pulls # *published* cuda-core / cuda-bindings through its pypi closure, which would # shadow (overwrite in site-packages) the editable dev path builds used # everywhere else -- so it MUST live in its own environment, isolated from the @@ -162,7 +216,7 @@ numba-cuda = { version = "*", extras = ["cu13"] } numba-cuda = { version = "*", extras = ["cu13"] } # We keep both cu12 and cu13 because cuda.core works with either major version. -# The local sibling checkouts are wired into the default/cu13/examples workflows; +# The local sibling checkouts are wired into the default/cu13/samples workflows; # cu12 intentionally solves against published packages instead. [environments] default = { features = [ @@ -172,7 +226,7 @@ default = { features = [ ], solve-group = "default" } cu13 = { features = ["cu13", "test", "cython-tests", "local-deps"], solve-group = "cu13" } cu12 = { features = ["cu12", "test", "cython-tests"], solve-group = "cu12" } -examples = { features = ["cu13", "examples", "local-deps"], solve-group = "examples" } +samples = { features = ["cu13", "samples", "local-deps"], solve-group = "samples" } docs = { features = ["cu13", "docs", "local-deps"], solve-group = "docs" } # Isolated: uses published cuda-core via numba-cuda-mlir's pypi closure, NOT the # local-deps path builds (which it would otherwise shadow). @@ -182,7 +236,7 @@ numba-classic = { features = ["numba-classic"] } # TODO: check if these can be extracted from pyproject.toml [package] name = "cuda-core" -version = "0.7.0" +version = "1.1.0" [package.build] backend = { name = "pixi-build-python", version = "*" } @@ -278,3 +332,14 @@ cmd = [ "norecursedirs=\"\"", # include cython tests (ignore by default config) ] depends-on = [{ task = "build-cython-tests" }] + +[tasks.test-samples] +cmd = [ + "pytest", + "-rxXs", + "-v", + "--confcutdir", + "$PIXI_PROJECT_ROOT/tests/example_tests", + "$PIXI_PROJECT_ROOT/tests/example_tests", +] +default-environment = "samples" diff --git a/cuda_core/pyproject.toml b/cuda_core/pyproject.toml index f3a0c3a70f9..459ad03e562 100644 --- a/cuda_core/pyproject.toml +++ b/cuda_core/pyproject.toml @@ -69,6 +69,8 @@ test = [ "pytest-timeout==2.4.0", "cloudpickle==3.1.2", "psutil==7.2.2", + "packaging>=24", + "tomli>=2; python_version < '3.11'", # TODO: remove the Python 3.15 guard once 3.15 is officially supported "cffi==2.0.0; python_version < '3.15'", ] diff --git a/cuda_core/pytest.ini b/cuda_core/pytest.ini index c3d243387fe..e238be0dc9a 100644 --- a/cuda_core/pytest.ini +++ b/cuda_core/pytest.ini @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # SPDX-License-Identifier: Apache-2.0 @@ -6,8 +6,10 @@ addopts = --showlocals norecursedirs = cython markers = + samples: tests for cuda.core standalone samples # Keep this authorship marker registry in sync across all pytest config roots. # Search for "agent_authored(model)" before editing. agent_authored(model): agent-authored test not yet materially human-reviewed human_reviewed: agent-authored test materially reviewed or rewritten by a human human_authored: test authored primarily by a human + parallel_threads_limit: max number of threads (provided by pytest-run-parallel) diff --git a/cuda_core/tests/example_tests/run_samples.py b/cuda_core/tests/example_tests/run_samples.py new file mode 100644 index 00000000000..bf00c726a00 --- /dev/null +++ b/cuda_core/tests/example_tests/run_samples.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +"""cuda.core defaults for the shared sample runner.""" + +from __future__ import annotations + +import sys +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parents[3] +_TEST_HELPERS_ROOT = REPO_ROOT / "cuda_python_test_helpers" +if str(_TEST_HELPERS_ROOT) not in sys.path: + sys.path.insert(0, str(_TEST_HELPERS_ROOT)) + +from cuda_python_test_helpers import sample_runner as _runner + +DEFAULT_CONFIG = Path(__file__).resolve().parent / "test_args.json" +DEFAULT_SAMPLES_DIR = REPO_ROOT / "samples" / "cuda_core" +SAMPLE_NAMESPACE = "cuda_core" + +DEFAULT_TIMEOUT = _runner.DEFAULT_TIMEOUT +DependencyMetadataError = _runner.DependencyMetadataError +RunPlan = _runner.RunPlan +RunResult = _runner.RunResult +build_run_plan = _runner.build_run_plan +collect_sample_entries = _runner.collect_sample_entries +discover_samples = _runner.discover_samples +get_gpu_count = _runner.get_gpu_count +get_sample_id = _runner.get_sample_id +load_config = _runner.load_config +missing_dependencies = _runner.missing_dependencies +run_sample = _runner.run_sample + +# Kept available for runner unit tests that patch distribution metadata. +importlib = _runner.importlib + + +def main(argv: list[str] | None = None) -> int: + return _runner.main( + argv, + default_samples_dir=DEFAULT_SAMPLES_DIR, + default_config=DEFAULT_CONFIG, + namespace=SAMPLE_NAMESPACE, + ) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/cuda_core/tests/example_tests/test_args.json b/cuda_core/tests/example_tests/test_args.json new file mode 100644 index 00000000000..afa4084b917 --- /dev/null +++ b/cuda_core/tests/example_tests/test_args.json @@ -0,0 +1,35 @@ +{ + "cuda_core/simpleP2P": { + "min_gpus": 2 + }, + "cuda_core/simpleMultiGpu": { + "min_gpus": 2 + }, + "cuda_core/glInteropFluid": { + "python": { + "args": ["--frames", "3"] + } + }, + "cuda_core/glInteropMipmapLod": { + "python": { + "args": ["--frames", "3"] + } + }, + "cuda_core/glInteropPlasma": { + "python": { + "args": ["--frames", "3"] + } + }, + "cuda_core/reductionMultiBlockCG": { + "python": { + "args": ["--cuda-include-dir=$CUDA_HOME/include:$CUDA_HOME/include/cccl"] + } + }, + "cuda_core/multiGPUGradientAverage": { + "min_gpus": 2, + "python": { + "launcher": ["mpirun", "--allow-run-as-root", "-np", "2"], + "args": ["--size", "1024"] + } + } +} diff --git a/cuda_core/tests/example_tests/test_basic_examples.py b/cuda_core/tests/example_tests/test_basic_examples.py deleted file mode 100644 index a8a47791991..00000000000 --- a/cuda_core/tests/example_tests/test_basic_examples.py +++ /dev/null @@ -1,120 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# If we have subcategories of examples in the future, this file can be split along those lines - -import glob -import os -import platform -import subprocess -import sys -import warnings - -import pytest - -from cuda.core import Device, ManagedMemoryResource, system -from cuda.core._program import _can_load_generated_ptx - -try: - from cuda.bindings._test_helpers.pep723 import has_package_requirements_or_skip -except ImportError: - # If the import fails, we define a dummy function that will cause all tests to be skipped. - def has_package_requirements_or_skip(example): - pytest.skip("PEP 723 test helper is not available") - - -def has_compute_capability_9_or_higher() -> bool: - return Device().compute_capability >= (9, 0) - - -def has_multiple_devices() -> bool: - return system.get_num_devices() >= 2 - - -def has_display() -> bool: - # We assume that we don't want to open any windows during testing, - # so we always return False - return False - - -def is_not_windows() -> bool: - return sys.platform != "win32" - - -def is_x86_64() -> bool: - return platform.machine() == "x86_64" - - -def has_cuda_path() -> bool: - return os.environ.get("CUDA_PATH", os.environ.get("CUDA_HOME")) is not None - - -def has_recent_memory_pool_support() -> bool: - device = Device() - - try: - if not device.properties.host_memory_pools_supported: - return False - if not device.properties.memory_pools_supported: - return False - if not device.properties.concurrent_managed_access: - return False - except AttributeError: - return False - - try: - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - mr = ManagedMemoryResource() - except RuntimeError as exc: - if "requires CUDA 13.0" in str(exc): - return False - if "managed allocations" in str(exc): - return False - raise - else: - mr.close() - return True - - -# Specific system requirements for each of the examples. - - -SYSTEM_REQUIREMENTS = { - "memory_pool_resources.py": has_recent_memory_pool_support, - "gl_interop_plasma.py": has_display, - "gl_interop_fluid.py": has_display, - "gl_interop_mipmap_lod.py": has_display, - "jit_lto_fractal.py": _can_load_generated_ptx, - "pytorch_example.py": lambda: ( - has_compute_capability_9_or_higher() and is_x86_64() - ), # PyTorch only provides CUDA support for x86_64 - "saxpy.py": has_compute_capability_9_or_higher, - "simple_multi_gpu_example.py": has_multiple_devices, - "strided_memory_view_cpu.py": is_not_windows, - "thread_block_cluster.py": lambda: has_compute_capability_9_or_higher() and has_cuda_path(), - "tma_tensor_map.py": has_cuda_path, -} - - -samples_path = os.path.join(os.path.dirname(__file__), "..", "..", "examples") -sample_files = [os.path.basename(x) for x in glob.glob(samples_path + "**/*.py", recursive=True)] - - -@pytest.mark.parametrize("example", sample_files) -@pytest.mark.parallel_threads_limit(8) -def test_example(example): - example_path = os.path.join(samples_path, example) - has_package_requirements_or_skip(example_path) - - system_requirement = SYSTEM_REQUIREMENTS.get(example, lambda: True) - if not system_requirement(): - pytest.skip(f"Skipping {example} due to unmet system requirement") - - process = subprocess.run([sys.executable, example_path], capture_output=True) # noqa: S603 - if process.returncode != 0: - if process.stdout: - print(process.stdout.decode(errors="replace")) - if process.stderr: - print(process.stderr.decode(errors="replace"), file=sys.stderr) - raise AssertionError(f"`{example}` failed ({process.returncode})") diff --git a/cuda_core/tests/example_tests/test_interactive_sample_configuration.py b/cuda_core/tests/example_tests/test_interactive_sample_configuration.py new file mode 100644 index 00000000000..6195a6dc800 --- /dev/null +++ b/cuda_core/tests/example_tests/test_interactive_sample_configuration.py @@ -0,0 +1,64 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +import ast +import json +import subprocess +import sys +from pathlib import Path + +import pytest + +REPO_ROOT = Path(__file__).resolve().parents[3] +CONFIG_PATH = Path(__file__).with_name("test_args.json") + + +def _dotted_name(node: ast.expr) -> str: + if isinstance(node, ast.Name): + return node.id + if isinstance(node, ast.Attribute): + prefix = _dotted_name(node.value) + return f"{prefix}.{node.attr}" if prefix else node.attr + return "" + + +@pytest.mark.parametrize("sample_name", ("glInteropFluid", "glInteropMipmapLod", "glInteropPlasma")) +@pytest.mark.agent_authored(model="gpt-5") +def test_interactive_gl_sample_exposes_frame_limit(sample_name: str) -> None: + sample = REPO_ROOT / "samples" / "cuda_core" / sample_name / f"{sample_name}.py" + + result = subprocess.run( # noqa: S603 - executes a repository-owned sample + [sys.executable, str(sample), "--help"], + check=False, + capture_output=True, + text=True, + timeout=10, + ) + + assert result.returncode == 0, result.stderr + assert "--frames" in result.stdout + + +@pytest.mark.parametrize("sample_name", ("glInteropFluid", "glInteropMipmapLod", "glInteropPlasma")) +@pytest.mark.agent_authored(model="gpt-5") +def test_interactive_gl_sample_has_bounded_test_configuration(sample_name: str) -> None: + config = json.loads(CONFIG_PATH.read_text(encoding="utf-8")) + + args = config[f"cuda_core/{sample_name}"]["python"]["args"] + + assert args[0] == "--frames" + assert int(args[1]) > 0 + + +@pytest.mark.parametrize("sample_name", ("glInteropFluid", "glInteropMipmapLod", "glInteropPlasma")) +@pytest.mark.agent_authored(model="gpt-5") +def test_frame_limit_exits_after_current_draw_before_closing_window(sample_name: str) -> None: + sample = REPO_ROOT / "samples" / "cuda_core" / sample_name / f"{sample_name}.py" + tree = ast.parse(sample.read_text(encoding="utf-8")) + on_draw = next(node for node in ast.walk(tree) if isinstance(node, ast.FunctionDef) and node.name == "on_draw") + calls = {_dotted_name(node.func) for node in ast.walk(on_draw) if isinstance(node, ast.Call)} + + assert "pyglet.app.exit" in calls + assert "window.close" not in calls diff --git a/cuda_core/tests/example_tests/test_run_samples.py b/cuda_core/tests/example_tests/test_run_samples.py new file mode 100644 index 00000000000..0b2e1344ce3 --- /dev/null +++ b/cuda_core/tests/example_tests/test_run_samples.py @@ -0,0 +1,527 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +import importlib.metadata +import json +import subprocess +import sys +from email.message import Message +from pathlib import Path +from types import ModuleType + +import pytest +from packaging.utils import canonicalize_name + +from . import run_samples + + +class _Distribution: + def __init__(self, version: str, extras: tuple[str, ...] = ()) -> None: + self.version = version + self.metadata = Message() + for extra in extras: + self.metadata["Provides-Extra"] = extra + + +@pytest.fixture +def installed_distributions(monkeypatch: pytest.MonkeyPatch): + installed: dict[str, _Distribution] = {} + requested: list[str] = [] + + def distribution(name: str) -> _Distribution: + canonical_name = canonicalize_name(name) + requested.append(canonical_name) + try: + return installed[canonical_name] + except KeyError: + raise importlib.metadata.PackageNotFoundError(name) from None + + monkeypatch.setattr(run_samples.importlib.metadata, "distribution", distribution) + + def install(name: str, version: str, extras: tuple[str, ...] = ()) -> None: + installed[canonicalize_name(name)] = _Distribution(version, extras) + + return install, requested + + +def _sample(tmp_path: Path, dependencies: str) -> Path: + sample = tmp_path / "sample.py" + sample.write_text( + f"# /// script\n# dependencies = {dependencies}\n# ///\nprint('not executed')\n", + encoding="utf-8", + ) + return sample + + +def _sample_entry(root: Path, category: str, name: str) -> Path: + sample_dir = root / category / name + sample_dir.mkdir(parents=True) + entry = sample_dir / f"{name}.py" + entry.write_text("print('not executed')\n", encoding="utf-8") + return entry + + +def _runtime_module(result: tuple[object, int | None] | BaseException) -> ModuleType: + runtime = ModuleType("cuda.bindings.runtime") + + def get_device_count() -> tuple[object, int | None]: + if isinstance(result, BaseException): + raise result + return result + + runtime.cudaGetDeviceCount = get_device_count + return runtime + + +@pytest.mark.parametrize( + ("result", "expected"), + [ + ((0, 3), 3), + ((100, None), 0), + ], +) +@pytest.mark.agent_authored(model="gpt-5") +def test_runtime_gpu_count_uses_runtime_result( + monkeypatch: pytest.MonkeyPatch, + result: tuple[object, int | None], + expected: int, +) -> None: + runtime = _runtime_module(result) + monkeypatch.setattr(run_samples._runner.importlib, "import_module", lambda _name: runtime) + + assert run_samples._runner._runtime_gpu_count() == expected + + +@pytest.mark.agent_authored(model="gpt-5") +def test_gpu_count_prefers_cuda_runtime_over_host_gpu_count(monkeypatch: pytest.MonkeyPatch) -> None: + monkeypatch.setenv("CUDA_VISIBLE_DEVICES", "GPU-visible") + monkeypatch.setattr(run_samples._runner, "_runtime_gpu_count", lambda: 1) + + def unexpected_nvidia_smi(*args, **kwargs): + raise AssertionError("nvidia-smi must not run when the CUDA Runtime is available") + + monkeypatch.setattr(run_samples._runner.subprocess, "run", unexpected_nvidia_smi) + + assert run_samples.get_gpu_count() == 1 + + +@pytest.mark.parametrize( + ("visible", "expected"), + [ + ("", 0), + (" ", 0), + ("-1", 0), + ("none", 0), + ("0", 1), + ("0, 2", 2), + ("GPU-01234567-89ab-cdef-0123-456789abcdef", 1), + ("MIG-GPU-01234567-89ab-cdef-0123-456789abcdef/1/2", 1), + ("MIG-01234567-89ab-cdef-0123-456789abcdef", 1), + ("NoDevFiles", 0), + ("0,-1,2", 1), + ("0,invalid,2", 1), + (",0", 0), + ], +) +@pytest.mark.agent_authored(model="gpt-5") +def test_gpu_count_honors_explicit_cuda_visible_devices_without_runtime( + monkeypatch: pytest.MonkeyPatch, visible: str, expected: int +) -> None: + monkeypatch.setenv("CUDA_VISIBLE_DEVICES", visible) + monkeypatch.setattr(run_samples._runner, "_runtime_gpu_count", lambda: None) + + def unexpected_nvidia_smi(*args, **kwargs): + raise AssertionError("nvidia-smi must not override CUDA_VISIBLE_DEVICES") + + monkeypatch.setattr(run_samples._runner.subprocess, "run", unexpected_nvidia_smi) + + assert run_samples.get_gpu_count() == expected + + +@pytest.mark.parametrize("exception", [ImportError("missing extension"), OSError("loader failure")]) +@pytest.mark.agent_authored(model="gpt-5") +def test_runtime_gpu_count_handles_expected_import_failures( + monkeypatch: pytest.MonkeyPatch, exception: BaseException +) -> None: + def fail_import(name: str) -> ModuleType: + raise exception + + monkeypatch.setattr(run_samples._runner.importlib, "import_module", fail_import) + + assert run_samples._runner._runtime_gpu_count() is None + + +@pytest.mark.parametrize("exception", [OSError("loader failure"), RuntimeError("runtime unavailable")]) +@pytest.mark.agent_authored(model="gpt-5") +def test_runtime_gpu_count_handles_expected_call_failures( + monkeypatch: pytest.MonkeyPatch, exception: BaseException +) -> None: + runtime = _runtime_module(exception) + monkeypatch.setattr(run_samples._runner.importlib, "import_module", lambda _name: runtime) + + assert run_samples._runner._runtime_gpu_count() is None + + +@pytest.mark.agent_authored(model="gpt-5") +def test_gpu_count_uses_nvidia_smi_only_when_visibility_is_unspecified(monkeypatch: pytest.MonkeyPatch) -> None: + monkeypatch.delenv("CUDA_VISIBLE_DEVICES", raising=False) + monkeypatch.setattr(run_samples._runner, "_runtime_gpu_count", lambda: None) + smi = subprocess.CompletedProcess( + ["nvidia-smi", "-L"], + 0, + stdout="GPU 0: first\nGPU 1: second\n MIG 1g.10gb Device 0: child\n", + ) + monkeypatch.setattr(run_samples._runner.subprocess, "run", lambda *_args, **_kwargs: smi) + + assert run_samples.get_gpu_count() == 2 + + +@pytest.mark.agent_authored(model="gpt-5") +def test_collection_preserves_duplicate_leaf_names_with_path_aware_ids(tmp_path: Path) -> None: + _sample_entry(tmp_path, "first", "duplicate") + _sample_entry(tmp_path, "second", "duplicate") + + entries = run_samples.collect_sample_entries(tmp_path, "cuda_bindings") + + assert list(entries) == [ + "cuda_bindings/first/duplicate", + "cuda_bindings/second/duplicate", + ] + + +@pytest.mark.agent_authored(model="gpt-5") +def test_namespaced_config_distinguishes_duplicate_leaf_names(tmp_path: Path) -> None: + first = _sample_entry(tmp_path, "first", "duplicate") + second = _sample_entry(tmp_path, "second", "duplicate") + config = { + "cuda_bindings/first/duplicate": {"python": {"args": ["first"]}}, + "cuda_bindings/second/duplicate": {"python": {"args": ["second"]}}, + "duplicate": {"python": {"args": ["legacy"]}}, + } + + first_plan = run_samples.build_run_plan( + first, + config, + gpu_count=1, + sample_key="cuda_bindings/first/duplicate", + ) + second_plan = run_samples.build_run_plan( + second, + config, + gpu_count=1, + sample_key="cuda_bindings/second/duplicate", + ) + + assert first_plan.args == ["first"] + assert second_plan.args == ["second"] + + +@pytest.mark.agent_authored(model="gpt-5") +def test_namespaced_config_lookup_falls_back_to_legacy_leaf_key(tmp_path: Path) -> None: + entry = _sample_entry(tmp_path, "category", "legacy") + + plan = run_samples.build_run_plan( + entry, + {"legacy": {"python": {"args": ["compatible"]}}}, + gpu_count=1, + sample_key="cuda_core/category/legacy", + ) + + assert plan.args == ["compatible"] + + +@pytest.mark.agent_authored(model="gpt-5") +def test_load_config_accepts_valid_schema_and_ignores_comments(tmp_path: Path) -> None: + config_path = tmp_path / "test_args.json" + config_path.write_text( + json.dumps( + { + "_comment": None, + "sample": { + "skip": False, + "min_gpus": 2, + "python": {"args": ["--option", "value"], "launcher": ["mpirun", "-np", "2"]}, + }, + } + ), + encoding="utf-8", + ) + + assert run_samples.load_config(config_path) == { + "sample": { + "skip": False, + "min_gpus": 2, + "python": {"args": ["--option", "value"], "launcher": ["mpirun", "-np", "2"]}, + } + } + + +@pytest.mark.agent_authored(model="gpt-5") +def test_load_config_rejects_missing_file(tmp_path: Path) -> None: + config_path = tmp_path / "missing.json" + + with pytest.raises(run_samples._runner.InvalidSampleConfig, match="cannot read configuration"): + run_samples.load_config(config_path) + + +@pytest.mark.parametrize( + ("payload", "message"), + [ + ("{", "invalid JSON"), + ("[]", "must contain a JSON object"), + ("null", "must contain a JSON object"), + ], +) +@pytest.mark.agent_authored(model="gpt-5") +def test_load_config_rejects_malformed_or_non_object_json(tmp_path: Path, payload: str, message: str) -> None: + config_path = tmp_path / "test_args.json" + config_path.write_text(payload, encoding="utf-8") + + with pytest.raises(run_samples._runner.InvalidSampleConfig, match=message): + run_samples.load_config(config_path) + + +@pytest.mark.parametrize( + ("entry", "message"), + [ + (None, "must be an object"), + ({"unknown": True}, "unknown field"), + ({"skip": None}, "'skip' must be a boolean"), + ({"skip": 1}, "'skip' must be a boolean"), + ({"min_gpus": True}, "'min_gpus' must be a positive integer"), + ({"min_gpus": 0}, "'min_gpus' must be a positive integer"), + ({"min_gpus": "2"}, "'min_gpus' must be a positive integer"), + ({"python": None}, "'python' must be an object"), + ({"python": []}, "'python' must be an object"), + ({"python": {"unknown": []}}, "'python' has unknown field"), + ({"python": {"args": None}}, "'args' must be a list of strings"), + ({"python": {"args": "--option"}}, "'args' must be a list of strings"), + ({"python": {"args": ["--option", 1]}}, "'args' must be a list of strings"), + ({"python": {"launcher": None}}, "'launcher' must be a list of strings"), + ({"python": {"launcher": ["mpirun", 2]}}, "'launcher' must be a list of strings"), + ], +) +@pytest.mark.agent_authored(model="gpt-5") +def test_load_config_rejects_invalid_entry_schema(tmp_path: Path, entry: object, message: str) -> None: + config_path = tmp_path / "test_args.json" + config_path.write_text(json.dumps({"sample": entry}), encoding="utf-8") + + with pytest.raises(run_samples._runner.InvalidSampleConfig, match=message): + run_samples.load_config(config_path) + + +@pytest.mark.parametrize( + "config", + [ + {"sample": {"skip": True, "python": {"args": None}}}, + {"sample": {"min_gpus": 2, "python": {"args": None}}}, + ], +) +@pytest.mark.agent_authored(model="gpt-5") +def test_build_run_plan_validates_config_before_skip_or_gpu_gating(tmp_path: Path, config: dict[str, object]) -> None: + sample = tmp_path / "sample" / "sample.py" + sample.parent.mkdir() + sample.write_text("print('not executed')\n", encoding="utf-8") + + with pytest.raises(run_samples._runner.InvalidSampleConfig, match="'args' must be a list of strings"): + run_samples.build_run_plan(sample, config, gpu_count=0) + + +@pytest.mark.parametrize("timeout", [True, 0, -1, 1.5, "10"]) +@pytest.mark.agent_authored(model="gpt-5") +def test_build_run_plan_rejects_invalid_timeout(tmp_path: Path, timeout: object) -> None: + sample = tmp_path / "sample" / "sample.py" + sample.parent.mkdir() + sample.write_text("print('not executed')\n", encoding="utf-8") + + with pytest.raises(run_samples._runner.InvalidSampleConfig, match="timeout must be a positive integer"): + run_samples.build_run_plan(sample, {}, gpu_count=1, timeout=timeout) + + +@pytest.mark.agent_authored(model="gpt-5") +def test_cli_reports_invalid_config_before_detecting_gpus( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch, capsys: pytest.CaptureFixture[str] +) -> None: + samples_dir = tmp_path / "samples" + _sample_entry(samples_dir, "category", "sample") + config_path = tmp_path / "test_args.json" + config_path.write_text('{"sample": {"python": {"args": null}}}', encoding="utf-8") + + def unexpected_gpu_detection() -> int: + raise AssertionError("GPU detection must not run for invalid configuration") + + monkeypatch.setattr(run_samples._runner, "get_gpu_count", unexpected_gpu_detection) + + return_code = run_samples._runner.main( + ["--config", str(config_path)], + default_samples_dir=samples_dir, + default_config=config_path, + ) + + assert return_code == 1 + assert "Error: invalid sample configuration" in capsys.readouterr().out + + +@pytest.mark.parametrize( + "option", + [ + ["--parallel", "0"], + ["--parallel", "-1"], + ["--parallel", "many"], + ["--timeout", "0"], + ["--timeout", "-1"], + ["--timeout", "forever"], + ], +) +@pytest.mark.agent_authored(model="gpt-5") +def test_cli_rejects_non_positive_parallelism_and_timeout(tmp_path: Path, option: list[str]) -> None: + with pytest.raises(SystemExit) as exc_info: + run_samples._runner.main( + option, + default_samples_dir=tmp_path / "samples", + default_config=tmp_path / "test_args.json", + ) + + assert exc_info.value.code == 2 + + +@pytest.mark.agent_authored(model="gpt-5") +def test_child_argparse_exit_code_is_a_failure(tmp_path: Path) -> None: + sample = tmp_path / "sample.py" + sample.write_text( + "import argparse\n" + "parser = argparse.ArgumentParser()\n" + "parser.add_argument('--required', required=True)\n" + "parser.parse_args()\n", + encoding="utf-8", + ) + + result = run_samples.run_sample(run_samples.RunPlan(sample, [], [], timeout=10)) + + assert result.status == "FAIL" + assert result.return_code == 2 + + +@pytest.mark.agent_authored(model="gpt-5") +def test_runner_propagates_negotiated_waiver_exit_code(tmp_path: Path) -> None: + sample = tmp_path / "sample.py" + sample.write_text( + "import os\nraise SystemExit(int(os.environ['CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE']))\n", + encoding="utf-8", + ) + + result = run_samples.run_sample(run_samples.RunPlan(sample, [], [], timeout=10)) + + assert result.status == "WAIVED" + assert result.return_code == 77 + assert result.detail == "sample-reported" + + +@pytest.mark.parametrize( + ("version", "requirement", "is_met"), + [ + ("13.2.0", "demo>=13,<13.3", True), + ("13.3.1", "demo>=13,<13.3", False), + ("12.9.0", "demo>=13,<13.3", False), + ], +) +@pytest.mark.agent_authored(model="gpt-5") +def test_dependency_version_bounds( + tmp_path: Path, installed_distributions, version: str, requirement: str, is_met: bool +) -> None: + install, _ = installed_distributions + install("demo", version) + + missing = run_samples.missing_dependencies(_sample(tmp_path, f"[{requirement!r}]")) + + assert (missing == []) is is_met + if not is_met: + assert f"version {version} does not satisfy <13.3,>=13" in missing[0] + + +@pytest.mark.agent_authored(model="gpt-5") +def test_cuda_python_uses_cuda_bindings_as_version_provider(tmp_path: Path, installed_distributions) -> None: + install, requested = installed_distributions + install("cuda-bindings", "13.2.0") + + missing = run_samples.missing_dependencies(_sample(tmp_path, "['cuda-python>=13,<13.3']")) + + assert missing == [] + assert requested == ["cuda-bindings"] + + +@pytest.mark.agent_authored(model="gpt-5") +def test_cupy_cuda_requirement_accepts_conda_cupy_distribution(tmp_path: Path, installed_distributions) -> None: + install, requested = installed_distributions + install("cupy", "14.0.1") + + missing = run_samples.missing_dependencies(_sample(tmp_path, "['cupy-cuda13x>=14']")) + + assert missing == [] + assert requested == ["cupy-cuda13x", "cupy"] + + +@pytest.mark.agent_authored(model="gpt-5") +def test_environment_markers_control_dependency_checks(tmp_path: Path, installed_distributions) -> None: + _, requested = installed_distributions + dependencies = "[\"ignored; python_version < '1'\", \"required; python_version >= '3'\"]" + + missing = run_samples.missing_dependencies(_sample(tmp_path, dependencies)) + + assert len(missing) == 1 + assert missing[0].startswith('required; python_version >= "3"') + assert requested == ["required"] + + +@pytest.mark.agent_authored(model="gpt-5") +def test_requested_extras_must_be_provided(tmp_path: Path, installed_distributions) -> None: + install, _ = installed_distributions + install("demo", "1.0", extras=("other",)) + + missing = run_samples.missing_dependencies(_sample(tmp_path, "['demo[cu13]>=1']")) + + assert len(missing) == 1 + assert "does not provide extra(s): cu13" in missing[0] + + +@pytest.mark.agent_authored(model="gpt-5") +def test_provided_extra_satisfies_requirement(tmp_path: Path, installed_distributions) -> None: + install, _ = installed_distributions + install("demo", "1.0", extras=("CU13",)) + + missing = run_samples.missing_dependencies(_sample(tmp_path, "['demo[cu13]>=1']")) + + assert missing == [] + + +@pytest.mark.parametrize( + "dependencies", + [ + "['unterminated'", + "['not a valid requirement ???']", + ], +) +@pytest.mark.agent_authored(model="gpt-5") +def test_malformed_dependency_metadata_is_an_error(tmp_path: Path, dependencies: str) -> None: + sample = _sample(tmp_path, dependencies) + + result = run_samples.run_sample(run_samples.RunPlan(sample, [], [], timeout=1)) + + assert result.status == "ERROR" + assert result.return_code == -1 + assert "invalid PEP 723 metadata" in result.detail + + +@pytest.mark.agent_authored(model="gpt-5") +def test_importable_module_does_not_satisfy_distribution_requirement( + tmp_path: Path, installed_distributions, monkeypatch: pytest.MonkeyPatch +) -> None: + _, _ = installed_distributions + monkeypatch.setitem(sys.modules, "cupy", ModuleType("cupy")) + + missing = run_samples.missing_dependencies(_sample(tmp_path, "['cupy-cuda13x>=14']")) + + assert len(missing) == 1 + assert "no provider distribution installed" in missing[0] diff --git a/cuda_core/tests/example_tests/test_sample_environment.py b/cuda_core/tests/example_tests/test_sample_environment.py new file mode 100644 index 00000000000..479aeb7dd7c --- /dev/null +++ b/cuda_core/tests/example_tests/test_sample_environment.py @@ -0,0 +1,51 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +import importlib.metadata +import json +import os +import sys +from pathlib import Path +from urllib.parse import urlparse +from urllib.request import url2pathname + +import pytest + + +@pytest.mark.parametrize( + ("distribution_name", "expected_source", "expected_version"), + ( + ("cuda-core", "cuda_core", "1.1.0"), + ("cuda-bindings", "cuda_bindings", "13.3.1"), + ("cuda-pathfinder", "cuda_pathfinder", "1.5.6"), + ), +) +@pytest.mark.agent_authored(model="gpt-5") +def test_samples_environment_uses_one_local_cuda_distribution( + distribution_name: str, + expected_source: str, + expected_version: str, +) -> None: + if os.environ.get("PIXI_ENVIRONMENT_NAME") != "samples": + pytest.skip("local package provenance is specific to the Pixi samples environment") + + distributions = list(importlib.metadata.distributions(name=distribution_name)) + assert len(distributions) == 1, f"expected one {distribution_name} distribution, found {len(distributions)}" + + direct_url = json.loads(distributions[0].read_text("direct_url.json")) + parsed_source = urlparse(direct_url["url"]) + source_path = Path(url2pathname(parsed_source.path)).resolve() + repository_root = Path(__file__).resolve().parents[3] + assert parsed_source.scheme == "file" + assert direct_url["dir_info"]["editable"] is True + assert source_path == repository_root / expected_source + + record_paths = list((Path(sys.prefix) / "conda-meta").glob(f"{distribution_name}-*.json")) + assert len(record_paths) == 1, f"expected one Conda record for {distribution_name}, found {record_paths}" + + record = json.loads(record_paths[0].read_text(encoding="utf-8")) + assert record["version"] == expected_version + assert record["channel"] is None + assert urlparse(record["url"]).scheme == "file" diff --git a/cuda_core/tests/example_tests/test_sample_verification.py b/cuda_core/tests/example_tests/test_sample_verification.py new file mode 100644 index 00000000000..7fc27a63302 --- /dev/null +++ b/cuda_core/tests/example_tests/test_sample_verification.py @@ -0,0 +1,144 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations + +import ast +from pathlib import Path + +import numpy as np +import pytest + +from .run_samples import RunPlan, run_sample + +REPO_ROOT = Path(__file__).resolve().parents[3] +UTILITIES_DIR = REPO_ROOT / "samples" / "cuda_core" / "Utilities" +WAIVER_SAMPLE_NAMES = ( + "blurImageUnifiedMemory", + "glInteropFluid", + "glInteropMipmapLod", + "glInteropPlasma", + "ipcMemoryPool", + "launchConfigTuning", + "memoryResources", + "pageRank", + "processCheckpoint", + "simpleMultiGpu", + "simpleP2P", + "stridedMemoryViewConstructors", + "threadBlockCluster", + "tmaTensorMap", +) + + +@pytest.mark.parametrize("sample_name", WAIVER_SAMPLE_NAMES) +@pytest.mark.agent_authored(model="gpt-5") +def test_core_sample_waivers_use_negotiated_exit_code( + sample_name: str, +) -> None: + sample_path = REPO_ROOT / "samples" / "cuda_core" / sample_name / f"{sample_name}.py" + tree = ast.parse(sample_path.read_text(encoding="utf-8"), filename=str(sample_path)) + + assignments = [ + node + for node in tree.body + if isinstance(node, ast.Assign) + and any(isinstance(target, ast.Name) and target.id == "EXIT_WAIVED" for target in node.targets) + ] + assert len(assignments) == 1 + expected_assignment = ast.parse( + 'EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2"))' + ).body[0] + assert isinstance(expected_assignment, ast.Assign) + assert ast.dump(assignments[0].value) == ast.dump(expected_assignment.value) + + legacy_waivers = [] + for node in ast.walk(tree): + if (isinstance(node, ast.Return) and isinstance(node.value, ast.Constant) and node.value.value == 2) or ( + isinstance(node, ast.Call) + and isinstance(node.func, ast.Attribute) + and isinstance(node.func.value, ast.Name) + and node.func.value.id == "sys" + and node.func.attr == "exit" + and node.args + and isinstance(node.args[0], ast.Constant) + and node.args[0].value == 2 + ): + legacy_waivers.append(node.lineno) + assert not legacy_waivers, f"literal exit-2 waivers remain at lines {legacy_waivers}" + + +@pytest.mark.parametrize( + ("sample_name", "unsupported_condition"), + [ + ("ipcMemoryPool", "not check_ipc_support(device)"), + ("processCheckpoint", 'sys.platform != "linux"'), + ("processCheckpoint", "device.properties.integrated"), + ("tmaTensorMap", "arch < (9, 0)"), + ], +) +@pytest.mark.agent_authored(model="gpt-5") +def test_unsupported_core_sample_paths_return_waiver( + sample_name: str, + unsupported_condition: str, +) -> None: + sample_path = REPO_ROOT / "samples" / "cuda_core" / sample_name / f"{sample_name}.py" + tree = ast.parse(sample_path.read_text(encoding="utf-8"), filename=str(sample_path)) + expected_condition = ast.parse(unsupported_condition, mode="eval").body + + matching_branches = [ + node + for node in ast.walk(tree) + if isinstance(node, ast.If) and ast.dump(node.test) == ast.dump(expected_condition) + ] + assert len(matching_branches) == 1 + waiver_returns = [ + node + for node in matching_branches[0].body + if isinstance(node, ast.Return) and isinstance(node.value, ast.Name) and node.value.id == "EXIT_WAIVED" + ] + assert len(waiver_returns) == 1 + + +@pytest.mark.agent_authored(model="gpt-5") +def test_verify_array_result_or_raise_enforces_match(monkeypatch: pytest.MonkeyPatch) -> None: + monkeypatch.syspath_prepend(str(UTILITIES_DIR)) + from cuda_samples_utils import verify_array_result_or_raise + + verify_array_result_or_raise( + np.array([1.0], dtype=np.float32), + np.array([1.0], dtype=np.float32), + verbose=False, + ) + + with pytest.raises(RuntimeError, match="forced mismatch"): + verify_array_result_or_raise( + np.array([1.0], dtype=np.float32), + np.array([2.0], dtype=np.float32), + verbose=False, + error_message="forced mismatch", + ) + + +@pytest.mark.agent_authored(model="gpt-5") +def test_verification_exception_is_reported_as_sample_failure(tmp_path: Path) -> None: + sample_dir = tmp_path / "verificationFailure" + sample_dir.mkdir() + sample = sample_dir / "verificationFailure.py" + sample.write_text( + "\n".join( + ( + "import sys", + f"sys.path.insert(0, {str(UTILITIES_DIR)!r})", + "import numpy as np", + "from cuda_samples_utils import verify_array_result_or_raise", + "verify_array_result_or_raise(np.array([1.0]), np.array([2.0]), verbose=False)", + ) + ), + encoding="utf-8", + ) + + result = run_sample(RunPlan(sample, [], [], timeout=10)) + + assert result.status == "FAIL" + assert result.return_code != 0 diff --git a/cuda_core/tests/example_tests/test_samples.py b/cuda_core/tests/example_tests/test_samples.py new file mode 100644 index 00000000000..ef019ef622b --- /dev/null +++ b/cuda_core/tests/example_tests/test_samples.py @@ -0,0 +1,55 @@ +# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +"""Run the samples owned by cuda.core as part of its test suite.""" + +from __future__ import annotations + +import sys + +import pytest + +from .run_samples import ( + DEFAULT_CONFIG, + DEFAULT_SAMPLES_DIR, + SAMPLE_NAMESPACE, + build_run_plan, + collect_sample_entries, + get_gpu_count, + load_config, + run_sample, +) + +_ENTRIES = collect_sample_entries(DEFAULT_SAMPLES_DIR, SAMPLE_NAMESPACE) +_SAMPLES = sorted(_ENTRIES) +_CONFIG = load_config(DEFAULT_CONFIG) +# Resolve GPU count once at collection time so we report the same skip reason +# consistently across the parametrized test ids. +_GPU_COUNT = get_gpu_count() if _SAMPLES else 0 + + +# Samples launch full GPU workloads in their own subprocess, so keep them +# serialized when the suite is run under pytest-run-parallel. +@pytest.mark.parallel_threads_limit(1) +@pytest.mark.parametrize("sample_key", _SAMPLES) +@pytest.mark.samples +@pytest.mark.agent_authored(model="gpt-5") +def test_sample(sample_key: str) -> None: + if _GPU_COUNT == 0: + pytest.skip("No CUDA GPU detected on the test runner") + + entry = _ENTRIES.get(sample_key) + if entry is None or not entry.is_file(): + pytest.fail(f"Sample entrypoint missing: {sample_key}") + + plan = build_run_plan(entry, _CONFIG, _GPU_COUNT, sample_key=sample_key) + result = run_sample(plan) + + if result.status == "WAIVED": + pytest.skip(result.detail or "sample waived") + if result.status == "PASS": + return + + # Re-print captured output through stdout/stderr so pytest's failure + # capture surfaces it in the report. + sys.stdout.flush() + pytest.fail(f"sample {sample_key} returned status={result.status} (rc={result.return_code}): {result.detail}") diff --git a/cuda_pathfinder/pixi.toml b/cuda_pathfinder/pixi.toml index 7ebcc9644d7..cf8d50d0da8 100644 --- a/cuda_pathfinder/pixi.toml +++ b/cuda_pathfinder/pixi.toml @@ -59,7 +59,7 @@ nvidia-sphinx-theme = "*" # TODO: check if these can be extracted from pyproject.toml [package] name = "cuda-pathfinder" -version = "1.3.4a0" +version = "1.5.6" [package.build] backend = { name = "pixi-build-python", version = "*" } diff --git a/cuda_python_test_helpers/cuda_python_test_helpers/sample_runner.py b/cuda_python_test_helpers/cuda_python_test_helpers/sample_runner.py new file mode 100644 index 00000000000..4956e91b347 --- /dev/null +++ b/cuda_python_test_helpers/cuda_python_test_helpers/sample_runner.py @@ -0,0 +1,639 @@ +#!/usr/bin/env python3 +# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +"""Shared discovery and execution support for cuda-python sample test suites. + +Package-owned wrappers provide their sample root, namespace, and +``test_args.json`` path. Samples are executed in isolated subprocesses. + +Exit-code contract: + 0 -> sample passed + 77 -> sample waived when negotiated through the runner environment + * -> sample failed +""" + +from __future__ import annotations + +import argparse +import concurrent.futures +import importlib.metadata +import json +import os +import subprocess +import sys +import threading +from dataclasses import dataclass +from pathlib import Path +from typing import Any + +if sys.version_info >= (3, 11): + import tomllib +else: + import tomli as tomllib + +from packaging.requirements import InvalidRequirement, Requirement +from packaging.utils import canonicalize_name +from packaging.version import InvalidVersion + +# Default timeout per sample run (seconds). Match cuda-samples. +DEFAULT_TIMEOUT = 300 +EXIT_WAIVED = 77 +WAIVER_EXIT_CODE_ENV = "CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE" +_print_lock = threading.Lock() + + +def _safe_print(*args: Any, **kwargs: Any) -> None: + with _print_lock: + print(*args, **kwargs) # noqa: T201 - this module is a CLI runner + + +# --------------------------------------------------------------------------- +# Discovery +# --------------------------------------------------------------------------- + + +def discover_samples(samples_dir: Path) -> list[Path]: + """Return every ``/.py`` sample entrypoint under ``samples_dir``. + + Samples can either sit directly under ``samples_dir`` + (``//.py``) or in a category subdirectory such as + ``/0_Introduction//.py``. The Utilities directory is + excluded at any level. Matching the cuda-samples convention, exactly one + Python entrypoint per sample directory is recognised (the one whose stem + matches the directory name). + """ + samples: list[Path] = [] + + def walk(current: Path) -> None: + for child in sorted(current.iterdir()): + if not child.is_dir() or child.name == "Utilities": + continue + entry = child / f"{child.name}.py" + if entry.is_file(): + samples.append(entry) + else: + # Not a sample dir; treat it as a category and recurse. + walk(child) + + walk(samples_dir) + return samples + + +def get_sample_id(sample: Path, samples_dir: Path, namespace: str | None = None) -> str: + """Return a stable, POSIX-style ID for an entrypoint below ``samples_dir``.""" + try: + relative_dir = sample.parent.relative_to(samples_dir) + except ValueError as exc: + raise ValueError(f"sample {sample} is not below sample root {samples_dir}") from exc + + parts = ((namespace,) if namespace else ()) + relative_dir.parts + return "/".join(parts) + + +def collect_sample_entries(samples_dir: Path, namespace: str | None = None) -> dict[str, Path]: + """Return discovered entrypoints keyed by path-aware sample IDs.""" + if not samples_dir.is_dir(): + return {} + + entries: dict[str, Path] = {} + for entry in discover_samples(samples_dir): + key = get_sample_id(entry, samples_dir, namespace) + if key in entries: + raise ValueError(f"duplicate sample ID {key!r}: {entries[key]} and {entry}") + entries[key] = entry + return entries + + +# --------------------------------------------------------------------------- +# Config + GPU detection +# --------------------------------------------------------------------------- + + +class InvalidSampleConfig(ValueError): # noqa: N818 - requested public exception name + """The sample runner configuration does not match its expected schema.""" + + +_ENTRY_FIELDS = frozenset({"skip", "min_gpus", "python"}) +_PYTHON_FIELDS = frozenset({"args", "launcher"}) + + +def _validate_string_list(value: Any, *, field: str, location: str) -> list[str]: + if not isinstance(value, list) or any(not isinstance(item, str) for item in value): + raise InvalidSampleConfig(f"{location}: {field!r} must be a list of strings") + return value + + +def _validate_config_entry(key: str, value: Any, *, source: str) -> dict[str, Any]: + location = f"{source}: entry {key!r}" + if not isinstance(value, dict): + raise InvalidSampleConfig(f"{location} must be an object") + + unknown_fields = set(value) - _ENTRY_FIELDS + if unknown_fields: + fields = ", ".join(repr(field) for field in sorted(unknown_fields)) + raise InvalidSampleConfig(f"{location} has unknown field(s): {fields}") + + if "skip" in value and not isinstance(value["skip"], bool): + raise InvalidSampleConfig(f"{location}: 'skip' must be a boolean") + + if "min_gpus" in value: + min_gpus = value["min_gpus"] + if isinstance(min_gpus, bool) or not isinstance(min_gpus, int) or min_gpus < 1: + raise InvalidSampleConfig(f"{location}: 'min_gpus' must be a positive integer") + + if "python" in value: + python_cfg = value["python"] + if not isinstance(python_cfg, dict): + raise InvalidSampleConfig(f"{location}: 'python' must be an object") + + unknown_python_fields = set(python_cfg) - _PYTHON_FIELDS + if unknown_python_fields: + fields = ", ".join(repr(field) for field in sorted(unknown_python_fields)) + raise InvalidSampleConfig(f"{location}: 'python' has unknown field(s): {fields}") + + for field in _PYTHON_FIELDS: + if field in python_cfg: + _validate_string_list(python_cfg[field], field=field, location=f"{location}: 'python'") + + return value + + +def _validate_config(data: Any, *, source: str) -> dict[str, Any]: + if not isinstance(data, dict): + raise InvalidSampleConfig(f"{source} must contain a JSON object") + + config: dict[str, Any] = {} + for key, value in data.items(): + if not isinstance(key, str): + raise InvalidSampleConfig(f"{source} contains a non-string entry name") + if key.startswith("_"): + continue + config[key] = _validate_config_entry(key, value, source=source) + return config + + +def load_config(config_path: Path) -> dict[str, Any]: + try: + with config_path.open(encoding="utf-8") as fh: + data = json.load(fh) + except json.JSONDecodeError as exc: + raise InvalidSampleConfig(f"{config_path}: invalid JSON: {exc}") from exc + except OSError as exc: + raise InvalidSampleConfig(f"{config_path}: cannot read configuration: {exc}") from exc + return _validate_config(data, source=str(config_path)) + + +def _runtime_gpu_count() -> int | None: + """Return the CUDA Runtime's visible device count, or ``None`` if unavailable.""" + try: + runtime = importlib.import_module("cuda.bindings.runtime") + except (ImportError, OSError): + return None + + try: + error, count = runtime.cudaGetDeviceCount() + except (OSError, RuntimeError): + return None + + if int(error) != 0: + return 0 + return int(count) + + +def _visible_devices_gpu_count() -> int | None: + """Return the count implied by ``CUDA_VISIBLE_DEVICES``, if it is set.""" + visible = os.environ.get("CUDA_VISIBLE_DEVICES") + if visible is None: + return None + + count = 0 + for raw_token in visible.split(","): + token = raw_token.strip() + if not token or token.lower() in {"-1", "no", "none"}: + break + if token.isascii() and token.isdecimal(): + count += 1 + continue + if token.startswith(("GPU-", "MIG-")) and len(token) > 4: + count += 1 + continue + # CUDA stops enumerating at the first invalid device identifier. + break + return count + + +def get_gpu_count() -> int: + """Return the number of GPUs visible to CUDA, conservatively 0 on error. + + Prefer the CUDA Runtime because it applies the driver's complete visibility + rules, including UUIDs and MIG devices. When the runtime bindings are not + available, an explicitly set ``CUDA_VISIBLE_DEVICES`` remains authoritative; + ``nvidia-smi`` is only a last-resort estimate when visibility is unspecified. + """ + runtime_count = _runtime_gpu_count() + if runtime_count is not None: + return runtime_count + + visible_count = _visible_devices_gpu_count() + if visible_count is not None: + return visible_count + + try: + smi = subprocess.run( + ["nvidia-smi", "-L"], # noqa: S607 + stdout=subprocess.PIPE, + stderr=subprocess.DEVNULL, + text=True, + check=False, + ) + if smi.returncode == 0: + return sum(1 for line in smi.stdout.splitlines() if line.strip().lower().startswith("gpu ")) + except FileNotFoundError: + pass + except OSError: + pass + return 0 + + +# --------------------------------------------------------------------------- +# PEP 723 dependency gating +# --------------------------------------------------------------------------- + +_DISTRIBUTION_PROVIDERS: dict[str, tuple[str, ...]] = { + # cuda-python is a metapackage; cuda-bindings carries the matching CUDA API + # version and is the package samples actually import. + "cuda-python": ("cuda-bindings",), + # Conda installs CuPy as ``cupy`` while PyPI uses CUDA-major-specific names. + "cupy-cuda11x": ("cupy-cuda11x", "cupy"), + "cupy-cuda12x": ("cupy-cuda12x", "cupy"), + "cupy-cuda13x": ("cupy-cuda13x", "cupy"), +} + + +class DependencyMetadataError(ValueError): + """A sample contains invalid PEP 723 dependency metadata.""" + + +def _metadata_error(example: Path, detail: str) -> DependencyMetadataError: + return DependencyMetadataError(f"{example}: invalid PEP 723 metadata: {detail}") + + +def _extract_pep723_dependencies(example: Path) -> list[str] | None: + """Return the dependency list declared via PEP 723, or ``None`` if absent.""" + lines = example.read_text(encoding="utf-8").splitlines() + starts = [index for index, line in enumerate(lines) if line == "# /// script"] + if not starts: + return None + if len(starts) != 1: + raise _metadata_error(example, "expected exactly one script block") + + metadata_lines: list[str] = [] + for line_number, line in enumerate(lines[starts[0] + 1 :], start=starts[0] + 2): + if line == "# ///": + break + if line == "#": + metadata_lines.append("") + elif line.startswith("# "): + metadata_lines.append(line[2:]) + else: + raise _metadata_error(example, f"line {line_number} inside the script block is not a comment") + else: + raise _metadata_error(example, "script block is missing its closing '# ///'") + + try: + metadata = tomllib.loads("\n".join(metadata_lines)) + except tomllib.TOMLDecodeError as exc: + raise _metadata_error(example, str(exc)) from exc + + dependencies = metadata.get("dependencies") + if dependencies is None: + return None + if not isinstance(dependencies, list) or any(not isinstance(item, str) for item in dependencies): + raise _metadata_error(example, "'dependencies' must be an array of strings") + return dependencies + + +def _distribution_providers(requirement: Requirement) -> tuple[str, ...]: + name = canonicalize_name(requirement.name) + return _DISTRIBUTION_PROVIDERS.get(name, (name,)) + + +def _provided_extras(dist: importlib.metadata.Distribution) -> set[str]: + return {canonicalize_name(extra) for extra in (dist.metadata.get_all("Provides-Extra") or ())} + + +def _distribution_mismatches(requirement: Requirement, dist: importlib.metadata.Distribution) -> list[str]: + mismatches: list[str] = [] + if requirement.specifier: + try: + version_matches = requirement.specifier.contains(dist.version) + except InvalidVersion: + mismatches.append(f"has invalid version {dist.version!r}") + else: + if not version_matches: + mismatches.append(f"version {dist.version} does not satisfy {requirement.specifier}") + + missing_extras = {canonicalize_name(extra) for extra in requirement.extras} - _provided_extras(dist) + if missing_extras: + mismatches.append(f"does not provide extra(s): {', '.join(sorted(missing_extras))}") + return mismatches + + +def missing_dependencies(example: Path) -> list[str]: + """Return useful diagnostics for unmet PEP 723 dependency requirements. + + Returns an empty list if all declared deps are present, or if no PEP 723 + block exists (no gating to perform). + """ + deps = _extract_pep723_dependencies(example) + if not deps: + return [] + + missing: list[str] = [] + for spec in deps: + try: + requirement = Requirement(spec) + except InvalidRequirement as exc: + raise _metadata_error(example, f"invalid dependency requirement {spec!r}: {exc}") from exc + + if requirement.marker is not None and not requirement.marker.evaluate({"extra": ""}): + continue + + providers = _distribution_providers(requirement) + installed: list[str] = [] + for provider in providers: + try: + dist = importlib.metadata.distribution(provider) + except importlib.metadata.PackageNotFoundError: + continue + mismatches = _distribution_mismatches(requirement, dist) + if not mismatches: + break + installed.append(f"{provider} {dist.version}: {', '.join(mismatches)}") + else: + if installed: + detail = "; ".join(installed) + else: + detail = f"no provider distribution installed (checked: {', '.join(providers)})" + missing.append(f"{requirement} ({detail})") + return missing + + +# --------------------------------------------------------------------------- +# Run plan +# --------------------------------------------------------------------------- + + +@dataclass(frozen=True) +class RunPlan: + sample: Path + args: list[str] + launcher: list[str] + timeout: int + skip_reason: str | None = None + sample_key: str | None = None + + +def _expand_env(value: str) -> str: + return os.path.expandvars(value) + + +def build_run_plan( + sample: Path, + config: dict[str, Any], + gpu_count: int, + timeout: int = DEFAULT_TIMEOUT, + *, + sample_key: str | None = None, +) -> RunPlan: + """Combine config overrides + GPU availability into a concrete run plan. + + The returned plan carries either a ``skip_reason`` (sample must be + waived) or the command components to invoke. + """ + if isinstance(timeout, bool) or not isinstance(timeout, int) or timeout < 1: + raise InvalidSampleConfig("sample timeout must be a positive integer") + if not isinstance(config, dict): + raise InvalidSampleConfig("sample configuration must be an object") + + # Namespaced keys prevent collisions. The leaf fallback keeps existing + # cuda-samples-style configuration files compatible. + if sample_key is not None and sample_key in config: + config_key = sample_key + sample_cfg = config[sample_key] + else: + config_key = sample.parent.name + sample_cfg = config.get(config_key, {}) + sample_cfg = _validate_config_entry(config_key, sample_cfg, source="sample configuration") + + if sample_cfg.get("skip"): + return RunPlan( + sample, + [], + [], + timeout, + skip_reason="skipped in test_args.json", + sample_key=sample_key, + ) + + required_gpus = sample_cfg.get("min_gpus", 1) + if required_gpus > gpu_count: + return RunPlan( + sample, + [], + [], + timeout, + skip_reason=(f"requires {required_gpus} GPU(s), only {gpu_count} available"), + sample_key=sample_key, + ) + + python_cfg = sample_cfg.get("python", {}) + raw_args = python_cfg.get("args", []) + raw_launcher = python_cfg.get("launcher", []) + + return RunPlan( + sample=sample, + args=[_expand_env(arg) for arg in raw_args], + launcher=[_expand_env(arg) for arg in raw_launcher], + timeout=timeout, + sample_key=sample_key, + ) + + +# --------------------------------------------------------------------------- +# Execution +# --------------------------------------------------------------------------- + + +@dataclass +class RunResult: + sample: Path + status: str # "PASS", "FAIL", "WAIVED", "TIMEOUT", "ERROR" + return_code: int + detail: str = "" + sample_key: str | None = None + + +def run_sample(plan: RunPlan) -> RunResult: + sample = plan.sample + name = plan.sample_key or sample.parent.name + + if plan.skip_reason is not None: + _safe_print(f" [WAIVED] {name}: {plan.skip_reason}") + return RunResult(sample, "WAIVED", EXIT_WAIVED, plan.skip_reason, plan.sample_key) + + try: + missing = missing_dependencies(sample) + except DependencyMetadataError as exc: + reason = str(exc) + _safe_print(f" [ERROR] {name}: {reason}") + return RunResult(sample, "ERROR", -1, reason, plan.sample_key) + if missing: + reason = f"unmet package requirement(s): {'; '.join(missing)}" + _safe_print(f" [WAIVED] {name}: {reason}") + return RunResult(sample, "WAIVED", EXIT_WAIVED, reason, plan.sample_key) + + cmd = list(plan.launcher) + [sys.executable, str(sample)] + list(plan.args) + _safe_print(f" [RUN ] {name}: {' '.join(cmd)}") + child_env = os.environ.copy() + child_env[WAIVER_EXIT_CODE_ENV] = str(EXIT_WAIVED) + + try: + proc = subprocess.run( # noqa: S603 + cmd, + cwd=str(sample.parent), + capture_output=True, + text=True, + timeout=plan.timeout, + check=False, + env=child_env, + ) + except subprocess.TimeoutExpired: + _safe_print(f" [TIMEOUT] {name}: exceeded {plan.timeout}s") + return RunResult(sample, "TIMEOUT", -1, f"timed out after {plan.timeout}s", plan.sample_key) + except OSError as exc: + _safe_print(f" [ERROR] {name}: {exc}") + return RunResult(sample, "ERROR", -1, str(exc), plan.sample_key) + + if proc.returncode == 0: + _safe_print(f" [PASS ] {name}") + return RunResult(sample, "PASS", 0, sample_key=plan.sample_key) + if proc.returncode == EXIT_WAIVED: + _safe_print(f" [WAIVED] {name}: sample reported waived") + return RunResult(sample, "WAIVED", EXIT_WAIVED, "sample-reported", plan.sample_key) + + # Fail. Surface output so CI logs are diagnosable. + msg = f"return code {proc.returncode}" + _safe_print(f" [FAIL ] {name}: {msg}") + if proc.stdout: + _safe_print(f"---- stdout ({name}) ----\n{proc.stdout.rstrip()}") + if proc.stderr: + _safe_print(f"---- stderr ({name}) ----\n{proc.stderr.rstrip()}") + return RunResult(sample, "FAIL", proc.returncode, msg, plan.sample_key) + + +# --------------------------------------------------------------------------- +# Entry point +# --------------------------------------------------------------------------- + + +def _positive_int(value: str) -> int: + try: + parsed = int(value) + except ValueError as exc: + raise argparse.ArgumentTypeError(f"expected a positive integer, got {value!r}") from exc + if parsed < 1: + raise argparse.ArgumentTypeError(f"expected a positive integer, got {value!r}") + return parsed + + +def main( + argv: list[str] | None = None, + *, + default_samples_dir: Path, + default_config: Path, + namespace: str | None = None, +) -> int: + parser = argparse.ArgumentParser(description="Run cuda-python samples") + parser.add_argument( + "--samples-dir", + type=Path, + default=default_samples_dir, + help=f"Directory containing package-owned samples (default: {default_samples_dir})", + ) + parser.add_argument( + "--config", + type=Path, + default=default_config, + help=f"Path to test_args.json (default: {default_config})", + ) + parser.add_argument( + "--parallel", + type=_positive_int, + default=1, + help="Maximum number of samples to run concurrently (default: 1)", + ) + parser.add_argument( + "--filter", + action="append", + default=[], + help=("Run only samples whose ID contains the given substring (may be repeated)"), + ) + parser.add_argument( + "--timeout", + type=_positive_int, + default=DEFAULT_TIMEOUT, + help=f"Per-sample timeout in seconds (default: {DEFAULT_TIMEOUT})", + ) + args = parser.parse_args(argv) + + samples_dir: Path = args.samples_dir.resolve() + if not samples_dir.is_dir(): + _safe_print(f"Error: samples directory not found: {samples_dir}") + return 1 + + entries = collect_sample_entries(samples_dir, namespace) + if args.filter: + entries = {key: sample for key, sample in entries.items() if any(token in key for token in args.filter)} + if not entries: + _safe_print("No samples found.") + return 1 + + try: + config = load_config(args.config.resolve()) + except InvalidSampleConfig as exc: + _safe_print(f"Error: invalid sample configuration: {exc}") + return 1 + gpu_count = get_gpu_count() + _safe_print(f"Detected {gpu_count} GPU(s).") + _safe_print(f"Running {len(entries)} sample(s) with parallelism={args.parallel}\n") + + try: + plans = [ + build_run_plan(sample, config, gpu_count, args.timeout, sample_key=key) for key, sample in entries.items() + ] + except InvalidSampleConfig as exc: + _safe_print(f"Error: invalid sample configuration: {exc}") + return 1 + + if args.parallel <= 1: + results = [run_sample(plan) for plan in plans] + else: + with concurrent.futures.ThreadPoolExecutor(max_workers=args.parallel) as pool: + results = list(pool.map(run_sample, plans)) + + failed = [r for r in results if r.status in {"FAIL", "TIMEOUT", "ERROR"}] + waived = [r for r in results if r.status == "WAIVED"] + passed = [r for r in results if r.status == "PASS"] + + _safe_print("\nSummary") + _safe_print(f" passed : {len(passed)}") + _safe_print(f" waived : {len(waived)}") + _safe_print(f" failed : {len(failed)}") + if failed: + for r in failed: + name = r.sample_key or r.sample.parent.name + _safe_print(f" - {name}: {r.status} ({r.detail})") + first = next((r.return_code for r in failed if r.return_code > 0), 1) + return first + return 0 diff --git a/cuda_python_test_helpers/pyproject.toml b/cuda_python_test_helpers/pyproject.toml index 85652b61c50..d1e6e43478d 100644 --- a/cuda_python_test_helpers/pyproject.toml +++ b/cuda_python_test_helpers/pyproject.toml @@ -13,6 +13,10 @@ readme = {file = "README.md", content-type = "text/markdown"} authors = [{ name = "NVIDIA Corporation" }] license = "Apache-2.0" requires-python = ">=3.9" +dependencies = [ + "packaging>=24", + "tomli>=2; python_version < '3.11'", +] classifiers = [ "Programming Language :: Python :: 3 :: Only", "Operating System :: POSIX :: Linux", diff --git a/pixi.toml b/pixi.toml index f73d299e012..8feca4785d8 100644 --- a/pixi.toml +++ b/pixi.toml @@ -53,6 +53,26 @@ cmd = [ 'pixi run --manifest-path "$PIXI_PROJECT_ROOT/cuda_core" -e "$PIXI_ENVIRONMENT_NAME" test', ] +[target.linux.tasks.test-samples-bindings] +cmd = [ + "bash", + "-c", + 'pixi run --manifest-path "$PIXI_PROJECT_ROOT/cuda_bindings" test-samples', +] + +[target.linux.tasks.test-samples-core] +cmd = [ + "bash", + "-c", + 'pixi run --manifest-path "$PIXI_PROJECT_ROOT/cuda_core" test-samples', +] + +[target.linux.tasks.test-samples] +depends-on = [ + { task = "test-samples-bindings" }, + { task = "test-samples-core" }, +] + [target.linux.tasks.test] depends-on = [ { task = "test-pathfinder" }, diff --git a/pytest.ini b/pytest.ini index 148b722aca2..3297637ead8 100644 --- a/pytest.ini +++ b/pytest.ini @@ -4,8 +4,7 @@ [pytest] addopts = --showlocals norecursedirs = - cuda_bindings/examples - cuda_core/examples + samples testpaths = cuda_pathfinder/tests @@ -17,6 +16,7 @@ markers = pathfinder: tests for cuda_pathfinder bindings: tests for cuda_bindings core: tests for cuda_core + samples: tests for package-owned standalone samples under ./samples cython: cython tests smoke: meta-level smoke tests # Keep this authorship marker registry in sync across all pytest config roots. diff --git a/ruff.toml b/ruff.toml index 210f852cd3e..5e4158d2df8 100644 --- a/ruff.toml +++ b/ruff.toml @@ -114,6 +114,20 @@ inline-quotes = "double" "RUF059", # unused unpacked variable ] +"samples/**" = [ + "T201", # print + "E402", # module-level import not at top of file (sys.path mutation before import) + "N801", # CUDA naming conventions (CamelCase classes) + "N802", # CUDA naming conventions (camelCase methods) + "N803", # CUDA naming conventions (argument names) + "N806", # non-lowercase variable in function (e.g. d_A, h_blockSums) + "N816", # mixed-case variable in global scope + "N999", # invalid module name (package-local Utilities directories are not modules) + "RUF001", # ambiguous unicode in strings (math symbols like ``×`` in shape annotations) + "RUF003", # ambiguous unicode in comments (same as RUF001) + "RUF059", # unused unpacked variable (common in GL / kernel samples returning tuples) +] + "**/benchmarks/**" = [ "T201", # print "RUF012", # mutable class default (ctypes _fields_ is standard) diff --git a/samples/README.md b/samples/README.md new file mode 100644 index 00000000000..4a846be84b9 --- /dev/null +++ b/samples/README.md @@ -0,0 +1,40 @@ +# CUDA Python Samples + +The samples are grouped by the primary API they demonstrate: + +- [`cuda_bindings/`](cuda_bindings/) contains low-level examples that call + `cuda.bindings` driver, runtime, NVRTC, or NVML APIs directly. +- [`cuda_core/`](cuda_core/) contains high-level examples built primarily with + `cuda.core` and `cuda.compute`. + +Some `cuda.core` samples use individual `cuda.bindings` calls where the +high-level API does not yet expose the required operation. They remain in the +`cuda_core` collection because that is the API driving the sample workflow. + +## Running a Sample + +Each sample has its own `README.md` and `requirements.txt`. Run its install and +launch commands from that sample's directory. From the repository root, for +example: + +```bash +cd samples/cuda_core/vectorAdd +pip install -r requirements.txt +python vectorAdd.py +``` + +Many samples require a supported NVIDIA GPU and CUDA Toolkit. See the +individual README for hardware, toolkit, and optional dependency requirements. + +## Shared Utilities + +Utilities are private implementation helpers for their respective sample +collections: + +- [`cuda_bindings/Utilities/`](cuda_bindings/Utilities/) supports low-level + bindings samples. +- [`cuda_core/Utilities/`](cuda_core/Utilities/) supports high-level core + samples. + +They are not installed as part of the CUDA Python packages and should not be +treated as public APIs. diff --git a/samples/cuda_bindings/0_Introduction/clockNvrtc/README.md b/samples/cuda_bindings/0_Introduction/clockNvrtc/README.md new file mode 100644 index 00000000000..c06e2f01918 --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/clockNvrtc/README.md @@ -0,0 +1,101 @@ +# Sample: Kernel Timing with device clock() (Python) + +## Description + +Time a reduction kernel using the CUDA device-side ``clock()`` intrinsic, +compiled at runtime with NVRTC and launched through the driver API in +``cuda.bindings``. + +Each thread block records the SM cycle counter at kernel entry and exit; +the host then reports the average cycles-per-block spent in the reduction. + +The sample simultaneously demonstrates **dynamic shared memory**: the +kernel declares ``extern __shared__ float shared[]`` and the host passes +the byte size at launch time via ``cuLaunchKernel``'s ``sharedMemBytes`` +argument (the 7th argument), so the actual size of the shared array is +determined at launch time rather than at compile time. + +Waives on 32-bit ARM (``armv7l``), where the sample isn't supported. + +## What You'll Learn + +- Reading the SM cycle counter from a kernel via the CUDA ``clock()`` intrinsic +- Sizing an ``extern __shared__`` array at launch time via ``sharedMemBytes`` +- The bare-metal driver-API launch flow: compile with NVRTC, get a + ``CUfunction``, call ``cuLaunchKernel`` +- Copying host / device buffers with ``cuMemAlloc`` / ``cuMemcpyHtoD`` / + ``cuMemcpyDtoH`` / ``cuMemFree`` + +## Key Libraries + +- [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/) - low-level driver / NVRTC bindings +- `numpy` - host-side input/output buffers + +## Key APIs + +### From `cuda.bindings.driver` + +- `cuMemAlloc` / `cuMemFree` - device memory alloc/free +- `cuMemcpyHtoD` / `cuMemcpyDtoH` - synchronous host/device copies +- `cuLaunchKernel(func, gx, gy, gz, bx, by, bz, sharedMemBytes, stream, args, extra)` - launch a kernel +- `cuCtxSynchronize` - wait for all outstanding device work + +### From `cuda_bindings_utils` (`samples/cuda_bindings/Utilities/`) + +- `KernelHelper(source, dev_id)` - compile a source string with NVRTC and load the module +- `check_cuda_errors(result)` - unwrap ``(status, *values)`` tuples returned by cuda.bindings +- `find_cuda_device()` - pick a device (honors ``--device=``) + +### Kernel-side + +- ``clock_t clock()`` - device-side SM cycle counter +- ``extern __shared__ float shared[]`` - dynamically-sized shared memory + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 5.0 or higher +- Not supported on ARMv7 + +### Software + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` (>=13.4.0) +- `numpy` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python clockNvrtc.py +python clockNvrtc.py --device=1 # use a specific GPU +``` + +## Expected Output + +Cycle counts are hardware-dependent. + +``` +Average clocks/block = 8734.0 +Done +``` + +## Files + +- `clockNvrtc.py` - Python implementation using `cuda.bindings` +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../../Utilities/cuda_bindings_utils.py` - Shared bindings helpers (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.bindings` driver API](https://nvidia.github.io/cuda-python/cuda-bindings/latest/module/driver.html) +- [CUDA C++ Programming Guide — Time Function](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#time-function) diff --git a/samples/cuda_bindings/0_Introduction/clockNvrtc/clockNvrtc.py b/samples/cuda_bindings/0_Introduction/clockNvrtc/clockNvrtc.py new file mode 100644 index 00000000000..b37add2c2f0 --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/clockNvrtc/clockNvrtc.py @@ -0,0 +1,181 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.4.0", "numpy>=1.24"] +# /// + +""" +Kernel timing with the device clock() intrinsic and dynamic shared memory + +This sample uses the driver API through ``cuda.bindings`` to compile +(with NVRTC) and launch a reduction kernel that reads the SM cycle counter +via CUDA's device-side ``clock()`` intrinsic. Each block records the cycle +count at kernel entry and exit; the host then reports the average +cycles-per-block spent in the reduction. + +Two low-level techniques are demonstrated together: + + * **On-device timing** -- ``clock_t clock()`` is a SM-cycle register you + can read from a kernel. This gives you the on-device analogue of a host + CUDA event, useful for measuring kernel-internal work at the block level. + * **Dynamic shared memory** -- the kernel declares ``extern __shared__ + float shared[]`` and the host passes the byte size at launch time via + ``cuLaunchKernel``'s ``sharedMemBytes`` argument. + +Waives on 32-bit ARM (armv7l), where the sample isn't supported. +""" + +import platform +import sys +from pathlib import Path + +# Add samples/cuda_bindings/Utilities/ to the import path for shared bindings helpers. +sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent / "Utilities")) + +try: + import numpy as np + from cuda_bindings_utils import KernelHelper, check_cuda_errors, find_cuda_device, requirement_not_met + + from cuda.bindings import driver as cuda +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +CLOCK_NVRTC_KERNEL = """\ +extern "C" __global__ void timedReduction(const float *hinput, float *output, clock_t *timer) +{ + // __shared__ float shared[2 * blockDim.x]; + extern __shared__ float shared[]; + + const int tid = threadIdx.x; + const int bid = blockIdx.x; + + if (tid == 0) timer[bid] = clock(); + + // Copy input. + shared[tid] = hinput[tid]; + shared[tid + blockDim.x] = hinput[tid + blockDim.x]; + + // Perform reduction to find minimum. + for (int d = blockDim.x; d > 0; d /= 2) + { + __syncthreads(); + + if (tid < d) + { + float f0 = shared[tid]; + float f1 = shared[tid + d]; + + if (f1 < f0) + { + shared[tid] = f1; + } + } + } + + // Write result. + if (tid == 0) output[bid] = shared[0]; + + __syncthreads(); + + if (tid == 0) timer[bid + gridDim.x] = clock(); +} +""" + + +NUM_BLOCKS = 64 +NUM_THREADS = 256 + + +def _elems_to_bytes(nelems, dtype): + return nelems * np.dtype(dtype).itemsize + + +def _check_requirements(): + if platform.machine() == "armv7l": + requirement_not_met("clockNvrtc is not supported on ARMv7") + + +def main(): + _check_requirements() + + timer = np.empty(NUM_BLOCKS * 2, dtype="int64") + hinput = np.empty(NUM_THREADS * 2, dtype="float32") + + for i in range(NUM_THREADS * 2): + hinput[i] = i + + dev_id = find_cuda_device() + kernel_helper = KernelHelper(CLOCK_NVRTC_KERNEL, dev_id) + kernel_addr = kernel_helper.get_function(b"timedReduction") + + dinput = check_cuda_errors(cuda.cuMemAlloc(hinput.nbytes)) + doutput = check_cuda_errors(cuda.cuMemAlloc(_elems_to_bytes(NUM_BLOCKS, np.float32))) + dtimer = check_cuda_errors(cuda.cuMemAlloc(timer.nbytes)) + check_cuda_errors(cuda.cuMemcpyHtoD(dinput, hinput, hinput.nbytes)) + + args = ((dinput, doutput, dtimer), (None, None, None)) + shared_memory_nbytes = _elems_to_bytes(2 * NUM_THREADS, np.float32) + + grid_dims = (NUM_BLOCKS, 1, 1) + block_dims = (NUM_THREADS, 1, 1) + + # Pass shared_memory_nbytes so the kernel's extern __shared__ array is + # allocated at launch time. Zero is the default (no dynamic shmem). + check_cuda_errors( + cuda.cuLaunchKernel( + kernel_addr, + *grid_dims, + *block_dims, + shared_memory_nbytes, + 0, # stream + args, + 0, + ) + ) + + check_cuda_errors(cuda.cuCtxSynchronize()) + check_cuda_errors(cuda.cuMemcpyDtoH(timer, dtimer, timer.nbytes)) + check_cuda_errors(cuda.cuMemFree(dinput)) + check_cuda_errors(cuda.cuMemFree(doutput)) + check_cuda_errors(cuda.cuMemFree(dtimer)) + + avg_elapsed_clocks = 0.0 + for i in range(NUM_BLOCKS): + avg_elapsed_clocks += timer[i + NUM_BLOCKS] - timer[i] + + avg_elapsed_clocks = avg_elapsed_clocks / NUM_BLOCKS + print(f"Average clocks/block = {avg_elapsed_clocks}") + print("Done") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_bindings/0_Introduction/clockNvrtc/requirements.txt b/samples/cuda_bindings/0_Introduction/clockNvrtc/requirements.txt new file mode 100644 index 00000000000..646d3943f03 --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/clockNvrtc/requirements.txt @@ -0,0 +1,5 @@ +# clockNvrtc Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.4.0 +numpy>=1.24 diff --git a/samples/cuda_bindings/0_Introduction/simpleCubemapTexture/README.md b/samples/cuda_bindings/0_Introduction/simpleCubemapTexture/README.md new file mode 100644 index 00000000000..182f00d8d0f --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/simpleCubemapTexture/README.md @@ -0,0 +1,108 @@ +# Sample: Cubemap Textures (Python) + +## Description + +Creates a cubemap ``cudaArray`` (six 2D faces glued together), wraps it as +a bindless ``cudaTextureObject_t``, and samples it from a kernel using the +``texCubemap(tex, cx, cy, cz)`` intrinsic. Also demonstrates 3D +memory transfers with ``cudaMemcpy3DParms`` and ``cudaMemcpy3D``. + +This is currently the only sample in ``/samples/cuda_bindings`` that teaches CUDA +texture objects, cubemap arrays, or ``cudaMemcpy3D``. + +The kernel walks all 6 cubemap faces, converts each pixel to a 3D +direction vector for that face, samples the cubemap, negates the result, +and writes it to global memory. Verification compares against a NumPy +reference on the host. + +## What You'll Learn + +- Allocating a cubemap ``cudaArray`` via ``cudaMalloc3DArray`` with the + ``cudaArrayCubemap`` flag +- Populating a 3D destination with ``cudaMemcpy3DParms`` + ``cudaMemcpy3D`` +- Building a bindless texture object with ``cudaResourceDesc`` + + ``cudaTextureDesc`` + ``cudaCreateTextureObject`` +- Setting texture parameters: normalized coordinates, linear filtering, + wrap addressing (per axis) +- Sampling a cubemap face from a kernel with + ``texCubemap(tex, cx, cy, cz)`` +- Tearing down texture / array / device memory resources cleanly + +## Key Libraries + +- [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/) - runtime + driver bindings +- `numpy` - input generation and host-side reference + +## Key APIs + +### From `cuda.bindings.runtime` + +- `cudaMalloc` / `cudaFree` +- `cudaMalloc3DArray(..., cudaArrayCubemap)` / `cudaFreeArray` +- `cudaCreateChannelDesc` +- `cudaMemcpy3DParms`, `cudaMemcpy3D` +- `make_cudaPos`, `make_cudaExtent`, `make_cudaPitchedPtr` +- `cudaResourceDesc`, `cudaTextureDesc` +- `cudaCreateTextureObject` / `cudaDestroyTextureObject` +- `cudaMemcpy`, `cudaDeviceSynchronize`, `cudaGetDeviceProperties` + +### From `cuda.bindings.driver` + +- `cuLaunchKernel` + +### Kernel-side + +- `texCubemap(cudaTextureObject_t, float, float, float)` + +## Requirements + +### Hardware + +- NVIDIA GPU with SM 2.0 or higher (all Kepler-and-later cards) + +### Software + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` (>=13.4.0) +- `numpy` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python simpleCubemapTexture.py +python simpleCubemapTexture.py --device=1 # use a specific GPU +``` + +## Expected Output + +Throughput depends on GPU. + +``` +CUDA device [NVIDIA GeForce RTX 4090] has 128 Multi-Processors SM 8.9 +Covering Cubemap data array of 64^3 x 1: Grid size is 8 x 8, each block has 8 x 8 threads +Processing time: 0.041 msec +595.35 Mtexlookups/sec +Verification PASSED (max error 0.000e+00) +Done +``` + +## Files + +- `simpleCubemapTexture.py` - Python implementation using `cuda.bindings` +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../../Utilities/cuda_bindings_utils.py` - Shared bindings helpers (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.bindings` runtime API](https://nvidia.github.io/cuda-python/cuda-bindings/latest/module/runtime.html) +- [CUDA C++ Programming Guide — Texture Object API](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#texture-object-api) +- [CUDA C++ Programming Guide — Cubemap Textures](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#cubemap-textures) diff --git a/samples/cuda_bindings/0_Introduction/simpleCubemapTexture/requirements.txt b/samples/cuda_bindings/0_Introduction/simpleCubemapTexture/requirements.txt new file mode 100644 index 00000000000..83d03095e4e --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/simpleCubemapTexture/requirements.txt @@ -0,0 +1,5 @@ +# simpleCubemapTexture Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.4.0 +numpy>=1.24 diff --git a/samples/cuda_bindings/0_Introduction/simpleCubemapTexture/simpleCubemapTexture.py b/samples/cuda_bindings/0_Introduction/simpleCubemapTexture/simpleCubemapTexture.py new file mode 100644 index 00000000000..052046e4b55 --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/simpleCubemapTexture/simpleCubemapTexture.py @@ -0,0 +1,240 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.4.0", "numpy>=1.24"] +# /// + +""" +Cubemap textures and 3D memcpy with cuda.bindings + +Creates a cubemap ``cudaArray`` (six 2D faces), wraps it as a bindless +``cudaTextureObject_t``, and samples it from a kernel via +``texCubemap(tex, cx, cy, cz)``. + +Also demonstrates 3D memory transfers with ``cudaMemcpy3DParms`` and +``cudaMemcpy3D``, and the CUDA texture descriptor knobs +(``cudaTextureDesc``: normalized coords, linear filter, wrap addressing). + +This is currently the only sample in ``/samples/cuda_bindings`` that teaches CUDA +texture objects, cubemap arrays, or ``cudaMemcpy3D``. +""" + +import ctypes +import sys +import time +from pathlib import Path + +# Add samples/cuda_bindings/Utilities/ to the import path for shared bindings helpers. +sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent / "Utilities")) + +try: + import numpy as np + from cuda_bindings_utils import KernelHelper, check_cuda_errors, find_cuda_device, requirement_not_met + + from cuda.bindings import driver as cuda + from cuda.bindings import runtime as cudart +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +CUBEMAP_KERNEL = """\ +extern "C" +__global__ void transformKernel(float *g_odata, int width, cudaTextureObject_t tex) +{ + // calculate this thread's data point + unsigned int x = blockIdx.x*blockDim.x + threadIdx.x; + unsigned int y = blockIdx.y*blockDim.y + threadIdx.y; + + // 0.5f offset and division are necessary to access the original data points + // in the texture (such that bilinear interpolation will not be activated). + // For details, see also CUDA Programming Guide, Appendix D + float u = ((x+0.5f) / (float) width) * 2.f - 1.f; + float v = ((y+0.5f) / (float) width) * 2.f - 1.f; + + float cx, cy, cz; + for (unsigned int face = 0; face < 6; face ++) + { + // Direction vectors per cubemap face + if (face == 0) { cx = 1; cy = -v; cz = -u; } // +X + else if (face == 1) { cx = -1; cy = -v; cz = u; } // -X + else if (face == 2) { cx = u; cy = 1; cz = v; } // +Y + else if (face == 3) { cx = u; cy = -1; cz = -v; } // -Y + else if (face == 4) { cx = u; cy = -v; cz = 1; } // +Z + else if (face == 5) { cx = -u; cy = -v; cz = -1; } // -Z + + // Sample the cubemap face, negate, and write to global memory. + g_odata[face*width*width + y*width + x] = -texCubemap(tex, cx, cy, cz); + } +} +""" + + +def main(): + dev_id = find_cuda_device() + + device_props = check_cuda_errors(cudart.cudaGetDeviceProperties(dev_id)) + print( + f"CUDA device [{device_props.name}] has {device_props.multiProcessorCount} " + f"Multi-Processors SM {device_props.major}.{device_props.minor}" + ) + if device_props.major < 2: + requirement_not_met("Requires SM 2.0 or higher for texture array support") + + # ---- Generate input data for the cubemap texture ---- + width = 64 + num_faces = 6 + num_layers = 1 + cubemap_size = width * width * num_faces + h_data = np.arange(cubemap_size * num_layers, dtype="float32") + size = h_data.nbytes + + # Expected: kernel negates the sampled values, so output = layer_index - h_data. + h_data_ref = np.repeat(np.arange(num_layers, dtype=h_data.dtype), cubemap_size) - h_data + + # ---- Allocate device output ---- + d_data = check_cuda_errors(cudart.cudaMalloc(size)) + + # ---- Allocate a cubemap cudaArray and copy the source into it via cudaMemcpy3D ---- + channel_desc = check_cuda_errors( + cudart.cudaCreateChannelDesc(32, 0, 0, 0, cudart.cudaChannelFormatKind.cudaChannelFormatKindFloat) + ) + cu_3darray = check_cuda_errors( + cudart.cudaMalloc3DArray( + channel_desc, + cudart.make_cudaExtent(width, width, num_faces), + cudart.cudaArrayCubemap, + ) + ) + width_nbytes = h_data[:width].nbytes + memcpy_params = cudart.cudaMemcpy3DParms() + memcpy_params.srcPos = cudart.make_cudaPos(0, 0, 0) + memcpy_params.dstPos = cudart.make_cudaPos(0, 0, 0) + memcpy_params.srcPtr = cudart.make_cudaPitchedPtr(h_data, width_nbytes, width, width) + memcpy_params.dstArray = cu_3darray + memcpy_params.extent = cudart.make_cudaExtent(width, width, num_faces) + memcpy_params.kind = cudart.cudaMemcpyKind.cudaMemcpyHostToDevice + check_cuda_errors(cudart.cudaMemcpy3D(memcpy_params)) + + # ---- Build the texture object over the cudaArray ---- + tex_res = cudart.cudaResourceDesc() + tex_res.resType = cudart.cudaResourceType.cudaResourceTypeArray + tex_res.res.array.array = cu_3darray + + tex_descr = cudart.cudaTextureDesc() + tex_descr.normalizedCoords = True + tex_descr.filterMode = cudart.cudaTextureFilterMode.cudaFilterModeLinear + tex_descr.addressMode[0] = cudart.cudaTextureAddressMode.cudaAddressModeWrap + tex_descr.addressMode[1] = cudart.cudaTextureAddressMode.cudaAddressModeWrap + tex_descr.addressMode[2] = cudart.cudaTextureAddressMode.cudaAddressModeWrap + tex_descr.readMode = cudart.cudaTextureReadMode.cudaReadModeElementType + + tex = check_cuda_errors(cudart.cudaCreateTextureObject(tex_res, tex_descr, None)) + + # ---- Launch config: one thread per texel per face ---- + dim_block = cudart.dim3() + dim_block.x = 8 + dim_block.y = 8 + dim_block.z = 1 + dim_grid = cudart.dim3() + dim_grid.x = width // dim_block.x + dim_grid.y = width // dim_block.y + dim_grid.z = 1 + + print( + f"Covering Cubemap data array of {width}^3 x {num_layers}: " + f"Grid size is {dim_grid.x} x {dim_grid.y}, each block has 8 x 8 threads" + ) + + kernel_helper = KernelHelper(CUBEMAP_KERNEL, dev_id) + transform_kernel = kernel_helper.get_function(b"transformKernel") + kernel_args = ((d_data, width, tex), (ctypes.c_void_p, ctypes.c_int, None)) + + # Warm-up launch. + check_cuda_errors( + cuda.cuLaunchKernel( + transform_kernel, + dim_grid.x, + dim_grid.y, + dim_grid.z, + dim_block.x, + dim_block.y, + dim_block.z, + 0, + 0, + kernel_args, + 0, + ) + ) + check_cuda_errors(cudart.cudaDeviceSynchronize()) + + # Timed launch. + start = time.time() + check_cuda_errors( + cuda.cuLaunchKernel( + transform_kernel, + dim_grid.x, + dim_grid.y, + dim_grid.z, + dim_block.x, + dim_block.y, + dim_block.z, + 0, + 0, + kernel_args, + 0, + ) + ) + check_cuda_errors(cudart.cudaDeviceSynchronize()) + stop = time.time() + print(f"Processing time: {(stop - start) * 1000:.3f} msec") + if stop > start: + print(f"{cubemap_size / (stop - start) / 1e6:.2f} Mtexlookups/sec") + + # ---- Copy result back and verify ---- + h_odata = np.empty_like(h_data) + check_cuda_errors(cudart.cudaMemcpy(h_odata, d_data, size, cudart.cudaMemcpyKind.cudaMemcpyDeviceToHost)) + + check_cuda_errors(cudart.cudaDestroyTextureObject(tex)) + check_cuda_errors(cudart.cudaFree(d_data)) + check_cuda_errors(cudart.cudaFreeArray(cu_3darray)) + + min_epsilon_error = 5.0e-3 + max_err = float(np.max(np.abs(h_odata - h_data_ref))) + if max_err > min_epsilon_error: + print(f"Verification FAILED (max error {max_err})", file=sys.stderr) + return 1 + + print(f"Verification PASSED (max error {max_err:.3e})") + print("Done") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_bindings/0_Introduction/systemWideAtomics/README.md b/samples/cuda_bindings/0_Introduction/systemWideAtomics/README.md new file mode 100644 index 00000000000..7d6820b108f --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/systemWideAtomics/README.md @@ -0,0 +1,117 @@ +# Sample: System-wide Atomics on Managed Memory (Python) + +## Description + +Exercises the full ``*_system`` atomic API surface on ``cudaMallocManaged`` +memory, which is coherently accessible from both the CPU and the GPU: + +- `atomicAdd_system` +- `atomicExch_system` +- `atomicMax_system` / `atomicMin_system` +- `atomicInc_system` / `atomicDec_system` +- `atomicCAS_system` +- `atomicAnd_system` / `atomicOr_system` / `atomicXor_system` + +The kernel spins over `LOOP_NUM` iterations per thread, applying each +operation against a 10-element shared array. The host then runs the +equivalent scalar reference computation and verifies every slot. + +This is the only sample in `/samples/cuda_bindings` that teaches **system-wide** atomic +operations (as opposed to device-scope ones like the histogram sample) or +the full atomic surface (Exch / Min / Max / Inc / Dec / CAS / And / Or / Xor). + +Waives with exit code 2 when: + +- running on Windows (system-scope atomics on managed memory aren't + supported for this flavor there), or +- the device does not report Unified Memory support, or +- compute mode is prohibited, or +- Compute Capability is below 6.0 (minimum for these intrinsics). + +## What You'll Learn + +- Using every `atomic*_system` intrinsic in a single kernel +- Managed memory basics: coherent host / device access without explicit copies +- The two paths for host-visible memory in NVML-modern drivers: + - Passing a pageable host allocation directly when + `pageableMemoryAccess=True` is reported on the device + - Falling back to `cudaMallocManaged` on hardware without pageable access +- Guarding a sample on compute capability, compute mode, and platform + +## Key Libraries + +- [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/) - driver + runtime bindings +- `numpy` - dtype sizes and array plumbing + +## Key APIs + +### From `cuda.bindings.runtime` + +- `cudaGetDeviceProperties` (for `managedMemory`, `pageableMemoryAccess`, `major`) +- `cudaDeviceGetAttribute` (for compute mode) +- `cudaMallocManaged` / `cudaFree` +- `cudaDeviceSynchronize` +- `cudaMemAttachGlobal` + +### From `cuda.bindings.driver` + +- `cuLaunchKernel` +- `CU_STREAM_LEGACY` + +### Kernel-side + +- `atomicAdd_system`, `atomicExch_system`, `atomicMax_system`, + `atomicMin_system`, `atomicInc_system`, `atomicDec_system`, + `atomicCAS_system`, `atomicAnd_system`, `atomicOr_system`, + `atomicXor_system` + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 6.0 or higher and Unified Memory support + +### Software + +- Linux (system-scope atomics on managed memory are not supported on Windows here) +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` (>=13.4.0) +- `numpy` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python systemWideAtomics.py +python systemWideAtomics.py --device=1 # use a specific GPU +``` + +## Expected Output + +``` +CAN access pageable memory +systemWideAtomics: all 10 system-scope atomic operations verified +Done +``` + +(Or `CANNOT access pageable memory` on hardware that falls back to +`cudaMallocManaged`.) + +## Files + +- `systemWideAtomics.py` - Python implementation using `cuda.bindings` +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../../Utilities/cuda_bindings_utils.py` - Shared bindings helpers (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [CUDA C++ Programming Guide — Atomic Functions](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#atomic-functions) +- [Scope of Atomic Operations](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#scope-of-atomic-operations) diff --git a/samples/cuda_bindings/0_Introduction/systemWideAtomics/requirements.txt b/samples/cuda_bindings/0_Introduction/systemWideAtomics/requirements.txt new file mode 100644 index 00000000000..75e7176334a --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/systemWideAtomics/requirements.txt @@ -0,0 +1,5 @@ +# systemWideAtomics Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.4.0 +numpy>=1.24 diff --git a/samples/cuda_bindings/0_Introduction/systemWideAtomics/systemWideAtomics.py b/samples/cuda_bindings/0_Introduction/systemWideAtomics/systemWideAtomics.py new file mode 100644 index 00000000000..3db2a065282 --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/systemWideAtomics/systemWideAtomics.py @@ -0,0 +1,254 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.4.0", "numpy>=1.24"] +# /// + +""" +System-wide atomics on managed (unified) memory + +Exercises the full ``*_system`` atomic API surface on ``cudaMallocManaged`` +memory, which is coherently accessible from both the CPU and the GPU: + + atomicAdd_system, atomicExch_system, atomicMax_system, atomicMin_system, + atomicInc_system, atomicDec_system, atomicCAS_system, + atomicAnd_system, atomicOr_system, atomicXor_system + +The kernel spins over ``LOOP_NUM`` iterations per thread, applying each +atomic against a 10-element shared array in managed memory. After the +kernel completes, the host runs the equivalent scalar reference and +verifies every slot. + +Waives with exit code 2 when: + + * running on Windows (system-scope atomics aren't supported there for + this managed-memory flavor), or + * the device does not report Unified Memory support, or + * compute mode is prohibited, or + * compute capability is below 6.0 (the minimum for these intrinsics). +""" + +import ctypes +import os +import sys +from pathlib import Path + +# Add samples/cuda_bindings/Utilities/ to the import path for shared bindings helpers. +sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent / "Utilities")) + +try: + import numpy as np + from cuda_bindings_utils import KernelHelper, check_cuda_errors, find_cuda_device, requirement_not_met + + from cuda.bindings import driver as cuda + from cuda.bindings import runtime as cudart +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +LOOP_NUM = 50 + + +SYSTEM_WIDE_ATOMICS_KERNEL = """\ +#define LOOP_NUM 50 + +extern "C" +__global__ void atomicKernel(int *atom_arr) { + unsigned int tid = blockDim.x * blockIdx.x + threadIdx.x; + + for (int i = 0; i < LOOP_NUM; i++) { + atomicAdd_system (&atom_arr[0], 10); + atomicExch_system(&atom_arr[1], tid); + atomicMax_system (&atom_arr[2], tid); + atomicMin_system (&atom_arr[3], tid); + atomicInc_system ((unsigned int *)&atom_arr[4], 17); + atomicDec_system ((unsigned int *)&atom_arr[5], 137); + atomicCAS_system (&atom_arr[6], tid - 1, tid); + + // Bitwise atomic instructions + atomicAnd_system(&atom_arr[7], 2 * tid + 7); + atomicOr_system (&atom_arr[8], 1 << tid); + atomicXor_system(&atom_arr[9], tid); + } +} +""" + + +def _verify(test_data, length): + """Host reference computation, one atomic at a time.""" + # atomicAdd + val = 10 * length * LOOP_NUM + if val != test_data[0]: + print(f"atomicAdd failed val={val} test_data={test_data[0]}") + return False + + # atomicExch: some tid in [0, length) + if not (0 <= test_data[1] < length): + print("atomicExch failed") + return False + + # atomicMax: length - 1 + if length - 1 != test_data[2]: + print("atomicMax failed") + return False + + # atomicMin: 0 + if test_data[3] != 0: + print("atomicMin failed") + return False + + # atomicInc modulo 17 + limit = 17 + val = 0 + for _ in range(length * LOOP_NUM): + val = 0 if val >= limit else val + 1 + if val != test_data[4]: + print("atomicInc failed") + return False + + # atomicDec modulo 137 + limit = 137 + val = 0 + for _ in range(length * LOOP_NUM): + val = limit if (val == 0) or (val > limit) else val - 1 + if val != test_data[5]: + print("atomicDec failed") + return False + + # atomicCAS: some tid in [0, length) + if not (0 <= test_data[6] < length): + print("atomicCAS failed") + return False + + # atomicAnd against 0xff + val = 0xFF + for i in range(length): + val &= 2 * i + 7 + if val != test_data[7]: + print("atomicAnd failed") + return False + + # atomicOr: filled with 1s + if test_data[8] != -1: + print("atomicOr failed") + return False + + # atomicXor against 0xff + val = 0xFF + for i in range(length): + val ^= i + if val != test_data[9]: + print("atomicXor failed") + return False + + return True + + +def main(): + if os.name == "nt": + requirement_not_met("System-wide atomics on managed memory are not supported on Windows") + + dev_id = find_cuda_device() + device_prop = check_cuda_errors(cudart.cudaGetDeviceProperties(dev_id)) + + if not device_prop.managedMemory: + requirement_not_met("Unified Memory not supported on this device") + + compute_mode = check_cuda_errors( + cudart.cudaDeviceGetAttribute(cudart.cudaDeviceAttr.cudaDevAttrComputeMode, dev_id) + ) + if compute_mode == cudart.cudaComputeMode.cudaComputeModeProhibited: + requirement_not_met("This sample requires a device in either default or process-exclusive compute mode") + + if device_prop.major < 6: + requirement_not_met("Requires a minimum CUDA compute capability 6.0") + + num_threads = 256 + num_blocks = 64 + num_data = 10 + + # Prefer pageable memory when the driver supports it; otherwise fall back + # to explicit cudaMallocManaged. Either way we hand the kernel a plain + # int* whose contents are coherently visible from both the host and the + # device. + if device_prop.pageableMemoryAccess: + print("CAN access pageable memory") + atom_arr_h = (ctypes.c_int * num_data)(0) + atom_arr = ctypes.addressof(atom_arr_h) + else: + print("CANNOT access pageable memory") + atom_arr = check_cuda_errors( + cudart.cudaMallocManaged(np.dtype(np.int32).itemsize * num_data, cudart.cudaMemAttachGlobal) + ) + atom_arr_h = (ctypes.c_int * num_data).from_address(atom_arr) + + for i in range(num_data): + atom_arr_h[i] = 0 + + # Prime the AND / XOR seats with 0xff so the operations produce something + # other than zero and are easy to verify against a reference. + atom_arr_h[7] = atom_arr_h[9] = 0xFF + + kernel_helper = KernelHelper(SYSTEM_WIDE_ATOMICS_KERNEL, dev_id) + atomic_kernel = kernel_helper.get_function(b"atomicKernel") + kernel_args = ((atom_arr,), (ctypes.c_void_p,)) + check_cuda_errors( + cuda.cuLaunchKernel( + atomic_kernel, + num_blocks, + 1, + 1, # grid dim + num_threads, + 1, + 1, # block dim + 0, + cuda.CU_STREAM_LEGACY, + kernel_args, + 0, + ) + ) + check_cuda_errors(cudart.cudaDeviceSynchronize()) + + ok = _verify(atom_arr_h, num_threads * num_blocks) + + if not device_prop.pageableMemoryAccess: + check_cuda_errors(cudart.cudaFree(atom_arr)) + + if not ok: + print("systemWideAtomics completed with errors", file=sys.stderr) + return 1 + + print("systemWideAtomics: all 10 system-scope atomic operations verified") + print("Done") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_bindings/0_Introduction/vectorAddDriverApi/README.md b/samples/cuda_bindings/0_Introduction/vectorAddDriverApi/README.md new file mode 100644 index 00000000000..aa8828c0980 --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/vectorAddDriverApi/README.md @@ -0,0 +1,102 @@ +# Sample: Vector Add via Driver API (Python) + +## Description + +The "hello world" of the raw CUDA Driver API in Python. Compute `C = A + B` +element-wise on the GPU using ``cuda.bindings.driver`` end-to-end: + +``` +cuInit -> cuDeviceGet -> cuCtxCreate + -> NVRTC compile + cuModuleLoadData + cuModuleGetFunction + -> cuMemAlloc -> cuMemcpyHtoD -> cuLaunchKernel -> cuMemcpyDtoH -> cuMemFree + -> cuCtxDestroy +``` + +This is the low-level equivalent of the higher-level +[`samples/cuda_core/vectorAdd/`](../../../cuda_core/vectorAdd/) sample, which does the same +computation with the ``cuda.core`` API. Both are useful: + +- Use ``samples/cuda_core/vectorAdd/`` when you want an idiomatic, Pythonic launch. +- Use this sample to understand what those higher-level abstractions do + under the hood, or when you need direct control over the driver API + (custom contexts, explicit stream/module lifetime, etc.). + +The sample also queries ``CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING`` and +waives with exit code 2 when the device does not support UVA (a +prerequisite for most driver-API patterns). + +## What You'll Learn + +- The full raw driver-API launch flow (`cuInit` through `cuCtxDestroy`) +- Explicit CUDA context management with `cuCtxCreate` / `cuCtxDestroy` +- Compiling a kernel string at runtime with NVRTC via `KernelHelper` +- Querying a device attribute (`cuDeviceGetAttribute`) +- Passing kernel arguments to `cuLaunchKernel` as a ``(values, ctypes)`` pair + +## Key Libraries + +- [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/) - low-level driver / NVRTC bindings +- `numpy` - host-side input/output buffers + +## Key APIs + +### From `cuda.bindings.driver` + +- `cuInit` / `cuDeviceGet` / `cuDeviceGetAttribute` +- `cuCtxCreate` / `cuCtxDestroy` +- `cuMemAlloc` / `cuMemFree` / `cuMemcpyHtoD` / `cuMemcpyDtoH` +- `cuLaunchKernel` +- `CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING` + +### From `cuda_bindings_utils` (`samples/cuda_bindings/Utilities/`) + +- `KernelHelper(source, dev_id)` - NVRTC compile + load +- `check_cuda_errors(result)` - unwrap `(status, *values)` tuples +- `find_cuda_device_drv()` - pick a device (honors ``--device=``) + +## Requirements + +### Hardware + +- NVIDIA GPU with UVA support (all discrete NVIDIA GPUs since Kepler) + +### Software + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` (>=13.4.0) +- `numpy` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python vectorAddDriverApi.py +python vectorAddDriverApi.py --device=1 # use a specific GPU +``` + +## Expected Output + +``` +Result = PASS (max error 0.000e+00 over 50000 elements) +Done +``` + +## Files + +- `vectorAddDriverApi.py` - Python implementation using `cuda.bindings.driver` +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../../Utilities/cuda_bindings_utils.py` - Shared bindings helpers (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.bindings` driver API](https://nvidia.github.io/cuda-python/cuda-bindings/latest/module/driver.html) +- [`samples/cuda_core/vectorAdd/`](../../../cuda_core/vectorAdd/) - the high-level `cuda.core` equivalent +- [CUDA Driver API Reference](https://docs.nvidia.com/cuda/cuda-driver-api/index.html) diff --git a/samples/cuda_bindings/0_Introduction/vectorAddDriverApi/requirements.txt b/samples/cuda_bindings/0_Introduction/vectorAddDriverApi/requirements.txt new file mode 100644 index 00000000000..1f02e6a7815 --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/vectorAddDriverApi/requirements.txt @@ -0,0 +1,5 @@ +# vectorAddDriverApi Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.4.0 +numpy>=1.24 diff --git a/samples/cuda_bindings/0_Introduction/vectorAddDriverApi/vectorAddDriverApi.py b/samples/cuda_bindings/0_Introduction/vectorAddDriverApi/vectorAddDriverApi.py new file mode 100644 index 00000000000..f2a5fef2a98 --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/vectorAddDriverApi/vectorAddDriverApi.py @@ -0,0 +1,166 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.4.0", "numpy>=1.24"] +# /// + +""" +Vector addition with the raw CUDA Driver API + +The canonical "hello world" for ``cuda.bindings.driver``. This is the same +element-wise ``C = A + B`` computation shown in the +``samples/cuda_core/vectorAdd/`` sample, but implemented at the driver-API layer: + + * ``cuInit`` -> ``cuDeviceGet`` -> ``cuCtxCreate`` (explicit context) + * ``cuMemAlloc`` / ``cuMemcpyHtoD`` / ``cuMemcpyDtoH`` / ``cuMemFree`` + * ``cuLaunchKernel`` with an explicit ``sharedMemBytes`` and ``stream`` + +The kernel is compiled at runtime through NVRTC and loaded as a +``CUmodule``. The sample also verifies that the selected device advertises +Unified Virtual Addressing (UVA) -- the driver-API property that lets host +pointers and device pointers share the same address space, which the newer +runtime APIs assume. + +Waives with exit code 2 when the device does not support UVA. +""" + +import ctypes +import math +import sys +from pathlib import Path + +# Add samples/cuda_bindings/Utilities/ to the import path for shared bindings helpers. +sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent / "Utilities")) + +try: + import numpy as np + from cuda_bindings_utils import KernelHelper, check_cuda_errors, find_cuda_device_drv, requirement_not_met + + from cuda.bindings import driver as cuda +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +VECTOR_ADD_DRV_KERNEL = """\ +/* Vector addition: C = A + B. + * + * This sample is a very basic sample that implements element by element + * vector addition. It is the same as the sample illustrating Chapter 3 + * of the programming guide with some additions like error checking. + */ + +extern "C" __global__ void VecAdd_kernel(const float *A, const float *B, float *C, int N) +{ + int i = blockDim.x * blockIdx.x + threadIdx.x; + + if (i < N) + C[i] = A[i] + B[i]; +} +""" + + +def main(): + n = 50000 + nbytes = n * np.dtype(np.float32).itemsize + + # ---- 1) Initialize the driver + create an explicit context ---- + check_cuda_errors(cuda.cuInit(0)) + cu_device = find_cuda_device_drv() + cu_context = check_cuda_errors(cuda.cuCtxCreate(None, 0, cu_device)) + + # UVA gives host + device pointers a single virtual address space -- most + # modern driver-API patterns implicitly assume this. + uva_supported = check_cuda_errors( + cuda.cuDeviceGetAttribute(cuda.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING, cu_device) + ) + if not uva_supported: + requirement_not_met("This sample requires Unified Virtual Addressing (UVA) support") + + # ---- 2) Compile and load the kernel ---- + kernel_helper = KernelHelper(VECTOR_ADD_DRV_KERNEL, int(cu_device)) + vec_add_kernel = kernel_helper.get_function(b"VecAdd_kernel") + + # ---- 3) Allocate host + device buffers, copy H2D ---- + h_a = np.random.rand(n).astype(dtype=np.float32) + h_b = np.random.rand(n).astype(dtype=np.float32) + h_c = np.zeros(n, dtype=np.float32) + + d_a = check_cuda_errors(cuda.cuMemAlloc(nbytes)) + d_b = check_cuda_errors(cuda.cuMemAlloc(nbytes)) + d_c = check_cuda_errors(cuda.cuMemAlloc(nbytes)) + + check_cuda_errors(cuda.cuMemcpyHtoD(d_a, h_a, nbytes)) + check_cuda_errors(cuda.cuMemcpyHtoD(d_b, h_b, nbytes)) + + # ---- 4) Launch ---- + threads_per_block = 256 + blocks_per_grid = (n + threads_per_block - 1) // threads_per_block + + kernel_args = ((d_a, d_b, d_c, n), (None, None, None, ctypes.c_int)) + check_cuda_errors( + cuda.cuLaunchKernel( + vec_add_kernel, + blocks_per_grid, + 1, + 1, # grid dim + threads_per_block, + 1, + 1, # block dim + 0, # sharedMemBytes + 0, # stream + kernel_args, + 0, + ) + ) + + # ---- 5) Copy D2H and verify ---- + check_cuda_errors(cuda.cuMemcpyDtoH(h_c, d_c, nbytes)) + + max_err = 0.0 + for i in range(n): + max_err = max(max_err, math.fabs(h_c[i] - (h_a[i] + h_b[i]))) + + # ---- 6) Free device memory and destroy context ---- + check_cuda_errors(cuda.cuMemFree(d_a)) + check_cuda_errors(cuda.cuMemFree(d_b)) + check_cuda_errors(cuda.cuMemFree(d_c)) + check_cuda_errors(cuda.cuCtxDestroy(cu_context)) + + if max_err > 1e-5: + print(f"Result = FAIL (max error {max_err})", file=sys.stderr) + return 1 + + print(f"Result = PASS (max error {max_err:.3e} over {n} elements)") + print("Done") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_bindings/0_Introduction/vectorAddMmap/README.md b/samples/cuda_bindings/0_Introduction/vectorAddMmap/README.md new file mode 100644 index 00000000000..42ce94c2d54 --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/vectorAddMmap/README.md @@ -0,0 +1,114 @@ +# Sample: Vector Add via Virtual Memory Management (Python) + +## Description + +Vector add ``C = A + B``, but each device buffer is built by hand out of +per-device physical backings stitched into a single contiguous virtual +address range. This is the only sample in ``/samples/cuda_bindings`` that teaches the +CUDA Virtual Memory Management (VMM) API. + +The core VMM flow: + +``` +cuMemAddressReserve reserve a chunk of virtual address space +cuMemGetAllocationGranularity query alignment requirements +cuMemCreate create a physical backing on a specific device +cuMemMap map the backing into the reserved VA range +cuMemSetAccess grant read/write access to the mapping device(s) +cuMemUnmap unmap the VA range +cuMemAddressFree release the VA range back to the OS +cuMemRelease release the physical handle +``` + +The allocation is **striped across all peer-capable devices** that also +support VMM ("backing devices"). It's accessed by a single mapping device +(the current device) via ``cuMemSetAccess``. This is the pattern to reach +for when you want NUMA-aware placement across a multi-GPU machine, or when +you need explicit control over which device physically owns each byte. + +Waives on macOS, on 32-bit / aarch64 / sbsa configurations that don't +support VMM, and on devices that don't report +``VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED``. + +## What You'll Learn + +- Reserving virtual address space with `cuMemAddressReserve` +- Querying granularity with `cuMemGetAllocationGranularity` +- Creating physical backings with `cuMemCreate` and releasing the handle + after mapping +- Mapping backings into a VA range with `cuMemMap` (contiguous virtual, + discontiguous physical) +- Configuring access via `cuMemAccessDesc` + `cuMemSetAccess` +- Tearing down VMM allocations cleanly: `cuMemUnmap` + + `cuMemAddressFree` +- Detecting peer capability with `cuDeviceCanAccessPeer` for striping + across devices + +## Key Libraries + +- [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/) - driver bindings +- `numpy` - host arrays + +## Key APIs + +### From `cuda.bindings.driver` + +- `cuMemAddressReserve` / `cuMemAddressFree` +- `cuMemCreate` / `cuMemRelease` +- `cuMemMap` / `cuMemUnmap` +- `cuMemGetAllocationGranularity` +- `cuMemSetAccess` +- `CUmemAllocationProp`, `CUmemLocationType`, `CUmemAllocationType` +- `CUmemAccessDesc`, `CUmemAccess_flags`, `CUmemAllocationGranularity_flags` +- `cuDeviceCanAccessPeer` +- `CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED` + +## Requirements + +### Hardware + +- NVIDIA GPU that reports + `CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 1` + (Pascal-and-newer discrete GPUs on Linux x86-64 and Windows) + +### Software + +- Linux x86-64 or Windows (not supported on macOS, ARMv7, aarch64, or sbsa) +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` (>=13.4.0) +- `numpy` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python vectorAddMmap.py +python vectorAddMmap.py --device=1 +``` + +## Expected Output + +``` +Device 0 VIRTUAL ADDRESS MANAGEMENT SUPPORTED = 1. +Result = PASS (max error 0.000e+00 over 50000 elements, striped across 2 device(s)) +Done +``` + +## Files + +- `vectorAddMmap.py` - Python implementation using `cuda.bindings.driver` +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../../Utilities/cuda_bindings_utils.py` - Shared bindings helpers (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.bindings` driver API](https://nvidia.github.io/cuda-python/cuda-bindings/latest/module/driver.html) +- [CUDA Driver API — Virtual Memory Management](https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__VA.html) diff --git a/samples/cuda_bindings/0_Introduction/vectorAddMmap/requirements.txt b/samples/cuda_bindings/0_Introduction/vectorAddMmap/requirements.txt new file mode 100644 index 00000000000..29b24665f28 --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/vectorAddMmap/requirements.txt @@ -0,0 +1,5 @@ +# vectorAddMmap Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.4.0 +numpy>=1.24 diff --git a/samples/cuda_bindings/0_Introduction/vectorAddMmap/vectorAddMmap.py b/samples/cuda_bindings/0_Introduction/vectorAddMmap/vectorAddMmap.py new file mode 100644 index 00000000000..cb8bd466855 --- /dev/null +++ b/samples/cuda_bindings/0_Introduction/vectorAddMmap/vectorAddMmap.py @@ -0,0 +1,291 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.4.0", "numpy>=1.24"] +# /// + +""" +CUDA Virtual Memory Management (VMM) API + +Vector add C = A + B, but each device buffer is built by hand out of +per-device physical backings stitched into a single contiguous virtual +address range. Uses the Virtual Memory Management API in +``cuda.bindings.driver``: + + cuMemAddressReserve -> reserve a chunk of virtual address space + cuMemGetAllocationGranularity -> query alignment requirements + cuMemCreate -> create a physical backing on a specific device + cuMemMap -> map the backing into the reserved VA range + cuMemSetAccess -> grant read/write access to the mapping device(s) + cuMemUnmap / cuMemAddressFree / cuMemRelease -> tear everything down + +This is the *only* sample that teaches the CUDA VMM API. The allocation +is striped across all peer-capable devices ("backing devices") but is +accessed by a single mapping device (the current device), which is a +useful pattern for NUMA-aware placement across a multi-GPU machine. + +Waives on macOS and on 32-bit / ARM SBSA / aarch64 configurations that do +not support VMM, and on devices that do not report +``VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED``. +""" + +import ctypes +import math +import platform +import sys +from pathlib import Path + +# Add samples/cuda_bindings/Utilities/ to the import path for shared bindings helpers. +sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent / "Utilities")) + +try: + import numpy as np + from cuda_bindings_utils import KernelHelper, check_cuda_errors, find_cuda_device_drv, requirement_not_met + + from cuda.bindings import driver as cuda +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +VECTOR_ADD_MMAP_KERNEL = """\ +extern "C" __global__ void VecAdd_kernel(const float *A, const float *B, float *C, int N) +{ + int i = blockDim.x * blockIdx.x + threadIdx.x; + if (i < N) + C[i] = A[i] + B[i]; +} +""" + + +def _round_up(x, y): + return int((x - 1) / y + 1) * y + + +def _get_backing_devices(cu_device): + """Return ``[cu_device] + ``.""" + num_devices = check_cuda_errors(cuda.cuDeviceGetCount()) + + backing_devices = [cu_device] + for dev in range(num_devices): + if int(dev) == int(cu_device): + continue + + # Only peer-capable devices can back a shared VA range together. + capable = check_cuda_errors(cuda.cuDeviceCanAccessPeer(cu_device, dev)) + if not capable: + continue + + # The device also needs to support VMM to participate. + attribute_val = check_cuda_errors( + cuda.cuDeviceGetAttribute( + cuda.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED, + cu_device, + ) + ) + if attribute_val == 0: + continue + + backing_devices.append(cuda.CUdevice(dev)) + return backing_devices + + +def _simple_malloc_multi_device_mmap(size, resident_devices, mapping_devices, align=0): + """Allocate ``size`` bytes striped across ``resident_devices`` and mapped + into a single contiguous VA range accessible by ``mapping_devices``. + + Returns ``(status, dptr, allocation_size)``. ``allocation_size`` is the + rounded-up size (caller uses it for the matching free). + """ + min_granularity = 0 + + prop = cuda.CUmemAllocationProp() + prop.type = cuda.CUmemAllocationType.CU_MEM_ALLOCATION_TYPE_PINNED + prop.location.type = cuda.CUmemLocationType.CU_MEM_LOCATION_TYPE_DEVICE + + # The stripe size must satisfy each participant's granularity. + for device in resident_devices: + prop.location.id = device + status, granularity = cuda.cuMemGetAllocationGranularity( + prop, cuda.CUmemAllocationGranularity_flags.CU_MEM_ALLOC_GRANULARITY_MINIMUM + ) + if status != cuda.CUresult.CUDA_SUCCESS: + return status, None, None + min_granularity = max(min_granularity, granularity) + + for device in mapping_devices: + prop.location.id = device + status, granularity = cuda.cuMemGetAllocationGranularity( + prop, cuda.CUmemAllocationGranularity_flags.CU_MEM_ALLOC_GRANULARITY_MINIMUM + ) + if status != cuda.CUresult.CUDA_SUCCESS: + return status, None, None + min_granularity = max(min_granularity, granularity) + + # Round up so ``size`` splits evenly into stripes that each meet the granularity requirement. + size = _round_up(size, len(resident_devices) * min_granularity) + stripe_size = size // len(resident_devices) + allocation_size = size + + # Reserve one contiguous VA range for the whole allocation. + status, dptr = cuda.cuMemAddressReserve(size, align, cuda.CUdeviceptr(0), 0) + if status != cuda.CUresult.CUDA_SUCCESS: + _simple_free_multi_device_mmap(dptr, size) + return status, None, None + + # For each backing device, create a physical allocation and map it into the reserved VA range. + for idx in range(len(resident_devices)): + prop.location.id = resident_devices[idx] + + status, allocation_handle = cuda.cuMemCreate(stripe_size, prop, 0) + if status != cuda.CUresult.CUDA_SUCCESS: + _simple_free_multi_device_mmap(dptr, size) + return status, None, None + + # After cuMemMap, the physical handle can be released; the mapping + # keeps the backing alive until the VA range is unmapped. + (status,) = cuda.cuMemMap(int(dptr) + (stripe_size * idx), stripe_size, 0, allocation_handle, 0) + (status2,) = cuda.cuMemRelease(allocation_handle) + if status != cuda.CUresult.CUDA_SUCCESS: + status = status2 + if status != cuda.CUresult.CUDA_SUCCESS: + _simple_free_multi_device_mmap(dptr, size) + return status, None, None + + # Grant each mapping device read/write access to the whole range. + access_descriptors = [cuda.CUmemAccessDesc()] * len(mapping_devices) + for idx in range(len(mapping_devices)): + access_descriptors[idx].location.type = cuda.CUmemLocationType.CU_MEM_LOCATION_TYPE_DEVICE + access_descriptors[idx].location.id = mapping_devices[idx] + access_descriptors[idx].flags = cuda.CUmemAccess_flags.CU_MEM_ACCESS_FLAGS_PROT_READWRITE + + (status,) = cuda.cuMemSetAccess(dptr, size, access_descriptors, len(access_descriptors)) + if status != cuda.CUresult.CUDA_SUCCESS: + _simple_free_multi_device_mmap(dptr, size) + return status, None, None + + return (status, dptr, allocation_size) + + +def _simple_free_multi_device_mmap(dptr, size): + status = cuda.cuMemUnmap(dptr, size) + if status[0] != cuda.CUresult.CUDA_SUCCESS: + return status + status = cuda.cuMemAddressFree(dptr, size) + if status[0] != cuda.CUresult.CUDA_SUCCESS: + return status + return status + + +def main(): + if platform.system() == "Darwin": + requirement_not_met("vectorAddMmap is not supported on Mac OSX") + if platform.machine() in {"armv7l", "aarch64", "sbsa"}: + requirement_not_met(f"vectorAddMmap is not supported on {platform.machine()}") + + n = 50000 + size = n * np.dtype(np.float32).itemsize + + check_cuda_errors(cuda.cuInit(0)) + cu_device = find_cuda_device_drv() + + attribute_val = check_cuda_errors( + cuda.cuDeviceGetAttribute( + cuda.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED, + cu_device, + ) + ) + print(f"Device {cu_device} VIRTUAL ADDRESS MANAGEMENT SUPPORTED = {attribute_val}.") + if not attribute_val: + requirement_not_met(f"Device {cu_device} does not support Virtual Address Management") + + # The kernel launches on cu_device; the allocation stripes across every + # peer-capable device that also supports VMM. + mapping_devices = [cu_device] + backing_devices = _get_backing_devices(cu_device) + + cu_context = check_cuda_errors(cuda.cuCtxCreate(None, 0, cu_device)) + kernel_helper = KernelHelper(VECTOR_ADD_MMAP_KERNEL, int(cu_device)) + vec_add_kernel = kernel_helper.get_function(b"VecAdd_kernel") + + h_a = np.random.rand(n).astype(dtype=np.float32) + h_b = np.random.rand(n).astype(dtype=np.float32) + h_c = np.zeros(n, dtype=np.float32) + + # ---- Allocate device memory via VMM ---- + # (allocation_size might be rounded up above `size` for granularity.) + d_a, allocation_size = check_cuda_errors(_simple_malloc_multi_device_mmap(size, backing_devices, mapping_devices)) + d_b, _ = check_cuda_errors(_simple_malloc_multi_device_mmap(size, backing_devices, mapping_devices)) + d_c, _ = check_cuda_errors(_simple_malloc_multi_device_mmap(size, backing_devices, mapping_devices)) + + check_cuda_errors(cuda.cuMemcpyHtoD(d_a, h_a, size)) + check_cuda_errors(cuda.cuMemcpyHtoD(d_b, h_b, size)) + + threads_per_block = 256 + blocks_per_grid = (n + threads_per_block - 1) // threads_per_block + + kernel_args = ((d_a, d_b, d_c, n), (None, None, None, ctypes.c_int)) + check_cuda_errors( + cuda.cuLaunchKernel( + vec_add_kernel, + blocks_per_grid, + 1, + 1, + threads_per_block, + 1, + 1, + 0, + 0, + kernel_args, + 0, + ) + ) + + check_cuda_errors(cuda.cuMemcpyDtoH(h_c, d_c, size)) + + max_err = 0.0 + for i in range(n): + max_err = max(max_err, math.fabs(h_c[i] - (h_a[i] + h_b[i]))) + + check_cuda_errors(_simple_free_multi_device_mmap(d_a, allocation_size)) + check_cuda_errors(_simple_free_multi_device_mmap(d_b, allocation_size)) + check_cuda_errors(_simple_free_multi_device_mmap(d_c, allocation_size)) + check_cuda_errors(cuda.cuCtxDestroy(cu_context)) + + if max_err > 1e-5: + print(f"Result = FAIL (max error {max_err})", file=sys.stderr) + return 1 + + print(f"Result = PASS (max error {max_err:.3e} over {n} elements, striped across {len(backing_devices)} device(s))") + print("Done") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_bindings/2_Concepts_and_Techniques/streamOrderedAllocation/README.md b/samples/cuda_bindings/2_Concepts_and_Techniques/streamOrderedAllocation/README.md new file mode 100644 index 00000000000..95474dfcb64 --- /dev/null +++ b/samples/cuda_bindings/2_Concepts_and_Techniques/streamOrderedAllocation/README.md @@ -0,0 +1,110 @@ +# Sample: Stream-Ordered Memory Allocation (Python) + +## Description + +Demonstrates the raw stream-ordered allocation API in +``cuda.bindings.runtime``: + +- ``cudaMallocAsync(nbytes, stream)`` / + ``cudaFreeAsync(ptr, stream)`` — allocate and free on a stream, ordered + with any surrounding kernels or copies +- ``cudaDeviceGetDefaultMemPool(dev)`` — grab the default memory pool +- ``cudaMemPoolSetAttribute(pool, cudaMemPoolAttrReleaseThreshold, ...)`` — + ask the pool to *retain* memory across frees instead of releasing it to + the OS + +Two demos are run back to back on a 1M-element vector add: + +1. **Basic** — plain ``cudaMallocAsync`` / launch / ``cudaFreeAsync``. With + the default release threshold of zero, the pool may release chunks back + to the OS between iterations. +2. **Post-sync** — set the release threshold to ``UINT64_MAX`` so + ``cudaFreeAsync`` keeps the pool "warm", then time the loop with CUDA + events to show the steady-state cost. + +This is the low-level counterpart to the high-level +[`samples/cuda_core/memoryResources/`](../../../cuda_core/memoryResources/) sample, whose +``DeviceMemoryResource`` sits on top of the same pool but hides the +attribute knobs. + +Waives on Darwin (Metal-only) and on GPUs without memory-pool support. + +## What You'll Learn + +- Stream-ordered device memory: `cudaMallocAsync` and `cudaFreeAsync` +- Retrieving the device's default memory pool with `cudaDeviceGetDefaultMemPool` +- Tuning `cudaMemPoolAttrReleaseThreshold` for retain-across-frees behavior +- Timing GPU work with `cudaEventCreate` / `cudaEventRecord` / `cudaEventSynchronize` / `cudaEventElapsedTime` + +## Key Libraries + +- [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/) - driver + runtime bindings +- `numpy` - host arrays and reference computation + +## Key APIs + +### From `cuda.bindings.runtime` + +- `cudaSetDevice`, `cudaStreamCreateWithFlags`, `cudaStreamDestroy`, `cudaStreamSynchronize` +- `cudaMallocAsync`, `cudaFreeAsync`, `cudaMemcpyAsync` +- `cudaDeviceGetDefaultMemPool`, `cudaMemPoolSetAttribute`, `cudaMemPoolAttr` +- `cudaEventCreate`, `cudaEventRecord`, `cudaEventSynchronize`, `cudaEventElapsedTime` + +### From `cuda.bindings.driver` + +- `cuLaunchKernel` +- `CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED` + +## Requirements + +### Hardware + +- NVIDIA GPU that supports memory pools (all modern discrete GPUs since Volta) + +### Software + +- CUDA Toolkit 11.3 or newer (feature gate for `MEMORY_POOLS_SUPPORTED`) +- Python 3.10 or newer +- `cuda-python` (>=13.4.0) +- `numpy` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python streamOrderedAllocation.py +python streamOrderedAllocation.py --device=1 +``` + +## Expected Output + +Timings depend on GPU and CPU. + +``` +Starting basicStreamOrderedAllocation() +> Checking the results from vectorAddGPU() ... +Starting streamOrderedAllocationPostSync() +Total elapsed time = 12.345 ms over 20 iterations +> Checking the results from vectorAddGPU() ... +Both stream-ordered allocation variants verified. +Done +``` + +## Files + +- `streamOrderedAllocation.py` - Python implementation using `cuda.bindings` +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../../Utilities/cuda_bindings_utils.py` - Shared bindings helpers (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.bindings` runtime API](https://nvidia.github.io/cuda-python/cuda-bindings/latest/module/runtime.html) +- [`samples/cuda_core/memoryResources/`](../../../cuda_core/memoryResources/) - the high-level `cuda.core` equivalent +- [CUDA Runtime API — Stream Ordered Memory Allocator](https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__MEMORY__POOLS.html) diff --git a/samples/cuda_bindings/2_Concepts_and_Techniques/streamOrderedAllocation/requirements.txt b/samples/cuda_bindings/2_Concepts_and_Techniques/streamOrderedAllocation/requirements.txt new file mode 100644 index 00000000000..bee27a0dc0f --- /dev/null +++ b/samples/cuda_bindings/2_Concepts_and_Techniques/streamOrderedAllocation/requirements.txt @@ -0,0 +1,5 @@ +# streamOrderedAllocation Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.4.0 +numpy>=1.24 diff --git a/cuda_bindings/examples/2_Concepts_and_Techniques/stream_ordered_allocation.py b/samples/cuda_bindings/2_Concepts_and_Techniques/streamOrderedAllocation/streamOrderedAllocation.py similarity index 53% rename from cuda_bindings/examples/2_Concepts_and_Techniques/stream_ordered_allocation.py rename to samples/cuda_bindings/2_Concepts_and_Techniques/streamOrderedAllocation/streamOrderedAllocation.py index b45f11f317b..5e82cdda38d 100644 --- a/cuda_bindings/examples/2_Concepts_and_Techniques/stream_ordered_allocation.py +++ b/samples/cuda_bindings/2_Concepts_and_Techniques/streamOrderedAllocation/streamOrderedAllocation.py @@ -1,64 +1,106 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. # -# This example demonstrates stream-ordered memory allocation (cudaMallocAsync -# / cudaFreeAsync) and memory pool release thresholds. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. # -# ################################################################################ +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy"] +# dependencies = ["cuda-python>=13.4.0", "numpy>=1.24"] # /// +""" +Stream-ordered memory allocation with cudaMallocAsync + +Demonstrates the raw ``cudaMallocAsync`` / ``cudaFreeAsync`` API and the +memory-pool release-threshold attribute +(``cudaMemPoolAttrReleaseThreshold``). + +Two variants are run back to back on the same 1M-element vector add: + + 1. **Basic** -- ``cudaMallocAsync`` / launch / ``cudaFreeAsync`` per + iteration on the default memory pool. The default release threshold is + zero, so the pool may release chunks back to the OS between calls. + 2. **Post-sync** -- set ``cudaMemPoolAttrReleaseThreshold`` to a very + large value so ``cudaFreeAsync`` never releases memory back to the OS + during the steady-state loop, then time the loop with CUDA events. + +This is the low-level counterpart to the high-level +[`samples/cuda_core/memoryResources/`](../../../cuda_core/memoryResources/) sample, whose +``DeviceMemoryResource`` sits on top of the same pool but hides the +attribute knobs. + +Waives on Darwin (Metal-only) and on GPUs without memory-pool support. +""" + import ctypes import math import platform import random as rnd import sys +from pathlib import Path + +# Add samples/cuda_bindings/Utilities/ to the import path for shared bindings helpers. +sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent / "Utilities")) + +try: + import numpy as np + from cuda_bindings_utils import ( + KernelHelper, + check_cmd_line_flag, + check_cuda_errors, + find_cuda_device, + requirement_not_met, + ) -import numpy as np + from cuda.bindings import driver as cuda + from cuda.bindings import runtime as cudart +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) -from cuda.bindings import driver as cuda -from cuda.bindings import runtime as cudart -from cuda.bindings._example_helpers import ( - KernelHelper, - check_cmd_line_flag, - check_cuda_errors, - find_cuda_device, - requirement_not_met, -) -stream_ordered_allocation = """\ +VECTOR_ADD_KERNEL = """\ /* Add two vectors on the GPU */ extern "C" __global__ void vectorAddGPU(const float *a, const float *b, float *c, int N) { int idx = blockIdx.x*blockDim.x + threadIdx.x; - if (idx < N) { - c[idx] = a[idx] + b[idx]; + c[idx] = a[idx] + b[idx]; } } """ + MAX_ITER = 20 +# Populated once in main() so the two demo functions can call the same kernel. +_vector_add_gpu = None -def basic_stream_ordered_allocation(dev, nelem, a, b, c): - num_bytes = nelem * np.dtype(np.float32).itemsize - - print("Starting basicStreamOrderedAllocation()") - check_cuda_errors(cudart.cudaSetDevice(dev)) - stream = check_cuda_errors(cudart.cudaStreamCreateWithFlags(cudart.cudaStreamNonBlocking)) - - d_a = check_cuda_errors(cudart.cudaMallocAsync(num_bytes, stream)) - d_b = check_cuda_errors(cudart.cudaMallocAsync(num_bytes, stream)) - d_c = check_cuda_errors(cudart.cudaMallocAsync(num_bytes, stream)) - check_cuda_errors(cudart.cudaMemcpyAsync(d_a, a, num_bytes, cudart.cudaMemcpyKind.cudaMemcpyHostToDevice, stream)) - check_cuda_errors(cudart.cudaMemcpyAsync(d_b, b, num_bytes, cudart.cudaMemcpyKind.cudaMemcpyHostToDevice, stream)) +def _launch_add(stream, nelem, d_a, d_b, d_c): block = cudart.dim3() block.x = 256 block.y = 1 @@ -77,46 +119,62 @@ def basic_stream_ordered_allocation(dev, nelem, a, b, c): _vector_add_gpu, grid.x, grid.y, - grid.z, # grid dim + grid.z, block.x, block.y, - block.z, # block dim + block.z, 0, - stream, # shared mem and stream + stream, kernel_args, 0, ) - ) # arguments + ) - check_cuda_errors(cudart.cudaFreeAsync(d_a, stream)) - check_cuda_errors(cudart.cudaFreeAsync(d_b, stream)) - check_cuda_errors(cudart.cudaMemcpyAsync(c, d_c, num_bytes, cudart.cudaMemcpyKind.cudaMemcpyDeviceToHost, stream)) - check_cuda_errors(cudart.cudaFreeAsync(d_c, stream)) - check_cuda_errors(cudart.cudaStreamSynchronize(stream)) - # Compare the results - print("> Checking the results from vectorAddGPU() ...") +def _l2_norm_error(nelem, a, b, c): error_norm = 0.0 ref_norm = 0.0 - for n in range(nelem): ref = a[n] + b[n] diff = c[n] - ref error_norm += diff * diff ref_norm += ref * ref - error_norm = math.sqrt(error_norm) ref_norm = math.sqrt(ref_norm) + return error_norm / ref_norm if ref_norm > 0 else error_norm - check_cuda_errors(cudart.cudaStreamDestroy(stream)) - return error_norm / ref_norm < 1.0e-6 +def basic_stream_ordered_allocation(dev, nelem, a, b, c): + """Basic stream-ordered alloc/free of the three vectors, no pool tuning.""" + num_bytes = nelem * np.dtype(np.float32).itemsize + + print("Starting basicStreamOrderedAllocation()") + check_cuda_errors(cudart.cudaSetDevice(dev)) + stream = check_cuda_errors(cudart.cudaStreamCreateWithFlags(cudart.cudaStreamNonBlocking)) + + d_a = check_cuda_errors(cudart.cudaMallocAsync(num_bytes, stream)) + d_b = check_cuda_errors(cudart.cudaMallocAsync(num_bytes, stream)) + d_c = check_cuda_errors(cudart.cudaMallocAsync(num_bytes, stream)) + check_cuda_errors(cudart.cudaMemcpyAsync(d_a, a, num_bytes, cudart.cudaMemcpyKind.cudaMemcpyHostToDevice, stream)) + check_cuda_errors(cudart.cudaMemcpyAsync(d_b, b, num_bytes, cudart.cudaMemcpyKind.cudaMemcpyHostToDevice, stream)) + + _launch_add(stream, nelem, d_a, d_b, d_c) + + check_cuda_errors(cudart.cudaFreeAsync(d_a, stream)) + check_cuda_errors(cudart.cudaFreeAsync(d_b, stream)) + check_cuda_errors(cudart.cudaMemcpyAsync(c, d_c, num_bytes, cudart.cudaMemcpyKind.cudaMemcpyDeviceToHost, stream)) + check_cuda_errors(cudart.cudaFreeAsync(d_c, stream)) + check_cuda_errors(cudart.cudaStreamSynchronize(stream)) + + print("> Checking the results from vectorAddGPU() ...") + err = _l2_norm_error(nelem, a, b, c) + check_cuda_errors(cudart.cudaStreamDestroy(stream)) + return err < 1.0e-6 -# streamOrderedAllocationPostSync(): demonstrates If the application wants the memory to persist in the pool beyond -# synchronization, then it sets the release threshold on the pool. This way, when the application reaches the "steady state", -# it is no longer allocating/freeing memory from the OS. def stream_ordered_allocation_post_sync(dev, nelem, a, b, c): + """Same alloc/launch/free loop, but with a huge release threshold so the + pool retains its backing between iterations and does not thrash the OS.""" num_bytes = nelem * np.dtype(np.float32).itemsize print("Starting streamOrderedAllocationPostSync()") @@ -126,10 +184,7 @@ def stream_ordered_allocation_post_sync(dev, nelem, a, b, c): end = check_cuda_errors(cudart.cudaEventCreate()) mem_pool = check_cuda_errors(cudart.cudaDeviceGetDefaultMemPool(dev)) - threshold_val = cuda.cuuint64_t(ctypes.c_uint64(-1).value) - # Set high release threshold on the default pool so that cudaFreeAsync will not actually release memory to the system. - # By default, the release threshold for a memory pool is set to zero. This implies that the CUDA driver is - # allowed to release a memory chunk back to the system as long as it does not contain any active suballocations. + threshold_val = cuda.cuuint64_t(ctypes.c_uint64(-1).value) # ~UINT64_MAX check_cuda_errors( cudart.cudaMemPoolSetAttribute( mem_pool, @@ -137,9 +192,9 @@ def stream_ordered_allocation_post_sync(dev, nelem, a, b, c): threshold_val, ) ) - # Record the start event + check_cuda_errors(cudart.cudaEventRecord(start, stream)) - for _i in range(MAX_ITER): + for _ in range(MAX_ITER): d_a = check_cuda_errors(cudart.cudaMallocAsync(num_bytes, stream)) d_b = check_cuda_errors(cudart.cudaMallocAsync(num_bytes, stream)) d_c = check_cuda_errors(cudart.cudaMallocAsync(num_bytes, stream)) @@ -150,34 +205,7 @@ def stream_ordered_allocation_post_sync(dev, nelem, a, b, c): cudart.cudaMemcpyAsync(d_b, b, num_bytes, cudart.cudaMemcpyKind.cudaMemcpyHostToDevice, stream) ) - block = cudart.dim3() - block.x = 256 - block.y = 1 - block.z = 1 - grid = cudart.dim3() - grid.x = math.ceil(nelem / float(block.x)) - grid.y = 1 - grid.z = 1 - - kernel_args = ( - (d_a, d_b, d_c, nelem), - (ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_int), - ) - check_cuda_errors( - cuda.cuLaunchKernel( - _vector_add_gpu, - grid.x, - grid.y, - grid.z, # grid dim - block.x, - block.y, - block.z, # block dim - 0, - stream, # shared mem and stream - kernel_args, - 0, - ) - ) # arguments + _launch_add(stream, nelem, d_a, d_b, d_c) check_cuda_errors(cudart.cudaFreeAsync(d_a, stream)) check_cuda_errors(cudart.cudaFreeAsync(d_b, stream)) @@ -187,29 +215,15 @@ def stream_ordered_allocation_post_sync(dev, nelem, a, b, c): check_cuda_errors(cudart.cudaFreeAsync(d_c, stream)) check_cuda_errors(cudart.cudaStreamSynchronize(stream)) check_cuda_errors(cudart.cudaEventRecord(end, stream)) - # Wait for the end event to complete check_cuda_errors(cudart.cudaEventSynchronize(end)) msec_total = check_cuda_errors(cudart.cudaEventElapsedTime(start, end)) - print(f"Total elapsed time = {msec_total} ms over {MAX_ITER} iterations") + print(f"Total elapsed time = {msec_total:.3f} ms over {MAX_ITER} iterations") - # Compare the results print("> Checking the results from vectorAddGPU() ...") - error_norm = 0.0 - ref_norm = 0.0 - - for n in range(nelem): - ref = a[n] + b[n] - diff = c[n] - ref - error_norm += diff * diff - ref_norm += ref * ref - - error_norm = math.sqrt(error_norm) - ref_norm = math.sqrt(ref_norm) - + err = _l2_norm_error(nelem, a, b, c) check_cuda_errors(cudart.cudaStreamDestroy(stream)) - - return error_norm / ref_norm < 1.0e-6 + return err < 1.0e-6 def main(): @@ -218,10 +232,10 @@ def main(): cuda.cuInit(0) if check_cmd_line_flag("help"): - print("Usage: streamOrderedAllocation [OPTION]\n", file=sys.stderr) - print("Options:", file=sys.stderr) - print(" device=[device #] Specify the device to be used", file=sys.stderr) - sys.exit(1) + print("Usage: streamOrderedAllocation [OPTION]") + print("Options:") + print(" device=[device #] Specify the device to be used") + return 0 dev = find_cuda_device() @@ -233,20 +247,16 @@ def main(): cudart.cudaDeviceGetAttribute(cuda.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED, dev) ) if not is_mem_pool_supported: - requirement_not_met("Waiving execution as device does not support Memory Pools") + requirement_not_met("Waiving execution: device does not support Memory Pools") global _vector_add_gpu - kernel_helper = KernelHelper(stream_ordered_allocation, dev) + kernel_helper = KernelHelper(VECTOR_ADD_KERNEL, dev) _vector_add_gpu = kernel_helper.get_function(b"vectorAddGPU") - # Allocate CPU memory nelem = 1048576 - nelem * np.dtype(np.float32).itemsize - a = np.zeros(nelem, dtype="float32") b = np.zeros(nelem, dtype="float32") c = np.zeros(nelem, dtype="float32") - # Initialize the vectors for i in range(nelem): a[i] = rnd.random() b[i] = rnd.random() @@ -254,9 +264,13 @@ def main(): ret1 = basic_stream_ordered_allocation(dev, nelem, a, b, c) ret2 = stream_ordered_allocation_post_sync(dev, nelem, a, b, c) - if not ret1 or not ret2: - sys.exit(1) + if not (ret1 and ret2): + return 1 + + print("Both stream-ordered allocation variants verified.") + print("Done") + return 0 if __name__ == "__main__": - main() + sys.exit(main()) diff --git a/samples/cuda_bindings/3_CUDA_Features/cudaGraphsManualNodes/README.md b/samples/cuda_bindings/3_CUDA_Features/cudaGraphsManualNodes/README.md new file mode 100644 index 00000000000..90b69c75e02 --- /dev/null +++ b/samples/cuda_bindings/3_CUDA_Features/cudaGraphsManualNodes/README.md @@ -0,0 +1,112 @@ +# Sample: CUDA Graphs — Manual Node Construction vs Stream Capture (Python) + +## Description + +Builds the same two-stage reduction as a CUDA graph twice, back-to-back: + +1. **Manual node construction** — `cudaGraphCreate` + + `cudaGraphAddMemcpyNode` / `cudaGraphAddMemsetNode` / + `cuGraphAddKernelNode`, wiring node dependencies by hand. +2. **Stream capture** — `cudaStreamBeginCapture` / `cudaStreamEndCapture` + on three streams joined by events; the driver derives the same DAG + from the actual launches. + +Both paths produce a `cudaGraph_t`, are instantiated +(`cudaGraphInstantiate`), cloned (`cudaGraphClone`), and replayed several +times (`cudaGraphLaunch`). + +The high-level counterpart in `/samples/cuda_core` is +[`samples/cuda_core/cudaGraphs/`](../../../cuda_core/cudaGraphs/), which teaches stream capture +at the `cuda.core` layer. This sample is the only place in `/samples/cuda_bindings` +that shows the **manual node-by-node construction** pattern — useful +when you're programmatically building a graph without a driving stream. + +## What You'll Learn + +- Constructing a CUDA graph manually, one node at a time +- Wiring `cudaGraphAddMemcpyNode` / `cudaGraphAddMemsetNode` / + `cuGraphAddKernelNode` with explicit dependency lists +- Instantiating (`cudaGraphInstantiate`) and cloning (`cudaGraphClone`) + a graph +- Replaying an executable graph on a stream (`cudaGraphLaunch`) +- Building the same graph implicitly via stream capture on multiple + streams joined by events + +## Key Libraries + +- [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/) - driver + runtime bindings +- `numpy` - host / dtype sizes + +## Key APIs + +### From `cuda.bindings.runtime` + +- `cudaGraphCreate`, `cudaGraphDestroy` +- `cudaGraphAddMemcpyNode`, `cudaGraphAddMemsetNode` +- `cudaGraphInstantiate`, `cudaGraphExecDestroy` +- `cudaGraphClone`, `cudaGraphGetNodes`, `cudaGraphLaunch` +- `cudaStreamBeginCapture` / `cudaStreamEndCapture` +- `cudaStreamCreate`, `cudaStreamWaitEvent`, `cudaStreamSynchronize` +- `cudaEventCreate`, `cudaEventRecord` +- `cudaMallocHost`, `cudaMalloc`, `cudaFreeHost`, `cudaFree` + +### From `cuda.bindings.driver` + +- `cuGraphAddKernelNode` +- `CUDA_KERNEL_NODE_PARAMS` +- `cuLaunchKernel` + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 5.0 or higher + +### Software + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` (>=13.4.0) +- `numpy` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python cudaGraphsManualNodes.py +python cudaGraphsManualNodes.py --device=1 +``` + +## Expected Output + +``` +16777216 elements +threads per block = 512 +Graph Launch iterations = 3 + +Num of nodes in the graph created manually = 6 +Cloned Graph Output.. + +Num of nodes in the graph created using stream capture API = 7 +Cloned Graph Output.. +Done +``` + +## Files + +- `cudaGraphsManualNodes.py` - Python implementation using `cuda.bindings` +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../../Utilities/cuda_bindings_utils.py` - Shared bindings helpers (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.bindings` runtime API](https://nvidia.github.io/cuda-python/cuda-bindings/latest/module/runtime.html) +- [`samples/cuda_core/cudaGraphs/`](../../../cuda_core/cudaGraphs/) - the high-level `cuda.core` equivalent (stream capture only) +- [CUDA C++ Programming Guide — CUDA Graphs](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#cuda-graphs) diff --git a/cuda_bindings/examples/3_CUDA_Features/simple_cuda_graphs.py b/samples/cuda_bindings/3_CUDA_Features/cudaGraphsManualNodes/cudaGraphsManualNodes.py similarity index 69% rename from cuda_bindings/examples/3_CUDA_Features/simple_cuda_graphs.py rename to samples/cuda_bindings/3_CUDA_Features/cudaGraphsManualNodes/cudaGraphsManualNodes.py index 317a774d5df..5b7ac080c5a 100644 --- a/cuda_bindings/examples/3_CUDA_Features/simple_cuda_graphs.py +++ b/samples/cuda_bindings/3_CUDA_Features/cudaGraphsManualNodes/cudaGraphsManualNodes.py @@ -1,34 +1,82 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. # -# This example demonstrates CUDA Graphs for capture and replay of GPU -# workloads, including manual graph construction and stream capture. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. # -# ################################################################################ +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy"] +# dependencies = ["cuda-python>=13.4.0", "numpy>=1.24"] # /// +""" +CUDA Graphs: manual node construction vs stream capture + +Builds the same two-stage reduction as a CUDA graph twice: + + 1. **Manual node construction** -- ``cudaGraphCreate`` + explicit + ``cudaGraphAddMemcpyNode`` / ``cudaGraphAddMemsetNode`` / + ``cuGraphAddKernelNode`` calls, wiring dependencies by hand. + 2. **Stream capture** -- ``cudaStreamBeginCapture`` / + ``cudaStreamEndCapture`` on three streams joined by events; the + driver derives the same DAG from the actual launches. + +Both paths produce a ``cudaGraph_t``, are instantiated +(``cudaGraphInstantiate``), cloned (``cudaGraphClone``), and replayed +several times (``cudaGraphLaunch``). + +The high-level counterpart in ``/samples/cuda_core`` is +[`samples/cuda_core/cudaGraphs/`](../../../cuda_core/cudaGraphs/), which teaches stream capture at +the ``cuda.core`` layer. This sample is the *only* place that shows the +manual-node-construction pattern (useful when you're building a graph +programmatically without a driving stream). +""" + import ctypes import random as rnd +import sys +from pathlib import Path + +# Add samples/cuda_bindings/Utilities/ to the import path for shared bindings helpers. +sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent / "Utilities")) + +try: + import numpy as np + from cuda_bindings_utils import KernelHelper, check_cuda_errors, find_cuda_device -import numpy as np + from cuda.bindings import driver as cuda + from cuda.bindings import runtime as cudart +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) -from cuda.bindings import driver as cuda -from cuda.bindings import runtime as cudart -from cuda.bindings._example_helpers import ( - KernelHelper, - check_cuda_errors, - find_cuda_device, -) THREADS_PER_BLOCK = 512 GRAPH_LAUNCH_ITERATIONS = 3 -simple_cuda_graphs = """\ + +REDUCE_KERNEL_SOURCE = """\ #include #include @@ -99,36 +147,36 @@ if ((blockDim.x >= 512) && (cta.thread_rank() < 256)) { tmp[cta.thread_rank()] = temp_sum = temp_sum + tmp[cta.thread_rank() + 256]; } - cg::sync(cta); if ((blockDim.x >= 256) && (cta.thread_rank() < 128)) { tmp[cta.thread_rank()] = temp_sum = temp_sum + tmp[cta.thread_rank() + 128]; } - cg::sync(cta); if ((blockDim.x >= 128) && (cta.thread_rank() < 64)) { tmp[cta.thread_rank()] = temp_sum = temp_sum + tmp[cta.thread_rank() + 64]; } - cg::sync(cta); if (cta.thread_rank() < 32) { - // Fetch final intermediate sum from 2nd warp if (blockDim.x >= 64) temp_sum += tmp[cta.thread_rank() + 32]; - // Reduce final warp using shuffle for (int offset = tile32.size() / 2; offset > 0; offset /= 2) { temp_sum += tile32.shfl_down(temp_sum, offset); } } - // write result for this block to global mem if (cta.thread_rank() == 0) result[0] = temp_sum; } """ -def init_input(a, size): +# Kernels are looked up at main() startup and captured here so the graph +# construction helpers can reference them. +_reduce = None +_reduce_final = None + + +def _init_input(a, size): ctypes.c_float.from_address(a) a_list = ctypes.pointer(ctypes.c_float.from_address(a)) for i in range(size): @@ -136,15 +184,16 @@ def init_input(a, size): def cuda_graphs_manual(input_vec_h, input_vec_d, output_vec_d, result_d, input_size, num_of_blocks): + """Build the graph node by node with explicit dependency arrays.""" result_h = ctypes.c_double(0.0) node_dependencies = [] stream_for_graph = check_cuda_errors(cudart.cudaStreamCreate()) - kernel_node_params = cuda.CUDA_KERNEL_NODE_PARAMS() memcpy_params = cudart.cudaMemcpy3DParms() memset_params = cudart.cudaMemsetParams() + # H2D memcpy node: input_vec_h -> input_vec_d memcpy_params.srcArray = None memcpy_params.srcPos = cudart.make_cudaPos(0, 0, 0) memcpy_params.srcPtr = cudart.make_cudaPitchedPtr( @@ -158,10 +207,11 @@ def cuda_graphs_manual(input_vec_h, input_vec_d, output_vec_d, result_d, input_s memcpy_params.extent = cudart.make_cudaExtent(np.dtype(np.float32).itemsize * input_size, 1, 1) memcpy_params.kind = cudart.cudaMemcpyKind.cudaMemcpyHostToDevice + # Memset node: zero output_vec_d memset_params.dst = output_vec_d memset_params.value = 0 memset_params.pitch = 0 - memset_params.elementSize = np.dtype(np.float32).itemsize # elementSize can be max 4 bytes + memset_params.elementSize = np.dtype(np.float32).itemsize # max 4 bytes memset_params.width = num_of_blocks * 2 memset_params.height = 1 @@ -169,31 +219,28 @@ def cuda_graphs_manual(input_vec_h, input_vec_d, output_vec_d, result_d, input_s memcpy_node = check_cuda_errors(cudart.cudaGraphAddMemcpyNode(graph, None, 0, memcpy_params)) memset_node = check_cuda_errors(cudart.cudaGraphAddMemsetNode(graph, None, 0, memset_params)) - node_dependencies.append(memset_node) node_dependencies.append(memcpy_node) - kernel_args = ( - (input_vec_d, output_vec_d, input_size, num_of_blocks), - (ctypes.c_void_p, ctypes.c_void_p, ctypes.c_size_t, ctypes.c_uint), - ) - + # First reduce kernel node: input_vec_d -> output_vec_d + kernel_node_params = cuda.CUDA_KERNEL_NODE_PARAMS() kernel_node_params.func = _reduce kernel_node_params.gridDimX = num_of_blocks kernel_node_params.gridDimY = kernel_node_params.gridDimZ = 1 kernel_node_params.blockDimX = THREADS_PER_BLOCK kernel_node_params.blockDimY = kernel_node_params.blockDimZ = 1 kernel_node_params.sharedMemBytes = 0 - kernel_node_params.kernelParams = kernel_args - # kernelNodeParams.extra = None - + kernel_node_params.kernelParams = ( + (input_vec_d, output_vec_d, input_size, num_of_blocks), + (ctypes.c_void_p, ctypes.c_void_p, ctypes.c_size_t, ctypes.c_uint), + ) kernel_node = check_cuda_errors( cuda.cuGraphAddKernelNode(graph, node_dependencies, len(node_dependencies), kernel_node_params) ) - node_dependencies.clear() node_dependencies.append(kernel_node) + # Zero result_d memset_params = cudart.cudaMemsetParams() memset_params.dst = result_d memset_params.value = 0 @@ -201,31 +248,27 @@ def cuda_graphs_manual(input_vec_h, input_vec_d, output_vec_d, result_d, input_s memset_params.width = 2 memset_params.height = 1 memset_node = check_cuda_errors(cudart.cudaGraphAddMemsetNode(graph, None, 0, memset_params)) - node_dependencies.append(memset_node) + # Second (final) reduce kernel node: output_vec_d -> result_d kernel_node_params = cuda.CUDA_KERNEL_NODE_PARAMS() - kernel_node_params.func = _reduceFinal + kernel_node_params.func = _reduce_final kernel_node_params.gridDimX = kernel_node_params.gridDimY = kernel_node_params.gridDimZ = 1 kernel_node_params.blockDimX = THREADS_PER_BLOCK kernel_node_params.blockDimY = kernel_node_params.blockDimZ = 1 kernel_node_params.sharedMemBytes = 0 - kernel_args2 = ( + kernel_node_params.kernelParams = ( (output_vec_d, result_d, num_of_blocks), (ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint), ) - kernel_node_params.kernelParams = kernel_args2 - # kernelNodeParams.extra = None - kernel_node = check_cuda_errors( cuda.cuGraphAddKernelNode(graph, node_dependencies, len(node_dependencies), kernel_node_params) ) - node_dependencies.clear() node_dependencies.append(kernel_node) + # D2H memcpy node: result_d -> result_h memcpy_params = cudart.cudaMemcpy3DParms() - memcpy_params.srcArray = None memcpy_params.srcPos = cudart.make_cudaPos(0, 0, 0) memcpy_params.srcPtr = cudart.make_cudaPitchedPtr(result_d, np.dtype(np.float64).itemsize, 1, 1) @@ -237,29 +280,23 @@ def cuda_graphs_manual(input_vec_h, input_vec_d, output_vec_d, result_d, input_s memcpy_node = check_cuda_errors( cudart.cudaGraphAddMemcpyNode(graph, node_dependencies, len(node_dependencies), memcpy_params) ) - node_dependencies.clear() node_dependencies.append(memcpy_node) - # WIP: Host nodes - - nodes, num_nodes = check_cuda_errors(cudart.cudaGraphGetNodes(graph)) + _, num_nodes = check_cuda_errors(cudart.cudaGraphGetNodes(graph)) print(f"\nNum of nodes in the graph created manually = {num_nodes}") graph_exec = check_cuda_errors(cudart.cudaGraphInstantiate(graph, 0)) - cloned_graph = check_cuda_errors(cudart.cudaGraphClone(graph)) cloned_graph_exec = check_cuda_errors(cudart.cudaGraphInstantiate(cloned_graph, 0)) - for _i in range(GRAPH_LAUNCH_ITERATIONS): + for _ in range(GRAPH_LAUNCH_ITERATIONS): check_cuda_errors(cudart.cudaGraphLaunch(graph_exec, stream_for_graph)) - check_cuda_errors(cudart.cudaStreamSynchronize(stream_for_graph)) print("Cloned Graph Output..") - for _i in range(GRAPH_LAUNCH_ITERATIONS): + for _ in range(GRAPH_LAUNCH_ITERATIONS): check_cuda_errors(cudart.cudaGraphLaunch(cloned_graph_exec, stream_for_graph)) - check_cuda_errors(cudart.cudaStreamSynchronize(stream_for_graph)) check_cuda_errors(cudart.cudaGraphExecDestroy(graph_exec)) @@ -270,6 +307,7 @@ def cuda_graphs_manual(input_vec_h, input_vec_d, output_vec_d, result_d, input_s def cuda_graphs_using_stream_capture(input_vec_h, input_vec_d, output_vec_d, result_d, input_size, num_of_blocks): + """Capture the same DAG by recording actual launches on three streams.""" result_h = ctypes.c_double(0.0) stream1 = check_cuda_errors(cudart.cudaStreamCreate()) @@ -277,16 +315,18 @@ def cuda_graphs_using_stream_capture(input_vec_h, input_vec_d, output_vec_d, res stream3 = check_cuda_errors(cudart.cudaStreamCreate()) stream_for_graph = check_cuda_errors(cudart.cudaStreamCreate()) - fork_stream_event = check_cuda_errors(cudart.cudaEventCreate()) + fork_event = check_cuda_errors(cudart.cudaEventCreate()) memset_event1 = check_cuda_errors(cudart.cudaEventCreate()) memset_event2 = check_cuda_errors(cudart.cudaEventCreate()) check_cuda_errors(cudart.cudaStreamBeginCapture(stream1, cudart.cudaStreamCaptureMode.cudaStreamCaptureModeGlobal)) - check_cuda_errors(cudart.cudaEventRecord(fork_stream_event, stream1)) - check_cuda_errors(cudart.cudaStreamWaitEvent(stream2, fork_stream_event, 0)) - check_cuda_errors(cudart.cudaStreamWaitEvent(stream3, fork_stream_event, 0)) + # Fork stream1 into stream2 and stream3. + check_cuda_errors(cudart.cudaEventRecord(fork_event, stream1)) + check_cuda_errors(cudart.cudaStreamWaitEvent(stream2, fork_event, 0)) + check_cuda_errors(cudart.cudaStreamWaitEvent(stream3, fork_event, 0)) + # H2D on stream1; two zeroing memsets in parallel on stream2 / stream3. check_cuda_errors( cudart.cudaMemcpyAsync( input_vec_d, @@ -296,44 +336,32 @@ def cuda_graphs_using_stream_capture(input_vec_h, input_vec_d, output_vec_d, res stream1, ) ) - check_cuda_errors(cudart.cudaMemsetAsync(output_vec_d, 0, np.dtype(np.float64).itemsize * num_of_blocks, stream2)) - check_cuda_errors(cudart.cudaEventRecord(memset_event1, stream2)) - check_cuda_errors(cudart.cudaMemsetAsync(result_d, 0, np.dtype(np.float64).itemsize, stream3)) check_cuda_errors(cudart.cudaEventRecord(memset_event2, stream3)) check_cuda_errors(cudart.cudaStreamWaitEvent(stream1, memset_event1, 0)) + # First reduce. kernel_args = ( (input_vec_d, output_vec_d, input_size, num_of_blocks), (ctypes.c_void_p, ctypes.c_void_p, ctypes.c_size_t, ctypes.c_uint), ) check_cuda_errors( - cuda.cuLaunchKernel( - _reduce, - num_of_blocks, - 1, - 1, - THREADS_PER_BLOCK, - 1, - 1, - 0, - stream1, - kernel_args, - 0, - ) + cuda.cuLaunchKernel(_reduce, num_of_blocks, 1, 1, THREADS_PER_BLOCK, 1, 1, 0, stream1, kernel_args, 0) ) check_cuda_errors(cudart.cudaStreamWaitEvent(stream1, memset_event2, 0)) + # Final reduce. kernel_args2 = ( (output_vec_d, result_d, num_of_blocks), (ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint), ) - check_cuda_errors(cuda.cuLaunchKernel(_reduceFinal, 1, 1, 1, THREADS_PER_BLOCK, 1, 1, 0, stream1, kernel_args2, 0)) + check_cuda_errors(cuda.cuLaunchKernel(_reduce_final, 1, 1, 1, THREADS_PER_BLOCK, 1, 1, 0, stream1, kernel_args2, 0)) + # D2H copy of the scalar result. check_cuda_errors( cudart.cudaMemcpyAsync( result_h, @@ -344,27 +372,21 @@ def cuda_graphs_using_stream_capture(input_vec_h, input_vec_d, output_vec_d, res ) ) - # WIP: Host nodes - graph = check_cuda_errors(cudart.cudaStreamEndCapture(stream1)) - - nodes, num_nodes = check_cuda_errors(cudart.cudaGraphGetNodes(graph)) + _, num_nodes = check_cuda_errors(cudart.cudaGraphGetNodes(graph)) print(f"\nNum of nodes in the graph created using stream capture API = {num_nodes}") graph_exec = check_cuda_errors(cudart.cudaGraphInstantiate(graph, 0)) - cloned_graph = check_cuda_errors(cudart.cudaGraphClone(graph)) cloned_graph_exec = check_cuda_errors(cudart.cudaGraphInstantiate(cloned_graph, 0)) - for _i in range(GRAPH_LAUNCH_ITERATIONS): + for _ in range(GRAPH_LAUNCH_ITERATIONS): check_cuda_errors(cudart.cudaGraphLaunch(graph_exec, stream_for_graph)) - check_cuda_errors(cudart.cudaStreamSynchronize(stream_for_graph)) print("Cloned Graph Output..") - for _i in range(GRAPH_LAUNCH_ITERATIONS): + for _ in range(GRAPH_LAUNCH_ITERATIONS): check_cuda_errors(cudart.cudaGraphLaunch(cloned_graph_exec, stream_for_graph)) - check_cuda_errors(cudart.cudaStreamSynchronize(stream_for_graph)) check_cuda_errors(cudart.cudaGraphExecDestroy(graph_exec)) @@ -377,17 +399,15 @@ def cuda_graphs_using_stream_capture(input_vec_h, input_vec_d, output_vec_d, res def main(): - size = 1 << 24 # number of elements to reduce + size = 1 << 24 max_blocks = 512 - # This will pick the best possible CUDA capable device dev_id = find_cuda_device() - global _reduce - global _reduceFinal - kernel_helper = KernelHelper(simple_cuda_graphs, dev_id) + global _reduce, _reduce_final + kernel_helper = KernelHelper(REDUCE_KERNEL_SOURCE, dev_id) _reduce = kernel_helper.get_function(b"reduce") - _reduceFinal = kernel_helper.get_function(b"reduceFinal") + _reduce_final = kernel_helper.get_function(b"reduceFinal") print(f"{size} elements") print(f"threads per block = {THREADS_PER_BLOCK}") @@ -398,7 +418,7 @@ def main(): output_vec_d = check_cuda_errors(cudart.cudaMalloc(max_blocks * np.dtype(np.float64).itemsize)) result_d = check_cuda_errors(cudart.cudaMalloc(np.dtype(np.float64).itemsize)) - init_input(input_vec_h, size) + _init_input(input_vec_h, size) cuda_graphs_manual(input_vec_h, input_vec_d, output_vec_d, result_d, size, max_blocks) cuda_graphs_using_stream_capture(input_vec_h, input_vec_d, output_vec_d, result_d, size, max_blocks) @@ -408,6 +428,9 @@ def main(): check_cuda_errors(cudart.cudaFree(result_d)) check_cuda_errors(cudart.cudaFreeHost(input_vec_h)) + print("Done") + return 0 + if __name__ == "__main__": - main() + sys.exit(main()) diff --git a/samples/cuda_bindings/3_CUDA_Features/cudaGraphsManualNodes/requirements.txt b/samples/cuda_bindings/3_CUDA_Features/cudaGraphsManualNodes/requirements.txt new file mode 100644 index 00000000000..d24af43aad8 --- /dev/null +++ b/samples/cuda_bindings/3_CUDA_Features/cudaGraphsManualNodes/requirements.txt @@ -0,0 +1,5 @@ +# cudaGraphsManualNodes Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.4.0 +numpy>=1.24 diff --git a/samples/cuda_bindings/3_CUDA_Features/globalToShmemAsyncCopy/README.md b/samples/cuda_bindings/3_CUDA_Features/globalToShmemAsyncCopy/README.md new file mode 100644 index 00000000000..0184db06812 --- /dev/null +++ b/samples/cuda_bindings/3_CUDA_Features/globalToShmemAsyncCopy/README.md @@ -0,0 +1,117 @@ +# Sample: Global → Shared Async Copy (memcpy_async) (Python) + +## Description + +Eight matrix-multiply kernels sharing the same launch harness, benchmarked +against a naive tiled baseline. The variants explore progressively more +sophisticated ways to hide the global → shared load latency using +``cuda::memcpy_async`` plus the ``cuda::pipeline`` / ``cuda::barrier`` +primitives: + +- `AsyncCopyMultiStageLargeChunk` +- `AsyncCopyLargeChunk` +- `AsyncCopyLargeChunkAWBarrier` — arrive/wait barrier variant +- `AsyncCopyMultiStageSharedState` +- `AsyncCopyMultiStage` +- `AsyncCopySingleStage` +- `Naive` — baseline +- `NaiveLargeChunk` — baseline + +The sample selects a variant via ``--kernel=N`` (default 0), computes the +reference ``C = A * B`` on the host, and reports GFLOPS. This is the only +sample in ``/samples/cuda_bindings`` that teaches ``cuda::memcpy_async``, +``cuda::pipeline``, or the arrive/wait barrier patterns — the low-level +async-copy machinery that ``cuda.core``'s newer APIs sit on top of. + +## What You'll Learn + +- Loading global memory into shared memory asynchronously with + ``cuda::memcpy_async`` +- Multi-stage pipelining with ``cuda::pipeline`` and + ``cuda::pipeline_shared_state`` so different pipeline stages can compute + and load in parallel +- Arrive/wait barriers with ``cuda::barrier`` for producer/consumer + synchronization inside a block +- Large-chunk async copies with vectorized load sizes +- Direct comparison against the classic hand-rolled tiled matmul + +## Key Libraries + +- [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/) - driver + runtime bindings +- `numpy` - host reference computation and matrix plumbing + +## Key APIs + +### From `cuda.bindings.driver` + +- `cuLaunchKernel` + +### From `cuda.bindings.runtime` + +- `cudaMalloc` / `cudaFree` / `cudaMemcpy` / `cudaMemset` +- `cudaEventCreate` / `cudaEventRecord` / `cudaEventElapsedTime` + +### Kernel-side (headers pulled in by NVRTC via `KernelHelper`) + +- `cuda/barrier`, `cuda/pipeline`, `cooperative_groups`, + `cooperative_groups/reduce` +- `cuda::memcpy_async(barrier|pipeline|group, dst, src, size)` +- `cuda::pipeline_shared_state`, `cuda::pipeline`, `producer_acquire`, + `producer_commit`, `consumer_wait`, `consumer_release` +- `cuda::barrier::arrive` / `arrive_and_wait` + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 7.0 or higher (Volta+). Some kernels + require SM 7.0 explicitly for `cuda::memcpy_async` support. + +### Software + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` (>=13.4.0) +- `numpy` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python globalToShmemAsyncCopy.py # default variant +python globalToShmemAsyncCopy.py --kernel=7 # NaiveLargeChunk +python globalToShmemAsyncCopy.py --wA=1024 --wB=1024 # bigger matrices +``` + +## Expected Output + +Throughput depends on GPU. + +``` +[globalToShmemAsyncCopy] +GPU Device 0: "NVIDIA GeForce RTX 4090" with compute capability 8.9 +MatrixA(1024,1024), MatrixB(1024,1024) +Running kernel = 0 - AsyncCopyMultiStageLargeChunk +Performance= 4123.45 GFlop/s, Time= 0.520 msec, Size= ... Ops, WorkgroupSize= 256 threads/block +Result = PASS +``` + +## Files + +- `globalToShmemAsyncCopy.py` - Python implementation using `cuda.bindings` +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../../Utilities/cuda_bindings_utils.py` - Shared bindings helpers (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`samples/cuda_core/matrixMulSharedMem/`](../../../cuda_core/matrixMulSharedMem/) - basic tiled GEMM (no async copy) +- [CUDA C++ Programming Guide — Asynchronous Data Copies](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#asynchronous-data-copies) +- [`libcudacxx` `cuda::memcpy_async`](https://nvidia.github.io/libcudacxx/extended_api/asynchronous_operations/memcpy_async.html) +- [`libcudacxx` `cuda::pipeline`](https://nvidia.github.io/libcudacxx/extended_api/synchronization_primitives/pipeline.html) diff --git a/cuda_bindings/examples/3_CUDA_Features/global_to_shmem_async_copy.py b/samples/cuda_bindings/3_CUDA_Features/globalToShmemAsyncCopy/globalToShmemAsyncCopy.py similarity index 94% rename from cuda_bindings/examples/3_CUDA_Features/global_to_shmem_async_copy.py rename to samples/cuda_bindings/3_CUDA_Features/globalToShmemAsyncCopy/globalToShmemAsyncCopy.py index 9a2ec3dec3b..0372308d82d 100644 --- a/cuda_bindings/examples/3_CUDA_Features/global_to_shmem_async_copy.py +++ b/samples/cuda_bindings/3_CUDA_Features/globalToShmemAsyncCopy/globalToShmemAsyncCopy.py @@ -1,17 +1,62 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. # -# This example demonstrates asynchronous copy from global to shared memory -# (memcpy_async) in matrix multiplication kernels. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. # -# ################################################################################ +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy"] +# dependencies = ["cuda-python>=13.4.0", "numpy>=1.24"] # /// +""" +Matrix multiply with async global->shared copy (cuda::memcpy_async) + +Eight matrix-multiply kernels sharing the same launch harness, benchmarked +against a naive tiled baseline. The variants explore progressively more +sophisticated ways to hide the global->shared load latency using +cuda::memcpy_async plus the cuda::pipeline / cuda::barrier primitives: + + * AsyncCopyMultiStageLargeChunk + * AsyncCopyLargeChunk + * AsyncCopyLargeChunkAWBarrier (arrive/wait barrier) + * AsyncCopyMultiStageSharedState + * AsyncCopyMultiStage + * AsyncCopySingleStage + * Naive (baseline) + * NaiveLargeChunk (baseline) + +The sample runs one variant selected via --kernel=N (default 0), computes +the reference C = A * B on the host, and reports GFLOPS. This is the only +place in /samples/cuda_bindings that teaches cuda::memcpy_async, cuda::pipeline, or the +arrive-wait barrier patterns. +""" + +import sys +from pathlib import Path + +# Add samples/cuda_bindings/Utilities/ to the import path for shared bindings helpers. +sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent / "Utilities")) + import ctypes import math import platform @@ -19,10 +64,7 @@ from enum import Enum import numpy as np - -from cuda.bindings import driver as cuda -from cuda.bindings import runtime as cudart -from cuda.bindings._example_helpers import ( +from cuda_bindings_utils import ( KernelHelper, check_cmd_line_flag, check_compute_capability_too_low, @@ -32,6 +74,9 @@ requirement_not_met, ) +from cuda.bindings import driver as cuda +from cuda.bindings import runtime as cudart + block_size = 16 diff --git a/samples/cuda_bindings/3_CUDA_Features/globalToShmemAsyncCopy/requirements.txt b/samples/cuda_bindings/3_CUDA_Features/globalToShmemAsyncCopy/requirements.txt new file mode 100644 index 00000000000..3c559dcbe3e --- /dev/null +++ b/samples/cuda_bindings/3_CUDA_Features/globalToShmemAsyncCopy/requirements.txt @@ -0,0 +1,5 @@ +# globalToShmemAsyncCopy Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.4.0 +numpy>=1.24 diff --git a/samples/cuda_bindings/4_CUDA_Libraries/conjugateGradientMultiBlockCG/README.md b/samples/cuda_bindings/4_CUDA_Libraries/conjugateGradientMultiBlockCG/README.md new file mode 100644 index 00000000000..839573ab6dc --- /dev/null +++ b/samples/cuda_bindings/4_CUDA_Libraries/conjugateGradientMultiBlockCG/README.md @@ -0,0 +1,117 @@ +# Sample: Conjugate Gradient with Cooperative Multi-Block Sync (Python) + +## Description + +Solves ``A x = b`` for a random sparse tridiagonal symmetric-positive- +definite matrix ``A`` (1M x 1M in CSR format) using the Conjugate Gradient +method. **The entire CG iteration runs inside a single kernel** launched +via ``cuLaunchCooperativeKernel``; each iteration uses +``cg::grid_group::sync()`` to move between phases without returning to the +host. + +The device-side building blocks are: + +- `gpuSpMV` -- sparse matrix-vector multiply (CSR) +- `gpuSaxpy` -- `y = a*x + y` +- `gpuDotProduct` -- warp-shuffle reduce (`cg::reduce`) + `atomicAdd` + across blocks +- `gpuScaleVectorAndSaxpy`, `gpuCopyVector` -- CG bookkeeping + +This is the only end-to-end numerical solver in `/samples/cuda_bindings` that uses +grid-level cooperative synchronization. The simpler +[`samples/cuda_core/reductionMultiBlockCG/`](../../../cuda_core/reductionMultiBlockCG/) uses the +same underlying feature for a plain reduction. + +Waives with exit code 2 on Darwin / QNX / armv7l, on devices without +Unified Memory, and on devices without Cooperative Kernel Launch +support. + +## What You'll Learn + +- Launching a cooperative kernel with `cuLaunchCooperativeKernel` +- Grid-level synchronization inside a kernel via `cg::grid_group::sync()` +- Sizing the grid to saturate the device with cooperating blocks using + `cuOccupancyMaxActiveBlocksPerMultiprocessor` +- Warp-tile reductions with `cg::reduce` and `cg::tiled_partition<32>` +- Multi-kernel-in-one-launch design for iterative solvers +- Managed (unified) memory shared between host initialization and device + compute + +## Key Libraries + +- [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/) - driver + runtime bindings +- `numpy` - dtype sizes + +## Key APIs + +### From `cuda.bindings.runtime` + +- `cudaMallocManaged` / `cudaFree` +- `cudaGetDeviceProperties` (for `managedMemory`, `cooperativeLaunch`, + `multiProcessorCount`) +- `cudaEventCreate` / `cudaEventRecord` / `cudaEventElapsedTime` / `cudaEventDestroy` +- `cudaDeviceSynchronize` + +### From `cuda.bindings.driver` + +- `cuLaunchCooperativeKernel` +- `cuOccupancyMaxActiveBlocksPerMultiprocessor` + +### Kernel-side + +- `cooperative_groups::this_grid()`, `cg::grid_group::sync()`, + `cg::grid_group::thread_rank()`, `cg::grid_group::size()` +- `cg::tiled_partition<32>(cta)`, `cg::reduce(tile, x, cg::plus())` + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 7.0+ that supports Cooperative Kernel + Launch and Unified Memory (all discrete Pascal-and-later GPUs) + +### Software + +- Linux (not supported on Darwin, QNX, or armv7l) +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` (>=13.4.0) +- `numpy` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python conjugateGradientMultiBlockCG.py +python conjugateGradientMultiBlockCG.py --device=1 +``` + +## Expected Output + +Timings depend on GPU. + +``` +> GPU device has 128 Multi-Processors, SM 8.9 compute capability +GPU Final, residual = 3.72e-06, kernel execution time = 4.201 ms +Test Summary: Error amount = 0.000012 +Done +``` + +## Files + +- `conjugateGradientMultiBlockCG.py` - Python implementation using `cuda.bindings` +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../../Utilities/cuda_bindings_utils.py` - Shared bindings helpers (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.bindings` driver API](https://nvidia.github.io/cuda-python/cuda-bindings/latest/module/driver.html) +- [`samples/cuda_core/reductionMultiBlockCG/`](../../../cuda_core/reductionMultiBlockCG/) - simpler cooperative-launch demo +- [CUDA C++ Programming Guide — Cooperative Groups](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#cooperative-groups) diff --git a/cuda_bindings/examples/4_CUDA_Libraries/conjugate_gradient_multi_block_cg.py b/samples/cuda_bindings/4_CUDA_Libraries/conjugateGradientMultiBlockCG/conjugateGradientMultiBlockCG.py similarity index 64% rename from cuda_bindings/examples/4_CUDA_Libraries/conjugate_gradient_multi_block_cg.py rename to samples/cuda_bindings/4_CUDA_Libraries/conjugateGradientMultiBlockCG/conjugateGradientMultiBlockCG.py index 83d359b1e93..1ff446f9a33 100644 --- a/cuda_bindings/examples/4_CUDA_Libraries/conjugate_gradient_multi_block_cg.py +++ b/samples/cuda_bindings/4_CUDA_Libraries/conjugateGradientMultiBlockCG/conjugateGradientMultiBlockCG.py @@ -1,35 +1,87 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. # -# This example demonstrates a conjugate gradient solver using cooperative -# groups and multi-block grid synchronization. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. # -# ################################################################################ +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy"] +# dependencies = ["cuda-python>=13.4.0", "numpy>=1.24"] # /// +""" +Conjugate Gradient solver with cooperative multi-block synchronization + +Solves ``A x = b`` for a random sparse tridiagonal SPD matrix ``A`` using +the Conjugate Gradient method. The entire CG iteration runs inside a +single kernel launched via ``cuLaunchCooperativeKernel``; each iteration +performs several ``cg::grid_group::sync()`` synchronizations to move +between phases without returning to the host. + +The device-side building blocks are: + + * ``gpuSpMV`` -- sparse matrix-vector multiply (CSR format). + * ``gpuSaxpy`` -- ``y = a*x + y``. + * ``gpuDotProduct`` -- warp-shuffle reduce (`cg::reduce`) + atomicAdd across blocks. + * ``gpuScaleVectorAndSaxpy`` and ``gpuCopyVector`` -- CG bookkeeping. + +The high-level flow is the classic CG loop: r = b - A x; loop while +|r|^2 > tol^2 ... update p, alpha, x, r, and re-dot. Because everything +lives in one cooperative kernel, we avoid host round-trips between +iterations. + +The sample is the only end-to-end numerical solver in ``/samples/cuda_bindings`` that +uses ``grid.sync()``. The simpler +[`samples/cuda_core/reductionMultiBlockCG/`](../../../cuda_core/reductionMultiBlockCG/) +uses the same underlying feature for a plain reduction. + +Waives with exit code 2 on Darwin / QNX / armv7l, on devices without +Unified Memory, and on devices without Cooperative Kernel Launch support. +""" + import ctypes import math import platform import sys +from pathlib import Path from random import random -import numpy as np +# Add samples/cuda_bindings/Utilities/ to the import path for shared bindings helpers. +sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent / "Utilities")) + +try: + import numpy as np + from cuda_bindings_utils import KernelHelper, check_cuda_errors, find_cuda_device, requirement_not_met -from cuda.bindings import driver as cuda -from cuda.bindings import runtime as cudart -from cuda.bindings._example_helpers import ( - KernelHelper, - check_cuda_errors, - find_cuda_device, - requirement_not_met, -) + from cuda.bindings import driver as cuda + from cuda.bindings import runtime as cudart +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) -conjugate_gradient_multi_block_cg = """\ + +CG_KERNEL_SOURCE = """\ #line __LINE__ #include #include @@ -120,15 +172,12 @@ float r0 = 0.0, r1, b, a, na; gpuSpMV(I, J, val, nnz, N, alpha, x, Ax, cta, grid); - cg::sync(grid); gpuSaxpy(Ax, r, alpham1, N, grid); - cg::sync(grid); gpuDotProduct(r, r, dot_result, N, cta, grid); - cg::sync(grid); r1 = *dot_result; @@ -141,17 +190,13 @@ } else { gpuCopyVector(r, p, N, grid); } - cg::sync(grid); gpuSpMV(I, J, val, nnz, N, alpha, p, Ax, cta, grid); - if (threadIdx.x == 0 && blockIdx.x == 0) *dot_result = 0.0; - cg::sync(grid); gpuDotProduct(p, Ax, dot_result, N, cta, grid); - cg::sync(grid); a = r1 / *dot_result; @@ -161,14 +206,11 @@ gpuSaxpy(Ax, r, na, N, grid); r0 = r1; - cg::sync(grid); if (threadIdx.x == 0 && blockIdx.x == 0) *dot_result = 0.0; - cg::sync(grid); gpuDotProduct(r, r, dot_result, N, cta, grid); - cg::sync(grid); r1 = *dot_result; @@ -178,11 +220,16 @@ """ -def gen_tridiag(row_offsets, col_indices, values, n, nz): +THREADS_PER_BLOCK = 512 +UNSUPPORTED_SYSTEMS = {"Darwin", "QNX"} +UNSUPPORTED_MACHINES = {"armv7l"} + + +def _gen_tridiag(row_offsets, col_indices, values, n, nz): + """Random symmetric tridiagonal matrix in CSR format.""" row_offsets[0] = 0 col_indices[0] = 0 col_indices[1] = 0 - values[0] = float(random()) + 10.0 values[1] = float(random()) @@ -195,58 +242,45 @@ def gen_tridiag(row_offsets, col_indices, values, n, nz): start = (row_idx - 1) * 3 + 2 col_indices[start] = row_idx - 1 col_indices[start + 1] = row_idx - if row_idx < n - 1: col_indices[start + 2] = row_idx + 1 values[start] = values[start - 1] values[start + 1] = float(random()) + 10.0 - if row_idx < n - 1: values[start + 2] = float(random()) row_offsets[n] = nz -THREADS_PER_BLOCK = 512 -s_sd_kname = "conjugateGradientMultiBlockCG" -UNSUPPORTED_SYSTEMS = {"Darwin", "QNX"} -UNSUPPORTED_MACHINES = {"armv7l"} - - def main(): tol = 1e-5 system_name = platform.system() if system_name in UNSUPPORTED_SYSTEMS: - requirement_not_met(f"{s_sd_kname} is not supported on {system_name}") + requirement_not_met(f"conjugateGradientMultiBlockCG is not supported on {system_name}") machine_name = platform.machine() if machine_name in UNSUPPORTED_MACHINES: - requirement_not_met(f"{s_sd_kname} is not supported on {machine_name}") + requirement_not_met(f"conjugateGradientMultiBlockCG is not supported on {machine_name}") - # This will pick the best possible CUDA capable device dev_id = find_cuda_device() device_prop = check_cuda_errors(cudart.cudaGetDeviceProperties(dev_id)) if not device_prop.managedMemory: requirement_not_met("Unified Memory not supported on this device") - # This sample requires being run on a device that supports Cooperative Kernel - # Launch if not device_prop.cooperativeLaunch: requirement_not_met(f"Selected GPU {dev_id} does not support Cooperative Kernel Launch") - # Statistics about the GPU device print( f"> GPU device has {device_prop.multiProcessorCount} Multi-Processors, " - f"SM {device_prop.major}.{device_prop.minor} compute capabilities\n" + f"SM {device_prop.major}.{device_prop.minor} compute capability" ) - # Get kernel - kernel_helper = KernelHelper(conjugate_gradient_multi_block_cg, dev_id) - _gpu_conjugate_gradient = kernel_helper.get_function(b"gpuConjugateGradient") + kernel_helper = KernelHelper(CG_KERNEL_SOURCE, dev_id) + gpu_cg = kernel_helper.get_function(b"gpuConjugateGradient") - # Generate a random tridiagonal symmetric matrix in CSR format + # ---- Allocate a random tridiagonal SPD system in CSR format ---- n = 1048576 nz = (n - 2) * 3 + 4 @@ -256,18 +290,17 @@ def main(): i_local = (ctypes.c_int * (n + 1)).from_address(i) j_local = (ctypes.c_int * nz).from_address(j) val_local = (ctypes.c_float * nz).from_address(val) - - gen_tridiag(i_local, j_local, val_local, n, nz) + _gen_tridiag(i_local, j_local, val_local, n, nz) x = check_cuda_errors(cudart.cudaMallocManaged(np.dtype(np.float32).itemsize * n, cudart.cudaMemAttachGlobal)) rhs = check_cuda_errors(cudart.cudaMallocManaged(np.dtype(np.float32).itemsize * n, cudart.cudaMemAttachGlobal)) dot_result = check_cuda_errors(cudart.cudaMallocManaged(np.dtype(np.float64).itemsize, cudart.cudaMemAttachGlobal)) x_local = (ctypes.c_float * n).from_address(x) rhs_local = (ctypes.c_float * n).from_address(rhs) - dot_result_local = (ctypes.c_double).from_address(dot_result) + dot_result_local = ctypes.c_double.from_address(dot_result) dot_result_local.value = 0.0 - # temp memory for CG + # ---- CG scratch vectors ---- r = check_cuda_errors(cudart.cudaMallocManaged(np.dtype(np.float32).itemsize * n, cudart.cudaMemAttachGlobal)) p = check_cuda_errors(cudart.cudaMallocManaged(np.dtype(np.float32).itemsize * n, cudart.cudaMemAttachGlobal)) ax = check_cuda_errors(cudart.cudaMallocManaged(np.dtype(np.float32).itemsize * n, cudart.cudaMemAttachGlobal)) @@ -298,12 +331,14 @@ def main(): ) kernel_args = (kernel_args_value, kernel_args_types) + # Grid size: max active blocks per SM * number of SMs -- this saturates + # the device with cooperating blocks so grid.sync() has real work to do. s_mem_size = np.dtype(np.float64).itemsize * ((THREADS_PER_BLOCK // 32) + 1) - num_threads = THREADS_PER_BLOCK num_blocks_per_sm = check_cuda_errors( - cuda.cuOccupancyMaxActiveBlocksPerMultiprocessor(_gpu_conjugate_gradient, num_threads, s_mem_size) + cuda.cuOccupancyMaxActiveBlocksPerMultiprocessor(gpu_cg, THREADS_PER_BLOCK, s_mem_size) ) num_sms = device_prop.multiProcessorCount + dim_grid = cudart.dim3() dim_grid.x = num_sms * num_blocks_per_sm dim_grid.y = 1 @@ -316,7 +351,7 @@ def main(): check_cuda_errors(cudart.cudaEventRecord(start, 0)) check_cuda_errors( cuda.cuLaunchCooperativeKernel( - _gpu_conjugate_gradient, + gpu_cg, dim_grid.x, dim_grid.y, dim_grid.z, @@ -331,39 +366,31 @@ def main(): check_cuda_errors(cudart.cudaEventRecord(stop, 0)) check_cuda_errors(cudart.cudaDeviceSynchronize()) - time = check_cuda_errors(cudart.cudaEventElapsedTime(start, stop)) + ms = check_cuda_errors(cudart.cudaEventElapsedTime(start, stop)) residual = math.sqrt(dot_result_local.value) - print(f"GPU Final, residual = {residual:e}, kernel execution time = {time:f} ms") + print(f"GPU Final, residual = {residual:e}, kernel execution time = {ms:.3f} ms") + # Host reference: compute max_i | (A x)_i - b_i | err = 0.0 for row_idx in range(n): rsum = 0.0 - for elem_idx in range(i_local[row_idx], i_local[row_idx + 1]): rsum += val_local[elem_idx] * x_local[j_local[elem_idx]] + err = max(err, math.fabs(rsum - rhs_local[row_idx])) - diff = math.fabs(rsum - rhs_local[row_idx]) - - if diff > err: - err = diff - - check_cuda_errors(cudart.cudaFree(i)) - check_cuda_errors(cudart.cudaFree(j)) - check_cuda_errors(cudart.cudaFree(val)) - check_cuda_errors(cudart.cudaFree(x)) - check_cuda_errors(cudart.cudaFree(rhs)) - check_cuda_errors(cudart.cudaFree(r)) - check_cuda_errors(cudart.cudaFree(p)) - check_cuda_errors(cudart.cudaFree(ax)) - check_cuda_errors(cudart.cudaFree(dot_result)) + for handle in (i, j, val, x, rhs, r, p, ax, dot_result): + check_cuda_errors(cudart.cudaFree(handle)) check_cuda_errors(cudart.cudaEventDestroy(start)) check_cuda_errors(cudart.cudaEventDestroy(stop)) - print(f"Test Summary: Error amount = {err:f}") + print(f"Test Summary: Error amount = {err:f}") if residual >= tol: print("conjugateGradientMultiBlockCG FAILED", file=sys.stderr) - sys.exit(1) + return 1 + + print("Done") + return 0 if __name__ == "__main__": - main() + sys.exit(main()) diff --git a/samples/cuda_bindings/4_CUDA_Libraries/conjugateGradientMultiBlockCG/requirements.txt b/samples/cuda_bindings/4_CUDA_Libraries/conjugateGradientMultiBlockCG/requirements.txt new file mode 100644 index 00000000000..d8825dc9403 --- /dev/null +++ b/samples/cuda_bindings/4_CUDA_Libraries/conjugateGradientMultiBlockCG/requirements.txt @@ -0,0 +1,5 @@ +# conjugateGradientMultiBlockCG Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.4.0 +numpy>=1.24 diff --git a/samples/cuda_bindings/4_CUDA_Libraries/nvidiaSmi/README.md b/samples/cuda_bindings/4_CUDA_Libraries/nvidiaSmi/README.md new file mode 100644 index 00000000000..27f3c67539a --- /dev/null +++ b/samples/cuda_bindings/4_CUDA_Libraries/nvidiaSmi/README.md @@ -0,0 +1,106 @@ +# Sample: Mini nvidia-smi via NVML (Python) + +## Description + +A Python subset of the ``nvidia-smi`` command-line tool, implemented against +the raw ``cuda.bindings.nvml`` module. Prints a compact table with: + +- Driver version and CUDA driver version +- Per-GPU: index, name, persistence mode, PCI bus id, display state, ECC + mode, fan speed, temperature, performance state, power usage / cap, + memory used / total, GPU utilization, compute mode + +This is the canonical low-level demo for ``cuda.bindings.nvml``. The +high-level counterpart is [`samples/cuda_core/systemInfo/`](../../../cuda_core/systemInfo/), which +uses ``cuda.core.system`` (which itself wraps NVML). + +Fields that aren't supported on a particular GPU (e.g. fan speed on server +SKUs, display state on headless nodes) are caught with ``NvmlError`` and +printed as ``N/A`` rather than failing the sample. + +## What You'll Learn + +- Initializing and shutting down NVML via ``nvml.init_v2()`` / ``nvml.shutdown()`` +- Enumerating devices with ``device_get_count_v2`` / + ``device_get_handle_by_index_v2`` +- Querying every user-visible field the C ``nvidia-smi`` tool prints in its + default output +- Gracefully tolerating fields that a given GPU does not expose via NVML + +## Key Libraries + +- [`cuda.bindings.nvml`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/module/nvml.html) - raw NVML bindings + +## Key APIs + +### From `cuda.bindings.nvml` + +- `init_v2` / `shutdown` +- `system_get_driver_version` / `system_get_cuda_driver_version` +- `device_get_count_v2` / `device_get_handle_by_index_v2` +- `device_get_name` +- `device_get_persistence_mode` (+ `EnableState`) +- `device_get_pci_info_v3` +- `device_get_display_active` +- `device_get_ecc_mode` +- `device_get_fan_speed` +- `device_get_temperature_v` (+ `TemperatureSensors`) +- `device_get_performance_state` +- `device_get_power_usage` / `device_get_power_management_limit` +- `device_get_memory_info_v2` +- `device_get_utilization_rates` +- `device_get_compute_mode` (+ `ComputeMode`) + +## Requirements + +### Hardware + +- Any NVIDIA GPU visible to NVML + +### Software + +- CUDA Toolkit 13.0 or newer (only for the accompanying NVML library; no + CUDA runtime is used) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python nvidiaSmi.py +``` + +## Expected Output + +Content depends on the system. + +``` ++-----------------------------------------------------------------------------------------+ +| NVIDIA-MINI-SMI 560.35.03 Driver Version: 560.35.03 CUDA Version: 12.6 | ++-----------------------------------------------------------------------------------------+ +| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | +| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | ++============================================================================================+ +| 0 NVIDIA GeForce RTX 4090 Off | 0000:01:00.0 Off | Off | +| N/A 35C P8 12W / 450W | 0MiB / 24564MiB | 0% Default | ++-----------------------------------------------------------------------------------------+ +``` + +## Files + +- `nvidiaSmi.py` - Python implementation using `cuda.bindings.nvml` +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.bindings` NVML API](https://nvidia.github.io/cuda-python/cuda-bindings/latest/module/nvml.html) +- [`samples/cuda_core/systemInfo/`](../../../cuda_core/systemInfo/) - the high-level `cuda.core.system` equivalent +- [NVML Reference](https://docs.nvidia.com/deploy/nvml-api/index.html) diff --git a/cuda_bindings/examples/4_CUDA_Libraries/nvidia_smi.py b/samples/cuda_bindings/4_CUDA_Libraries/nvidiaSmi/nvidiaSmi.py similarity index 64% rename from cuda_bindings/examples/4_CUDA_Libraries/nvidia_smi.py rename to samples/cuda_bindings/4_CUDA_Libraries/nvidiaSmi/nvidiaSmi.py index 459022784b3..dcd04a385bb 100644 --- a/cuda_bindings/examples/4_CUDA_Libraries/nvidia_smi.py +++ b/samples/cuda_bindings/4_CUDA_Libraries/nvidiaSmi/nvidiaSmi.py @@ -1,32 +1,74 @@ -# Copyright 2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - - -# ################################################################################ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. # -# This example demonstrates the core cuda.bindings.nvml functionality by -# implementing a subset of the NVIDIA System Management Interface (nvidia-smi) -# command line tool in Python. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. # -# ################################################################################ - +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # /// script -# dependencies = ["cuda_bindings>13.2.1"] +# dependencies = ["cuda-python>=13.0.0"] # /// +""" +Mini nvidia-smi with cuda.bindings.nvml + +A Python subset of the ``nvidia-smi`` command-line tool implemented against +the raw ``cuda.bindings.nvml`` module. Prints a compact table with: + + * driver version, CUDA driver version + * per-GPU: index, name, persistence mode, PCI bus id, display state, + ECC mode, fan speed, temperature, performance state, + power usage / cap, memory used / total, GPU utilization, compute mode + +This sample is the canonical low-level demo for +``cuda.bindings.nvml``. The high-level counterpart lives in +[`samples/cuda_core/systemInfo/`](../../../cuda_core/systemInfo/), which wraps NVML through +``cuda.core.system``. + +Note: fields like fan speed, power draw, ECC state and display state come +back as ``NvmlError`` on GPUs that don't report them (server SKUs, headless +setups). The sample tolerates those with per-field ``try/except`` and +prints ``N/A``. +""" + import sys -from cuda.bindings import nvml +try: + from cuda.bindings import nvml +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + ################################################################################## # FORMATTING HELPERS - # Utilities to help format the output table. See below for NVML usage. +################################################################################## def format_size(bytes_val: int) -> str: - """Formats bytes to MiB.""" + """Format bytes as MiB, matching nvidia-smi's memory column.""" return f"{bytes_val / (1024 * 1024):.0f}MiB" @@ -44,10 +86,7 @@ def _create_line_format(self, descriptor): parts.append("| ") sizes.append(1) for i, align in enumerate(section): - if i == len(section) - 1: - direct = ">" - else: - direct = "<" + direct = ">" if i == len(section) - 1 else "<" parts.append(f"{{:{direct}{align}}} ") sizes[-1] += align + 1 parts.append("|") @@ -98,7 +137,8 @@ def print_table(metadata, devices): ################################################################################## -# NVML USAGE EXAMPLES +# NVML USAGE +################################################################################## def collect_info(): @@ -110,17 +150,12 @@ def collect_info(): metadata["cuda_version"] = f"{cuda_major}.{cuda_minor}" devices = [] - device_count = nvml.device_get_count_v2() for i in range(device_count): - device = {} - device["index"] = i - + device = {"index": i} handle = nvml.device_get_handle_by_index_v2(i) - - name = nvml.device_get_name(handle) - device["name"] = name + device["name"] = nvml.device_get_name(handle) try: persistence = nvml.device_get_persistence_mode(handle) @@ -176,36 +211,26 @@ def collect_info(): usage_str = f"{power_usage // 1000}W" except nvml.NvmlError: usage_str = "N/A" - try: power_cap = nvml.device_get_power_management_limit(handle) # mW cap_str = f"{power_cap // 1000}W" except nvml.NvmlError: cap_str = "N/A" - - pwr_str = f"{usage_str} / {cap_str}" - device["power"] = pwr_str + device["power"] = f"{usage_str} / {cap_str}" try: mem_info = nvml.device_get_memory_info_v2(handle) except nvml.NvmlError: - mem_str = "N/A" + device["memory"] = "N/A" else: - mem_used = format_size(mem_info.used) - mem_total = format_size(mem_info.total) - mem_str = f"{mem_used} / {mem_total}" - - device["memory"] = mem_str + device["memory"] = f"{format_size(mem_info.used)} / {format_size(mem_info.total)}" try: util_rates = nvml.device_get_utilization_rates(handle) except nvml.NvmlError: - util_str = "N/A" + device["utilization"] = "N/A" else: - gpu_util = util_rates.gpu - util_str = f"{gpu_util: >3}%" - - device["utilization"] = util_str + device["utilization"] = f"{util_rates.gpu: >3}%" try: compute_mode = nvml.device_get_compute_mode(handle) @@ -231,8 +256,8 @@ def main(): try: nvml.init_v2() except nvml.NvmlError as e: - print(f"Failed to initialize NVML: {e}") - sys.exit(1) + print(f"Failed to initialize NVML: {e}", file=sys.stderr) + return 1 try: metadata, devices = collect_info() @@ -240,6 +265,8 @@ def main(): finally: nvml.shutdown() + return 0 + if __name__ == "__main__": - main() + sys.exit(main()) diff --git a/samples/cuda_bindings/4_CUDA_Libraries/nvidiaSmi/requirements.txt b/samples/cuda_bindings/4_CUDA_Libraries/nvidiaSmi/requirements.txt new file mode 100644 index 00000000000..aad92dc8a03 --- /dev/null +++ b/samples/cuda_bindings/4_CUDA_Libraries/nvidiaSmi/requirements.txt @@ -0,0 +1,4 @@ +# nvidiaSmi Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.0.0 diff --git a/samples/cuda_bindings/Utilities/README.md b/samples/cuda_bindings/Utilities/README.md new file mode 100644 index 00000000000..b22b4289cab --- /dev/null +++ b/samples/cuda_bindings/Utilities/README.md @@ -0,0 +1,41 @@ +# CUDA Bindings Sample Utilities + +`cuda_bindings_utils.py` contains shared boilerplate for samples that call the +low-level `cuda.bindings` APIs directly. It provides: + +- CUDA error tuple checking and result unwrapping +- NVRTC compilation and CUDA module loading through `KernelHelper` +- Runtime and driver API device selection +- Command-line flag helpers used by CUDA sample ports +- Consistent requirement waivers using exit code 2 standalone, or the distinct + code negotiated by the automated sample runner + +## Using the Helpers + +Bindings samples retain the CUDA Samples category directories, so a sample +adds the namespace-local `Utilities` directory to `sys.path` as follows: + +```python +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent / "Utilities")) +from cuda_bindings_utils import KernelHelper, check_cuda_errors +``` + +See [`clockNvrtc`](../0_Introduction/clockNvrtc/) for a complete example. +Install dependencies from the individual sample directory before running it: + +```bash +cd samples/cuda_bindings/0_Introduction/clockNvrtc +pip install -r requirements.txt +python clockNvrtc.py +``` + +These helpers support the samples and are not part of the public +`cuda.bindings` API. + +`requirement_not_met()` reads `CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE` when it is +set by an orchestrator. The repository sample runner sets it to `77`, keeping +intentional waivers distinct from command-line parser errors, which use exit +code `2`. Direct standalone execution retains exit code `2` for compatibility. diff --git a/samples/cuda_bindings/Utilities/cuda_bindings_utils.py b/samples/cuda_bindings/Utilities/cuda_bindings_utils.py new file mode 100644 index 00000000000..c9cc158342d --- /dev/null +++ b/samples/cuda_bindings/Utilities/cuda_bindings_utils.py @@ -0,0 +1,257 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +""" +Common helpers for cuda-bindings-flavored samples. + +Provides small utilities used by samples that program directly against +``cuda.bindings.driver`` / ``cuda.bindings.runtime`` / ``cuda.bindings._v2.nvrtc`` +/ ``cuda.bindings.nvml``, so each sample stays focused on the concept it +demonstrates instead of the boilerplate: + + * ``check_cuda_errors(result)`` -- unwrap the ``(status, *values)`` tuple + returned by any ``cuda.bindings`` call, raising on error. + * ``KernelHelper`` -- compile a CUDA C++ source string with NVRTC and load + the resulting cubin/PTX as a module. + * ``find_cuda_device()`` / ``find_cuda_device_drv()`` -- pick a CUDA device, + honoring an optional ``--device=`` CLI flag. + * ``check_cmd_line_flag(flag)`` / ``get_cmd_line_argument_int(flag)`` -- + minimal CLI flag helpers used by the upstream cuda-samples style. + * ``requirement_not_met(msg)`` -- print ``msg`` to stderr and exit with the + negotiated WAIVED status (exit code 2 when run standalone). + * ``check_compute_capability_too_low(dev_id, (major, minor))`` -- waive when + the current device is below a required compute capability. + +These helpers were adapted from the private example-helpers module that +used to ship with ``cuda.bindings`` before the examples migration. When a +sample is run standalone, ``requirement_not_met`` exits with the historical +WAIVED code 2. The sample runner sets +``CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE`` to a distinct code so command-line +parser failures, which also use code 2, are not mistaken for waivers. +""" + +import os +import sys + +import numpy as np + +from cuda import pathfinder +from cuda.bindings import driver as cuda +from cuda.bindings import runtime as cudart +from cuda.bindings._v2 import nvrtc + +EXIT_WAIVED = 2 +WAIVER_EXIT_CODE_ENV = "CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE" + + +# --------------------------------------------------------------------------- +# CLI helpers +# --------------------------------------------------------------------------- + + +def _parse_cmd_line_option(option: str) -> tuple[str, str | None]: + """Return an option name and its optional value, ignoring leading dashes.""" + name, separator, value = option.lstrip("-").partition("=") + return name, value if separator else None + + +def check_cmd_line_flag(flag: str) -> bool: + """Return whether ``flag`` is present, with or without leading dashes. + + A trailing ``=`` denotes a value-taking option. Matching the normalized + option name exactly prevents flags such as ``--device-name`` from being + mistaken for ``--device``. + """ + normalized_flag = flag.lstrip("-") + expects_value = normalized_flag.endswith("=") + flag_name = normalized_flag.removesuffix("=") + + for arg in sys.argv[1:]: + arg_name, value = _parse_cmd_line_option(arg) + if arg_name == flag_name and (value is not None) == expects_value: + return True + return False + + +def get_cmd_line_argument_int(flag: str) -> int: + """Return the integer following ``flag=`` in argv, or 0 if invalid or absent.""" + flag_name = flag.lstrip("-").removesuffix("=") + for arg in sys.argv[1:]: + arg_name, value = _parse_cmd_line_option(arg) + if arg_name == flag_name and value is not None: + try: + return int(value) + except ValueError: + return 0 + return 0 + + +# --------------------------------------------------------------------------- +# Waive helpers +# --------------------------------------------------------------------------- + + +def requirement_not_met(message: str) -> None: + """Print ``message`` to stderr and exit with the negotiated WAIVED status.""" + print(message, file=sys.stderr) + sys.exit(int(os.environ.get(WAIVER_EXIT_CODE_ENV, EXIT_WAIVED))) + + +# --------------------------------------------------------------------------- +# Error handling +# --------------------------------------------------------------------------- + + +def _cuda_get_error_enum(error): + if isinstance(error, cuda.CUresult): + err, name = cuda.cuGetErrorName(error) + return name if err == cuda.CUresult.CUDA_SUCCESS else "" + if isinstance(error, cudart.cudaError_t): + return cudart.cudaGetErrorName(error)[1] + raise RuntimeError(f"Unknown error type: {error}") + + +def check_cuda_errors(result): + """Unwrap ``result = (status, *values)`` from a ``cuda.bindings`` call. + + Raises ``RuntimeError`` when ``status`` indicates a failure; otherwise + returns the single value (for two-tuples), all trailing values (for + three-or-more-tuples), or ``None`` (for one-tuples). + """ + if result[0].value: + raise RuntimeError(f"CUDA error code={result[0].value}({_cuda_get_error_enum(result[0])})") + if len(result) == 1: + return None + if len(result) == 2: + return result[1] + return result[1:] + + +# --------------------------------------------------------------------------- +# Device selection +# --------------------------------------------------------------------------- + + +def find_cuda_device() -> int: + """Runtime-API device selection. Honors ``--device=`` on argv.""" + dev_id = 0 + if check_cmd_line_flag("device="): + dev_id = get_cmd_line_argument_int("device=") + check_cuda_errors(cudart.cudaSetDevice(dev_id)) + return dev_id + + +def find_cuda_device_drv(): + """Driver-API device selection. Honors ``--device=`` on argv.""" + dev_id = 0 + if check_cmd_line_flag("device="): + dev_id = get_cmd_line_argument_int("device=") + check_cuda_errors(cuda.cuInit(0)) + return check_cuda_errors(cuda.cuDeviceGet(dev_id)) + + +def check_compute_capability_too_low(dev_id: int, required_cc_major_minor) -> None: + """Waive if the current device is below the required compute capability.""" + cc_major = check_cuda_errors( + cudart.cudaDeviceGetAttribute(cudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMajor, dev_id) + ) + cc_minor = check_cuda_errors( + cudart.cudaDeviceGetAttribute(cudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMinor, dev_id) + ) + have = (cc_major, cc_minor) + if have < tuple(required_cc_major_minor): + requirement_not_met( + f"CUDA device compute capability too low: have={have!r}, required={tuple(required_cc_major_minor)!r}" + ) + + +# --------------------------------------------------------------------------- +# NVRTC compile + module load helper +# --------------------------------------------------------------------------- + + +class KernelHelper: + """Compile a CUDA C++ source string via NVRTC and load it as a module. + + On construction the source is compiled to a cubin (or PTX on older NVRTC), + the resulting module is loaded, and ``get_function(name)`` returns the + ``CUfunction`` for the given kernel entry point. + + The NVRTC include path is populated via ``cuda.pathfinder`` so kernels + that ``#include`` CUDA headers (e.g. ``cooperative_groups.h``) resolve + against the currently installed toolkit. + """ + + def __init__(self, code: str, dev_id: int) -> None: + include_dirs = [] + for libname in ("cudart", "cccl"): + hdr_dir = pathfinder.find_nvidia_header_directory(libname) + if hdr_dir is None: + requirement_not_met(f'pathfinder.find_nvidia_header_directory("{libname}") returned None') + include_dirs.append(hdr_dir) + + prog = nvrtc.create_program(str.encode(code), b"sourceCode.cu") + + # Initialize CUDA runtime (needed on the very first device call). + check_cuda_errors(cudart.cudaFree(0)) + + major = check_cuda_errors( + cudart.cudaDeviceGetAttribute(cudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMajor, dev_id) + ) + minor = check_cuda_errors( + cudart.cudaDeviceGetAttribute(cudart.cudaDeviceAttr.cudaDevAttrComputeCapabilityMinor, dev_id) + ) + _, nvrtc_minor = nvrtc.version() + use_cubin = nvrtc_minor >= 1 + prefix = "sm" if use_cubin else "compute" + arch_arg = bytes(f"--gpu-architecture={prefix}_{major}{minor}", "ascii") + + opts = [ + b"--fmad=true", + arch_arg, + b"--std=c++17", + b"-default-device", + ] + for inc_dir in include_dirs: + opts.append(f"--include-path={inc_dir}".encode()) + + try: + nvrtc.compile_program(prog, opts) + except nvrtc.NvrtcError as err: + log = nvrtc.get_program_log(prog) + print(log.decode(), file=sys.stderr) + print(err, file=sys.stderr) + sys.exit(1) + + if use_cubin: + data = nvrtc.get_cubin(prog) + else: + data = nvrtc.get_ptx(prog) + + self.module = check_cuda_errors(cuda.cuModuleLoadData(np.char.array(data))) + + def get_function(self, name: bytes): + return check_cuda_errors(cuda.cuModuleGetFunction(self.module, name)) diff --git a/samples/cuda_bindings/extra/isoFdModelling/README.md b/samples/cuda_bindings/extra/isoFdModelling/README.md new file mode 100644 index 00000000000..6ee6f98a528 --- /dev/null +++ b/samples/cuda_bindings/extra/isoFdModelling/README.md @@ -0,0 +1,112 @@ +# Sample: Multi-GPU Isotropic FD Wave Propagation (Python) + +## Description + +3D acoustic finite-difference wave propagator, striped across every visible +CUDA device. The X-Y volume is split evenly and each device owns a subset +of Z slices; neighboring subvolumes exchange halo regions via +``cuMemcpyPeerAsync`` between timesteps. + +Compute and halo exchange run on separate CUDA streams per device +(``streamCenter`` and ``streamHalo``) so halo copies overlap with the +interior update. Peer-to-peer access is enabled with +``cuCtxEnablePeerAccess`` between every pair of participating devices. + +The kernels compute a 2-nd-order-in-time / 8-th-order-in-space stencil +using vectorized ``float2`` loads plus shared memory tiling for the +horizontal neighborhood, and register accumulation for the vertical +neighborhood — a fairly realistic HPC kernel. + +This is the only sample in ``/samples/cuda_bindings`` that teaches the multi-GPU HPC +pattern: per-device contexts, halo exchange via ``cuMemcpyPeerAsync``, +and compute/comm overlap on two streams per device. + +Waives with exit code 2 unless there are 2+ CUDA devices with +peer-to-peer access enabled between them. The sample displays the final +wavefield with ``matplotlib`` by default; pass ``--no-display`` for a +non-interactive run. + +## What You'll Learn + +- Managing one CUDA context per device with `cuCtxCreate`, `cuCtxSetCurrent`, + and `cuCtxEnablePeerAccess` +- Splitting a volume across GPUs and exchanging halos with + `cuMemcpyPeerAsync` +- Overlapping compute (`streamCenter`) with halo exchange (`streamHalo`) on + two streams per device using `cuStreamWaitEvent` +- A realistic FD wave kernel using shared-memory tiling, register queues, + and vectorized `float2` loads +- Feature-detecting P2P support with `cuDeviceCanAccessPeer` before + attempting a multi-GPU run + +## Key Libraries + +- [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/) - driver + runtime bindings +- `numpy` - array plumbing on the host +- `matplotlib` - final-wavefield display + +## Key APIs + +### From `cuda.bindings.driver` + +- `cuCtxCreate`, `cuCtxSetCurrent`, `cuCtxGetDevice`, `cuCtxDestroy` +- `cuCtxEnablePeerAccess`, `cuDeviceCanAccessPeer` +- `cuStreamCreate` / `cuStreamDestroy` / `cuStreamSynchronize` +- `cuMemAlloc` / `cuMemFree` / `cuMemsetD32` +- `cuMemcpyPeerAsync`, `cuMemcpyDtoHAsync`, `cuMemcpyHtoDAsync` +- `cuLaunchKernel` + +## Requirements + +### Hardware + +- **2 or more CUDA-capable GPUs with peer-to-peer access enabled between + them.** On many consumer GPUs (e.g. GeForce RTX 4090) P2P is disabled; + the sample waives with exit code 2 in that case. +- Data-center / NVLink-connected GPUs (A100, H100, etc.) are the intended + target hardware. + +### Software + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` (>=13.4.0) +- `numpy` +- `matplotlib` (optional) + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python isoFdModelling.py # Display the final wavefield +python isoFdModelling.py --no-display # Run without opening a plot +``` + +## Expected Output + +On a P2P-capable multi-GPU system the sample propagates a wavefield for +several hundred timesteps and prints per-iteration stats. On systems +without peer access it waives: + +``` +Two or more GPUs with Peer-to-Peer access capability are required +``` + +## Files + +- `isoFdModelling.py` - Python implementation using `cuda.bindings.driver` +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../../Utilities/cuda_bindings_utils.py` - Shared bindings helpers (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.bindings` driver API](https://nvidia.github.io/cuda-python/cuda-bindings/latest/module/driver.html) +- [`samples/cuda_core/simpleP2P/`](../../../cuda_core/simpleP2P/) - basic peer-to-peer access +- [CUDA C++ Programming Guide — Peer-to-Peer Memory Access](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#peer-to-peer-memory-access) diff --git a/cuda_bindings/examples/extra/iso_fd_modelling.py b/samples/cuda_bindings/extra/isoFdModelling/isoFdModelling.py similarity index 89% rename from cuda_bindings/examples/extra/iso_fd_modelling.py rename to samples/cuda_bindings/extra/isoFdModelling/isoFdModelling.py index 9fe9432862c..fe83af51b3f 100644 --- a/cuda_bindings/examples/extra/iso_fd_modelling.py +++ b/samples/cuda_bindings/extra/isoFdModelling/isoFdModelling.py @@ -1,24 +1,64 @@ -# Copyright 2021-2026 NVIDIA Corporation. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. # -# This example demonstrates isotropic finite-difference wave propagation -# modelling across multiple GPUs with peer-to-peer halo exchange. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. # -# ################################################################################ +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # /// script -# dependencies = ["cuda_bindings>13.2.1", "numpy", "matplotlib"] +# dependencies = ["cuda-python>=13.4.0", "numpy>=1.24", "matplotlib"] # /// +""" +Multi-GPU isotropic finite-difference wave propagation + +3D acoustic FD wave propagator, striped across every visible CUDA device. +The X-Y volume is split evenly and each device owns a subset of Z slices; +neighboring subvolumes exchange halo regions via cuMemcpyPeerAsync between +timesteps. Compute (streamCenter) and halo exchange (streamHalo) run on +separate streams so the halo copies overlap with the interior update. + +This is the only sample in /samples/cuda_bindings that teaches the multi-GPU HPC +pattern: per-device contexts, halo exchange via cuMemcpyPeerAsync, +and compute/comm overlap on two streams per device. + +By default, the sample displays the final wavefield with matplotlib. When +running as a smoke test in CI, pass --no-display to skip the plot. +""" + +import argparse +import sys +from pathlib import Path + +# Add samples/cuda_bindings/Utilities/ to the import path for shared bindings helpers. +sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent / "Utilities")) + import time import numpy as np +from cuda_bindings_utils import KernelHelper, check_cuda_errors, requirement_not_met from cuda.bindings import driver as cuda from cuda.bindings import runtime as cudart -from cuda.bindings._example_helpers import KernelHelper, check_cuda_errors, requirement_not_met iso_propagator = """\ extern "C" @@ -168,6 +208,16 @@ verbose_prints = False +def parse_args(argv=None): + parser = argparse.ArgumentParser(description="Multi-GPU isotropic finite-difference wave propagation") + parser.add_argument( + "--no-display", + action="store_true", + help="Skip the final matplotlib wavefield display", + ) + return parser.parse_args(argv) + + def align_nx(nx, blk, nops): n_align = (int)((nx - 1) / blk) + 1 n_align *= blk @@ -793,6 +843,7 @@ def main(): if __name__ == "__main__": - display_graph = True + args = parse_args() + display_graph = not args.no_display verbose_prints = True main() diff --git a/samples/cuda_bindings/extra/isoFdModelling/requirements.txt b/samples/cuda_bindings/extra/isoFdModelling/requirements.txt new file mode 100644 index 00000000000..c4d2912d7fb --- /dev/null +++ b/samples/cuda_bindings/extra/isoFdModelling/requirements.txt @@ -0,0 +1,8 @@ +# isoFdModelling Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.4.0 +numpy>=1.24 +# Required for the default wavefield display; pass --no-display for CI or +# other non-interactive runs. +matplotlib diff --git a/samples/cuda_bindings/extra/jitProgram/README.md b/samples/cuda_bindings/extra/jitProgram/README.md new file mode 100644 index 00000000000..e30632fae66 --- /dev/null +++ b/samples/cuda_bindings/extra/jitProgram/README.md @@ -0,0 +1,105 @@ +# Sample: Raw NVRTC + Driver API SAXPY (Python) + +## Description + +Walks through the raw NVRTC + driver-API pipeline for compiling and +launching a CUDA kernel. This is the "under the hood" companion to the +higher-level [`samples/cuda_core/jitLtoLinking/`](../../../cuda_core/jitLtoLinking/) sample: +``jitLtoLinking`` uses ``cuda.core.Program`` and ``cuda.core.Linker``; +this sample makes the individual NVRTC + ``cuModule*`` calls those +higher-level abstractions wrap. + +The full flow is: + +``` +nvrtc.create_program -> nvrtc.compile_program -> nvrtc.get_program_log + -> nvrtc.get_cubin / nvrtc.get_ptx +cuModuleLoadData -> cuModuleGetFunction("saxpy") +cuLaunchKernel -> cuStreamSynchronize +cuModuleUnload -> cuCtxDestroy +``` + +The kernel is the standard single-precision AXPY: ``out = a * x + y``. + +## What You'll Learn + +- The complete NVRTC compile pipeline: create program, compile with + options, retrieve the log, retrieve CUBIN (or PTX on older NVRTC) +- Loading a compiled module with `cuModuleLoadData` and resolving a kernel + entry point with `cuModuleGetFunction` +- Passing typed kernel arguments through `cuLaunchKernel` using a + `(values, ctypes)` pair +- Async copies + stream synchronization for host / device transfers +- Correctly tearing down all driver-owned resources + +## Key Libraries + +- [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/) - low-level driver + NVRTC bindings +- `numpy` - host-side input/output buffers + +## Key APIs + +### From `cuda.bindings._v2.nvrtc` + +- `create_program` / `compile_program` +- `get_program_log` +- `get_cubin` +- `get_ptx` +- `version` + +### From `cuda.bindings.driver` + +- `cuInit`, `cuDeviceGet`, `cuDeviceGetAttribute` +- `cuCtxCreate` / `cuCtxDestroy` +- `cuModuleLoadData` / `cuModuleGetFunction` / `cuModuleUnload` +- `cuMemAlloc` / `cuMemFree` +- `cuStreamCreate` / `cuStreamSynchronize` / `cuStreamDestroy` +- `cuMemcpyHtoDAsync` / `cuMemcpyDtoHAsync` +- `cuLaunchKernel` + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 5.0 or higher + +### Software + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` (>=13.4.0) +- `numpy` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python jitProgram.py +``` + +## Expected Output + +``` +SAXPY through raw NVRTC + driver API verified. +Done +``` + +(An empty compile log line may print before the verification message.) + +## Files + +- `jitProgram.py` - Python implementation using `cuda.bindings._v2.nvrtc` + `cuda.bindings.driver` +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.bindings` NVRTC API](https://nvidia.github.io/cuda-python/cuda-bindings/latest/module/nvrtc.html) +- [`cuda.bindings` driver API](https://nvidia.github.io/cuda-python/cuda-bindings/latest/module/driver.html) +- [`samples/cuda_core/jitLtoLinking/`](../../../cuda_core/jitLtoLinking/) - the high-level `cuda.core` equivalent diff --git a/samples/cuda_bindings/extra/jitProgram/jitProgram.py b/samples/cuda_bindings/extra/jitProgram/jitProgram.py new file mode 100644 index 00000000000..e74a1745603 --- /dev/null +++ b/samples/cuda_bindings/extra/jitProgram/jitProgram.py @@ -0,0 +1,212 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.4.0", "numpy>=1.24"] +# /// + +""" +Raw NVRTC compilation + driver-API module loading + +This is the under-the-hood companion to the high-level +[`samples/cuda_core/jitLtoLinking/`](../../../cuda_core/jitLtoLinking/) sample. Where +``jitLtoLinking`` uses ``cuda.core.Program`` and ``cuda.core.Linker`` to +compile and link device code, this sample walks through the raw calls that +those higher-level classes wrap: + + * ``nvrtc.create_program`` -> ``nvrtc.compile_program`` -> retrieve the log + * ``nvrtc.get_cubin`` (or ``nvrtc.get_ptx`` on older NVRTC) -> device bytes + * ``cuModuleLoadData`` -> load the module + * ``cuModuleGetFunction`` -> get a ``CUfunction`` for a named symbol + * ``cuLaunchKernel`` -> launch it, then ``cuModuleUnload`` + +Read this alongside ``jitLtoLinking`` when you want to see what the +``cuda.core`` compile/link pipeline is doing internally. +""" + +import ctypes +import sys + +try: + import numpy as np + + from cuda.bindings import driver as cuda + from cuda.bindings._v2 import nvrtc +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +SAXPY_KERNEL = """\ +extern "C" __global__ +void saxpy(float a, float *x, float *y, float *out, size_t n) +{ + size_t tid = blockIdx.x * blockDim.x + threadIdx.x; + if (tid < n) { + out[tid] = a * x[tid] + y[tid]; + } +} +""" + + +def _assert_drv(err): + if isinstance(err, cuda.CUresult): + if err != cuda.CUresult.CUDA_SUCCESS: + raise RuntimeError(f"Cuda Error: {err}") + else: + raise RuntimeError(f"Unknown error type: {err}") + + +def main(): + # ---- 1) Initialize the driver and get a device + context ---- + (err,) = cuda.cuInit(0) + _assert_drv(err) + + err, cu_device = cuda.cuDeviceGet(0) + _assert_drv(err) + + err, context = cuda.cuCtxCreate(None, 0, cu_device) + _assert_drv(err) + + # ---- 2) Create an NVRTC program from the SAXPY source ---- + prog = nvrtc.create_program(str.encode(SAXPY_KERNEL), b"saxpy.cu") + + # ---- 3) Pick a target architecture and choose CUBIN vs PTX ---- + err, major = cuda.cuDeviceGetAttribute( + cuda.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR, cu_device + ) + _assert_drv(err) + err, minor = cuda.cuDeviceGetAttribute( + cuda.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR, cu_device + ) + _assert_drv(err) + _nvrtc_major, nvrtc_minor = nvrtc.version() + use_cubin = nvrtc_minor >= 1 + prefix = "sm" if use_cubin else "compute" + arch_arg = bytes(f"--gpu-architecture={prefix}_{major}{minor}", "ascii") + + # ---- 4) Compile and print the log (may be empty on success) ---- + opts = [b"--fmad=false", arch_arg] + nvrtc.compile_program(prog, opts) + + log = nvrtc.get_program_log(prog) + print(log.decode()) + + # ---- 5) Retrieve either CUBIN or PTX bytes ---- + if use_cubin: + data = nvrtc.get_cubin(prog) + else: + data = nvrtc.get_ptx(prog) + + # ---- 6) Load the module and get the kernel entry point ---- + data = np.char.array(data) + err, module = cuda.cuModuleLoadData(data) + _assert_drv(err) + err, kernel = cuda.cuModuleGetFunction(module, b"saxpy") + _assert_drv(err) + + # ---- 7) Launch the kernel and verify ---- + num_threads = 128 + num_blocks = 32 + a = np.float32(2.0) + n = np.array(num_threads * num_blocks, dtype=np.uint32) + buffer_size = n * a.itemsize + + err, d_x = cuda.cuMemAlloc(buffer_size) + _assert_drv(err) + err, d_y = cuda.cuMemAlloc(buffer_size) + _assert_drv(err) + err, d_out = cuda.cuMemAlloc(buffer_size) + _assert_drv(err) + + h_x = np.random.rand(n).astype(dtype=np.float32) + h_y = np.random.rand(n).astype(dtype=np.float32) + h_out = np.zeros(n).astype(dtype=np.float32) + + err, stream = cuda.cuStreamCreate(0) + _assert_drv(err) + + (err,) = cuda.cuMemcpyHtoDAsync(d_x, h_x, buffer_size, stream) + _assert_drv(err) + (err,) = cuda.cuMemcpyHtoDAsync(d_y, h_y, buffer_size, stream) + _assert_drv(err) + (err,) = cuda.cuStreamSynchronize(stream) + _assert_drv(err) + + # Sanity: host output is still zeros before the kernel runs. + h_z = a * h_x + h_y + if np.allclose(h_out, h_z): + raise ValueError("Error inside tolerance for host-device vectors") + + arg_values = (a, d_x, d_y, d_out, n) + arg_types = (ctypes.c_float, None, None, None, ctypes.c_size_t) + (err,) = cuda.cuLaunchKernel( + kernel, + num_blocks, + 1, + 1, # grid dim + num_threads, + 1, + 1, # block dim + 0, + stream, # sharedMemBytes, stream + (arg_values, arg_types), + 0, + ) + _assert_drv(err) + + (err,) = cuda.cuMemcpyDtoHAsync(h_out, d_out, buffer_size, stream) + _assert_drv(err) + (err,) = cuda.cuStreamSynchronize(stream) + _assert_drv(err) + + h_z = a * h_x + h_y + if not np.allclose(h_out, h_z): + raise ValueError("Error outside tolerance for host-device vectors") + + # ---- 8) Tear down ---- + (err,) = cuda.cuStreamDestroy(stream) + _assert_drv(err) + (err,) = cuda.cuMemFree(d_x) + _assert_drv(err) + (err,) = cuda.cuMemFree(d_y) + _assert_drv(err) + (err,) = cuda.cuMemFree(d_out) + _assert_drv(err) + (err,) = cuda.cuModuleUnload(module) + _assert_drv(err) + (err,) = cuda.cuCtxDestroy(context) + _assert_drv(err) + + print("SAXPY through raw NVRTC + driver API verified.") + print("Done") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_bindings/extra/jitProgram/requirements.txt b/samples/cuda_bindings/extra/jitProgram/requirements.txt new file mode 100644 index 00000000000..a439c08e511 --- /dev/null +++ b/samples/cuda_bindings/extra/jitProgram/requirements.txt @@ -0,0 +1,5 @@ +# jitProgram Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.4.0 +numpy>=1.24 diff --git a/samples/cuda_core/Utilities/README.md b/samples/cuda_core/Utilities/README.md new file mode 100644 index 00000000000..4482298ef79 --- /dev/null +++ b/samples/cuda_core/Utilities/README.md @@ -0,0 +1,131 @@ +# CUDA Python Utilities + +Common utilities for CUDA Python samples using the `cuda.core` API. + +## Overview + +This module provides reusable utility functions for CUDA samples to reduce code duplication. Samples import from `cuda_samples_utils.py` using simple path-based imports (no package structure needed). + +## Installation Requirements + +Install the dependencies declared by the sample you want to run. For example, +from the repository root: + +```bash +cd samples/cuda_core/vectorAdd +pip install -r requirements.txt +``` + +Dependencies vary by sample; each sample directory contains its own +`requirements.txt`. + +## How to Use in Samples + +Import utilities using path-based import: + +```python +import sys +from pathlib import Path + +# Add Utilities directory to path +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) +from cuda_samples_utils import verify_array_result + +# Use the utility +if verify_array_result(result, expected): + print("Success!") +``` + +## Available Functions + +### Result Verification + +#### `verify_array_result(result, expected, rtol=1e-5, atol=1e-8, verbose=True)` + +Verify computed results match expected values. The helper detects whether both +arguments are NumPy arrays or both are CuPy arrays and uses the matching +library's `allclose` (no unnecessary cross-device transfers). + +**Parameters:** +- `result`: NumPy or CuPy array with computed results +- `expected`: NumPy or CuPy array with expected values (same kind as `result`) +- `rtol`: Relative tolerance (default: 1e-5) +- `atol`: Absolute tolerance (default: 1e-8) +- `verbose`: Print test result (default: True) + +**Returns:** +- `True` if results match within tolerance, `False` otherwise + +**Example:** +```python +expected = a + b +if verify_array_result(c, expected): + print("Computation correct!") +``` + +### Package Check + +#### `check_cuda_requirements()` + +Check if required CUDA packages are available. + +**Returns:** +- `True` if requirements are met, `False` otherwise + +**Example:** +```python +if not check_cuda_requirements(): + sys.exit(1) +``` + +## Design Philosophy + +These utilities focus on common operations that are **not** part of `cuda.core` API: +- Result verification for NumPy or CuPy arrays +- Package requirements checking + +For CUDA operations like device initialization, kernel compilation, and grid size calculations, samples should use `cuda.core` API directly to demonstrate the proper usage patterns. + +## Complete Example + +See `../vectorAdd/vectorAdd.py` for a complete example: + +```python +import sys +from pathlib import Path + +# Import utility +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) +from cuda_samples_utils import verify_array_result + +import cupy as cp +from cuda.core import Device, Program, ProgramOptions, LaunchConfig, launch + +# Use cuda.core directly for device and kernel operations +device = Device(0) +device.set_current() + +program_options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") +program = Program(kernel_source, code_type="c++", options=program_options) +module = program.compile("cubin", name_expressions=("kernel_name",)) +kernel = module.get_kernel("kernel_name") + +# Calculate grid size inline +threads_per_block = 256 +blocks_per_grid = (num_elements + threads_per_block - 1) // threads_per_block + +# Launch kernel - pass cupy arrays directly +config = LaunchConfig(grid=blocks_per_grid, block=threads_per_block) +launch(stream, config, kernel, a, b, c, cp.int32(num_elements)) + +# Verify results using utility +verify_array_result(c, expected) +``` + +## Benefits + +- **Code Reuse**: Write common functionality once +- **Consistency**: All samples use the same patterns +- **Maintainability**: Bug fixes benefit all samples +- **Transparency**: Samples show cuda.core API usage directly +- **Simplicity**: No complex package structure needed diff --git a/samples/cuda_core/Utilities/__init__.py b/samples/cuda_core/Utilities/__init__.py new file mode 100644 index 00000000000..a84c3bf5b70 --- /dev/null +++ b/samples/cuda_core/Utilities/__init__.py @@ -0,0 +1,47 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +""" +CUDA Python Samples - Utilities + +Common utilities for CUDA Python samples. + +Provides: +- Package requirements checking +- Result verification +""" + +from .cuda_samples_utils import ( + check_cuda_requirements, + verify_array_result, +) + +__version__ = "1.0.0" + +__all__ = [ + "check_cuda_requirements", + "verify_array_result", +] diff --git a/samples/cuda_core/Utilities/cuda_samples_utils.py b/samples/cuda_core/Utilities/cuda_samples_utils.py new file mode 100644 index 00000000000..b7fcb2a550d --- /dev/null +++ b/samples/cuda_core/Utilities/cuda_samples_utils.py @@ -0,0 +1,153 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# distribution and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +""" +Common CUDA utilities for Python samples. + +This module provides common utility functions for CUDA samples including: +- Package requirements checking +- Result verification +- GPU device information + +Requirements: +- Python 3.10+ +- CUDA Toolkit 13.0+ (recommended; matches cuda-python 13.x) +- cuda-python >= 13.0.0 +- cuda-core >= 0.6.0 +- cupy-cuda13x >= 13.0.0 +- numpy >= 2.3.2 (when used with samples that install it) +""" + + +def check_cuda_requirements() -> bool: + """ + Check if required CUDA packages are available. + + Returns + ------- + bool + True if requirements are met, False otherwise + """ + try: + import cupy as cp # noqa: F401 + + from cuda.core import Device # noqa: F401 + + return True + except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + return False + + +def verify_array_result(result, expected, rtol: float = 1e-5, atol: float = 1e-8, verbose: bool = True) -> bool: + """ + Verify that computed result matches expected result. + + Automatically detects whether arrays are NumPy or CuPy and uses the + appropriate library without unnecessary data transfers. + + Parameters + ---------- + result : numpy.ndarray or cupy.ndarray + Computed result array. + expected : numpy.ndarray or cupy.ndarray + Expected result array. + rtol : float + Relative tolerance (default: 1e-5) + atol : float + Absolute tolerance (default: 1e-8) + verbose : bool + Whether to print verification result (default: True). + + Returns + ------- + bool + True if results match, False otherwise. + + Raises + ------ + TypeError + If arrays are not both NumPy or both CuPy, or if CuPy is needed + but not available. + """ + import numpy as np + + is_np = isinstance(result, np.ndarray) and isinstance(expected, np.ndarray) + + if is_np: + allclose = np.allclose + abs_ = np.abs + max_ = np.max + else: + import cupy as cp + + is_cp = isinstance(result, cp.ndarray) and isinstance(expected, cp.ndarray) + + if not is_cp: + raise TypeError("verify_array_result expects both arrays to be either numpy.ndarray or cupy.ndarray") + + allclose = cp.allclose + abs_ = cp.abs + max_ = cp.max + + if allclose(result, expected, rtol=rtol, atol=atol): + if verbose: + print("Test PASSED") + return True + else: + max_error = max_(abs_(result - expected)) + if verbose: + print(f"Test FAILED - Max error: {max_error}") + return False + + +def verify_array_result_or_raise( + result, + expected, + rtol: float = 1e-5, + atol: float = 1e-8, + verbose: bool = True, + error_message: str = "Result verification failed", +) -> None: + """Verify array contents and raise ``RuntimeError`` on mismatch.""" + if not verify_array_result(result, expected, rtol=rtol, atol=atol, verbose=verbose): + raise RuntimeError(error_message) + + +def print_gpu_info(device) -> None: + """ + Print GPU device information. + + Parameters + ---------- + device : cuda.core.Device + CUDA device object + """ + print(f"Device: {device.name}") + cc = device.compute_capability + print(f"Compute Capability: {cc.major}.{cc.minor}") diff --git a/samples/cuda_core/binarySearch/README.md b/samples/cuda_core/binarySearch/README.md new file mode 100644 index 00000000000..de03e8c652d --- /dev/null +++ b/samples/cuda_core/binarySearch/README.md @@ -0,0 +1,129 @@ +# binarySearch (Python) + +## Description + +This sample demonstrates the parallel binary-search algorithms +exposed by **cuda.compute** (from the `cuda-cccl` package). Given +a sorted `d_data` array and a batch of `d_values` to locate, one +device-wide call returns the insertion index for every value: + +- `cuda.compute.lower_bound` writes, for each value, the lowest index + where it could be inserted into `d_data` without breaking the sort + order. Equivalent to `numpy.searchsorted(..., side="left")`. +- `cuda.compute.upper_bound` is the analogous upper form, equivalent + to `numpy.searchsorted(..., side="right")`. + +The sample runs both algorithms on two curated inputs: one with +distinct elements (where `lower_bound` and `upper_bound` agree on +any value not in the data) and one with duplicates (where they +diverge on present values). Results are verified against +`numpy.searchsorted`. + +## What You'll Learn + +- How to call `cuda.compute.lower_bound` / `upper_bound` with CuPy + arrays +- The semantic difference between `lower_bound` and `upper_bound`, + especially for inputs containing duplicates +- How the output dtype (`np.uintp`) is used for indices + +## Key Libraries + +- [`cuda.compute`](https://nvidia.github.io/cccl/python.html) (from the `cuda-cccl` package) - device algorithms +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - device setup +- `cupy` - device buffers +- `numpy` - host-side reference via `numpy.searchsorted` + +## Key APIs + +### From `cuda.compute` + +- `cuda.compute.lower_bound(d_data, num_items, d_values, num_values, d_out)` +- `cuda.compute.upper_bound(d_data, num_items, d_values, num_values, d_out)` + +### From `cuda_samples_utils` + +- `print_gpu_info()` - print device name and compute capability + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 7.0 or higher +- Minimum GPU memory: 512 MB + +### Software + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-cccl` (>=1.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) + +If the CUDA toolkit is not on your `PATH`, set `CUDA_HOME` so that +cuda.compute's JIT path can locate its dependencies: + +```bash +export CUDA_HOME=/usr/local/cuda +``` + +## Installation + +Install the required packages from `requirements.txt`: + +```bash +cd /path/to/cuda-python/samples/cuda_core/binarySearch +pip install -r requirements.txt +``` + +The `requirements.txt` installs: + +- `cuda-cccl` (>=1.0.0) - ships the `cuda.compute` module +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) +- `numpy` (>=1.24.0) + +## How to Run + +### Basic usage + +```bash +cd samples/cuda_core/binarySearch +python binarySearch.py +``` + +### With custom parameters + +```bash +python binarySearch.py --device 1 +``` + +## Expected Output + +``` +Device: +Compute Capability: + +Case 1: distinct data, mixed queries + data = [1, 3, 5, 7, 9] + values = [0, 3, 4, 10] + lower_bound: got [0, 1, 2, 5] expected [0, 1, 2, 5] OK + upper_bound: got [0, 2, 2, 5] expected [0, 2, 2, 5] OK + +Case 2: duplicates in data + data = [1, 3, 3, 5, 7, 9] + values = [3, 3, 5, 8] + lower_bound: got [1, 1, 3, 5] expected [1, 1, 3, 5] OK + upper_bound: got [3, 3, 4, 5] expected [3, 3, 4, 5] OK + +Done +``` + +**Note:** Device name and compute capability will vary based on your GPU. + +## Files + +- `binarySearch.py` - Python implementation +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../Utilities/cuda_samples_utils.py` - Common utilities (imported by this sample) diff --git a/samples/cuda_core/binarySearch/binarySearch.py b/samples/cuda_core/binarySearch/binarySearch.py new file mode 100644 index 00000000000..ccd6f488c0c --- /dev/null +++ b/samples/cuda_core/binarySearch/binarySearch.py @@ -0,0 +1,144 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-cccl[cu13]>=1.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0", "numpy>=1.24.0"] +# /// + +""" +This sample demonstrates the parallel binary-search algorithms exposed +by cuda.compute (from the cuda-cccl package). Given a sorted +``d_data`` array and a batch of ``d_values`` to locate, cuda.compute: + + - ``cuda.compute.lower_bound(d_data, num_items, d_values, num_values, d_out)`` + writes, for each value, the lowest index where it could be inserted + into d_data without breaking the sort order. Matches + ``numpy.searchsorted(..., side="left")``. + + - ``cuda.compute.upper_bound(d_data, num_items, d_values, num_values, d_out)`` + is the analogous upper form, matching ``side="right"``. + +The sample runs both algorithms on a curated sorted input with +duplicates so the lower/upper distinction is visible, verifies the +results against ``numpy.searchsorted``, and prints both sets of +indices side-by-side. +""" + +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + +try: + import cupy as cp + import numpy as np + from cuda_samples_utils import print_gpu_info + + import cuda.compute + from cuda.core import Device +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +def run_binary_search(h_data: np.ndarray, h_values: np.ndarray) -> bool: + d_data = cp.asarray(h_data) + d_values = cp.asarray(h_values) + + d_lb = cp.empty(len(h_values), dtype=np.uintp) + d_ub = cp.empty(len(h_values), dtype=np.uintp) + + cuda.compute.lower_bound( + d_data=d_data, + num_items=len(d_data), + d_values=d_values, + num_values=len(d_values), + d_out=d_lb, + ) + cuda.compute.upper_bound( + d_data=d_data, + num_items=len(d_data), + d_values=d_values, + num_values=len(d_values), + d_out=d_ub, + ) + + got_lb = cp.asnumpy(d_lb) + got_ub = cp.asnumpy(d_ub) + expected_lb = np.searchsorted(h_data, h_values, side="left").astype(np.uintp) + expected_ub = np.searchsorted(h_data, h_values, side="right").astype(np.uintp) + + ok_lb = np.array_equal(got_lb, expected_lb) + ok_ub = np.array_equal(got_ub, expected_ub) + + print(f" data = {h_data.tolist()}") + print(f" values = {h_values.tolist()}") + print(f" lower_bound: got {got_lb.tolist()} expected {expected_lb.tolist()} {'OK' if ok_lb else 'FAIL'}") + print(f" upper_bound: got {got_ub.tolist()} expected {expected_ub.tolist()} {'OK' if ok_ub else 'FAIL'}") + return ok_lb and ok_ub + + +def main(): + import argparse + + parser = argparse.ArgumentParser(description="Parallel upper_bound / lower_bound via cuda.compute") + parser.add_argument("--device", type=int, default=0, help="CUDA device id") + args = parser.parse_args() + + device = Device(args.device) + device.set_current() + print_gpu_info(device) + print() + + ok = True + + # Case 1: values both inside and outside the data range; no duplicates + # in the data. lower_bound and upper_bound agree on values not present. + print("Case 1: distinct data, mixed queries") + h_data1 = np.array([1, 3, 5, 7, 9], dtype=np.int32) + h_values1 = np.array([0, 3, 4, 10], dtype=np.int32) + ok &= run_binary_search(h_data1, h_values1) + print() + + # Case 2: duplicates in the data so lower_bound and upper_bound diverge + # on present values. + print("Case 2: duplicates in data") + h_data2 = np.array([1, 3, 3, 5, 7, 9], dtype=np.int32) + h_values2 = np.array([3, 3, 5, 8], dtype=np.int32) + ok &= run_binary_search(h_data2, h_values2) + + print() + if ok: + print("Done") + return 0 + print("FAILED") + return 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/binarySearch/requirements.txt b/samples/cuda_core/binarySearch/requirements.txt new file mode 100644 index 00000000000..3110a76e934 --- /dev/null +++ b/samples/cuda_core/binarySearch/requirements.txt @@ -0,0 +1,4 @@ +cuda-cccl[cu13]>=1.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 +numpy>=1.24.0 diff --git a/samples/cuda_core/blockwiseSum/README.md b/samples/cuda_core/blockwiseSum/README.md new file mode 100644 index 00000000000..19fcc922770 --- /dev/null +++ b/samples/cuda_core/blockwiseSum/README.md @@ -0,0 +1,102 @@ +# Sample: Block-wise Array Sum (Python) + +## Description + +Demonstrates fundamental CUDA thread cooperation: thread/block indexing, strided loops, and block-wise reduction using shared memory. This sample shows three progressively complex kernel patterns using the **cuda.core API**: + +1. **Simple indexing** - One thread per element +2. **Strided loop** - Each thread processes multiple elements +3. **Block partial sum** - Shared memory reduction within each block + +## What You'll Learn + +- How to calculate global thread ID from block and thread indices +- Strided loop pattern for processing arrays larger than grid size +- Block-level cooperation using shared memory and `__syncthreads()` + +## Key Concepts + +### Thread and Block Indexing + +``` +Global Thread ID = blockIdx.x * blockDim.x + threadIdx.x +Stride = blockDim.x * gridDim.x +``` + +### Strided Loop Pattern + +Each thread processes multiple elements, enabling fixed grid size for arbitrary array lengths: + +```c +for (size_t i = tid; i < N; i += stride) { + output[i] = input[i] * 2.0f; +} +``` + +## Key APIs + +### From `cuda.core`: + +- `Device` - Device management and context +- `Program` - Compile CUDA C++ kernels +- `ProgramOptions` - Kernel compilation options (architecture target) +- `LaunchConfig` - Configure grid/block dimensions and shared memory +- `launch()` - Execute kernel +- `EventOptions` - GPU timing configuration + +### From CuPy: + +- `cp.asarray()` - Transfer data to GPU +- `cp.zeros_like()` - Allocate GPU arrays + +## Requirements + +### Hardware: + +- NVIDIA GPU with CUDA support + +### Software: + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- See `requirements.txt` for Python packages + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python blockwiseSum.py +``` + +## Expected Output + +``` +Device: +Compute Capability: sm_XX +Array size: 1,048,576 elements + +Simple indexing: Test PASSED +Strided loop: Test PASSED +Block-wise sum: Test PASSED + +Kernel time: X.XXX ms, Bandwidth: XXX.X GB/s + +Done +``` + +## Files + +- `blockwiseSum.py` - Python implementation with CUDA kernels +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [cuda.core Documentation](https://nvidia.github.io/cuda-python/cuda-core/latest/) +- [CUDA Shared Memory](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#shared-memory) +- [CuPy Documentation](https://docs.cupy.dev/) diff --git a/samples/cuda_core/blockwiseSum/blockwiseSum.py b/samples/cuda_core/blockwiseSum/blockwiseSum.py new file mode 100644 index 00000000000..b61bfa00d1b --- /dev/null +++ b/samples/cuda_core/blockwiseSum/blockwiseSum.py @@ -0,0 +1,256 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0", "numpy>=2.3.2"] +# /// + +""" +Block-wise Array Sum with Threaded Access + +Demonstrates thread/block indexing, strided loops, and block-wise reduction. + +Key Concepts: + Global Thread ID = blockIdx.x * blockDim.x + threadIdx.x + Stride = blockDim.x * gridDim.x +""" + +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) +from cuda_samples_utils import verify_array_result + +try: + import cupy as cp + import numpy as np + + from cuda.core import ( + Device, + EventOptions, + LaunchConfig, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Install with: pip install -r requirements.txt") + sys.exit(1) + + +KERNELS_CODE: str = r""" +// Each thread processes one element +extern "C" __global__ +void simple_indexing(const float* input, float* output, size_t N) { + size_t tid = blockIdx.x * blockDim.x + threadIdx.x; + if (tid < N) { + output[tid] = input[tid] * 2.0f; + } +} + +// Each thread processes multiple elements via strided access +extern "C" __global__ +void strided_loop(const float* input, float* output, size_t N) { + size_t tid = blockIdx.x * blockDim.x + threadIdx.x; + size_t stride = (size_t)blockDim.x * gridDim.x; + for (size_t i = tid; i < N; i += stride) { + output[i] = input[i] * 2.0f; + } +} + +// Block-wise partial sum with shared memory reduction +extern "C" __global__ +void block_partial_sum(const float* input, float* partial_sums, size_t N) { + extern __shared__ float sdata[]; + + size_t tid = blockIdx.x * blockDim.x + threadIdx.x; + unsigned int local_tid = threadIdx.x; + size_t stride = (size_t)blockDim.x * gridDim.x; + + // Each thread accumulates multiple elements (strided) + float sum = 0.0f; + for (size_t i = tid; i < N; i += stride) { + sum += input[i]; + } + sdata[local_tid] = sum; + __syncthreads(); + + // Block-level tree reduction + for (int s = blockDim.x / 2; s > 0; s >>= 1) { + if (local_tid < s) { + sdata[local_tid] += sdata[local_tid + s]; + } + __syncthreads(); + } + + if (local_tid == 0) { + partial_sums[blockIdx.x] = sdata[0]; + } +} +""" + + +def run_sample(num_elements: int = 1024 * 1024, device_id: int = 0) -> bool: + """ + Run block-wise sum demonstration. + + Parameters + ---------- + num_elements : int + Number of array elements + device_id : int + CUDA device ID + + Returns + ------- + bool + True if all tests passed + """ + threads_per_block = 256 + num_blocks = 64 + + device = Device(device_id) + device.set_current() + stream = device.create_stream() + + arch = f"sm_{device.arch}" + print(f"Device: {device.name}") + print(f"Compute Capability: {arch}") + print(f"Array size: {num_elements:,} elements\n") + + try: + # Make CuPy use our stream + cp.cuda.Stream.from_external(stream).use() + + # Compile kernels + program = Program(KERNELS_CODE, code_type="c++", options=ProgramOptions(arch=arch)) + module = program.compile(target_type="cubin") + kernel_simple = module.get_kernel("simple_indexing") + kernel_strided = module.get_kernel("strided_loop") + kernel_sum = module.get_kernel("block_partial_sum") + + # Test data + h_input = np.arange(num_elements, dtype=np.float32) + d_input = cp.asarray(h_input) + d_output = cp.zeros_like(d_input) + expected = cp.asarray(h_input * 2.0) + + # Demo 1: Simple indexing (1 thread = 1 element) + full_blocks = (num_elements + threads_per_block - 1) // threads_per_block + config = LaunchConfig(grid=full_blocks, block=threads_per_block) + launch( + stream, + config, + kernel_simple, + d_input.data.ptr, + d_output.data.ptr, + cp.uint64(num_elements), + ) + stream.sync() + print("Simple indexing: ", end="") + test1 = verify_array_result(d_output, expected) + + # Demo 2: Strided loop (threads process multiple elements) + d_output.fill(0) + config = LaunchConfig(grid=num_blocks, block=threads_per_block) + launch( + stream, + config, + kernel_strided, + d_input.data.ptr, + d_output.data.ptr, + cp.uint64(num_elements), + ) + stream.sync() + print("Strided loop: ", end="") + test2 = verify_array_result(d_output, expected) + + # Demo 3: Block-wise sum with shared memory + d_ones = cp.ones(num_elements, dtype=cp.float32) + d_partial = cp.zeros(num_blocks, dtype=cp.float32) + shared_mem = threads_per_block * 4 + + config = LaunchConfig(grid=num_blocks, block=threads_per_block, shmem_size=shared_mem) + launch( + stream, + config, + kernel_sum, + d_ones.data.ptr, + d_partial.data.ptr, + cp.uint64(num_elements), + ) + stream.sync() + + # Each block sums num_elements/num_blocks elements (strided access). + # Requires num_elements % num_blocks == 0 for correct expected values. + assert num_elements % num_blocks == 0, "num_elements must be divisible by num_blocks for block_partial_sum" + expected_partial = cp.full(num_blocks, num_elements / num_blocks, dtype=cp.float32) + print("Block-wise sum: ", end="") + test3 = verify_array_result(d_partial, expected_partial) + + # Performance timing + event_opts = EventOptions(timing_enabled=True) + iterations = 100 + + stream.sync() + start = stream.record(options=event_opts) + for _ in range(iterations): + launch( + stream, + config, + kernel_sum, + d_ones.data.ptr, + d_partial.data.ptr, + cp.uint64(num_elements), + ) + end = stream.record(options=event_opts) + end.sync() + + time_ms = (end - start) / iterations + bandwidth = (num_elements * 4) / (time_ms * 1e6) + print(f"\nKernel time: {time_ms:.3f} ms, Bandwidth: {bandwidth:.1f} GB/s") + + return test1 and test2 and test3 + + finally: + # Explicit resource cleanup + cp.cuda.Stream.null.use() + stream.close() + + +def main() -> None: + """Entry point.""" + success = run_sample() + if success: + print("\nDone") + else: + print("\nSome tests failed") + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/blockwiseSum/requirements.txt b/samples/cuda_core/blockwiseSum/requirements.txt new file mode 100644 index 00000000000..e70c86353b6 --- /dev/null +++ b/samples/cuda_core/blockwiseSum/requirements.txt @@ -0,0 +1,6 @@ +# Block-wise Array Sum Requirements + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 +numpy>=2.3.2 diff --git a/samples/cuda_core/blurImageUnifiedMemory/README.md b/samples/cuda_core/blurImageUnifiedMemory/README.md new file mode 100644 index 00000000000..da5b0028cce --- /dev/null +++ b/samples/cuda_core/blurImageUnifiedMemory/README.md @@ -0,0 +1,177 @@ +# Sample: Image Blur with Unified Memory (Python) + +## Description + +Blur images on GPU using modern `cuda.core` APIs for kernel compilation, execution, and memory management. This sample demonstrates **zero-copy data sharing** between CPU and GPU using unified (managed) memory. + +## What You'll Learn + +- Compiling CUDA kernels at runtime with `cuda.core.Program` +- Launching kernels with `cuda.core.launch` and `LaunchConfig` +- Using unified memory with `cuda.core.ManagedMemoryResource` +- **Zero-copy CPU access** to unified memory via `np.from_dlpack()` +- Seamless CPU/GPU memory access without explicit transfers + +## Key Concepts + +### Kernel Compilation with cuda.core.Program + +```python +# Compile CUDA C++ kernel at runtime +program = Program(KERNEL_CODE, code_type="c++", options=options) +compiled = program.compile(target_type="cubin") +kernel = compiled.get_kernel("box_blur_3x3") +``` + +### Kernel Launch with cuda.core.launch + +```python +# Configure and launch kernel +config = LaunchConfig(grid=grid_size, block=block_size) + +# Buffers can be passed directly as kernel arguments +launch(stream, config, kernel, src_buf, dst_buf, H, W) +``` + +### Unified Memory (Managed Memory) + +This sample uses `ManagedMemoryResource` for simplicity: a single allocation is accessible from both CPU and GPU without explicit transfers. For performance-critical workloads, consider `LegacyPinnedMemoryResource` + `DeviceMemoryResource` instead, which gives explicit control over host/device placement and transfer costs. + +Unified memory is accessible from both CPU and GPU without explicit data transfers: + +```python +# Allocate unified memory +options = ManagedMemoryResourceOptions(preferred_location=device.device_id) +mr = ManagedMemoryResource(options) +src_buf = mr.allocate(n_bytes, stream) +dst_buf = mr.allocate(n_bytes, stream) +try: + # Synchronize to ensure allocations are complete before CPU access + stream.sync() + + # Create numpy views of unified memory using DLPack protocol (zero-copy) + src_np = np.from_dlpack(src_buf).view(np.float32).reshape(H, W) + dst_np = np.from_dlpack(dst_buf).view(np.float32).reshape(H, W) + + # CPU writes directly to unified memory + src_np[:] = input_data + + # Launch kernel - buffers can be passed directly as arguments + launch(stream, config, kernel, src_buf, dst_buf, H, W) + stream.sync() + + # Return zero-copy view; caller must close buffers when done + return dst_np, src_buf, dst_buf +except Exception: + src_buf.close() + dst_buf.close() + raise +``` + +When returning a zero-copy view, the caller must close the buffers after use (e.g., in a `try/finally` block) to avoid leaking managed memory. + +## Key APIs + +### From `cuda.core`: + +- `Device` - CUDA device management +- `Program` - Runtime kernel compilation (NVRTC) +- `ProgramOptions` - Compilation options (architecture target) +- `LaunchConfig` - Kernel launch configuration (grid/block dimensions) +- `launch` - Execute compiled kernel +- `ManagedMemoryResource` - Unified memory allocation + +### Zero-Copy Techniques: + +- `np.from_dlpack(buffer)` - Create numpy view of unified memory using DLPack protocol +- Pass `buffer` directly to `launch()` as kernel arguments +- When returning a zero-copy view, return `(view, src_buf, dst_buf)` and have the caller close buffers in `try/finally` after use + +## Kernel Techniques + +- **2D Thread Mapping** - Each thread computes one output pixel +- **Stencil Pattern** - Read neighboring pixels (3x3 neighborhood) +- **Boundary Handling** - Clamp to edge for border pixels +- **Box Filter** - 3x3 averaging for blur effect + +## Requirements + +### Hardware: + +- NVIDIA GPU with CUDA support +- Minimum GPU memory: 256 MB + +### Software: + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` package (13.0.0+) +- `cuda-core` package (>=1.0.0) +- `numpy` package (>=2.3.2) +- `pillow` package (10.0.0+) + +### Platform Support: + +This sample relies on `ManagedMemoryResource` with **concurrent host access** +to managed allocations while GPU kernels are in flight. That behavior +requires the device property `concurrent_managed_access=True`, which is only +supported on Linux with HMM (Pascal and newer). On Windows (WDDM/MCDM/TCC) +the property is `False`, so the sample exits early with a waive message +instead of attempting a run that would crash the process. + +## Installation + +```bash +cd /path/to/cuda-python/samples/cuda_core/blurImageUnifiedMemory +pip install -r requirements.txt +``` + +## How to Run + +```bash +python blurImageUnifiedMemory.py +``` + +## Expected Output + +``` +============================================================ +Image Blur with Unified Memory (cuda.core) +============================================================ + +Device: +Compute Capability: sm_ + +Compiling CUDA kernel with cuda.core.Program... + Compiled for architecture: sm_ + +Image size: 256x256 grayscale +Creating sample image... +Blurring image on GPU... + +Saving results... + Saved: original_image.png + Saved: blurred_image.png + +Verifying result... + Test PASSED + Max difference from original: +``` + +## Output Files + +- `original_image.png` - Test pattern image before blur +- `blurred_image.png` - Image after 3x3 box blur + +## Files + +- `blurImageUnifiedMemory.py` - Python implementation using cuda.core +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [cuda.core Documentation](https://nvidia.github.io/cuda-python/cuda-core/latest/) +- [cuda.core.Program](https://nvidia.github.io/cuda-python/cuda-core/latest/generated/cuda.core.Program.html) +- [cuda.core.ManagedMemoryResource](https://nvidia.github.io/cuda-python/cuda-core/latest/generated/cuda.core.ManagedMemoryResource.html) +- [CUDA Managed Memory](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#um-unified-memory-programming-hd) diff --git a/samples/cuda_core/blurImageUnifiedMemory/blurImageUnifiedMemory.py b/samples/cuda_core/blurImageUnifiedMemory/blurImageUnifiedMemory.py new file mode 100644 index 00000000000..a1a1e5ad423 --- /dev/null +++ b/samples/cuda_core/blurImageUnifiedMemory/blurImageUnifiedMemory.py @@ -0,0 +1,282 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "numpy>=2.3.2", "pillow>=10.0.0"] +# /// + +""" +Image Blur with Unified Memory using cuda.core + +Demonstrates GPU image blurring using cuda.core APIs for kernel compilation, +launch, and unified memory allocation. +""" + +import os +import sys + +try: + import numpy as np + from PIL import Image + + from cuda.core import ( + Device, + LaunchConfig, + ManagedMemoryResource, + ManagedMemoryResourceOptions, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) + + +# CUDA kernel source code - compiled at runtime by cuda.core.Program +BOX_BLUR_KERNEL_CODE = r""" +extern "C" __global__ +void box_blur_3x3(const float* __restrict__ src, + float* __restrict__ dst, int H, int W) { + /* + * Simple 3x3 box blur CUDA kernel. + * + * Each thread computes one output pixel by averaging + * the 3x3 neighborhood of input pixels (stencil pattern). + */ + + int x = blockIdx.x * blockDim.x + threadIdx.x; + int y = blockIdx.y * blockDim.y + threadIdx.y; + + if (x >= W || y >= H) return; + + float sum = 0.0f; + int count = 0; + + // 3x3 stencil: iterate over neighborhood + for (int dy = -1; dy <= 1; dy++) { + for (int dx = -1; dx <= 1; dx++) { + int nx = x + dx; + int ny = y + dy; + + // Boundary check (clamp to edge) + if (nx >= 0 && nx < W && ny >= 0 && ny < H) { + sum += src[ny * W + nx]; + count++; + } + } + } + + dst[y * W + x] = sum / count; +} +""" + + +def make_test_image(h: int, w: int, dtype=np.uint8) -> np.ndarray: + """Create a test grayscale image for demonstration.""" + img = np.zeros((h, w), dtype=dtype) + + # Create horizontal stripes + for i in range(0, h, 50): + img[i : i + 25, :] = 255 + + # Create vertical stripes with different intensity + for j in range(0, w, 50): + img[:, j : j + 25] = 128 + + # Add circular pattern for interesting blur effects + center_y, center_x = h // 2, w // 2 + y, x = np.ogrid[:h, :w] + circle_mask = (x - center_x) ** 2 + (y - center_y) ** 2 <= (min(h, w) // 6) ** 2 + img[circle_mask] = 200 + + return np.ascontiguousarray(img) + + +def blur_image_unified_memory(host_np: np.ndarray, device: Device, stream, kernel) -> tuple[np.ndarray, object, object]: + """ + Blur image on GPU using unified memory with cuda.core. + + This function demonstrates: + 1. Allocate managed memory using ManagedMemoryResource + 2. Create zero-copy numpy views using np.from_dlpack() + 3. Launch kernel via cuda.core.launch + + Args: + host_np: NumPy array containing image data on CPU + device: CUDA device to use + stream: cuda.core Stream for async operations + kernel: Compiled cuda.core Kernel object + + Returns: + Tuple of (dst_np, src_buf, dst_buf). dst_np is a zero-copy view into + unified memory. Caller must close src_buf and dst_buf when done with + dst_np to avoid leaking managed memory. + """ + H, W = host_np.shape + n_bytes = H * W * np.dtype(np.float32).itemsize + + # Create managed memory resource for unified memory allocation + options = ManagedMemoryResourceOptions(preferred_location=device.device_id) + mr = ManagedMemoryResource(options) + + # Allocate unified memory buffers for source and destination images + src_buf = mr.allocate(n_bytes, stream=stream) + dst_buf = mr.allocate(n_bytes, stream=stream) + try: + # Synchronize to ensure allocations are complete before CPU access + stream.sync() + + # Create numpy views of unified memory using DLPack protocol (zero-copy) + src_np = np.from_dlpack(src_buf).view(np.float32).reshape(H, W) + dst_np = np.from_dlpack(dst_buf).view(np.float32).reshape(H, W) + + # Write input data to unified memory (CPU can access directly) + src_np[:] = host_np.astype(np.float32) / 255.0 + + # Configure kernel launch parameters + block_size = (16, 16) + grid_size = ( + (W + block_size[0] - 1) // block_size[0], + (H + block_size[1] - 1) // block_size[1], + ) + + # Create LaunchConfig for kernel execution + config = LaunchConfig(grid=grid_size, block=block_size) + + # Launch kernel - buffers can be passed directly as kernel arguments + launch( + stream, + config, + kernel, + src_buf, + dst_buf, + np.int32(H), + np.int32(W), + ) + + # Synchronize to ensure kernel completion before reading results + stream.sync() + + # Return zero-copy view; caller closes buffers when done + return (dst_np, src_buf, dst_buf) + except Exception: + src_buf.close() + dst_buf.close() + raise + + +def main(): + """ + Complete demonstration of GPU image blurring with cuda.core. + + This example shows: + 1. Device initialization with cuda.core.Device + 2. Kernel compilation with cuda.core.Program + 3. Unified memory with cuda.core.ManagedMemoryResource + 4. Kernel launch with cuda.core.launch and LaunchConfig + """ + if sys.platform == "win32": + print( + "This sample relies on ManagedMemoryResource with concurrent host " + "access, which is not supported on Windows " + "(concurrent_managed_access=False). Waiving this sample." + ) + sys.exit(EXIT_WAIVED) + + print("=" * 60) + print("Image Blur with Unified Memory (cuda.core)") + print("=" * 60) + + # Initialize CUDA device + device = Device(0) + device.set_current() + + print(f"\nDevice: {device.name}") + print(f"Compute Capability: sm_{device.arch}") + + # Create stream for async operations + stream = device.create_stream() + try: + # Compile kernel using cuda.core.Program + print("\nCompiling CUDA kernel with cuda.core.Program...") + arch = f"sm_{device.arch}" + options = ProgramOptions(arch=arch) + program = Program(BOX_BLUR_KERNEL_CODE, code_type="c++", options=options) + compiled = program.compile(target_type="cubin") + kernel = compiled.get_kernel("box_blur_3x3") + print(f" Compiled for architecture: {arch}") + + # Image parameters + H, W = 256, 256 + print(f"\nImage size: {H}x{W} grayscale") + + # Create test image + print("Creating sample image...") + host_np = make_test_image(H, W, dtype=np.uint8) + + # Blur image on GPU using cuda.core (returns zero-copy view + buffers) + print("Blurring image on GPU...") + blurred_result, src_buf, dst_buf = blur_image_unified_memory(host_np, device, stream, kernel) + try: + # Save images (use zero-copy view before releasing buffers) + print("\nSaving results...") + original_pil = Image.fromarray(host_np, mode="L") + original_pil.save("original_image.png") + print(" Saved: original_image.png") + + blurred_uint8 = (np.clip(blurred_result, 0, 1) * 255).astype(np.uint8) + blurred_pil = Image.fromarray(blurred_uint8, mode="L") + blurred_pil.save("blurred_image.png") + print(" Saved: blurred_image.png") + + # Verify blur was applied + print("\nVerifying result...") + original_float = host_np.astype(np.float32) / 255.0 + max_diff = np.max(np.abs(blurred_result - original_float)) + blur_applied = max_diff > 0.01 + + if blur_applied: + print(" Test PASSED") + else: + print(" Test FAILED - blur not applied") + sys.exit(1) + + print(f" Max difference from original: {max_diff:.4f}") + finally: + src_buf.close() + dst_buf.close() + finally: + stream.close() + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/blurImageUnifiedMemory/blurred_image.png b/samples/cuda_core/blurImageUnifiedMemory/blurred_image.png new file mode 100644 index 00000000000..2d24272e22f Binary files /dev/null and b/samples/cuda_core/blurImageUnifiedMemory/blurred_image.png differ diff --git a/samples/cuda_core/blurImageUnifiedMemory/original_image.png b/samples/cuda_core/blurImageUnifiedMemory/original_image.png new file mode 100644 index 00000000000..103d81df01c Binary files /dev/null and b/samples/cuda_core/blurImageUnifiedMemory/original_image.png differ diff --git a/samples/cuda_core/blurImageUnifiedMemory/requirements.txt b/samples/cuda_core/blurImageUnifiedMemory/requirements.txt new file mode 100644 index 00000000000..5213dcc2546 --- /dev/null +++ b/samples/cuda_core/blurImageUnifiedMemory/requirements.txt @@ -0,0 +1,6 @@ +# Image Blur with Unified Memory Sample Requirements + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +numpy>=2.3.2 +pillow>=10.0.0 diff --git a/samples/cuda_core/copyImageArraytoGPU/README.md b/samples/cuda_core/copyImageArraytoGPU/README.md new file mode 100644 index 00000000000..4c4a100ad86 --- /dev/null +++ b/samples/cuda_core/copyImageArraytoGPU/README.md @@ -0,0 +1,119 @@ +# Sample: Image Array Copy to GPU (Python) + +## Description + +Copy image arrays between CPU and GPU memory using the modern `cuda.core` API with optimal performance through pinned memory and asynchronous transfers. + +## What You'll Learn + +- How to use pinned memory for faster CPU↔GPU transfers +- Using the `cuda.core` API for memory management +- Working with DLPack for zero-copy array views +- Performing asynchronous memory transfers with CUDA streams +- Interoperability between CUDA Core API and CuPy +- Proper CUDA resource management and cleanup + +## Key Libraries + +- `cuda.core` - Modern CUDA Python API +- `numpy` - Array operations and DLPack support +- `cupy` - GPU array operations and CUDA interoperability + +## Key APIs + +### From `cuda.core`: + +- `Device()` - Initialize and access CUDA device +- `Device.set_current()` - Set the current device for API calls +- `Device.create_stream()` - Create CUDA stream for async operations +- `Device.memory_resource` - Access device memory allocator +- `PinnedMemoryResource()` - Allocate pinned host memory +- `buffer.copy_to()` - Copy data between memory spaces +- `buffer.close()` - Release allocated memory + +### From `numpy`: + +- `np.from_dlpack()` - Create array view from DLPack capsule +- `np.copyto()` - Copy data between arrays + +### From `cupy`: + +- `cp.from_dlpack()` - Create GPU array view from DLPack capsule +- `cp.cuda.Stream.from_external()` - Use external CUDA stream + +### From `cuda_samples_utils`: + +- `verify_array_result()` - Verify computation results + +## Requirements + +### Hardware: + +- NVIDIA GPU with CUDA support +- Sufficient GPU memory for image data (sample uses ~200KB for 256×256×3 image) + +### Software: + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- NumPy 2.3.2 or newer (required for DLPack support) +- `cuda-python` package (>=13.0.0+) +- `cuda-core` package (>=1.0.0) +- `cupy-cuda13x` package (14.0.0+) + +## Installation + +Install the required packages from requirements.txt: + +```bash +cd /path/to/cuda-python/samples/cuda_core/copyImageArraytoGPU +pip install -r requirements.txt +``` + +The requirements.txt installs: +- `numpy` (2.3.2+, required for DLPack) +- `cuda-python` (>=13.0.0+) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (14.0.0+) + +## How to Run + +### Basic usage: + +```bash +cd samples/cuda_core/copyImageArraytoGPU +python copyImageArraytoGPU.py +``` + +## Expected Output + +``` +[Image Array Copy to GPU using CUDA Core API] +Device: NVIDIA GeForce RTX 4090 +[Image array copy of 256x256x3 image] +Creating sample image... +Copying image to GPU... +Creating CuPy view of GPU data... +Mean pixel value (computed on GPU): 127.50 +Copying image back from GPU... +Verifying result... +Test PASSED + +Done +``` + +**Note:** Device name will vary based on your GPU. + +## Files + +- `copyImageArraytoGPU.py` - Python implementation using cuda.core API +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../Utilities/cuda_samples_utils.py` - Common utilities (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [cuda.core API Guide](https://nvidia.github.io/cuda-python/cuda-core/latest/) +- [DLPack Specification](https://dmlc.github.io/dlpack/latest/) +- [CuPy Documentation](https://docs.cupy.dev/) diff --git a/samples/cuda_core/copyImageArraytoGPU/copyImageArraytoGPU.py b/samples/cuda_core/copyImageArraytoGPU/copyImageArraytoGPU.py new file mode 100644 index 00000000000..8e12291ecad --- /dev/null +++ b/samples/cuda_core/copyImageArraytoGPU/copyImageArraytoGPU.py @@ -0,0 +1,250 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["numpy>=2.3.2", "cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0"] +# /// + +""" +Image Array Copy to GPU using CUDA Core API + +This sample demonstrates how to copy image arrays between CPU and GPU memory +using NVIDIA's CUDA Core Python API with optimal performance. +""" + +import sys +from pathlib import Path + +# Add parent directory to path to import utilities +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) +from cuda_samples_utils import verify_array_result_or_raise + +try: + import cupy as cp + import numpy as np + + from cuda.core import Buffer, Device, PinnedMemoryResource, Stream +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +# ----------------------------- Helper Functions ------------------------------ + + +def make_random_image(h: int, w: int, c: int, dtype=np.uint8) -> np.ndarray: + """ + Create a random test image for demonstration. + + Args: + h: Image height in pixels + w: Image width in pixels + c: Number of channels (e.g., 3 for RGB) + dtype: NumPy data type (e.g., np.uint8 for 0-255 pixel values) + + Returns: + A contiguous NumPy array representing the image + """ + img = np.random.randint(0, 256, size=(h, w, c), dtype=dtype) + return np.ascontiguousarray(img) # Ensure memory is contiguous for GPU transfer + + +# ----------------------------- Core GPU Functions --------------------------- + + +def copy_image_to_gpu_cuda_core(host_np: np.ndarray, dev: Device, stream: Stream) -> tuple[Buffer, Buffer]: + """ + Copy image from CPU memory to GPU memory using optimal transfer method. + + This function demonstrates the recommended approach: + 1. Use pinned memory for faster transfers + 2. Use DLPack for zero-copy array views + 3. Perform async transfers on a CUDA stream + + Args: + host_np: NumPy array containing image data on CPU + dev: CUDA device object + stream: CUDA stream for async operations + + Returns: + Tuple of (device_buffer, pinned_buffer) - both need to be cleaned up later + """ + nbytes = host_np.nbytes # Calculate total bytes needed + + # Step 1: Set up memory resources + # Device memory resource - allocates on GPU + device_mr = dev.memory_resource + # Pinned memory resource - allocates CPU memory that GPU can access faster + pinned_mr = PinnedMemoryResource() + + # Step 2: Allocate memory buffers + pinned_buffer = pinned_mr.allocate(nbytes, stream=stream) # Fast CPU memory + device_buffer = device_mr.allocate(nbytes, stream=stream) # GPU memory + + # Step 3: Create a NumPy view of pinned memory using DLPack + # This allows us to work with pinned memory as if it's a regular NumPy array + pinned_view = np.from_dlpack(pinned_buffer).view(dtype=host_np.dtype).reshape(host_np.shape) + + # Step 4: Copy image data from regular CPU memory to pinned CPU memory + # This is a CPU-to-CPU copy, so it's very fast + np.copyto(pinned_view, host_np) + + # Step 5: Copy from pinned CPU memory to GPU memory + # This is the actual CPU-to-GPU transfer, done asynchronously + pinned_buffer.copy_to(device_buffer, stream=stream) + + return device_buffer, pinned_buffer + + +def copy_image_from_gpu_cuda_core( + device_buffer: Buffer, + shape: tuple, + dtype: type, + _dev: Device, # unused: kept for symmetry with copy_image_to_gpu_cuda_core + stream: Stream, +) -> np.ndarray: + """ + Copy image from GPU memory back to CPU memory. + + This function reverses the GPU-to-CPU transfer process: + 1. Allocate pinned CPU memory for fast transfer + 2. Copy from GPU to pinned CPU memory + 3. Create NumPy view and copy to regular CPU memory + + Args: + device_buffer: GPU buffer containing image data + shape: Original image shape tuple (height, width, channels) + dtype: Original image data type + dev: CUDA device object + stream: CUDA stream for async operations + + Returns: + NumPy array with image data copied from GPU + """ + nbytes = np.prod(shape) * np.dtype(dtype).itemsize # Calculate total bytes + + # Step 1: Create pinned memory for fast GPU-to-CPU transfer + pinned_mr = PinnedMemoryResource() + pinned_buffer = pinned_mr.allocate(nbytes, stream=stream) + try: + # Step 2: Copy from GPU memory to pinned CPU memory + device_buffer.copy_to(pinned_buffer, stream=stream) + stream.sync() # Wait for the GPU transfer to complete + + # Step 3: Create NumPy view of pinned memory using DLPack + pinned_view = np.from_dlpack(pinned_buffer).view(dtype=dtype).reshape(shape) + + # Step 4: Copy from pinned CPU memory to regular CPU memory + # This creates the final result that can be used normally + return pinned_view.copy() + finally: + # Step 5: Clean up the temporary pinned buffer + pinned_buffer.close(stream) + + +# ------------------------------ Main Demo ------------------------------------ + + +def main(): + """ + Complete demonstration of GPU image copying workflow. + + This example shows: + 1. Setting up CUDA device and stream + 2. Creating a sample image + 3. Copying image to GPU + 4. Accessing GPU data with CuPy (optional) + 5. Copying image back from GPU + 6. Verifying data integrity + 7. Proper cleanup of resources + """ + print("[Image Array Copy to GPU using CUDA Core API]") + + # Image parameters - modify these to test different sizes + H, W, C = 256, 256, 3 # Height=256, Width=256, Channels=3 (RGB) + dtype = np.uint8 # Standard image pixel type (0-255 values) + + # Step 1: Set up CUDA device and stream + dev = Device() # Get default CUDA device (GPU 0) + dev.set_current() # Make this device the active one + stream = dev.create_stream() # Create stream for async operations + + print(f"Device: {dev.name}") + print(f"[Image array copy of {H}x{W}x{C} image]") + + device_buffer = pinned_buffer = None + try: + # Step 2: Configure CuPy to use our CUDA stream (for interoperability) + cp.cuda.Stream.from_external(stream).use() + + # Step 3: Create a test image on CPU + print("Creating sample image...") + host_np = make_random_image(H, W, C, dtype=dtype) + + # Step 4: Copy image from CPU to GPU + print("Copying image to GPU...") + device_buffer, pinned_buffer = copy_image_to_gpu_cuda_core(host_np, dev, stream) + + # Step 5: (Optional) Get a CuPy view of GPU data for processing + # This shows how you can work with the GPU data without copying it back + print("Creating CuPy view of GPU data...") + device_cp = cp.from_dlpack(device_buffer).view(dtype=dtype).reshape(H, W, C) + + # Example: compute mean pixel value on GPU + mean_value = float(cp.mean(device_cp)) + print(f"Mean pixel value (computed on GPU): {mean_value:.2f}") + + # Step 6: Copy image back from GPU to CPU + print("Copying image back from GPU...") + host_back = copy_image_from_gpu_cuda_core(device_buffer, host_np.shape, host_np.dtype, dev, stream) + + # Step 7: Verify that the data survived the round trip + print("Verifying result...") + host_back_cp = cp.asarray(host_back) + host_np_cp = cp.asarray(host_np) + verify_array_result_or_raise( + host_back_cp, + host_np_cp, + rtol=0, + atol=0, + error_message="Image round-trip verification failed", + ) + finally: + # Step 8: Clean up all allocated resources + if device_buffer is not None: + device_buffer.close(stream) # Free GPU memory + if pinned_buffer is not None: + pinned_buffer.close(stream) # Free pinned CPU memory + stream.close() # Close CUDA stream + cp.cuda.Stream.null.use() # Reset CuPy's stream to default + + print("\nDone") + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/copyImageArraytoGPU/requirements.txt b/samples/cuda_core/copyImageArraytoGPU/requirements.txt new file mode 100644 index 00000000000..31aed2541ce --- /dev/null +++ b/samples/cuda_core/copyImageArraytoGPU/requirements.txt @@ -0,0 +1,6 @@ +# Image Array Copy to GPU Sample Requirements + +numpy>=2.3.2 +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 diff --git a/samples/cuda_core/cudaComputeLambdas/README.md b/samples/cuda_core/cudaComputeLambdas/README.md new file mode 100644 index 00000000000..120da5a780e --- /dev/null +++ b/samples/cuda_core/cudaComputeLambdas/README.md @@ -0,0 +1,130 @@ +# cudaComputeLambdas (Python) + +## Description + +This sample demonstrates how **cuda.compute** (from the +`cuda-cccl` package) accepts plain Python callables, including +lambdas, as the operators that drive device-wide reductions, +transforms, and scans. Internally `cuda.compute` JIT-compiles the +callable through Numba for the GPU, so you can iterate on the +operator in pure Python and still get a fused device-wide kernel. + +The sample exercises three algorithm families: + +1. `cuda.compute.reduce_into` - sum via `lambda a, b: a + b`. +2. `cuda.compute.unary_transform` - elementwise `y = x*x + 1` via a + lambda. +3. `cuda.compute.inclusive_scan` - prefix sum over only the even + values, driven by a regular Python function as the binary + operator. + +## What You'll Learn + +- Passing a Python `lambda` directly as the operator to a cuda.compute + device algorithm +- Using a regular Python `def` function for the same purpose when the + op is non-trivial +- The three core algorithm families in cuda.compute: reductions, + transforms, and scans +- How cuda.compute auto-compiles the op to LTO-IR via Numba + +## Key Libraries + +- [`cuda.compute`](https://nvidia.github.io/cccl/python.html) (from the `cuda-cccl` package) - device algorithms and JIT-compiled Python ops +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - device setup +- `cupy` - device buffers +- `numpy` - scalar init values and host-side verification + +## Key APIs + +### From `cuda.compute` + +- `cuda.compute.reduce_into(d_in, d_out, num_items, op, h_init)` - device-wide reduction +- `cuda.compute.unary_transform(d_in, d_out, num_items, op)` - elementwise unary transform +- `cuda.compute.inclusive_scan(d_in, d_out, op, init_value, num_items)` - inclusive prefix scan + +### From `cuda_samples_utils` + +- `print_gpu_info()` - print device name and compute capability + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 7.0 or higher + +### Software + +- CUDA Toolkit 13.0 or newer (cuda.compute compiles ops to LTO-IR via + Numba, which needs the toolkit's `nvvm` and `libdevice`). +- Python 3.10 or newer +- `cuda-cccl` (>=1.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) +- `numba-cuda` (pulled in transitively by `cuda-cccl`) + +If the CUDA toolkit is not on your `PATH`, set `CUDA_HOME` so Numba +can locate `libdevice`: + +```bash +export CUDA_HOME=/usr/local/cuda +``` + +## Installation + +Install the required packages from `requirements.txt`: + +```bash +cd /path/to/cuda-python/samples/cuda_core/cudaComputeLambdas +pip install -r requirements.txt +``` + +The `requirements.txt` installs: + +- `cuda-cccl` (>=1.0.0) - ships the `cuda.compute` module +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) +- `numpy` (>=1.24.0) + +## How to Run + +### Basic usage + +```bash +cd samples/cuda_core/cudaComputeLambdas +python cudaComputeLambdas.py +``` + +### With custom parameters + +```bash +python cudaComputeLambdas.py --device 1 +``` + +## Expected Output + +``` +Device: +Compute Capability: + +reduce_into(lambda a,b: a+b) over 1..10 -> 55 (expected 55) OK + +unary_transform(lambda x: x*x + 1): + got = [1, 2, 5, 10, 17, 26, 37, 50] + expected = [1, 2, 5, 10, 17, 26, 37, 50] OK + +inclusive_scan(add-evens-only) over [1,2,3,4,5,6]: + got = [0, 2, 2, 6, 6, 12] + expected = [0, 2, 2, 6, 6, 12] OK + +Done +``` + +**Note:** Device name and compute capability will vary based on your GPU. + +## Files + +- `cudaComputeLambdas.py` - Python implementation +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../Utilities/cuda_samples_utils.py` - Common utilities (imported by this sample) diff --git a/samples/cuda_core/cudaComputeLambdas/cudaComputeLambdas.py b/samples/cuda_core/cudaComputeLambdas/cudaComputeLambdas.py new file mode 100644 index 00000000000..5137adbd2c5 --- /dev/null +++ b/samples/cuda_core/cudaComputeLambdas/cudaComputeLambdas.py @@ -0,0 +1,179 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-cccl[cu13]>=1.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0", "numpy>=1.24.0"] +# /// + +""" +cuda.compute: Python lambdas as device-wide operators + +This sample demonstrates how cuda.compute 1.0 (from the cuda-cccl +package) accepts plain Python callables, including lambdas, as the +operators that drive device-wide reductions, transforms, and scans. +Internally cuda.compute JIT-compiles the callable with Numba for the +device, so you can iterate on the operator in pure Python and still +get a fused GPU kernel. + +The sample exercises three algorithm families with Python lambdas / +regular functions: + + 1. cuda.compute.reduce_into - sum via a lambda. + 2. cuda.compute.unary_transform - elementwise y = x*x + 1 via a lambda. + 3. cuda.compute.inclusive_scan - prefix sum over only the even values, + using a regular Python function as the binary operator. +""" + +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + +try: + import cupy as cp + import numpy as np + from cuda_samples_utils import print_gpu_info + + import cuda.compute + from cuda.core import Device +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +def demo_reduce_lambda() -> bool: + """reduce_into driven by a lambda.""" + dtype = np.int32 + h_init = np.array([0], dtype=dtype) + d_in = cp.arange(1, 11, dtype=dtype) # 1..10 + d_out = cp.empty(1, dtype=dtype) + + cuda.compute.reduce_into( + d_in=d_in, + d_out=d_out, + num_items=int(d_in.size), + op=lambda a, b: a + b, + h_init=h_init, + ) + + got = int(d_out.get()[0]) + expected = int(d_in.get().sum()) + ok = got == expected + print(f"reduce_into(lambda a,b: a+b) over 1..10 -> {got} (expected {expected}) {'OK' if ok else 'FAIL'}") + return ok + + +def demo_unary_transform_lambda() -> bool: + """unary_transform driven by a lambda: y = x*x + 1.""" + d_in = cp.arange(8, dtype=cp.int32) + d_out = cp.empty_like(d_in) + + cuda.compute.unary_transform( + d_in=d_in, + d_out=d_out, + num_items=int(d_in.size), + op=lambda x: x * x + 1, + ) + + got = d_out.get() + expected = (d_in.get().astype(np.int64) ** 2 + 1).astype(np.int32) + ok = np.array_equal(got, expected) + print( + f"unary_transform(lambda x: x*x + 1):\n" + f" got = {got.tolist()}\n" + f" expected = {expected.tolist()} {'OK' if ok else 'FAIL'}" + ) + return ok + + +def demo_scan_custom_op() -> bool: + """inclusive_scan with a Python function that sums only even values. + + This shows the same pattern that also works for reduce/transform: + the Python callable is JIT-compiled for the device by cuda.compute. + """ + dtype = np.int32 + d_in = cp.array([1, 2, 3, 4, 5, 6], dtype=dtype) + d_out = cp.empty_like(d_in) + h_init = np.array([0], dtype=dtype) + + def add_evens(a, b): + # Treat odd operands as zero; scan accumulates only even values. + return (a if a % 2 == 0 else 0) + (b if b % 2 == 0 else 0) + + cuda.compute.inclusive_scan( + d_in=d_in, + d_out=d_out, + op=add_evens, + init_value=h_init, + num_items=int(d_in.size), + ) + + got = d_out.get() + # Host reference: running sum of even-only projection of the input. + h_in = d_in.get() + proj = np.where(h_in % 2 == 0, h_in, 0) + expected = np.cumsum(proj).astype(dtype) + ok = np.array_equal(got, expected) + print( + f"inclusive_scan(add-evens-only) over [1,2,3,4,5,6]:\n" + f" got = {got.tolist()}\n" + f" expected = {expected.tolist()} {'OK' if ok else 'FAIL'}" + ) + return ok + + +def main(): + import argparse + + parser = argparse.ArgumentParser(description="Drive cuda.compute device algorithms with Python lambdas / callables") + parser.add_argument("--device", type=int, default=0, help="CUDA device id") + args = parser.parse_args() + + device = Device(args.device) + device.set_current() + print_gpu_info(device) + print() + + ok = True + ok &= demo_reduce_lambda() + print() + ok &= demo_unary_transform_lambda() + print() + ok &= demo_scan_custom_op() + + print() + if ok: + print("Done") + return 0 + print("FAILED") + return 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/cudaComputeLambdas/requirements.txt b/samples/cuda_core/cudaComputeLambdas/requirements.txt new file mode 100644 index 00000000000..3110a76e934 --- /dev/null +++ b/samples/cuda_core/cudaComputeLambdas/requirements.txt @@ -0,0 +1,4 @@ +cuda-cccl[cu13]>=1.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 +numpy>=1.24.0 diff --git a/samples/cuda_core/cudaGraphs/README.md b/samples/cuda_core/cudaGraphs/README.md new file mode 100644 index 00000000000..0452cec1ba5 --- /dev/null +++ b/samples/cuda_core/cudaGraphs/README.md @@ -0,0 +1,149 @@ +# cudaGraphs (Python) + +## Description + +This sample demonstrates how to capture a multi-stage kernel pipeline as a +CUDA graph with `cuda.core` and replay it with a single driver call. + +The sample runs a three-stage elementwise pipeline +`r3 = (a + b) * c - a` in three phases: + +1. **Individual launches** - one `launch(stream, ...)` per stage, repeated + for every iteration of the pipeline. +2. **CUDA graph replay** - the same three launches are recorded into a + `Graph` once and replayed with `graph.launch(stream)` on each + iteration. +3. **`Graph.update()`** - a fresh capture with the same topology but a + different destination pointer is applied to the existing executable + graph in place, avoiding a full rebuild. + +Phases 1 and 2 are timed over N iterations and their results are verified +against a reference computation. Phase 2 also re-launches the graph +after mutating the input buffers to show that the graph captures +pointers (not data), so the same graph can process new inputs without +rebuilding. Phase 3 covers the argument-swap case where the *pointers* +themselves change: `Graph.update()` swaps the new node arguments in +place without paying the cost of rebuilding the executable graph. + +## What You'll Learn + +- Creating a `GraphBuilder` from a stream with `stream.create_graph_builder()` +- Capturing launches with `begin_building()` and `end_building()` +- Completing a graph with `builder.complete()` and uploading it to a stream +- Replaying the graph with `graph.launch(stream)` +- Measuring the launch-overhead savings for small kernels +- Re-running the same graph against updated input data +- Reusing an executable graph with new kernel arguments via `Graph.update()` + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - Pythonic access to CUDA runtime, programs, and graphs +- `cupy` - input buffers and result verification +- `numpy` - scalar kernel arguments + +## Key APIs + +### From `cuda.core` + +- `Stream.create_graph_builder()` - obtain a `GraphBuilder` +- `GraphBuilder.begin_building()` / `end_building()` - begin and finish recording launches issued against the builder +- `GraphBuilder.complete()` - produce an executable `Graph` +- `Graph.upload(stream)` - upload the graph structure to the device +- `Graph.launch(stream)` - replay the entire graph +- `Graph.update(new_capture)` - apply a new capture (same topology, new args) to an existing executable graph +- `launch(graph_builder, config, kernel, ...)` - record a kernel launch into the graph being built + +### From `cuda_samples_utils` + +- `print_gpu_info()` - print device name and compute capability + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 7.0 or higher +- Minimum GPU memory: 512 MB + +### Software + +- CUDA Toolkit 13.0 or newer (matches `cuda-python` 13.x) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) + +## Installation + +Install the required packages from `requirements.txt`: + +```bash +cd /path/to/cuda-python/samples/cuda_core/cudaGraphs +pip install -r requirements.txt +``` + +The `requirements.txt` installs: + +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) + +## How to Run + +### Basic usage + +```bash +cd samples/cuda_core/cudaGraphs +python cudaGraphs.py +``` + +### With custom parameters + +```bash +# Larger vectors and more iterations +python cudaGraphs.py --elements 4096 --iters 2000 + +# Use a specific GPU +python cudaGraphs.py --device 1 +``` + +Short vectors exaggerate the launch-overhead savings; larger vectors +will show the two approaches converging because per-launch overhead +becomes negligible next to kernel runtime. + +## Expected Output + +Speedup numbers vary with GPU and host CPU. + +``` +Device: +Compute Capability: + +Individual launches: 1000 iters in 0.0085s (8.49 us/iter) + +Building CUDA graph... +Graph replay: 1000 iters in 0.0034s (3.41 us/iter) +Graph speedup: 2.49x + +Graph replay on updated data verified (same graph, new buffer contents) + +Building update capture with a new output pointer... +Graph.update() reused the executable graph with new kernel arguments + +Done +``` + +**Note:** Device name, compute capability, and speedup will vary based on +your GPU and host CPU. + +## Files + +- `cudaGraphs.py` - Python implementation using `cuda.core` CUDA graphs +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../Utilities/cuda_samples_utils.py` - Common utilities (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.core` graphs API](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html#cuda-graphs) +- [CUDA Graphs programming guide](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#cuda-graphs) diff --git a/samples/cuda_core/cudaGraphs/cudaGraphs.py b/samples/cuda_core/cudaGraphs/cudaGraphs.py new file mode 100644 index 00000000000..b7aaf0bd567 --- /dev/null +++ b/samples/cuda_core/cudaGraphs/cudaGraphs.py @@ -0,0 +1,263 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0"] +# /// + +""" +CUDA Graphs with cuda.core + +CUDA graphs let you record a DAG of operations once, then replay the entire +graph with a single driver call. For workflows that issue many small kernels +this can significantly reduce CPU-side launch overhead. + +This sample runs a three-stage elementwise pipeline (add -> multiply -> +subtract) in three phases: + + 1. Individually launched kernels on a stream. + 2. A single CUDA graph that captures the same three launches and is + replayed with ``graph.launch(stream)``. + 3. A ``Graph.update()`` call that swaps in a new capture with the same + topology but different kernel arguments (fresh output pointers), + reusing the executable graph without rebuilding it. + +Phase 1 vs 2 illustrates the launch-overhead savings for short kernels. +Phase 2 also demonstrates that a graph can be relaunched against new data +(the pointers are baked in, but the contents of those buffers are not). +Phase 3 covers the argument-swap case where the pointers themselves change. +""" + +import sys +import time +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + +try: + import cupy as cp + import numpy as np + from cuda_samples_utils import print_gpu_info + + from cuda.core import Device, LaunchConfig, Program, ProgramOptions, launch +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +PIPELINE_KERNELS = r""" +extern "C" __global__ +void vec_add(const float* A, const float* B, float* C, size_t N) { + size_t tid = blockIdx.x * blockDim.x + threadIdx.x; + size_t stride = (size_t)gridDim.x * blockDim.x; + for (size_t i = tid; i < N; i += stride) C[i] = A[i] + B[i]; +} + +extern "C" __global__ +void vec_mul(const float* A, const float* B, float* C, size_t N) { + size_t tid = blockIdx.x * blockDim.x + threadIdx.x; + size_t stride = (size_t)gridDim.x * blockDim.x; + for (size_t i = tid; i < N; i += stride) C[i] = A[i] * B[i]; +} + +extern "C" __global__ +void vec_sub(const float* A, const float* B, float* C, size_t N) { + size_t tid = blockIdx.x * blockDim.x + threadIdx.x; + size_t stride = (size_t)gridDim.x * blockDim.x; + for (size_t i = tid; i < N; i += stride) C[i] = A[i] - B[i]; +} +""" + + +def run_pipeline_individual(stream, kernels, config, buffers, size, n_iters): + """Run the 3-stage pipeline `n_iters` times with one launch per stage.""" + add_k, mul_k, sub_k = kernels + a, b, c, r1, r2, r3 = buffers + stream.sync() + t0 = time.perf_counter() + for _ in range(n_iters): + launch(stream, config, add_k, a.data.ptr, b.data.ptr, r1.data.ptr, np.uint64(size)) + launch(stream, config, mul_k, r1.data.ptr, c.data.ptr, r2.data.ptr, np.uint64(size)) + launch(stream, config, sub_k, r2.data.ptr, a.data.ptr, r3.data.ptr, np.uint64(size)) + stream.sync() + return time.perf_counter() - t0 + + +def capture_pipeline(builder, kernels, config, buffers, size): + """Record the 3-stage `(a+b)*c - a` pipeline into `builder`. + + Takes an already-created builder so the same helper can produce both the + initial capture and any update captures used by ``Graph.update()``. + """ + add_k, mul_k, sub_k = kernels + a, b, c, r1, r2, r3 = buffers + builder.begin_building() + launch(builder, config, add_k, a.data.ptr, b.data.ptr, r1.data.ptr, np.uint64(size)) + launch(builder, config, mul_k, r1.data.ptr, c.data.ptr, r2.data.ptr, np.uint64(size)) + launch(builder, config, sub_k, r2.data.ptr, a.data.ptr, r3.data.ptr, np.uint64(size)) + builder.end_building() + return builder + + +def build_graph(stream, kernels, config, buffers, size): + """Capture the 3-stage pipeline into a CUDA graph and return it.""" + graph_builder = stream.create_graph_builder() + capture_pipeline(graph_builder, kernels, config, buffers, size) + graph = graph_builder.complete() + graph.upload(stream) + return graph_builder, graph + + +def run_pipeline_graph(stream, graph, n_iters): + """Launch the compiled graph `n_iters` times.""" + stream.sync() + t0 = time.perf_counter() + for _ in range(n_iters): + graph.launch(stream) + stream.sync() + return time.perf_counter() - t0 + + +def main() -> int: + import argparse + + parser = argparse.ArgumentParser(description="CUDA Graphs demo with cuda.core") + parser.add_argument( + "--elements", + type=int, + default=1 << 12, + help="Elements per vector (default: 4096 - small to emphasize launch overhead)", + ) + parser.add_argument( + "--iters", + type=int, + default=1000, + help="Number of pipeline iterations to time (default: 1000)", + ) + parser.add_argument("--device", type=int, default=0, help="CUDA device id") + args = parser.parse_args() + + device = Device(args.device) + device.set_current() + print_gpu_info(device) + + stream = device.create_stream() + # Tell CuPy to order its allocations on our stream so buffer initialization + # below is serialized with the kernels we launch. + cp.cuda.Stream.from_external(stream).use() + + graph_builder = graph = update_builder = None + try: + program_options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") + program = Program(PIPELINE_KERNELS, code_type="c++", options=program_options) + module = program.compile("cubin") + add_k = module.get_kernel("vec_add") + mul_k = module.get_kernel("vec_mul") + sub_k = module.get_kernel("vec_sub") + kernels = (add_k, mul_k, sub_k) + + N = args.elements + rng = cp.random.default_rng(seed=0) + a = rng.random(N, dtype=cp.float32) + b = rng.random(N, dtype=cp.float32) + c = rng.random(N, dtype=cp.float32) + r1 = cp.empty_like(a) + r2 = cp.empty_like(a) + r3 = cp.empty_like(a) + buffers = (a, b, c, r1, r2, r3) + + expected = (a + b) * c - a + + config = LaunchConfig(grid=(N + 255) // 256, block=256) + device.sync() + + # Warm up compilation/caches, then measure individual launches. + run_pipeline_individual(stream, kernels, config, buffers, N, n_iters=5) + t_individual = run_pipeline_individual(stream, kernels, config, buffers, N, n_iters=args.iters) + assert cp.allclose(r3, expected, rtol=1e-5, atol=1e-5), "Individual pipeline produced incorrect results" + print( + f"\nIndividual launches: {args.iters} iters in {t_individual:.4f}s" + f" ({t_individual * 1e6 / args.iters:.2f} us/iter)" + ) + + # Capture the same pipeline as a graph and measure the replay. + print("\nBuilding CUDA graph...") + graph_builder, graph = build_graph(stream, kernels, config, buffers, N) + + run_pipeline_graph(stream, graph, n_iters=5) # warm up + t_graph = run_pipeline_graph(stream, graph, n_iters=args.iters) + assert cp.allclose(r3, expected, rtol=1e-5, atol=1e-5), "Graph pipeline produced incorrect results" + print(f"Graph replay: {args.iters} iters in {t_graph:.4f}s ({t_graph * 1e6 / args.iters:.2f} us/iter)") + if t_graph > 0: + print(f"Graph speedup: {t_individual / t_graph:.2f}x") + + # Demonstrate that the graph replays against current buffer contents. + a[:] = cp.ones(N, dtype=cp.float32) + b[:] = cp.full(N, 2.0, dtype=cp.float32) + c[:] = cp.full(N, 3.0, dtype=cp.float32) + device.sync() + # r3 = (a + b) * c - a = (1 + 2) * 3 - 1 = 8 + graph.launch(stream) + stream.sync() + assert cp.allclose(r3, 8.0), "Graph replay with new data produced wrong result" + print("\nGraph replay on updated data verified (same graph, new buffer contents)") + + # Phase 3: Graph.update() with a fresh capture that has the same + # topology (three kernel nodes in the same order) but different kernel + # arguments -- specifically, the output pointer is now r2 instead of + # r3. update() rewires the executable graph in place, so we do not pay + # the cost of rebuilding it from scratch. + print("\nBuilding update capture with a new output pointer...") + new_buffers = (a, b, c, r1, r3, r2) # swap r2 <-> r3 as the destination + update_builder = stream.create_graph_builder() + capture_pipeline(update_builder, kernels, config, new_buffers, N) + r2[:] = cp.zeros(N, dtype=cp.float32) + device.sync() + + graph.update(update_builder) + graph.upload(stream) + graph.launch(stream) + stream.sync() + assert cp.allclose(r2, 8.0), "Graph.update() produced wrong result in the new output buffer" + print("Graph.update() reused the executable graph with new kernel arguments") + + print("\nDone") + return 0 + finally: + if graph is not None: + graph.close() + if update_builder is not None: + update_builder.close() + if graph_builder is not None: + graph_builder.close() + stream.close() + cp.cuda.Stream.null.use() + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/cudaGraphs/requirements.txt b/samples/cuda_core/cudaGraphs/requirements.txt new file mode 100644 index 00000000000..c650cd51f17 --- /dev/null +++ b/samples/cuda_core/cudaGraphs/requirements.txt @@ -0,0 +1,5 @@ +# CUDA Graphs Sample Requirements + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 diff --git a/samples/cuda_core/customPyTorchKernel/README.md b/samples/cuda_core/customPyTorchKernel/README.md new file mode 100644 index 00000000000..5d767f143a4 --- /dev/null +++ b/samples/cuda_core/customPyTorchKernel/README.md @@ -0,0 +1,62 @@ +# Sample: PyTorch Custom GPU Operator + +## Description + +This sample demonstrates how to add a custom GPU operation to PyTorch using the `cuda.core` API. It implements a simple square operation (y = x²) to show the complete workflow from CUDA kernel to PyTorch integration with autograd support. + +## Requirements + +- NVIDIA GPU with Compute Capability 7.0+ +- CUDA Toolkit 13.0+ +- Python 3.10+ +- PyTorch 2.0+ +- cuda-python >= 13.0.0 +- cuda-core >=1.0.0 + +## Installation + +```bash +cd samples/cuda_core/customPyTorchKernel +pip install -r requirements.txt +``` + +**Windows users:** The default `torch` wheel on PyPI for Windows is CPU-only and will cause `torch.cuda.is_available()` to return `False`. Install a CUDA-enabled build from PyTorch's wheel index *before* (or after) the command above: + +```bash +pip install torch --index-url https://download.pytorch.org/whl/cu128 +``` + +Replace `cu128` with the wheel suffix matching your installed CUDA driver (e.g. `cu121`, `cu124`, `cu126`, `cu128`). The driver's CUDA version must be >= the wheel's bundled runtime. + +## How to Run + +```bash +# Basic usage +python customPyTorchKernel.py + +# Test with more elements +python customPyTorchKernel.py --size 1000000 + +# Use specific GPU +CUDA_VISIBLE_DEVICES=1 python customPyTorchKernel.py +``` + +## Expected Output + +The sample runs three tests: +1. Forward pass correctness (y = x²) +2. Backward pass correctness (gradient computation) +3. Multi-dimensional tensor support + +All tests should pass, confirming the custom operator works correctly with PyTorch's autograd system. + +## Key Concepts + +The sample demonstrates: +- Writing CUDA kernels with grid-stride loops +- Runtime kernel compilation with cuda.core +- PyTorch autograd integration via `torch.autograd.Function` +- Stream management using PyTorch's current stream +- Kernel caching for performance + +The code is self-documenting with inline comments explaining each step. diff --git a/samples/cuda_core/customPyTorchKernel/customPyTorchKernel.py b/samples/cuda_core/customPyTorchKernel/customPyTorchKernel.py new file mode 100644 index 00000000000..b092bc94706 --- /dev/null +++ b/samples/cuda_core/customPyTorchKernel/customPyTorchKernel.py @@ -0,0 +1,389 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# distribution and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "torch>=2.0.0"] +# /// + +""" +PyTorch Custom GPU Operator using cuda.core + +Question: How do I add a custom GPU op to PyTorch? +Answer: This sample shows the complete workflow. + +This sample implements a custom square operation (y = x²) to demonstrate: +- Writing a CUDA kernel +- Compiling with cuda.core +- Integrating with PyTorch's autograd system +- Proper device and stream management +""" + +import sys + +try: + import torch + + from cuda.core import Device, LaunchConfig, Program, ProgramOptions, launch +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install: pip install torch cuda-python cuda-core") + sys.exit(1) + + +# ============================================================================ +# Step 1: Define CUDA Kernel +# ============================================================================ +# Simple element-wise square: y = x² +# This kernel is easy to understand and verify + +SQUARE_KERNEL = """ +extern "C" __global__ +void square_kernel(const float* x, float* y, int n) +{ + const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; + for (int i = tid; i < n; i += gridDim.x * blockDim.x) { + y[i] = x[i] * x[i]; + } +} +""" + + +# ============================================================================ +# PyTorch Stream Wrapper +# ============================================================================ +# cuda.core requires objects with __cuda_stream__ protocol +class PyTorchStreamWrapper: + def __init__(self, pt_stream): + self.pt_stream = pt_stream + + def __cuda_stream__(self): + stream_id = self.pt_stream.cuda_stream + return (0, stream_id) # Return format required by CUDA Python + + +# ============================================================================ +# Step 2: Kernel Compilation and Caching +# ============================================================================ +# Compile kernel once per device and cache it to avoid recompilation overhead +# In real training loops, this avoids paying compilation cost on every forward. + + +_kernel_cache = {} + + +def get_square_kernel(device): + """ + Get or compile the square kernel for a given device. + + Parameters + ---------- + device : Device + CUDA device object + + Returns + ------- + Kernel + Compiled CUDA kernel + """ + # Cache key based on device to avoid recompiling for the same GPU + key = device.pci_bus_id + + if key not in _kernel_cache: + # Compile the kernel with appropriate architecture + opts = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") + prog = Program(SQUARE_KERNEL, code_type="c++", options=opts) + mod = prog.compile("cubin") + _kernel_cache[key] = mod.get_kernel("square_kernel") + + return _kernel_cache[key] + + +# ============================================================================ +# Step 3: PyTorch Autograd Function +# ============================================================================ +# This integrates the CUDA kernel with PyTorch's automatic differentiation + + +class SquareOp(torch.autograd.Function): + """ + Custom square operation using cuda.core. + + Forward: y = x² (computed with custom CUDA kernel) + Backward: grad_x = 2 * x * grad_y (computed with PyTorch) + """ + + @staticmethod + def forward(ctx, x): + """ + Forward pass: compute y = x² using custom CUDA kernel. + + Parameters + ---------- + ctx : Context + PyTorch context for saving tensors + x : torch.Tensor + Input tensor (must be CUDA, float32, contiguous) + + Returns + ------- + torch.Tensor + Output tensor with y = x² + """ + # Validate input requirements + if not x.is_cuda: + raise RuntimeError("SquareOp only supports CUDA tensors") + if x.dtype != torch.float32: + raise RuntimeError("SquareOp only supports float32 tensors") + + # Ensure contiguous memory layout for efficient kernel access + x = x.contiguous() + + device = Device() + # Use PyTorch's current stream to ensure proper ordering with other PyTorch ops + # Create a cuda.core Stream from PyTorch's stream wrapper + torch_stream = torch.cuda.current_stream(device=x.device) + stream = device.create_stream(PyTorchStreamWrapper(torch_stream)) + + # Create a try/finally block to ensure the stream is properly closed + try: + # Get compiled kernel (cached) + kernel = get_square_kernel(device) + + # Allocate output tensor + y = torch.empty_like(x) + + # Configure kernel launch + n = int(x.numel()) + threads_per_block = 256 + blocks_per_grid = (n + threads_per_block - 1) // threads_per_block + config = LaunchConfig(grid=blocks_per_grid, block=threads_per_block) + + # Launch the kernel + launch(stream, config, kernel, x.data_ptr(), y.data_ptr(), n) + finally: + # Ensure stream is properly closed + stream.close() + + # Save input for backward pass + ctx.save_for_backward(x) + + return y + + @staticmethod + def backward(ctx, grad_output): + """ + Backward pass: compute gradient. + + For y = x², the derivative is dy/dx = 2x + Therefore: grad_x = grad_output * 2x + + Parameters + ---------- + ctx : Context + PyTorch context with saved tensors + grad_output : torch.Tensor + Gradient from upstream + + Returns + ------- + torch.Tensor + Gradient with respect to input + """ + # Retrieve saved input + (x,) = ctx.saved_tensors + + # Note: We assume grad_output has the same dtype and device as x. + # This is guaranteed by PyTorch's autograd system. + + # Compute gradient: d(x²)/dx = 2x + grad_x = 2.0 * x * grad_output + + return grad_x + + +# ============================================================================ +# Step 4: Public API +# ============================================================================ + + +def square(x): + """ + Apply element-wise square operation using custom CUDA kernel. + + Parameters + ---------- + x : torch.Tensor + Input tensor (must be on CUDA device, dtype=float32) + + Returns + ------- + torch.Tensor + Output tensor with y = x² + + Examples + -------- + >>> x = torch.randn(100, device="cuda") + >>> y = square(x) + >>> assert torch.allclose(y, x**2) + """ + return SquareOp.apply(x) + + +# ============================================================================ +# Step 5: Testing and Verification +# ============================================================================ + + +def main(): + """Test the custom square operation.""" + import argparse + + parser = argparse.ArgumentParser(description="Custom PyTorch Square Operator using cuda.core") + parser.add_argument("--size", type=int, default=10000, help="Number of elements (default: 10000)") + + args = parser.parse_args() + + # Device info + device = Device() + device.set_current() + major, minor = device.compute_capability + + print("\nDevice Information:") + print(f" Name: {device.name}") + print(f" Compute Capability: sm_{major}{minor}") + + print("\n" + "=" * 70) + print("Custom PyTorch Square Operator Test") + print("=" * 70) + + # ======================================================================== + # Test 1: Forward Pass Correctness + # ======================================================================== + print("\n" + "-" * 70) + print("Test 1: Forward Pass") + print("-" * 70) + + x = torch.randn(args.size, dtype=torch.float32, device="cuda") + + # Custom square operation + y_custom = square(x) + + # PyTorch reference + y_reference = x**2 + + # Check correctness + max_error = torch.max(torch.abs(y_custom - y_reference)).item() + + print(f"Max absolute error: {max_error:.2e}") + + if torch.allclose(y_custom, y_reference, rtol=1e-5, atol=1e-6): + print("[PASS] Forward pass PASSED") + else: + print("[FAIL] Forward pass FAILED") + return 1 + + # ======================================================================== + # Test 2: Backward Pass (Gradient) Correctness + # ======================================================================== + print("\n" + "-" * 70) + print("Test 2: Backward Pass") + print("-" * 70) + + # Test with requires_grad + x_custom = torch.randn(args.size, dtype=torch.float32, device="cuda", requires_grad=True) + x_reference = x_custom.clone().detach().requires_grad_(True) + + # Forward pass + y_custom = square(x_custom) + y_reference = x_reference**2 + + # Create upstream gradient + grad_output = torch.randn_like(y_custom) + + # Backward pass + y_custom.backward(grad_output) + y_reference.backward(grad_output) + + # Check gradients + max_grad_error = torch.max(torch.abs(x_custom.grad - x_reference.grad)).item() + + print(f"Max gradient error: {max_grad_error:.2e}") + + if torch.allclose(x_custom.grad, x_reference.grad, rtol=1e-5, atol=1e-6): + print("[PASS] Backward pass PASSED") + else: + print("[FAIL] Backward pass FAILED") + return 1 + + # ======================================================================== + # Test 3: Multi-dimensional Tensors + # ======================================================================== + print("\n" + "-" * 70) + print("Test 3: Multi-dimensional Tensors") + print("-" * 70) + + # Test with 2D tensor + x_2d = torch.randn(100, 100, dtype=torch.float32, device="cuda") + y_2d_custom = square(x_2d) + y_2d_reference = x_2d**2 + + if torch.allclose(y_2d_custom, y_2d_reference, rtol=1e-5, atol=1e-6): + print("[PASS] 2D tensor test PASSED") + else: + print("[FAIL] 2D tensor test FAILED") + return 1 + + # Test with 3D tensor + x_3d = torch.randn(10, 20, 30, dtype=torch.float32, device="cuda") + y_3d_custom = square(x_3d) + y_3d_reference = x_3d**2 + + if torch.allclose(y_3d_custom, y_3d_reference, rtol=1e-5, atol=1e-6): + print("[PASS] 3D tensor test PASSED") + else: + print("[FAIL] 3D tensor test FAILED") + return 1 + + # ======================================================================== + # Summary + # ======================================================================== + print("\n" + "=" * 70) + print("All tests PASSED!") + print("=" * 70) + print("\nYour custom GPU operator is working correctly!") + print("You can now use it in your PyTorch models like any built-in op.") + print("\nExample usage:") + print(" x = torch.randn(100, device='cuda')") + print(" y = square(x) # Uses your custom CUDA kernel") + print(" loss = y.sum()") + print(" loss.backward() # Gradients computed automatically") + print("=" * 70 + "\n") + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/customPyTorchKernel/requirements.txt b/samples/cuda_core/customPyTorchKernel/requirements.txt new file mode 100644 index 00000000000..001018fab75 --- /dev/null +++ b/samples/cuda_core/customPyTorchKernel/requirements.txt @@ -0,0 +1,10 @@ +# Custom PyTorch Kernel Sample Requirements +# +# NOTE: On Windows, the default `torch` wheel from PyPI is CPU-only and the +# sample will fail with "Torch not compiled with CUDA enabled". Install a +# CUDA-enabled torch from PyTorch's wheel index first (see README.md): +# pip install torch --index-url https://download.pytorch.org/whl/cu128 + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +torch>=2.0.0 diff --git a/samples/cuda_core/customTensorFlowKernel/README.md b/samples/cuda_core/customTensorFlowKernel/README.md new file mode 100644 index 00000000000..b525ee20d3a --- /dev/null +++ b/samples/cuda_core/customTensorFlowKernel/README.md @@ -0,0 +1,81 @@ +# Sample: TensorFlow Custom GPU Operator + +## Description + +Learn how to add a custom GPU operation to TensorFlow using `cuda.core` with `tf.py_function`. This sample implements a custom **ReLU operation** (y = max(0, x)) for rapid prototyping of GPU operations. + +## Key Question Answered + +**Q: How do I add a custom GPU op to TensorFlow?** + +**A:** Use `tf.py_function` to wrap cuda.core kernels: +1. Write CUDA kernels (forward + backward) with grid-stride loops +2. Compile them with cuda.core +3. Wrap in Python functions +4. Use `tf.py_function` to call from TensorFlow +5. Register gradients with `@tf.custom_gradient` + +## Requirements + +- NVIDIA GPU with Compute Capability 7.0+ +- CUDA Toolkit 13.0+ +- Python 3.10+ +- TensorFlow 2.10+ +- cuda-python >= 13.0.0 +- cuda-core >=1.0.0 (required for LEGACY_DEFAULT_STREAM) +- numpy >= 2.3.2 +- CuPy (for device pointer access) + +## Installation + +```bash +cd samples/cuda_core/customTensorFlowKernel +pip install -r requirements.txt +``` + +## How to Run + +```bash +python customTensorFlowKernel.py +python customTensorFlowKernel.py --size 1000000 +``` + +## Usage Example + +```python +import tensorflow as tf +from customTensorFlowKernel import custom_relu + +# Simple usage +x = tf.random.normal([100], dtype=tf.float32) +y = custom_relu(x) + +# In a Keras model +model = tf.keras.Sequential([ + tf.keras.layers.Dense(128), + tf.keras.layers.Lambda(custom_relu), + tf.keras.layers.Dense(10) +]) +``` + +## Key Concepts + +- **tf.py_function**: Bridges TensorFlow and Python code using cuda.core (has overhead, not XLA-compatible) +- **@tf.custom_gradient**: Registers custom backward pass +- **cuda.core**: Primary GPU manager (device, stream, kernel compilation) +- **CuPy**: Internal helper for device pointer access only + +## Production Alternatives + +This sample is for rapid prototyping. For production: +- **TensorFlow C++ Custom Op**: Full performance, XLA compatible +- **XLA Custom Calls**: For XLA-compiled models +- See TensorFlow documentation for details + +## See Also + +- [cuda.core Documentation](https://nvidia.github.io/cuda-python/cuda-core/latest/) +- [TensorFlow tf.py_function](https://www.tensorflow.org/api_docs/python/tf/py_function) +- [TensorFlow @custom_gradient](https://www.tensorflow.org/api_docs/python/tf/custom_gradient) +- [TensorFlow C++ Custom Op Guide](https://www.tensorflow.org/guide/create_op) +- [CuPy Documentation](https://docs.cupy.dev/) diff --git a/samples/cuda_core/customTensorFlowKernel/customTensorFlowKernel.py b/samples/cuda_core/customTensorFlowKernel/customTensorFlowKernel.py new file mode 100644 index 00000000000..8b4c1c05c3e --- /dev/null +++ b/samples/cuda_core/customTensorFlowKernel/customTensorFlowKernel.py @@ -0,0 +1,429 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# distribution and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["numpy>=2.3.2", "tensorflow>=2.10.0", "cupy-cuda13x>=14.0.0", "cuda-python>=13.0.0", "cuda-core>=1.0.0"] +# /// + +""" +TensorFlow Custom GPU Operator using cuda.core + +Question: How do I add a custom GPU op to TensorFlow? +Answer: This sample shows rapid prototyping with cuda.core + tf.py_function. + +This sample implements a custom ReLU operation (y = max(0, x)) to demonstrate: +- Writing CUDA kernels (forward + backward) with grid-stride loops +- Compiling with cuda.core +- Integrating with TensorFlow via tf.py_function +- Proper gradient registration + +Dependencies: +- tensorflow: Deep learning framework +- cuda-core: GPU kernel compilation and launch + (requires >=0.6.0 for LEGACY_DEFAULT_STREAM) +- cuda-python: CUDA driver API bindings +- cupy: Array operations and device pointer access + +Note: This approach uses tf.py_function for rapid prototyping. For production +TensorFlow applications, use TensorFlow's C++ Custom Op API. +""" + +import sys + +try: + # CuPy is required for array operations and device pointer access + import cupy as cp + import tensorflow as tf + + from cuda.core import ( + LEGACY_DEFAULT_STREAM, + Device, + LaunchConfig, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install: pip install tensorflow cupy cuda-python cuda-core") + sys.exit(1) + + +# ============================================================================ +# Step 1: Define CUDA Kernels +# ============================================================================ +# Simple element-wise ReLU: y = max(0, x) + +RELU_KERNEL = """ +extern "C" __global__ +void relu_forward_kernel(const float* x, float* y, int n) +{ + // Grid-stride loop: each thread processes multiple elements + int idx = blockIdx.x * blockDim.x + threadIdx.x; + int stride = gridDim.x * blockDim.x; + for (int i = idx; i < n; i += stride) { + y[i] = x[i] > 0.0f ? x[i] : 0.0f; + } +} + +extern "C" __global__ +void relu_backward_kernel(const float* x, const float* grad_y, float* grad_x, int n) +{ + // Grid-stride loop: each thread processes multiple elements + int idx = blockIdx.x * blockDim.x + threadIdx.x; + int stride = gridDim.x * blockDim.x; + for (int i = idx; i < n; i += stride) { + grad_x[i] = x[i] > 0.0f ? grad_y[i] : 0.0f; + } +} +""" + + +# ============================================================================ +# Step 2: Kernel Compilation and Caching +# ============================================================================ +# Compile kernel once per device and cache it to avoid recompilation overhead +# In real training loops, this avoids paying compilation cost on every forward. + +_kernel_cache = {} + + +def _get_relu_kernels(device): + """ + Get or compile the ReLU kernels for a given device. + + Parameters + ---------- + device : Device + CUDA device object + + Returns + ------- + tuple + (forward_kernel, backward_kernel) compiled CUDA kernels + """ + # Cache key based on device to avoid recompiling for the same GPU + key = device.pci_bus_id + + if key not in _kernel_cache: + # Compile the kernel with appropriate architecture + opts = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") + prog = Program(RELU_KERNEL, code_type="c++", options=opts) + mod = prog.compile("cubin") + forward_kernel = mod.get_kernel("relu_forward_kernel") + backward_kernel = mod.get_kernel("relu_backward_kernel") + _kernel_cache[key] = (forward_kernel, backward_kernel) + + return _kernel_cache[key] + + +def _launch_relu_forward(x_np): + """ + Internal function: Launch forward CUDA kernel. + + Takes numpy array, returns numpy array. + Uses CuPy for array operations and device pointer access, cuda.core for + device/stream management. + + Note: LEGACY_DEFAULT_STREAM doesn't require explicit cleanup, but kernel + launch failures should be handled by the caller. CuPy arrays are + automatically cleaned up when they go out of scope. + """ + device = Device() + + # Ensure this device is current (TensorFlow usually does this already) + device.set_current() + + # Get compiled kernel (cached) + forward_kernel, _ = _get_relu_kernels(device) + + # Convert numpy to CuPy (CPU-to-GPU copy) + # CuPy is used for array operations and getting device pointers + x_cp = cp.asarray(x_np) + y_cp = cp.empty_like(x_cp) + + # Configure kernel launch + n = int(x_cp.size) + threads_per_block = 256 + blocks_per_grid = (n + threads_per_block - 1) // threads_per_block + config = LaunchConfig(grid=blocks_per_grid, block=threads_per_block) + + # Launch on the legacy default stream (stream 0) for TensorFlow interop + launch(LEGACY_DEFAULT_STREAM, config, forward_kernel, x_cp.data.ptr, y_cp.data.ptr, n) + + # Return as numpy array (GPU-to-CPU copy via cp.asnumpy) + return cp.asnumpy(y_cp) + + +def _launch_relu_backward(x_np, grad_y_np): + """ + Internal function: Launch backward CUDA kernel. + + Takes numpy arrays, returns numpy array. + Uses CuPy for array operations and device pointer access, cuda.core for + device/stream management. + + Note: LEGACY_DEFAULT_STREAM doesn't require explicit cleanup, but kernel + launch failures should be handled by the caller. CuPy arrays are + automatically cleaned up when they go out of scope. + """ + device = Device() + + # Ensure this device is current (TensorFlow usually does this already) + device.set_current() + + # Get compiled kernel (cached) + _, backward_kernel = _get_relu_kernels(device) + + # Convert numpy to CuPy (CPU-to-GPU copy) + # CuPy is used for array operations and getting device pointers + x_cp = cp.asarray(x_np) + grad_y_cp = cp.asarray(grad_y_np) + grad_x_cp = cp.empty_like(x_cp) + + # Configure kernel launch + n = int(x_cp.size) + threads_per_block = 256 + blocks_per_grid = (n + threads_per_block - 1) // threads_per_block + config = LaunchConfig(grid=blocks_per_grid, block=threads_per_block) + + # Launch on the legacy default stream (stream 0) for TensorFlow interop + launch( + LEGACY_DEFAULT_STREAM, + config, + backward_kernel, + x_cp.data.ptr, + grad_y_cp.data.ptr, + grad_x_cp.data.ptr, + n, + ) + + # Return as numpy array (GPU-to-CPU copy via cp.asnumpy) + return cp.asnumpy(grad_x_cp) + + +# ============================================================================ +# Step 3: TensorFlow Integration via tf.py_function +# ============================================================================ + + +@tf.custom_gradient +def custom_relu(x): + """ + Custom ReLU operation using cuda.core. + + This function provides a TensorFlow-native interface to custom CUDA kernels + compiled with cuda.core. The implementation uses tf.py_function internally + to bridge TensorFlow and cuda.core. + + Parameters + ---------- + x : tf.Tensor + Input tensor (must be float32 on GPU) + + Returns + ------- + tf.Tensor + Output tensor with ReLU applied + + Examples + -------- + >>> x = tf.random.normal([100], dtype=tf.float32) + >>> y = custom_relu(x) + >>> # Use in models + >>> model = tf.keras.Sequential( + ... [ + ... tf.keras.layers.Dense(128), + ... tf.keras.layers.Lambda(custom_relu), # Custom ReLU + ... tf.keras.layers.Dense(10), + ... ] + ... ) + """ + # Validate input + if x.dtype != tf.float32: + raise ValueError("custom_relu only supports float32 tensors") + + # Forward pass using tf.py_function + # py_function allows us to call arbitrary Python code (including cuda.core) + y = tf.py_function(func=_launch_relu_forward, inp=[x], Tout=tf.float32) + + # Restore shape information (py_function loses shape) + y.set_shape(x.shape) + + # Define gradient function + def grad_fn(grad_y): + """Backward pass using custom CUDA kernel""" + grad_x = tf.py_function(func=_launch_relu_backward, inp=[x, grad_y], Tout=tf.float32) + grad_x.set_shape(x.shape) + return grad_x + + return y, grad_fn + + +# ============================================================================ +# Step 4: Testing and Verification +# ============================================================================ + + +def main(): + """Test the custom ReLU operation.""" + import argparse + + parser = argparse.ArgumentParser(description="Custom TensorFlow ReLU Operator using cuda.core") + parser.add_argument("--size", type=int, default=10000, help="Number of elements (default: 10000)") + + args = parser.parse_args() + + # Device info + device = Device() + device.set_current() + major, minor = device.compute_capability + + print("\nDevice Information:") + print(f" Name: {device.name}") + print(f" Compute Capability: sm_{major}.{minor}") + + print("\n" + "=" * 70) + print("Custom TensorFlow ReLU Operator Test") + print("=" * 70) + + # ======================================================================== + # Test 1: Forward Pass Correctness + # ======================================================================== + print("\n" + "-" * 70) + print("Test 1: Forward Pass") + print("-" * 70) + + # Run on the first visible GPU (respects CUDA_VISIBLE_DEVICES), + # aligning with cuda.core Device(). + with tf.device("/GPU:0"): + x = tf.random.normal([args.size], dtype=tf.float32) + + # Custom ReLU operation + y_custom = custom_relu(x) + + # TensorFlow reference + y_reference = tf.nn.relu(x) + + # Check correctness + max_error = tf.reduce_max(tf.abs(y_custom - y_reference)).numpy() + + print(f"Max absolute error: {max_error:.2e}") + + if tf.reduce_all(tf.abs(y_custom - y_reference) < 1e-5): + print("[PASS] Forward pass PASSED") + else: + print("[FAIL] Forward pass FAILED") + return 1 + + # ======================================================================== + # Test 2: Backward Pass (Gradient) Correctness + # ======================================================================== + print("\n" + "-" * 70) + print("Test 2: Backward Pass") + print("-" * 70) + + with tf.device("/GPU:0"): + x_custom = tf.random.normal([args.size], dtype=tf.float32) + x_reference = tf.identity(x_custom) + + # Compute gradients with GradientTape + with tf.GradientTape() as tape_custom: + tape_custom.watch(x_custom) + y_custom = custom_relu(x_custom) + grad_custom = tape_custom.gradient(y_custom, x_custom) + + with tf.GradientTape() as tape_reference: + tape_reference.watch(x_reference) + y_reference = tf.nn.relu(x_reference) + grad_reference = tape_reference.gradient(y_reference, x_reference) + + # Check gradients + max_grad_error = tf.reduce_max(tf.abs(grad_custom - grad_reference)).numpy() + + print(f"Max gradient error: {max_grad_error:.2e}") + + if tf.reduce_all(tf.abs(grad_custom - grad_reference) < 1e-5): + print("[PASS] Backward pass PASSED") + else: + print("[FAIL] Backward pass FAILED") + return 1 + + # ======================================================================== + # Test 3: Multi-dimensional Tensors + # ======================================================================== + print("\n" + "-" * 70) + print("Test 3: Multi-dimensional Tensors") + print("-" * 70) + + with tf.device("/GPU:0"): + # Test with 2D tensor + x_2d = tf.random.normal([100, 100], dtype=tf.float32) + y_2d_custom = custom_relu(x_2d) + y_2d_reference = tf.nn.relu(x_2d) + + if tf.reduce_all(tf.abs(y_2d_custom - y_2d_reference) < 1e-5): + print("[PASS] 2D tensor test PASSED") + else: + print("[FAIL] 2D tensor test FAILED") + return 1 + + # Test with 3D tensor + x_3d = tf.random.normal([10, 20, 30], dtype=tf.float32) + y_3d_custom = custom_relu(x_3d) + y_3d_reference = tf.nn.relu(x_3d) + + if tf.reduce_all(tf.abs(y_3d_custom - y_3d_reference) < 1e-5): + print("[PASS] 3D tensor test PASSED") + else: + print("[FAIL] 3D tensor test FAILED") + return 1 + + # ======================================================================== + # Summary + # ======================================================================== + print("\n" + "=" * 70) + print("All tests PASSED!") + print("=" * 70) + print("\nYour custom GPU operator is working correctly!") + print("You can now use it in your TensorFlow models.") + print("\nExample usage:") + print(" x = tf.random.normal([100], dtype=tf.float32)") + print(" y = custom_relu(x) # Uses your custom CUDA kernel") + print(" ") + print(" # In a model:") + print(" model = tf.keras.Sequential([") + print(" tf.keras.layers.Dense(128),") + print(" tf.keras.layers.Lambda(custom_relu),") + print(" tf.keras.layers.Dense(10)") + print(" ])") + print("=" * 70 + "\n") + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/customTensorFlowKernel/requirements.txt b/samples/cuda_core/customTensorFlowKernel/requirements.txt new file mode 100644 index 00000000000..ff4c4229de8 --- /dev/null +++ b/samples/cuda_core/customTensorFlowKernel/requirements.txt @@ -0,0 +1,14 @@ +# TensorFlow Custom GPU Operator using cuda.core +# +# This sample demonstrates a cuda.core-first approach: +# - cuda-python and cuda-core: Primary GPU management (device, stream, kernel) +# - TensorFlow 2.10+: Deep learning framework (tf.py_function, tf.custom_gradient) +# - CuPy: Internal helper for device pointer access only +# +# Note: cuda-core>=1.0.0 is required for LEGACY_DEFAULT_STREAM constant + +numpy>=2.3.2 +tensorflow>=2.10.0 +cupy-cuda13x>=14.0.0 +cuda-python>=13.0.0 +cuda-core>=1.0.0 diff --git a/samples/cuda_core/deviceQuery/README.md b/samples/cuda_core/deviceQuery/README.md new file mode 100644 index 00000000000..d89359744f4 --- /dev/null +++ b/samples/cuda_core/deviceQuery/README.md @@ -0,0 +1,207 @@ +# Sample: Device Query (Python) + +## Description + +Query and display detailed properties of all CUDA-capable devices in your system using the modern `cuda.core` API. + +The sample has two output modes: + +- **Default** — the classic `nvidia-smi`/`deviceQuery`-style summary: compute + capability, memory, kernel launch limits, texture sizes, and the common + feature flags. +- **`--verbose` / `-v`** — additionally dumps the long-tail + `Device.properties` fields: L1/L2 caching flags, GPUDirect RDMA options, + memory-pool IPC handle bitmasks, NUMA info, surface limits, sparse/VMM + support, and more. Use this when you need a full capability report. + +## What You'll Learn + +- How to enumerate CUDA devices in the system +- Using the `cuda.core` API for device management +- Querying comprehensive device properties (compute capability, memory, limits) +- Accessing low-level device attributes via `cuda.bindings` +- Checking peer-to-peer (P2P) access capabilities between GPUs +- Reading the extended `Device.properties` surface (GPUDirect, NUMA, memory + pools, VMM, sparse arrays) via the `--verbose` flag + +## Key Libraries + +- `cuda.core` - Modern CUDA Python API +- `cuda.bindings` - Low-level CUDA bindings for runtime and driver APIs + +## Key APIs + +### From `cuda.core`: + +- `Device.get_all_devices()` - Get tuple of all available Device instances +- `Device(device_id)` - Get Device object for specific device ID +- `system.get_driver_version()` - Query CUDA driver version +- `Device.set_current()` - Set the current device for API calls +- `Device.properties` - Access comprehensive device properties +- `Device.name` - Get device name string +- `Device.can_access_peer()` - Check P2P access to peer device + +### From `cuda.bindings.runtime`: + +- `cudart.cudaRuntimeGetVersion()` - Get CUDA runtime version +- `cudart.cudaDeviceGetAttribute()` - Query specific device attributes + +### From `cuda.bindings.driver`: + +- `cuda.cuMemGetInfo()` - Get memory information for current device + +## Device Properties Queried + +### Compute Capabilities: +- Compute capability version (major.minor) +- Driver and runtime versions +- Number of multiprocessors and CUDA cores + +### Memory Information: +- Total global memory +- Memory clock rate and bus width +- L2 cache size +- Constant and shared memory sizes +- Maximum memory pitch + +### Execution Configuration Limits: +- Maximum threads per block and per multiprocessor +- Maximum block dimensions (x, y, z) +- Maximum grid dimensions (x, y, z) +- Warp size +- Registers per block + +### Texture Capabilities: +- Maximum texture dimensions (1D, 2D, 3D) +- Maximum layered texture sizes + +### Feature Support: +- Unified Addressing (UVA) +- Managed Memory +- Compute Preemption +- Cooperative Kernel Launch +- ECC support +- Host page-locked memory mapping +- Concurrent copy and kernel execution + +### System Information: +- PCI bus information +- Compute mode +- Driver mode (Windows only) +- P2P access matrix (multi-GPU systems) + +## Requirements + +### Hardware: + +- NVIDIA GPU with CUDA support (any compute capability) +- No specific GPU memory requirement (query only) + +### Software: + +- CUDA Toolkit 13.0 or newer (recommended; matches `cuda-python` 13.x) +- Python 3.10 or newer +- `cuda-python` package (>=13.0.0) +- `cuda-core` package (>=1.0.0) + +## Installation + +Install the required packages from requirements.txt: + +```bash +cd /path/to/cuda-python/samples/cuda_core/deviceQuery +pip install -r requirements.txt +``` + +The requirements.txt installs: +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) + +## How to Run + +### Basic usage: + +```bash +cd samples/cuda_core/deviceQuery +python deviceQuery.py +``` + +### Skip P2P information: + +```bash +python deviceQuery.py --no-p2p +``` + +### Verbose (long-tail properties): + +```bash +python deviceQuery.py --verbose +``` + +## Expected Output + +``` +[CUDA Device Query using CUDA Core API] +Detected 1 CUDA Capable device(s) + +Device 0: + CUDA Driver Version / Runtime Version 12.4 / 12.6 + CUDA Capability Major/Minor version number: 8.9 + Total amount of global memory: 24217 MBytes (25393954816 bytes) + (132) Multiprocessors, (128) CUDA Cores/MP: 16896 CUDA Cores + GPU Max Clock rate: 1980 MHz (1.98 GHz) + Memory Clock rate: 10501 Mhz + Memory Bus Width: 384-bit + L2 Cache Size: 67108864 bytes + Maximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384) + Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layers + Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers + Total amount of constant memory: 65536 bytes + Total amount of shared memory per block: 49152 bytes + Total shared memory per multiprocessor: 102400 bytes + Total number of registers available per block: 65536 + Warp size: 32 + Maximum number of threads per multiprocessor: 1536 + Maximum number of threads per block: 1024 + Max dimension size of a thread block (x,y,z): (1024, 1024, 64) + Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) + Maximum memory pitch: 2147483647 bytes + Texture alignment: 512 bytes + Concurrent copy and kernel execution: Yes with 2 copy engine(s) + Run time limit on kernels: Yes + Integrated GPU sharing Host Memory: No + Support host page-locked memory mapping: Yes + Device has ECC support: Enabled + Device supports Unified Addressing (UVA): Yes + Device supports Managed Memory: Yes + Device supports Compute Preemption: Yes + Supports Cooperative Kernel Launch: Yes + Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0 + Compute Mode: + < Default (multiple host threads can use cudaSetDevice() with device simultaneously) > + +Done +``` + +**Note:** Output will vary based on your specific GPU model and system configuration. + +For multi-GPU systems, the output will include information for all detected devices and a P2P access matrix showing which GPUs can directly access each other's memory. + +## Files + +- `deviceQuery.py` - Python implementation using cuda.core API +- `requirements.txt` - Sample dependencies + +## Use Cases + +- **System Diagnostics** - Verify CUDA installation and GPU detection +- **Hardware Profiling** - Understand GPU capabilities before optimization +- **Multi-GPU Systems** - Identify P2P topology for optimal data placement +- **Kernel Development** - Determine execution configuration limits +- **Compatibility Checks** - Verify compute capability requirements + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [cuda.core API Guide](https://nvidia.github.io/cuda-python/cuda-core/latest/) +- [CUDA Programming Guide - Device Information](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#device-enumeration) diff --git a/samples/cuda_core/deviceQuery/deviceQuery.py b/samples/cuda_core/deviceQuery/deviceQuery.py new file mode 100755 index 00000000000..40c35cb08cf --- /dev/null +++ b/samples/cuda_core/deviceQuery/deviceQuery.py @@ -0,0 +1,566 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0"] +# /// + +""" +Device Query using CUDA Core API + +This sample enumerates the properties of the CUDA devices present in the +system. It has two output modes: + + * Default: the classic ``nvidia-smi``-style summary of compute + capability, memory, kernel launch limits, texture sizes, + and feature flags (roughly what the C-side ``deviceQuery`` + sample prints). + * ``--verbose``: additionally dumps the long-tail of + ``Device.properties`` fields -- surface/texture edge cases, + GPUDirect RDMA flags, NUMA info, memory-pool handle types, + sparse/virtual-memory support -- for callers who need a + full capability report. +""" + +import platform +import sys + +# cuda.bindings used for properties not yet exposed in cuda.core (see comments below) +try: + from cuda.bindings import driver as cuda + from cuda.bindings import runtime as cudart + from cuda.core import Device, system +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +def print_property(label, value, indent=2): + """ + Helper function to print device properties with aligned formatting. + + Parameters + ---------- + label : str + Property label + value : any + Property value + indent : int + Number of spaces for indentation (default: 2) + """ + field_width = 47 + spaces = " " * indent + print(f"{spaces}{label:<{field_width}}{value}") + + +def fmt_bytes(size_in_bytes): + """Format bytes to human-readable string with MBytes.""" + return f"{size_in_bytes / (1024 * 1024):.0f} MBytes ({size_in_bytes} bytes)" + + +def fmt_hz(rate_in_khz): + """Format frequency in kHz to MHz and GHz.""" + return f"{rate_in_khz * 1e-3:.0f} MHz ({rate_in_khz * 1e-6:.2f} GHz)" + + +def fmt_yes_no(val): + """Format boolean value to Yes/No string.""" + return "Yes" if val else "No" + + +def convert_sm_ver_to_cores(major, minor): + """ + Maps SM version to the number of CUDA cores per SM. + + Information taken from: + https://github.com/NVIDIA/cuda-samples/blob/master/Common/helper_cuda.h + + Parameters + ---------- + major : int + Major compute capability version + minor : int + Minor compute capability version + + Returns + ------- + int + Number of CUDA cores per SM, or 0 if unknown + """ + sm_to_cores = { + (3, 0): 192, + (3, 2): 192, + (3, 5): 192, + (3, 7): 192, + (5, 0): 128, + (5, 2): 128, + (5, 3): 128, + (6, 0): 64, + (6, 1): 128, + (6, 2): 128, + (7, 0): 64, + (7, 2): 64, + (7, 5): 64, + (8, 0): 64, + (8, 6): 128, + (8, 7): 128, + (8, 9): 128, + (9, 0): 128, + (10, 0): 128, + (10, 1): 128, + (10, 3): 128, + (11, 0): 128, + (12, 0): 128, + (12, 1): 128, + } + return sm_to_cores.get((major, minor), 0) + + +def print_verbose_extras(props): + """Print the long-tail of ``Device.properties`` fields. + + These are the fields that are useful for capability probing but too + numerous for the default ``nvidia-smi``-style summary. Kept alphabetized + within each subsection for easy scanning. + """ + print() + print(" Verbose device properties:") + # Memory / caching / addressing + print_property("Support for caching globals in L1:", fmt_yes_no(props.global_l1_cache_supported), indent=4) + print_property("Support for caching locals in L1:", fmt_yes_no(props.local_l1_cache_supported), indent=4) + print_property("Max persisting L2 cache size:", f"{props.max_persisting_l2_cache_size} bytes", indent=4) + print_property( + "Max access policy window size:", + f"{props.max_access_policy_window_size} bytes", + indent=4, + ) + print_property( + "Reserved shared memory per block:", + f"{props.reserved_shared_memory_per_block} bytes", + indent=4, + ) + print_property( + "Max shared memory per block (opt-in):", + f"{props.max_shared_memory_per_block_optin} bytes", + indent=4, + ) + + # Concurrency / preemption + print_property( + "Concurrent kernel execution (same context):", + fmt_yes_no(props.concurrent_kernels), + indent=4, + ) + print_property( + "Concurrent managed access (host + device):", + fmt_yes_no(props.concurrent_managed_access), + indent=4, + ) + print_property( + "Direct managed access from host (no migration):", + fmt_yes_no(props.direct_managed_mem_access_from_host), + indent=4, + ) + print_property( + "Pageable memory access:", + fmt_yes_no(props.pageable_memory_access), + indent=4, + ) + print_property( + "Pageable memory via host page tables:", + fmt_yes_no(props.pageable_memory_access_uses_host_page_tables), + indent=4, + ) + print_property( + "Host native atomic support:", + fmt_yes_no(props.host_native_atomic_supported), + indent=4, + ) + print_property( + "Can use host pointer for registered mem:", + fmt_yes_no(props.can_use_host_pointer_for_registered_mem), + indent=4, + ) + print_property( + "Read-only host-registered memory:", + fmt_yes_no(props.read_only_host_register_supported), + indent=4, + ) + + # GPUDirect / RDMA + print_property( + "GPUDirect RDMA:", + fmt_yes_no(props.gpu_direct_rdma_supported), + indent=4, + ) + print_property( + "GPUDirect RDMA flush-writes bitmask:", + f"0b{props.gpu_direct_rdma_flush_writes_options:032b}", + indent=4, + ) + print_property( + "GPUDirect RDMA writes ordering:", + props.gpu_direct_rdma_writes_ordering, + indent=4, + ) + + # Shareable handle support (IPC) + print_property( + "POSIX FD memory handle support:", + fmt_yes_no(props.handle_type_posix_file_descriptor_supported), + indent=4, + ) + print_property( + "Win32 NT handle support:", + fmt_yes_no(props.handle_type_win32_handle_supported), + indent=4, + ) + print_property( + "Win32 KMT handle support:", + fmt_yes_no(props.handle_type_win32_kmt_handle_supported), + indent=4, + ) + print_property( + "Memory pool IPC handle bitmask:", + f"0b{props.mempool_supported_handle_types:032b}", + indent=4, + ) + print_property( + "Memory pools supported:", + fmt_yes_no(props.memory_pools_supported), + indent=4, + ) + + # Multi-GPU / multicast + print_property("Multi-GPU board:", fmt_yes_no(props.multi_gpu_board), indent=4) + print_property("Multi-GPU board group ID:", props.multi_gpu_board_group_id, indent=4) + print_property( + "Switch multicast/reduction ops:", + fmt_yes_no(props.multicast_supported), + indent=4, + ) + + # NUMA + print_property("NUMA configuration:", props.numa_config, indent=4) + print_property("NUMA node ID of GPU memory:", props.numa_id, indent=4) + + # Surface limits (compact one-liners; textures are already covered above) + print_property( + "Max 1D surface width:", + props.maximum_surface1d_width, + indent=4, + ) + print_property( + "Max 2D surface (WxH):", + f"{props.maximum_surface2d_width}x{props.maximum_surface2d_height}", + indent=4, + ) + print_property( + "Max 3D surface (WxHxD):", + f"{props.maximum_surface3d_width}x{props.maximum_surface3d_height}x{props.maximum_surface3d_depth}", + indent=4, + ) + print_property( + "Max cubemap surface width:", + props.maximum_surfacecubemap_width, + indent=4, + ) + + # CUDA arrays / VMM / compression + print_property( + "Sparse CUDA arrays supported:", + fmt_yes_no(props.sparse_cuda_array_supported), + indent=4, + ) + print_property( + "Deferred mapping CUDA arrays:", + fmt_yes_no(props.deferred_mapping_cuda_array_supported), + indent=4, + ) + print_property( + "Virtual memory management supported:", + fmt_yes_no(props.virtual_memory_management_supported), + indent=4, + ) + print_property( + "Generic compression supported:", + fmt_yes_no(props.generic_compression_supported), + indent=4, + ) + + # Perf ratio (single vs double) + print_property( + "Single/double precision perf ratio:", + props.single_to_double_precision_perf_ratio, + indent=4, + ) + + +def print_device_info(dev_id, device, verbose=False): + """ + Print detailed information for a single CUDA device. + Uses device.properties (cuda.core) for most fields; cuda.bindings for + runtime version and global memory (not yet in high-level API). + + When ``verbose`` is True, appends the long-tail property list to the + per-device output. + """ + device.set_current() + props = device.properties + + print() + print(f"Device {dev_id}: {device.name}") + + # cuda.bindings workaround: runtime version not in cuda.core + driver_major, driver_minor = system.get_user_mode_driver_version() + err, runtime_version = cudart.cudaRuntimeGetVersion() + if err != cudart.cudaError_t.cudaSuccess: + raise RuntimeError(f"Failed to get CUDA runtime version: {err}") + runtime_major = runtime_version // 1000 + runtime_minor = (runtime_version % 1000) // 10 + + print_property( + "CUDA Driver Version / Runtime Version", + f"{driver_major}.{driver_minor} / {runtime_major}.{runtime_minor}", + ) + print_property( + "CUDA Capability Major/Minor version number:", + f"{props.compute_capability_major}.{props.compute_capability_minor}", + ) + + # cuda.bindings workaround: global memory (free/total) not in device.properties + err, _free_mem, total_mem_bytes = cuda.cuMemGetInfo() + if err != cuda.CUresult.CUDA_SUCCESS: + raise RuntimeError(f"Failed to get memory info: {err}") + print_property("Total amount of global memory:", fmt_bytes(total_mem_bytes)) + + sm_cores = convert_sm_ver_to_cores(props.compute_capability_major, props.compute_capability_minor) + total_cores = sm_cores * props.multiprocessor_count + print_property( + f"({props.multiprocessor_count:3d}) Multiprocessors, ({sm_cores:3d}) CUDA Cores/MP:", + f"{total_cores} CUDA Cores", + ) + + print_property("GPU Max Clock rate:", fmt_hz(props.clock_rate)) + print_property("Memory Clock rate:", f"{props.memory_clock_rate * 1e-3:.0f} Mhz") + print_property("Memory Bus Width:", f"{props.global_memory_bus_width}-bit") + if props.l2_cache_size > 0: + print_property("L2 Cache Size:", f"{props.l2_cache_size} bytes") + + print_property( + "Maximum Texture Dimension Size (x,y,z)", + f"1D=({props.maximum_texture1d_width}), " + f"2D=({props.maximum_texture2d_width}, {props.maximum_texture2d_height}), " + f"3D=({props.maximum_texture3d_width}, {props.maximum_texture3d_height}, " + f"{props.maximum_texture3d_depth})", + ) + print_property( + "Maximum Layered 1D Texture Size, (num) layers", + f"1D=({props.maximum_texture1d_layered_width}), {props.maximum_texture1d_layered_layers} layers", + ) + print_property( + "Maximum Layered 2D Texture Size, (num) layers", + f"2D=({props.maximum_texture2d_layered_width}, " + f"{props.maximum_texture2d_layered_height}), " + f"{props.maximum_texture2d_layered_layers} layers", + ) + + print_property("Total amount of constant memory:", f"{props.total_constant_memory} bytes") + print_property( + "Total amount of shared memory per block:", + f"{props.max_shared_memory_per_block} bytes", + ) + print_property( + "Total shared memory per multiprocessor:", + f"{props.max_shared_memory_per_multiprocessor} bytes", + ) + print_property("Total number of registers available per block:", props.max_registers_per_block) + + print_property("Warp size:", props.warp_size) + print_property( + "Maximum number of threads per multiprocessor:", + props.max_threads_per_multiprocessor, + ) + print_property("Maximum number of threads per block:", props.max_threads_per_block) + print_property( + "Max dimension size of a thread block (x,y,z):", + f"({props.max_block_dim_x}, {props.max_block_dim_y}, {props.max_block_dim_z})", + ) + print_property( + "Max dimension size of a grid size (x,y,z):", + f"({props.max_grid_dim_x}, {props.max_grid_dim_y}, {props.max_grid_dim_z})", + ) + print_property("Maximum memory pitch:", f"{props.max_pitch} bytes") + print_property("Texture alignment:", f"{props.texture_alignment} bytes") + + print_property( + "Concurrent copy and kernel execution:", + f"{fmt_yes_no(props.gpu_overlap)} with {props.async_engine_count} copy engine(s)", + ) + print_property("Run time limit on kernels:", fmt_yes_no(props.kernel_exec_timeout)) + + print_property("Integrated GPU sharing Host Memory:", fmt_yes_no(props.integrated)) + print_property( + "Support host page-locked memory mapping:", + fmt_yes_no(props.can_map_host_memory), + ) + print_property("Device has ECC support:", "Enabled" if props.ecc_enabled else "Disabled") + if platform.system() == "Windows": + mode = "TCC (Tesla Compute Cluster Driver)" if props.tcc_driver else "WDDM (Windows Display Driver Model)" + print_property("CUDA Device Driver Mode (TCC or WDDM):", mode) + + print_property( + "Device supports Unified Addressing (UVA):", + fmt_yes_no(props.unified_addressing), + ) + print_property("Device supports Managed Memory:", fmt_yes_no(props.managed_memory)) + print_property( + "Device supports Compute Preemption:", + fmt_yes_no(props.compute_preemption_supported), + ) + print_property("Supports Cooperative Kernel Launch:", fmt_yes_no(props.cooperative_launch)) + + print_property( + "Device PCI Domain ID / Bus ID / location ID:", + f"{props.pci_domain_id} / {props.pci_bus_id} / {props.pci_device_id}", + ) + compute_modes = { + 0: ("Default (multiple host threads can use cudaSetDevice() with device simultaneously)"), + 1: ("Exclusive (only one host thread in one process is able to use cudaSetDevice() with this device)"), + 2: "Prohibited (no host thread can use cudaSetDevice() with this device)", + 3: ("Exclusive Process (many threads in one process is able to use cudaSetDevice() with this device)"), + } + print_property("Compute Mode:", "") + print(f" < {compute_modes.get(props.compute_mode, 'Unknown')} >") + + if verbose: + print_verbose_extras(props) + + +def print_p2p_access_info(devices): + """ + Print peer-to-peer access information for multi-GPU systems. + + Parameters + ---------- + devices : tuple of Device + Tuple of CUDA device objects + """ + print() + print("Peer-to-Peer (P2P) access support:") + for i, dev_i in enumerate(devices): + for j, dev_j in enumerate(devices): + if i == j: + continue + try: + can_access = dev_i.can_access_peer(dev_j) + print(f"> Peer access from {dev_i.name} (GPU{i}) -> {dev_j.name} (GPU{j}) : {fmt_yes_no(can_access)}") + except Exception as e: + print(f"Warning: Could not check peer access between device {i} and {j}: {e}") + + +def query_devices(show_p2p=True, verbose=False): + """ + Query and display information about all CUDA devices. + + Parameters + ---------- + show_p2p : bool + Whether to show peer-to-peer access information (default: True) + verbose : bool + When True, include the long-tail property dump for each device + (default: False). + + Returns + ------- + bool + True if successful, False otherwise + """ + try: + print("[CUDA Device Query using CUDA Core API]") + devices = Device.get_all_devices() + except Exception as e: + print(f"Error: Failed to get devices: {e}") + import traceback + + traceback.print_exc() + return False + + if len(devices) == 0: + print("There are no available device(s) that support CUDA") + return True + + print(f"Detected {len(devices)} CUDA Capable device(s)") + + for dev_id, device in enumerate(devices): + try: + print_device_info(dev_id, device, verbose=verbose) + except Exception as e: + print(f"Error: Failed to get information for device {dev_id}: {e}") + import traceback + + traceback.print_exc() + return False + + if show_p2p and len(devices) >= 2: + print_p2p_access_info(devices) + + return True + + +def main(): + """ + Main entry point for the device query sample. + """ + import argparse + + parser = argparse.ArgumentParser( + description="Query CUDA Device Properties using CUDA Core API", + formatter_class=argparse.RawDescriptionHelpFormatter, + ) + parser.add_argument("--no-p2p", action="store_true", help="Skip peer-to-peer access information") + parser.add_argument( + "--verbose", + "-v", + action="store_true", + help="Also dump the long-tail Device.properties fields (surfaces, GPUDirect flags, NUMA, etc.)", + ) + + args = parser.parse_args() + + success = query_devices(show_p2p=not args.no_p2p, verbose=args.verbose) + + if success: + print("\nDone") + return 0 + else: + return 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/deviceQuery/requirements.txt b/samples/cuda_core/deviceQuery/requirements.txt new file mode 100644 index 00000000000..a0e4feab6d0 --- /dev/null +++ b/samples/cuda_core/deviceQuery/requirements.txt @@ -0,0 +1,4 @@ +# Device Query Sample Requirements + +cuda-python>=13.0.0 +cuda-core>=1.0.0 diff --git a/samples/cuda_core/fftSignalAnalysis/README.md b/samples/cuda_core/fftSignalAnalysis/README.md new file mode 100644 index 00000000000..87c84913b6b --- /dev/null +++ b/samples/cuda_core/fftSignalAnalysis/README.md @@ -0,0 +1,136 @@ +# Sample: FFT Signal Analysis (Python) + +## Description + +Analyze signal frequencies using Fast Fourier Transform (FFT) on the GPU. This sample demonstrates CuPy's cuFFT for GPU-accelerated frequency analysis: generating composite signals, computing magnitude spectrum, detecting dominant frequencies via peak detection, and comparing GPU vs CPU FFT performance. + +## What You'll Learn + +- Using CuPy's `cp.fft.rfft()` for real-to-complex FFT on GPU +- Computing magnitude spectrum from FFT results +- Peak detection to identify dominant frequencies +- Comparing GPU (cuFFT) vs CPU (NumPy) FFT performance +- Uses cuda.core APIs for device management and CUDA event timing + +## Key Concepts + +- **FFT (Fast Fourier Transform)**: Efficiently computes the Discrete Fourier Transform +- **Magnitude Spectrum**: `|FFT(signal)| * 2 / N` gives amplitude at each frequency +- **rfft**: Real FFT - optimized for real-valued input signals +- **Peak Detection**: Finding local maxima to identify dominant frequencies + +### Stream Interop + +This sample demonstrates CuPy integration with cuda.core streams: + +```python +# Create stream with cuda.core +stream = device.create_stream() + +# Use with CuPy operations +cp.cuda.Stream.from_external(stream).use() +``` + +## Key APIs + +### From `cuda.core`: + +- `Device` - Device management and context +- `EventOptions` - Configure events for GPU timing +- `stream.record()` - Record events for timing + +### From CuPy: + +- `cp.fft.rfft()` - Real-to-complex FFT (GPU-accelerated via cuFFT) +- `cp.fft.rfftfreq()` - Generate frequency bins for rfft +- `cp.cuda.Stream.from_external()` - Interop with cuda.core streams + +### From NumPy: + +- `np.fft.rfft()` - CPU FFT for comparison + +## Requirements + +### Hardware: + +- NVIDIA GPU with CUDA support + +### Software: + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- See `requirements.txt` for Python packages + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python fftSignalAnalysis.py +``` + +## Expected Output + +``` +============================================================ +FFT Signal Analysis +============================================================ + +Device: +Compute Capability: sm_XX + +Signal Parameters: + Samples: 1,048,576 + Sample Rate: 44,100 Hz + ... + +------------------------------------------------------------ +GPU FFT (cuFFT) +------------------------------------------------------------ +Time: X.XXX ms + +Detected Frequencies: + 440.0 Hz (magnitude: X.XXXX) + ... + +------------------------------------------------------------ +CPU FFT (NumPy) +------------------------------------------------------------ +Time: XX.XXX ms + +------------------------------------------------------------ +PERFORMANCE SUMMARY +------------------------------------------------------------ +GPU (cuFFT): X.XXX ms +CPU (NumPy): XX.XXX ms +Speedup: XXx + +------------------------------------------------------------ +VERIFICATION +------------------------------------------------------------ +GPU vs CPU FFT magnitude: Test PASSED + +Frequency Detection Accuracy: + 440 Hz: [OK] + ... + +Done +``` + +**Note:** Times and speedup vary by hardware. + +## Files + +- `fftSignalAnalysis.py` - Main sample using cuda.core and CuPy +- `README.md` - This file +- `requirements.txt` - Dependencies + +## See Also + +- [cuda.core Documentation](https://nvidia.github.io/cuda-python/cuda-core/latest/) +- [CuPy FFT Documentation](https://docs.cupy.dev/en/stable/reference/fft.html) +- [cuFFT Documentation](https://docs.nvidia.com/cuda/cufft/) diff --git a/samples/cuda_core/fftSignalAnalysis/fftSignalAnalysis.py b/samples/cuda_core/fftSignalAnalysis/fftSignalAnalysis.py new file mode 100644 index 00000000000..f62db19c4bd --- /dev/null +++ b/samples/cuda_core/fftSignalAnalysis/fftSignalAnalysis.py @@ -0,0 +1,319 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0", "numpy>=2.3.2"] +# /// + +""" +FFT Signal Analysis + +Demonstrates how to analyze signal frequencies using Fast Fourier Transform (FFT): +- Generate composite signals with multiple frequency components +- Use CuPy's cuFFT for GPU-accelerated frequency analysis +- Detect dominant frequencies (peak detection) +- Compare GPU vs CPU FFT performance + +Uses cuda.core APIs for device management and timing. +""" + +import sys +import time +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) +from cuda_samples_utils import verify_array_result + +try: + import cupy as cp + import numpy as np + + from cuda.core import Device, EventOptions +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Install with: pip install -r requirements.txt") + sys.exit(1) + + +def generate_composite_signal( + num_samples: int, + sample_rate: float, + frequencies: list[float], + amplitudes: list[float], +) -> np.ndarray: + """ + Generate a composite signal with multiple frequency components. + + Parameters + ---------- + num_samples : int + Number of samples in the signal + sample_rate : float + Sampling rate in Hz + frequencies : list[float] + List of frequency components in Hz + amplitudes : list[float] + List of amplitudes for each frequency component + + Returns + ------- + np.ndarray + Signal array + """ + t = np.arange(num_samples, dtype=np.float32) / sample_rate + signal = np.zeros(num_samples, dtype=np.float32) + + for freq, amp in zip(frequencies, amplitudes): + signal += amp * np.sin(2 * np.pi * freq * t) + + return signal + + +def find_dominant_frequencies( + fft_magnitude: cp.ndarray, + frequencies: cp.ndarray, + num_peaks: int = 5, + threshold_ratio: float = 0.1, +) -> list[tuple[float, float]]: + """ + Find dominant frequencies from FFT magnitude spectrum. + + Uses CPU-based peak detection (transfers magnitude/frequencies via cp.asnumpy). + Suitable for small-to-medium spectra; for large-scale analysis, consider + GPU-native peak detection. + + Parameters + ---------- + fft_magnitude : cp.ndarray + Magnitude of FFT (positive frequencies only) + frequencies : cp.ndarray + Frequency bins + num_peaks : int + Maximum number of peaks to return + threshold_ratio : float + Minimum peak height as ratio of max peak + + Returns + ------- + list[tuple[float, float]] + List of (frequency, magnitude) tuples for detected peaks + """ + # Find peaks above threshold + max_magnitude = float(cp.max(fft_magnitude)) + threshold = max_magnitude * threshold_ratio + + # Simple peak detection: find local maxima above threshold + magnitude_cpu = cp.asnumpy(fft_magnitude) + freq_cpu = cp.asnumpy(frequencies) + + peaks = [] + for i in range(1, len(magnitude_cpu) - 1): + if ( + magnitude_cpu[i] > threshold + and magnitude_cpu[i] > magnitude_cpu[i - 1] + and magnitude_cpu[i] > magnitude_cpu[i + 1] + ): + peaks.append((freq_cpu[i], magnitude_cpu[i])) + + # Sort by magnitude and return top peaks + peaks.sort(key=lambda x: x[1], reverse=True) + return peaks[:num_peaks] + + +def run_fft_analysis( + num_samples: int = 2**20, + sample_rate: float = 44100.0, + device_id: int = 0, + num_iterations: int = 10, +) -> bool: + """ + Run FFT signal analysis benchmark. + + device_id and num_iterations are not exposed via CLI; modify defaults + or call this function directly for customization. + + Parameters + ---------- + num_samples : int + Number of samples (power of 2 recommended for FFT) + sample_rate : float + Sampling rate in Hz + device_id : int + CUDA device ID + num_iterations : int + Number of iterations for timing + + Returns + ------- + bool + True if analysis succeeded + """ + print("=" * 60) + print("FFT Signal Analysis") + print("=" * 60) + + # Initialize device + device = Device(device_id) + device.set_current() + stream = device.create_stream() + + try: + print(f"\nDevice: {device.name}") + print(f"Compute Capability: sm_{device.arch}") + + # Make CuPy use our cuda.core stream + cp.cuda.Stream.from_external(stream).use() + + # Define test signal: composite of multiple frequencies + test_frequencies = [440.0, 880.0, 1320.0, 2000.0, 5000.0] # Hz + test_amplitudes = [1.0, 0.5, 0.3, 0.7, 0.4] + + print("\nSignal Parameters:") + print(f" Samples: {num_samples:,}") + print(f" Sample Rate: {sample_rate:,.0f} Hz") + print(f" Duration: {num_samples / sample_rate:.3f} seconds") + print(f" Input Frequencies: {test_frequencies} Hz") + print(f" Input Amplitudes: {test_amplitudes}") + + # Generate composite signal on CPU + h_signal = generate_composite_signal(num_samples, sample_rate, test_frequencies, test_amplitudes) + + # Transfer to GPU + d_signal = cp.asarray(h_signal) + + # --------------------------------------------------------------------- + # GPU FFT (cuFFT via CuPy) + # --------------------------------------------------------------------- + print("\n" + "-" * 60) + print("GPU FFT (cuFFT)") + print("-" * 60) + + event_opts = EventOptions(timing_enabled=True) + + # Warmup + d_fft_result = cp.fft.rfft(d_signal) + stream.sync() + + # Timed runs + start = stream.record(options=event_opts) + for _ in range(num_iterations): + d_fft_result = cp.fft.rfft(d_signal) + end = stream.record(options=event_opts) + end.sync() + + gpu_time_ms = (end - start) / num_iterations + print(f"Time: {gpu_time_ms:.3f} ms") + + # Compute magnitude spectrum + d_magnitude = cp.abs(d_fft_result) * 2 / num_samples + d_frequencies = cp.fft.rfftfreq(num_samples, 1 / sample_rate) + + # Find dominant frequencies + detected_peaks = find_dominant_frequencies(d_magnitude, d_frequencies) + + print("\nDetected Frequencies:") + for freq, mag in detected_peaks: + print(f" {freq:8.1f} Hz (magnitude: {mag:.4f})") + + # --------------------------------------------------------------------- + # CPU FFT (NumPy) for comparison + # --------------------------------------------------------------------- + print("\n" + "-" * 60) + print("CPU FFT (NumPy)") + print("-" * 60) + + # Warmup + h_fft_result = np.fft.rfft(h_signal) + + # Timed runs + cpu_start = time.perf_counter() + for _ in range(num_iterations): + h_fft_result = np.fft.rfft(h_signal) + cpu_end = time.perf_counter() + + cpu_time_ms = (cpu_end - cpu_start) * 1000 / num_iterations + print(f"Time: {cpu_time_ms:.3f} ms") + + # --------------------------------------------------------------------- + # Performance Summary + # --------------------------------------------------------------------- + print("\n" + "-" * 60) + print("PERFORMANCE SUMMARY") + print("-" * 60) + speedup = cpu_time_ms / gpu_time_ms + print(f"GPU (cuFFT): {gpu_time_ms:.3f} ms") + print(f"CPU (NumPy): {cpu_time_ms:.3f} ms") + print(f"Speedup: {speedup:.1f}x") + + # --------------------------------------------------------------------- + # Verification + # --------------------------------------------------------------------- + print("\n" + "-" * 60) + print("VERIFICATION") + print("-" * 60) + + # Compare GPU and CPU results + h_magnitude = cp.asarray(np.abs(h_fft_result).astype(np.float32)) * 2 / num_samples + + print("GPU vs CPU FFT magnitude: ", end="") + success = verify_array_result( + d_magnitude, + h_magnitude, + rtol=1e-4, + atol=1e-6, + ) + + # Verify detected frequencies match input + print("\nFrequency Detection Accuracy:") + detected_freqs = [freq for freq, _ in detected_peaks] + all_found = True + for expected_freq in test_frequencies: + found = any(abs(f - expected_freq) < 10 for f in detected_freqs) + status = "[OK]" if found else "[FAIL]" + print(f" {expected_freq:6.0f} Hz: {status}") + all_found = all_found and found + + success = success and all_found + return success + + finally: + # Cleanup - always close resources + cp.cuda.Stream.null.use() + stream.close() + + +def main() -> None: + """Entry point.""" + success = run_fft_analysis() + if success: + print("\nDone") + else: + print("\nAnalysis completed with errors") + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/fftSignalAnalysis/requirements.txt b/samples/cuda_core/fftSignalAnalysis/requirements.txt new file mode 100644 index 00000000000..12db0490abe --- /dev/null +++ b/samples/cuda_core/fftSignalAnalysis/requirements.txt @@ -0,0 +1,6 @@ +# FFT Signal Analysis Requirements + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 +numpy>=2.3.2 diff --git a/samples/cuda_core/glInteropFluid/README.md b/samples/cuda_core/glInteropFluid/README.md new file mode 100644 index 00000000000..d6b9badbaa5 --- /dev/null +++ b/samples/cuda_core/glInteropFluid/README.md @@ -0,0 +1,77 @@ +# Sample: OpenGL Interop — Stable Fluids (Python) + +## Description + +A real-time Stable Fluids (Jos Stam) smoke/ink solver rendered live to an +OpenGL window using ``cuda.core``'s texture / surface / graphics-resource +stack. Velocity, pressure, and dye fields live in ping-ponged ``cudaArray``s, +are read through ``TextureObject``s with hardware bilinear filtering (the +heart of semi-Lagrangian advection), and written back through +``SurfaceObject``s. The final dye field is colorized straight into an OpenGL +PBO. Drag the mouse to inject swirling ink. + +This is the flagship demo for the ``cuda.core.texture`` package +(``OpaqueArray``, ``TextureObject``, ``SurfaceObject``, ``MipmappedArray``) +introduced in cuda-core 1.1. + +## What You'll Learn + +- Building a `cudaArray` (`OpaqueArray`) and binding it as both a + `TextureObject` (cached, hardware-filtered reads) and a `SurfaceObject` + (raw writes) +- Semi-Lagrangian advection via a single hardware bilinear `tex2D` + fetch at a fractional back-traced coordinate +- Ping-ponged read/write between two arrays each frame +- Registering an OpenGL PBO with CUDA via `GraphicsResource.from_gl_buffer` + and writing pixels directly into it (no CPU round-trip) + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) — Device, Program, `texture` submodule (OpaqueArray / TextureObject / SurfaceObject), GraphicsResource +- `pyglet` (>=2.0) — windowing and OpenGL bindings +- `numpy` — kernel arguments and array shape metadata + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 7.0 or higher +- A display (X11 on Linux, native window server on macOS / Windows). + Headless Linux environments (no `$DISPLAY`) waive the sample. + +### Software + +- CUDA Toolkit 13.0 or newer (matches ``cuda-python`` 13.x) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `numpy` (>=1.24) +- `pyglet` (>=2.0) + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python glInteropFluid.py # Run until the window is closed +python glInteropFluid.py --frames 3 # Render three frames, then exit +``` + +## Files + +- `glInteropFluid.py` — Python implementation +- `README.md` — This file +- `requirements.txt` — Sample dependencies + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.core.texture` API](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html#module-cuda.core.texture) +- [`samples/cuda_core/glInteropPlasma/`](../glInteropPlasma/) — simpler OpenGL interop example +- [`samples/cuda_core/glInteropMipmapLod/`](../glInteropMipmapLod/) — mipmap / LOD texture demo +- [`samples/cuda_core/textureSample/`](../textureSample/) — minimal texture sampling +- [Jos Stam, *Stable Fluids* (SIGGRAPH '99)](https://www.dgp.toronto.edu/people/stam/reality/Research/pdf/ns.pdf) diff --git a/cuda_core/examples/gl_interop_fluid.py b/samples/cuda_core/glInteropFluid/glInteropFluid.py similarity index 96% rename from cuda_core/examples/gl_interop_fluid.py rename to samples/cuda_core/glInteropFluid/glInteropFluid.py index 68259d32e3b..0f6b9238594 100644 --- a/cuda_core/examples/gl_interop_fluid.py +++ b/samples/cuda_core/glInteropFluid/glInteropFluid.py @@ -90,9 +90,12 @@ # dependencies = ["cuda_bindings", "cuda_core>0.6.0", "pyglet"] # /// +import argparse import colorsys import ctypes import math +import os +import platform import random import sys import time @@ -137,6 +140,7 @@ # This is the single extra kernel that turns soft blobs into crisp curling # plumes. Tunable: ~0.1-0.3 reads well at DT=1.0; higher gets turbulent. VORTICITY = 0.28 # confinement strength (0.0 disables it) +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) # Auto-bursts keep the simulation alive and colorful without any input: when # the mouse is idle we periodically drop a big blob of a random bright color @@ -527,12 +531,30 @@ def seed_field(stream, kernels, config, vel_surf, dye_surf, prs_surf, seed_value # ================================== main() ================================== -def main(): +def main(argv=None): + parser = argparse.ArgumentParser(description="CUDA/OpenGL interop Stable Fluids demo") + parser.add_argument( + "--frames", + type=int, + default=None, + help="Number of frames to render before exiting (default: run until the window is closed)", + ) + args = parser.parse_args(argv) + + # Waive when no display is available (headless CI, Wayland-only, etc.). + if platform.system() == "Linux" and not os.environ.get("DISPLAY"): + print("No DISPLAY available; waiving glInteropFluid.", file=sys.stderr) + sys.exit(EXIT_WAIVED) + # --- Step 1: Set up CUDA (compile kernels, create stream) --- dev, stream, kernels, config = setup_cuda() # --- Step 2: Open a window --- - window, gl, pyglet = create_window() + try: + window, gl, pyglet = create_window() + except Exception as exc: + print(f"Could not open a pyglet window ({exc}); waiving glInteropFluid.", file=sys.stderr) + sys.exit(EXIT_WAIVED) # --- Step 3: Create GL resources for drawing a texture to screen --- # (Standard OpenGL boilerplate -- not CUDA-specific.) @@ -621,8 +643,43 @@ def dye_live_surf(): # --- Step 9: Render loop --- start_time = time.monotonic() frame_count = 0 + frames_rendered = 0 fps_time = start_time clock = {"last": start_time} # wall-clock time of the previous frame + resources_closed = False + + def close_resources(): + nonlocal resources_closed + if resources_closed: + return + resources_closed = True + + # Release everything we opened, in reverse order. Each of these is a + # context manager too, but pyglet owns the event loop here so we + # release explicitly to be deterministic about ordering. + resource.close() + dye_tex_a.close() + dye_tex_b.close() + dye_surf_a.close() + dye_surf_b.close() + div_tex.close() + div_surf.close() + prs_tex_a.close() + prs_tex_b.close() + prs_surf_a.close() + prs_surf_b.close() + vel_tex_a.close() + vel_tex_b.close() + vel_surf_a.close() + vel_surf_b.close() + dye_a.close() + dye_b.close() + div.close() + prs_a.close() + prs_b.close() + vel_a.close() + vel_b.close() + stream.close() def _window_to_sim(x, y): # Window: y = 0 at bottom. Simulation: y = 0 at top. Flip vertically. @@ -634,8 +691,8 @@ def _window_to_sim(x, y): def on_key_press(symbol, _modifiers): key = pyglet.window.key if symbol == key.ESCAPE: - window.close() - return + pyglet.app.exit() + return pyglet.event.EVENT_HANDLED if symbol == key.R: state["seed"] += 1 seed_field( @@ -675,7 +732,7 @@ def on_mouse_drag(x, y, dx, dy, _buttons, _modifiers): @window.event def on_draw(): - nonlocal frame_count, fps_time + nonlocal frame_count, frames_rendered, fps_time window.clear() now_t = time.monotonic() @@ -884,6 +941,7 @@ def on_draw(): # FPS counter (shown in window title) frame_count += 1 + frames_rendered += 1 now = time.monotonic() if now - fps_time >= 1.0: fps = frame_count / (now - fps_time) @@ -897,38 +955,23 @@ def on_draw(): frame_count = 0 fps_time = now + if args.frames is not None and frames_rendered >= args.frames: + # Let pyglet finish the current refresh/flip before tearing down + # the GL context and registered CUDA graphics resource. + pyglet.app.exit() + @window.event def on_close(): - # Release everything we opened, in reverse order. Each of these is a - # context manager too, but pyglet owns the event loop here so we - # release explicitly to be deterministic about ordering. - resource.close() - dye_tex_a.close() - dye_tex_b.close() - dye_surf_a.close() - dye_surf_b.close() - div_tex.close() - div_surf.close() - prs_tex_a.close() - prs_tex_b.close() - prs_surf_a.close() - prs_surf_b.close() - vel_tex_a.close() - vel_tex_b.close() - vel_surf_a.close() - vel_surf_b.close() - dye_a.close() - dye_b.close() - div.close() - prs_a.close() - prs_b.close() - vel_a.close() - vel_b.close() - stream.close() + close_resources() # Render as fast as the GPU allows; the per-step rates are scaled by real # elapsed time (see REF_FPS) so the look is frame-rate independent. - pyglet.app.run(interval=0) + try: + pyglet.app.run(interval=0) + finally: + close_resources() + window.close() + print(f"\nRendered {frames_rendered} fluid simulation frames. Done") # ======================== GPU code (CUDA + GLSL) ============================ diff --git a/samples/cuda_core/glInteropFluid/requirements.txt b/samples/cuda_core/glInteropFluid/requirements.txt new file mode 100644 index 00000000000..30736f6bf4f --- /dev/null +++ b/samples/cuda_core/glInteropFluid/requirements.txt @@ -0,0 +1,7 @@ +# glInteropFluid Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +numpy>=1.24 +pyglet>=2.0 diff --git a/samples/cuda_core/glInteropFluidNumbaCudaMlir/README.md b/samples/cuda_core/glInteropFluidNumbaCudaMlir/README.md new file mode 100644 index 00000000000..513f9cb0f01 --- /dev/null +++ b/samples/cuda_core/glInteropFluidNumbaCudaMlir/README.md @@ -0,0 +1,53 @@ +# Sample: Stable Fluids on numba-cuda-mlir (Python) + +## Description + +A [numba-cuda-mlir](https://github.com/NVIDIA/numba-cuda) port of the +[`samples/cuda_core/glInteropFluid/`](../glInteropFluid/) Stable Fluids demo. Same +physics; the memory model changes. + +The `cuda.core` version binds each field as a `cudaArray` and reads it +through a `TextureObject` (cached, hardware-filtered) and writes it back +through a `SurfaceObject`. `numba-cuda-mlir` has no texture / surface +support, so this port uses ordinary linear device arrays and implements +the hardware bilinear filter by hand. Useful as a side-by-side reference +for the two programming models. + +Drag the mouse to inject swirling ink. + +## What You'll Learn + +- What Stable Fluids looks like without textures — semi-Lagrangian + advection with a hand-rolled bilinear interpolator +- How `numba-cuda-mlir` handles arrays, kernel launches, and device + functions +- Registering an OpenGL PBO with CUDA and writing pixels into it + +## Requirements + +- `numba-cuda-mlir` (from NVIDIA) +- `pyglet` (>=2.0) +- `numpy` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python glInteropFluidNumbaCudaMlir.py +``` + +## Files + +- `glInteropFluidNumbaCudaMlir.py` — Python implementation +- `README.md` — This file +- `requirements.txt` — Sample dependencies + +## See Also + +- [`samples/cuda_core/glInteropFluid/`](../glInteropFluid/) — `cuda.core` version using textures / surfaces +- [numba-cuda](https://github.com/NVIDIA/numba-cuda) diff --git a/cuda_core/examples/gl_interop_fluid_numba_cuda_mlir.py b/samples/cuda_core/glInteropFluidNumbaCudaMlir/glInteropFluidNumbaCudaMlir.py similarity index 100% rename from cuda_core/examples/gl_interop_fluid_numba_cuda_mlir.py rename to samples/cuda_core/glInteropFluidNumbaCudaMlir/glInteropFluidNumbaCudaMlir.py diff --git a/samples/cuda_core/glInteropFluidNumbaCudaMlir/requirements.txt b/samples/cuda_core/glInteropFluidNumbaCudaMlir/requirements.txt new file mode 100644 index 00000000000..7743f1a90c8 --- /dev/null +++ b/samples/cuda_core/glInteropFluidNumbaCudaMlir/requirements.txt @@ -0,0 +1,6 @@ +# glInteropFluidNumbaCudaMlir Sample Requirements +# Install with: pip install -r requirements.txt + +numba-cuda-mlir +pyglet>=2.0 +numpy>=1.24 diff --git a/samples/cuda_core/glInteropMipmapLod/README.md b/samples/cuda_core/glInteropMipmapLod/README.md new file mode 100644 index 00000000000..c3a47b22bd4 --- /dev/null +++ b/samples/cuda_core/glInteropMipmapLod/README.md @@ -0,0 +1,69 @@ +# Sample: Mipmapped Textures with LOD (Python) + +## Description + +Demonstrates the new ``cuda.core.texture`` stack — ``MipmappedArray``, +``SurfaceObject``, and a ``TextureObject`` that does **trilinear** (LINEAR +mipmap + LINEAR filter) sampling with user-controlled LOD bias — rendered +live to an OpenGL window with the same interop pattern as +[`samples/cuda_core/glInteropPlasma/`](../glInteropPlasma/). + +The sample: + +1. Allocates a mipmap pyramid as a single ``MipmappedArray``. +2. Populates each level from a CUDA kernel bound to that level as a + ``SurfaceObject``. +3. Samples the whole pyramid from a ``TextureObject`` with a manual LOD + bias controlled from the keyboard. + +## What You'll Learn + +- Allocating a mipmap pyramid via `MipmappedArray` +- Binding a specific mip level as a `SurfaceObject` to write to it from a + kernel +- Configuring a `TextureObject` for `LINEAR` mipmap + `LINEAR` filter + (trilinear) sampling +- Passing a user-controlled `lod` bias through to `tex2DLod` +- OpenGL PBO interop through `GraphicsResource.from_gl_buffer` + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 7.0 or higher +- A display (X11 on Linux, native window server on macOS / Windows). + Headless environments waive the sample. + +### Software + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `numpy` (>=1.24) +- `pyglet` (>=2.0) + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python glInteropMipmapLod.py # Run until the window is closed +python glInteropMipmapLod.py --frames 3 # Render three frames, then exit +``` + +## Files + +- `glInteropMipmapLod.py` — Python implementation +- `README.md` — This file +- `requirements.txt` — Sample dependencies + +## See Also + +- [`cuda.core.texture` API](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html#module-cuda.core.texture) +- [`samples/cuda_core/glInteropFluid/`](../glInteropFluid/) — Stable Fluids demo (also uses TextureObject / SurfaceObject) +- [`samples/cuda_core/textureSample/`](../textureSample/) — minimal texture sampling diff --git a/cuda_core/examples/gl_interop_mipmap_lod.py b/samples/cuda_core/glInteropMipmapLod/glInteropMipmapLod.py similarity index 95% rename from cuda_core/examples/gl_interop_mipmap_lod.py rename to samples/cuda_core/glInteropMipmapLod/glInteropMipmapLod.py index 8c13b17c8ed..32bc74fe9f2 100644 --- a/cuda_core/examples/gl_interop_mipmap_lod.py +++ b/samples/cuda_core/glInteropMipmapLod/glInteropMipmapLod.py @@ -85,8 +85,11 @@ # dependencies = ["cuda_bindings", "cuda_core>0.6.0", "pyglet"] # /// +import argparse import ctypes import math +import os +import platform import sys import time @@ -119,6 +122,7 @@ HEIGHT = 600 BASE_SIZE = 512 # Texture base-level edge length (must be a power of two). LOD_BIAS_STEP = 0.25 +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) # ============================= Helper functions ============================= @@ -401,7 +405,21 @@ def draw_fullscreen_quad(gl, shader_prog, vao_id, tex_id): # ================================== main() ================================== -def main(): +def main(argv=None): + parser = argparse.ArgumentParser(description="CUDA/OpenGL interop mipmapped LOD demo") + parser.add_argument( + "--frames", + type=int, + default=None, + help="Number of frames to render before exiting (default: run until the window is closed)", + ) + args = parser.parse_args(argv) + + # Waive when no display is available (headless CI, Wayland-only, etc.). + if platform.system() == "Linux" and not os.environ.get("DISPLAY"): + print("No DISPLAY available; waiving glInteropMipmapLod.", file=sys.stderr) + sys.exit(EXIT_WAIVED) + # --- Step 1: Set up CUDA (compile kernels, create stream) --- dev, stream, kernels, _arch = setup_cuda() @@ -454,7 +472,9 @@ def main(): state = {"zoom": 1.0, "lod_bias": 0.0} start_time = time.monotonic() frame_count = [0] + frames_rendered = [0] fps_time = [start_time] + resources_closed = [False] block = (16, 16, 1) grid = ( @@ -464,6 +484,18 @@ def main(): ) config = LaunchConfig(grid=grid, block=block) + def close_resources(): + if resources_closed[0]: + return + resources_closed[0] = True + + # Release CUDA-side resources in reverse construction order. GL + # objects clean up via pyglet on window close. + resource.close() + display_tex.close() + mip.close() + stream.close() + def effective_lod(): # Same formula the display kernel uses, clamped to the legal range so # the window title matches what the GPU actually sees. @@ -496,6 +528,7 @@ def on_draw(): draw_fullscreen_quad(gl, shader_prog, quad_vao, tex_id) frame_count[0] += 1 + frames_rendered[0] += 1 now = time.monotonic() if now - fps_time[0] >= 1.0: fps = frame_count[0] / (now - fps_time[0]) @@ -509,6 +542,11 @@ def on_draw(): frame_count[0] = 0 fps_time[0] = now + if args.frames is not None and frames_rendered[0] >= args.frames: + # Let pyglet finish the current refresh/flip before tearing down + # the GL context and registered CUDA graphics resource. + pyglet.app.exit() + @window.event def on_mouse_scroll(_x, _y, _scroll_x, scroll_y): # One wheel step changes zoom by ~12.5%. Clamped to keep LOD in range. @@ -530,14 +568,14 @@ def on_key_press(symbol, _modifiers): @window.event def on_close(): - # Release CUDA-side resources in reverse construction order. GL - # objects clean up via pyglet on window close. - resource.close() - display_tex.close() - mip.close() - stream.close() + close_resources() - pyglet.app.run(interval=0) + try: + pyglet.app.run(interval=0) + finally: + close_resources() + window.close() + print(f"\nRendered {frames_rendered[0]} mipmapped LOD frames. Done") # ======================== GPU code (CUDA + GLSL) ============================ diff --git a/samples/cuda_core/glInteropMipmapLod/requirements.txt b/samples/cuda_core/glInteropMipmapLod/requirements.txt new file mode 100644 index 00000000000..0fe593c6286 --- /dev/null +++ b/samples/cuda_core/glInteropMipmapLod/requirements.txt @@ -0,0 +1,7 @@ +# glInteropMipmapLod Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +numpy>=1.24 +pyglet>=2.0 diff --git a/samples/cuda_core/glInteropPlasma/README.md b/samples/cuda_core/glInteropPlasma/README.md new file mode 100644 index 00000000000..d01cd709551 --- /dev/null +++ b/samples/cuda_core/glInteropPlasma/README.md @@ -0,0 +1,130 @@ +# Sample: OpenGL Interop Plasma (Python) + +## Description + +A CUDA kernel writes pixel colors directly into an OpenGL Pixel Buffer +Object (PBO) with zero copies through the CPU. The PBO is then blitted +into a texture and drawn on a fullscreen quad, producing an animated +"plasma" effect (layered sine waves). + +Without CUDA / OpenGL interop, moving GPU-computed pixels onto the screen +would require: + +``` +CUDA -> CPU memory -> OpenGL (two slow copies across the PCIe bus) +``` + +Using `cuda.core.GraphicsResource.from_gl_buffer()` eliminates the +CPU round-trip: the PBO stays on the GPU the entire time, and CUDA and +OpenGL take turns accessing the same buffer. + +Each frame: + +1. `resource.map(stream=...)` gives CUDA a device pointer into the PBO. +2. A CUDA kernel writes RGBA pixels into that pointer. +3. The context manager `unmap()`s the resource on exit; OpenGL now owns + the PBO again. +4. `glTexSubImage2D` copies the PBO into a texture (GPU-to-GPU, fast). +5. OpenGL draws the texture on a fullscreen quad. + +## What You'll Learn + +- Registering an OpenGL PBO with CUDA via `GraphicsResource.from_gl_buffer()` +- Mapping/unmapping a graphics resource with a context manager +- Launching a CUDA kernel that writes directly into GPU-side OpenGL memory +- Blitting a PBO into a GL texture without a CPU round-trip +- Running an interactive real-time visualization from Python + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - Pythonic access to CUDA runtime, programs, and graphics interop +- `pyglet` (>=2.0) - windowing and OpenGL bindings +- `numpy` - kernel argument construction + +## Key APIs + +### From `cuda.core` + +- `GraphicsResource.from_gl_buffer(gl_buffer_id, flags="write_discard")` - register an OpenGL buffer with CUDA +- `GraphicsResource.map(stream=...)` - context manager yielding a `Buffer` that CUDA can write to +- `Program`, `ProgramOptions`, `LaunchConfig`, `launch` - standard cuda.core compile/launch flow + +### From pyglet + +- `pyglet.window.Window` - open a GL context +- `pyglet.graphics.shader.Shader` / `ShaderProgram` - build the passthrough shader used to draw the texture + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 7.0 or higher +- A display (X11 on Linux, native window server on macOS/Windows). Headless + Linux environments (no `$DISPLAY`) will waive the sample. + +### Software + +- CUDA Toolkit 13.0 or newer (matches `cuda-python` 13.x) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `numpy` (>=2.3.2) +- `pyglet` (>=2.0) + +## Installation + +Install the required packages from `requirements.txt`: + +```bash +pip install -r requirements.txt +``` + +## How to Run + +### Default (bounded run, exits after N frames): + +```bash +python glInteropPlasma.py # 60 frames, then exits +python glInteropPlasma.py --frames 300 # 300 frames +``` + +### Interactive (window stays open until closed): + +```bash +python glInteropPlasma.py --interactive +``` + +### Choose a specific GPU: + +```bash +python glInteropPlasma.py --device 1 +``` + +## Expected Output + +A window titled *GraphicsResource Example - CUDA Plasma* opens and shows +smoothly animated, colorful swirling patterns. The window title updates +every second with the current FPS. In non-interactive mode the window +closes automatically after `--frames` frames: + +``` +Rendered 60 frames via CUDA/OpenGL interop. Done +``` + +On a headless Linux runner the sample self-waives with: + +``` +No DISPLAY available; waiving GL interop sample. +``` + +## Files + +- `glInteropPlasma.py` - Python implementation using `cuda.core.GraphicsResource` +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.core` GraphicsResource API](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html#module-cuda.core) +- [pyglet Documentation](https://pyglet.readthedocs.io/en/latest/) diff --git a/cuda_core/examples/gl_interop_plasma.py b/samples/cuda_core/glInteropPlasma/glInteropPlasma.py similarity index 56% rename from cuda_core/examples/gl_interop_plasma.py rename to samples/cuda_core/glInteropPlasma/glInteropPlasma.py index d303abdc253..3cbf8db60bb 100644 --- a/cuda_core/examples/gl_interop_plasma.py +++ b/samples/cuda_core/glInteropPlasma/glInteropPlasma.py @@ -1,97 +1,106 @@ -# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. # -# SPDX-License-Identifier: Apache-2.0 - -# ################################################################################ -# -# This example demonstrates cuda.core.GraphicsResource for CUDA/OpenGL -# interop: a CUDA kernel writes pixels directly into an OpenGL PBO with -# zero copies through the CPU. Requires pyglet. -# -# ################################################################################ - -# What this example teaches -# ========================= -# How to use cuda.core.GraphicsResource to let a CUDA kernel write pixels -# directly into an OpenGL buffer with zero copies through the CPU. -# -# How it works -# ============ -# Normally, getting CUDA results onto the screen would require: -# CUDA -> CPU memory -> OpenGL (two slow copies across the PCIe bus) -# -# GraphicsResource eliminates the CPU round-trip. The pixel data stays -# on the GPU the entire time: -# -# 1. OpenGL allocates a PBO (Pixel Buffer Object) -- a raw GPU buffer. -# 2. GraphicsResource.from_gl_buffer() registers that PBO with CUDA. -# Now both CUDA and OpenGL have access to the same GPU memory. -# -# +----------------------+ +---------------------+ -# | OpenGL PBO | | GraphicsResource | -# | (pixel buffer on GPU)| <---> | (CUDA handle to | -# +----------------------+ | the same memory) | -# +---------------------+ -# -# EACH FRAME (all on GPU -- nothing touches the CPU or PCIe bus) -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# 1. map() -- CUDA gets a device pointer into the PBO -# 2. launch kernel -- CUDA writes pixel colors into that memory -# 3. unmap() -- ownership returns to OpenGL -# 4. glTexSubImage2D -- OpenGL copies PBO into a texture (GPU-to-GPU) -# 5. draw -- OpenGL renders the texture to the window -# -# Why is there a copy in step 4? OpenGL can only render from a -# texture object, not from a raw buffer. The glTexSubImage2D step -# copies the PBO bytes into a texture, but this happens entirely on -# the GPU and it is very fast. The big win from GraphicsResource is -# that we never copy pixels from the CPU to the GPU and then back. -# -# What you should see -# =================== -# A window showing smoothly animated, colorful swirling patterns (a plasma -# effect popular in the demoscene). The window title shows the current FPS. -# Close the window or press Escape to exit. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. # +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # /// script -# dependencies = ["cuda_bindings", "cuda_core>0.6.0", "pyglet"] +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "numpy>=2.3.2", "pyglet>=2.0"] # /// +""" +CUDA / OpenGL interop with cuda.core.GraphicsResource + +A CUDA kernel writes pixel colors directly into an OpenGL Pixel Buffer Object +(PBO) with zero copies through the CPU. The PBO is then blitted into a +texture and drawn to the window. + +The classic way to display CUDA output would be: + CUDA -> CPU memory -> OpenGL (two slow copies across the PCIe bus) + +``GraphicsResource.from_gl_buffer()`` eliminates the CPU round-trip. The +pixel data stays on the GPU the entire time: + + 1. OpenGL allocates a PBO -- a raw GPU buffer. + 2. ``GraphicsResource.from_gl_buffer()`` registers that PBO with CUDA; + now both CUDA and OpenGL have access to the same GPU memory. + 3. Each frame we ``map()`` the resource (CUDA gets a device pointer into + the PBO), launch the kernel, and let the context manager ``unmap()`` + the resource so OpenGL can render it. + 4. ``glTexSubImage2D`` copies the PBO into a texture (a fast, GPU-to-GPU + step) and OpenGL draws the texture on a fullscreen quad. + +The animation is a "plasma" effect: layered sine waves that produce +swirling colors. Close the window (or press Escape) to exit. + +By default this sample runs for a bounded number of frames so it is +CI-friendly; pass ``--interactive`` to run until the window is closed. +Headless environments (no ``DISPLAY``) waive the sample. +""" + +import argparse import ctypes +import os +import platform import sys import time -import numpy as np +try: + import numpy as np + + from cuda.core import ( + Device, + GraphicsResource, + LaunchConfig, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) -from cuda.core import ( - Device, - GraphicsResource, - LaunchConfig, - Program, - ProgramOptions, - launch, -) # --------------------------------------------------------------------------- # Window dimensions (feel free to change these) # --------------------------------------------------------------------------- WIDTH = 800 HEIGHT = 600 +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) # ============================= Helper functions ============================= -# -# The functions below set up CUDA and OpenGL. If you're here to learn about +# The functions below set up CUDA and OpenGL. If you're here to learn about # GraphicsResource, you can skip straight to main() -- the interesting part -# is there. These helpers exist so that main() reads like a short story -# instead of a wall of boilerplate. +# is there. # ============================================================================ -def setup_cuda(kernel_source): +def setup_cuda(kernel_source, device_id=0): """Compile the CUDA kernel and return (device, stream, kernel, launch_config).""" - dev = Device(0) + dev = Device(device_id) dev.set_current() stream = dev.create_stream() @@ -112,7 +121,7 @@ def setup_cuda(kernel_source): def create_window(): - """Open a pyglet window and return (window, gl_module).""" + """Open a pyglet window and return (window, gl_module, pyglet).""" try: import pyglet from pyglet.gl import gl as _gl @@ -135,25 +144,21 @@ def create_window(): def create_display_resources(gl, width, height): """Create the GL objects needed to show a texture on screen. - This sets up a shader program, a fullscreen quad, and an - empty texture. None of this is CUDA-specific as it's standard - OpenGL boilerplate for rendering a textured quad to the - screen. + Standard OpenGL boilerplate: a passthrough shader program, a fullscreen + quad, and an empty texture. Nothing CUDA-specific. - Returns (shader_program, vertex_array_id, texture_id). - The shader_program is a pyglet ShaderProgram object (must be kept alive). + Returns (shader_program, vao_id, texture_id). """ from pyglet.graphics.shader import Shader, ShaderProgram - # Shader program -- just passes texture coordinates through vert = Shader(VERTEX_SHADER_SOURCE, "vertex") frag = Shader(FRAGMENT_SHADER_SOURCE, "fragment") shader_prog = ShaderProgram(vert, frag) - # Fullscreen quad (two triangles covering the entire window) + # Fullscreen quad (two triangles covering the entire window). quad_verts = np.array( [ - # x, y, s, t (position + texture coordinate) + # x, y, s, t (position + texture coordinate) -1, -1, 0, @@ -207,7 +212,6 @@ def create_display_resources(gl, width, height): gl.glBindVertexArray(0) - # Empty texture (will be filled each frame from the PBO) tex = ctypes.c_uint(0) gl.glGenTextures(1, ctypes.byref(tex)) gl.glBindTexture(gl.GL_TEXTURE_2D, tex.value) @@ -231,8 +235,8 @@ def create_display_resources(gl, width, height): def create_pixel_buffer(gl, width, height): """Create a Pixel Buffer Object (PBO) -- the bridge between CUDA and OpenGL. - A PBO is a GPU-side buffer that OpenGL can read from when uploading pixels - to a texture. By registering this same buffer with CUDA, the CUDA kernel can + A PBO is GPU-side memory that OpenGL can read from when uploading pixels + to a texture. Registering this same buffer with CUDA lets the kernel write directly into it. Returns (pbo_gl_name, size_in_bytes). @@ -278,67 +282,100 @@ def draw_fullscreen_quad(gl, shader_prog, vao_id, tex_id): def main(): + parser = argparse.ArgumentParser(description="CUDA/OpenGL interop plasma demo") + parser.add_argument( + "--frames", + type=int, + default=60, + help="Number of frames to render before exiting (default: 60). Ignored in --interactive mode.", + ) + parser.add_argument( + "--interactive", + action="store_true", + help="Run until the window is closed instead of stopping after --frames", + ) + parser.add_argument("--device", type=int, default=0, help="CUDA device id") + args = parser.parse_args() + + # Waive the sample when there is no display available. On Linux we look + # at $DISPLAY; on other platforms we just try and let pyglet fail below + # if it cannot open a window. + if platform.system() == "Linux" and not os.environ.get("DISPLAY"): + print("No DISPLAY available; waiving GL interop sample.", file=sys.stderr) + sys.exit(EXIT_WAIVED) + # --- Step 1: Set up CUDA (compile kernel, create stream) --- - dev, stream, kernel, config = setup_cuda(PLASMA_KERNEL_SOURCE) + _dev, stream, kernel, config = setup_cuda(PLASMA_KERNEL_SOURCE, device_id=args.device) # --- Step 2: Open a window --- - window, gl, pyglet = create_window() + try: + window, gl, pyglet = create_window() + except Exception as e: + print(f"Could not open a pyglet window ({e}); waiving GL interop sample.", file=sys.stderr) + sys.exit(EXIT_WAIVED) # --- Step 3: Create GL resources for drawing a texture to screen --- - # (This is standard OpenGL boilerplate -- not CUDA-specific.) shader_prog, quad_vao, tex_id = create_display_resources(gl, WIDTH, HEIGHT) # --- Step 4: Create the Pixel Buffer Object (PBO) --- - # A PBO is GPU memory owned by OpenGL. It's the bridge between the - # two worlds: CUDA will write into it, and OpenGL will read from it. - pbo_id, nbytes = create_pixel_buffer(gl, WIDTH, HEIGHT) + # A PBO is GPU memory owned by OpenGL. It bridges the two worlds: + # CUDA will write into it, and OpenGL will read from it. + pbo_id, _ = create_pixel_buffer(gl, WIDTH, HEIGHT) # --- Step 5: Register the PBO with CUDA --- - # THIS IS THE KEY LINE. GraphicsResource.from_gl_buffer() tells the - # CUDA driver "I want to access this OpenGL buffer from CUDA kernels." - # WRITE_DISCARD means CUDA will overwrite the entire buffer each frame. + # KEY LINE. GraphicsResource.from_gl_buffer() tells the CUDA driver + # "I want to access this OpenGL buffer from CUDA kernels." WRITE_DISCARD + # means CUDA will overwrite the entire buffer each frame. resource = GraphicsResource.from_gl_buffer(pbo_id, flags="write_discard") # --- Step 6: Render loop --- start_time = time.monotonic() frame_count = 0 fps_time = start_time + frames_rendered = 0 + resources_closed = False + + def close_resources(): + nonlocal resources_closed + if resources_closed: + return + resources_closed = True + resource.close() + stream.close() @window.event def on_draw(): - nonlocal frame_count, fps_time + nonlocal frame_count, fps_time, frames_rendered window.clear() t = time.monotonic() - start_time - # (a) Map the PBO so CUDA can write to it. - # This gives us a Buffer whose .handle is a CUDA device pointer - # pointing directly into the OpenGL PBO's GPU memory. + # (a) Map the PBO so CUDA can write to it. This gives us a Buffer + # whose .handle is a CUDA device pointer pointing directly into + # the OpenGL PBO's GPU memory. with resource.map(stream=stream) as buf: # (b) Launch the plasma kernel -- it writes RGBA pixels into buf. launch( stream, config, kernel, - buf.handle, # pointer to PBO memory (on GPU) + buf.handle, np.int32(WIDTH), np.int32(HEIGHT), - np.float32(t), # animation time + np.float32(t), ) # (c) Unmap happens automatically when the `with` block exits. - # The PBO now belongs to OpenGL again. No stream.sync() is - # needed here -- cuGraphicsUnmapResources guarantees that all - # CUDA work on the stream completes before OpenGL can use the - # buffer. + # cuGraphicsUnmapResources guarantees CUDA work on the stream + # completes before OpenGL can use the buffer. - # (d) Tell OpenGL to copy the PBO contents into our texture (GPU-to-GPU). + # (d) Copy PBO -> texture (GPU-to-GPU). copy_pbo_to_texture(gl, pbo_id, tex_id, WIDTH, HEIGHT) # (e) Draw the texture to the screen. draw_fullscreen_quad(gl, shader_prog, quad_vao, tex_id) - # FPS counter (shown in window title) frame_count += 1 + frames_rendered += 1 now = time.monotonic() if now - fps_time >= 1.0: fps = frame_count / (now - fps_time) @@ -350,26 +387,32 @@ def on_draw(): frame_count = 0 fps_time = now + # Terminate after --frames iterations when not interactive. + if not args.interactive and frames_rendered >= args.frames: + # Let pyglet finish the current refresh/flip before tearing down + # the GL context and registered CUDA graphics resource. + pyglet.app.exit() + @window.event def on_close(): - resource.close() + close_resources() - pyglet.app.run(interval=0) + try: + pyglet.app.run(interval=0) + finally: + close_resources() + window.close() + print(f"\nRendered {frames_rendered} frames via CUDA/OpenGL interop. Done") + return 0 # ======================== GPU code (CUDA + GLSL) ============================ +# PLASMA_KERNEL_SOURCE is CUDA C++ that runs on the GPU. It computes a color +# for each pixel based on layered sine waves (the "plasma" effect) and writes +# RGBA bytes into the output buffer. # -# These source strings are kept at the bottom of the file so they don't -# distract from the Python logic above. The important thing to know: -# -# - PLASMA_KERNEL_SOURCE is CUDA C++ that runs on the GPU. It computes a -# color for each pixel based on layered sine waves (the "plasma" effect) -# and writes RGBA bytes into the output buffer. -# -# - VERTEX_SHADER_SOURCE / FRAGMENT_SHADER_SOURCE are GLSL (OpenGL's shader -# language). They simply draw a texture onto a rectangle that covers the -# entire window. Nothing interesting happens here. -# +# VERTEX_SHADER_SOURCE / FRAGMENT_SHADER_SOURCE are GLSL. They draw a texture +# onto a rectangle that covers the entire window. # ============================================================================ PLASMA_KERNEL_SOURCE = r""" @@ -401,14 +444,11 @@ def on_close(): float cy2 = v - 0.5f + 0.3f * cosf(t * 0.4f); val += sinf(sqrtf(cx2*cx2 + cy2*cy2) * 15.0f + t * 1.5f); - // val now ranges roughly from -5 to +5. Normalize to [0, 1]. + // val now ranges roughly from -5 to +5. Normalize to [0, 1]. val = (val + 5.0f) / 10.0f; // --- Convert to RGB --- // Three sine waves offset by 120 degrees (2*PI/3) give smooth color cycling. - // 2*PI = 6.2831853 - // 2*PI / 3 = 2.094 (120 degree offset for green) - // 4*PI / 3 = 4.189 (240 degree offset for blue) float r = sinf(val * 6.2831853f) * 0.5f + 0.5f; float g = sinf(val * 6.2831853f + 2.094f) * 0.5f + 0.5f; float b = sinf(val * 6.2831853f + 4.189f) * 0.5f + 0.5f; @@ -422,9 +462,6 @@ def on_close(): } """ -# GLSL shaders -- these just display a texture on a fullscreen rectangle. -# Nothing CUDA-specific here. - VERTEX_SHADER_SOURCE = """#version 330 core in vec2 position; in vec2 texcoord; @@ -446,4 +483,4 @@ def on_close(): if __name__ == "__main__": - main() + sys.exit(main()) diff --git a/samples/cuda_core/glInteropPlasma/requirements.txt b/samples/cuda_core/glInteropPlasma/requirements.txt new file mode 100644 index 00000000000..d280c6a4258 --- /dev/null +++ b/samples/cuda_core/glInteropPlasma/requirements.txt @@ -0,0 +1,7 @@ +# glInteropPlasma Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +numpy>=2.3.2 +pyglet>=2.0 diff --git a/samples/cuda_core/greenContext/README.md b/samples/cuda_core/greenContext/README.md new file mode 100644 index 00000000000..a1ab7101ca9 --- /dev/null +++ b/samples/cuda_core/greenContext/README.md @@ -0,0 +1,250 @@ +# greenContext (Python) + +## Description + +This sample demonstrates how to use **green contexts** with +`cuda.core` to statically partition a GPU's streaming multiprocessors +(SMs) so that independent kernels can run on dedicated subsets of the +device. + +This examples takes A long-running kernel that fills the GPU's SMs, +and a short but latency-sensitive "critical" kernel is launched shortly after. +Without green contexts, the critical kernel must wait for SMs to +free up. With green contexts, the GPU's SMs are partitioned so the +critical kernel has its own dedicated SMs and can start immediately. + +Three timed scenarios are compared: + +1. **Reference**: the critical kernel alone on the primary context, + with no competing work. Establishes the pure compute time of the + critical kernel when every SM on the device is available to it. +2. **Baseline**: both kernels run on the device's primary context, + on two non-blocking streams that contend for all SMs. +3. **Green contexts**: the SMs are split into two disjoint groups + (e.g. 112 + 16). Each kernel runs on a stream that belongs to its + own green context, so the critical kernel never waits for SMs + held by the long-running kernel. + +The headline metric is the total wall time of the critical kernel +from launch to completion. In the baseline it is dominated by time +spent waiting behind the long-running kernel. With green contexts it +reflects the kernel's own compute time on its (smaller) SM +partition. The reference row lets you separate those two effects: + +- `baseline - reference` is roughly the time the critical kernel + spent waiting for SMs in the baseline run (the cost that green + contexts eliminate). +- `green / reference` is the compute slowdown caused by running on + a smaller SM partition (the cost that green contexts introduce). + +## What You'll Learn + +- Querying a device's SM resources via `Device.resources.sm` and + reading `sm_count`, `min_partition_size`, `coscheduled_alignment` +- Splitting an `SMResource` into disjoint partitions with + `sm.split(SMResourceOptions(count=(A, B)))` +- Creating a green context from an SM partition via + `Device.create_context(ContextOptions(resources=[group]))` +- Creating a non-blocking stream on a green context with + `ctx.create_stream()` +- Using CUDA events with timing enabled to measure kernel wall time + across streams +- Cleaning up green contexts safely with `ctx.close()` + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - device management, SM partitioning, green contexts, compilation, and launching +- `numpy` - scalar kernel arguments + +## Key APIs + +### From `cuda.core` + +- `Device.resources.sm` - the device's SM-type device resource +- `SMResource.split(SMResourceOptions(count=(A, B)))` - partition SMs + into disjoint groups (plus an optional remainder) +- `Device.create_context(ContextOptions(resources=[sm_group]))` - + create a green context provisioned with a specific SM partition +- `Context.is_green` / `Context.resources` - introspect a green + context +- `Context.create_stream()` - create a non-blocking stream that is + tied to the green context's SM partition +- `Context.close()` - destroy a green context (must not be the + thread's current context when closed) +- `Device.create_event(EventOptions(timing_enabled=True))` / + `Stream.record(event)` / `event2 - event1` - measure elapsed time + in milliseconds between two events on the device +- `Program(..., ProgramOptions(std="c++17", arch=f"sm_{device.arch}"))` + / `program.compile("cubin", name_expressions=(...))` - compile the + delay and critical kernels in one TU +- `launch(stream, LaunchConfig(grid=..., block=...), kernel, ...)` - + submit a kernel on a specific stream + +## Requirements + +### Hardware + +- Any NVIDIA GPU supported by green contexts. +- Green-context SM partitioning is designed for larger server GPUs + (H100, H200, B200, ...) but works on any supported GPU as long as + the SM count is large enough to split meaningfully. + +### Software + +- NVIDIA driver >= 12.4 +- CUDA Toolkit 13.0 or newer. +- Python 3.10 or newer. +- `cuda-core` (`>=1.0.0`) + +## Installation + +Install the required packages from `requirements.txt`: + +```bash +cd /path/to/cuda-python/samples/cuda_core/greenContext +pip install -r requirements.txt +``` + +## How to Run + +### Basic usage + +The auto-default split reserves a small partition (~16 SMs) for the +critical kernel and gives the rest to the long-running kernel. The +exact sizes are chosen by probing the driver with a dry-run `sm.split`, +escalating the alignment granularity in powers of two until the driver +accepts the pair. This handles architectures where the driver enforces +stricter alignment (e.g. TPC/GPC-pair alignment on Blackwell) than the +reported `min_partition_size`. When that happens the sample prints a +`Note:` line with the granularity it landed on. + +```bash +cd samples/cuda_core/greenContext +python greenContext.py +``` + +### Match the CUDA programming guide example (112 + 16) + +```bash +python greenContext.py --split 112,16 +``` + +### Tune the workload + +```bash +# Longer long-running kernel, larger host launch gap +python greenContext.py --delay-us 3000 --launch-gap-ms 2.0 + +# Smaller/lighter critical kernel so its own compute time is negligible +python greenContext.py --critical-n 65536 --critical-iters 128 + +# Symmetric split: maximum SMs for the critical kernel, long kernel is +# roughly 2x slower but the critical kernel runs close to its reference time. +python greenContext.py --split 64,64 + +# Use a specific GPU +python greenContext.py --device 1 +``` + +### All options + +``` +--device CUDA device ID (default: 0) +--split SM split as 'LONG,CRITICAL', e.g. '112,16'. + Each side must be a multiple of the device's + min_partition_size, and the driver may enforce additional + architecture-specific alignment (e.g. TPC/partition-grid + alignment on Blackwell). Omit --split to auto-select a + driver-accepted split. +--delay-us Per-block busy-wait of the delay kernel, in us (default: 2000) +--delay-waves Number of waves of the delay kernel on the long + partition. Drives the default --delay-blocks (default: 16) +--delay-blocks Number of blocks for the delay kernel. Overrides + --delay-waves if set. + (default: --delay-waves * device SM count) +--critical-n Work size of the critical kernel (default: 4194304) +--critical-iters Inner math-loop iterations inside the critical kernel. + Higher values make the critical kernel's own compute + time more substantial relative to its wait time + (default: 1024) +--launch-gap-ms Host delay between launching the long and critical + kernels (default: 1.0 ms) +``` + +## Expected Output + +The output depends on the GPU and the number of SMs. +On an RTX 4090 (128 SMs) with the default auto split: + +``` +[Green Context Sample using CUDA Core API] +Device: NVIDIA GeForce RTX 4090 +Compute Capability: sm_89 +Total SMs: 128 +Min. SM partition size: 2 +SM co-scheduled alignment: 2 +SM split (long/critical): 112 / 16 +Workload parameters: + delay kernel: 2048 blocks, 2000 us/block (~32.0 ms on 128 SMs) + critical kernel: 4194304 elements, 1024 inner iterations + host launch gap: 1.0 ms + +Compiling kernels ... +Running reference scenario (critical kernel alone) ... +Running baseline scenario (primary context) ... +Running green context scenario ... + +scenario SMs (long/crit) long (ms) crit total (ms) crit offset (ms) +------------------------------------------------------------------------------------------------------- +crit alone (primary ctx) -/128 - 0.425 - +baseline (primary ctx) 128/128 32.034 30.024 1.090 +green ctx (112+16 SMs) 112/16 38.017 2.696 1.075 + +long (ms) : wall time of the delay kernel +crit total (ms) : launch-to-complete wall time of the critical kernel +crit offset (ms) : when the critical stream started, relative to the long stream start + +Critical-kernel latency speedup (baseline vs green ctx): 11.14x +Green-ctx compute cost vs unconstrained (crit alone): 6.34x +Baseline time spent waiting for SMs (not computing): ~29.60 ms + +Done +``` + +**What to look for:** + +- The critical kernel alone (reference row) takes only a fraction of + a millisecond; almost all of the baseline's `crit total` is time + spent queued waiting for SMs, not compute. +- The **critical kernel's wall time drops sharply** in the + green-context scenario (from ~30 ms to a few ms in the example + above) because it no longer waits for SMs held by the long-running + kernel. +- The **long-running kernel's duration may increase** proportional + to the reduction in SMs available to it (128 -> 112 SMs ~= 14% + slower; 128 -> 64 SMs ~= 2x slower). This is an expected tradeoff: + you reserve SMs for a critical kernel by taking them away from the + background workload. +- The **compute cost** ratio (`green / reference`) shows how close + the critical kernel is to ideal linear scaling with its SM count. + A 112/16 split gives the critical kernel only 12.5% of the SMs and + costs it roughly 6-7x its reference time; a 64/64 split gives it + half the SMs and costs roughly 1.5-2x. +- The `crit offset` column is approximately `--launch-gap-ms` in + both full scenarios; it confirms the host launched the critical + kernel the same amount of time after the long kernel in both runs. + +Exact timings vary with GPU model, driver version, clock state, and +other concurrent GPU work. + +## Files + +- `greenContext.py` - Python implementation using `cuda.core` green-context APIs +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [Green Contexts in the CUDA C++ Programming Guide](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#green-contexts) +- [`cuda.core` green-context test suite](https://github.com/NVIDIA/cuda-python/blob/main/cuda_core/tests/test_green_context.py) - the authoritative API reference diff --git a/samples/cuda_core/greenContext/greenContext.py b/samples/cuda_core/greenContext/greenContext.py new file mode 100644 index 00000000000..e8464c0d6fe --- /dev/null +++ b/samples/cuda_core/greenContext/greenContext.py @@ -0,0 +1,727 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "numpy>=2.3.2"] +# /// + +""" +Green Context Sample using CUDA Core API. + +Three scenarios are timed with CUDA events and compared: + + 1. Reference: the critical kernel alone on the primary context, + with no competing work. Establishes the pure compute time of + the critical kernel with access to every SM on the device. + 2. Baseline: both kernels run on the device's primary context, + on two non-blocking streams. They contend for all SMs. + 3. Green contexts: SMs are split into two disjoint groups; each + kernel runs on a stream belonging to its own green context. + +The headline metric is the total wall time of the critical kernel +from launch to completion on its stream. In the baseline it is +dominated by waiting behind the long-running kernel; with green +contexts it reflects only the kernel's own compute time on a +smaller SM partition. The reference row separates those effects. + +Note: Parallel execution on the GPU is never guaranteed. Green +contexts remove one common source of contention (shared SMs) but +they are not a hard scheduling promise. +""" + +import argparse +import sys +import time +from dataclasses import dataclass +from typing import List, Tuple + +import numpy as np + +from cuda.core import ( + ContextOptions, + Device, + EventOptions, + LaunchConfig, + Program, + ProgramOptions, + SMResourceOptions, + launch, +) + +# Two CUDA kernels: +# 1. The delay kernel spins until `cycles` SM clock ticks have elapsed. +# 2. The critical kernel does a small amount of useful work. + +KERNEL_SRC = r""" +extern "C" __global__ void delay_kernel(unsigned long long cycles) +{ + unsigned long long start = clock64(); + while ((unsigned long long)(clock64() - start) < cycles) { } +} + +extern "C" __global__ void critical_kernel(float *out, int n, int iters) +{ + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < n) { + // Two dependent accumulators so the compiler cannot collapse the + // loop into a closed-form expression. `iters` is a runtime argument + // for the same reason. + float v = (float)i * 1e-6f + 1.0f; + float u = (float)i * 1e-7f + 0.5f; + for (int k = 0; k < iters; ++k) { + v = v * 1.000001f + u; + u = u * 0.999999f + v * 1e-7f; + } + out[i] = v + u; + } +} +""" + + +@dataclass +class ScenarioResult: + name: str + critical_total_ms: float + critical_sm_count: int + long_ms: float | None = None + critical_offset_ms: float | None = None + long_sm_count: int | None = None + + +def print_sm_topology(device: Device) -> None: + sm = device.resources.sm + print("[Green Context Sample using CUDA Core API]") + print(f"Device: {device.name}") + print(f"Compute Capability: sm_{device.arch}") + print(f"Total SMs: {sm.sm_count}") + print(f"Min. SM partition size: {sm.min_partition_size}") + print(f"SM co-scheduled alignment: {sm.coscheduled_alignment}") + + +def _align_down(n: int, k: int) -> int: + if k <= 0: + return n + return (n // k) * k + + +def _driver_accepts_split(sm, long_count: int, critical_count: int) -> bool: + if long_count <= 0 or critical_count <= 0: + return False + try: + groups, _ = sm.split( + SMResourceOptions(count=(long_count, critical_count)), + dry_run=True, + ) + except Exception: + return False + actual = tuple(g.sm_count for g in groups) + return actual == (long_count, critical_count) + + +def _find_working_split(sm, prefer_critical: int | None = None) -> Tuple[int, int, int] | None: + """ + Probe the driver for a (long, critical) split it actually accepts. + + Escalates the alignment granularity from `min_partition_size` upward in + powers of two, requiring BOTH sides to be multiples of the current + granularity. This handles architectures where the driver's true + allocation granularity is larger than the reported + `min_partition_size` (e.g. TPC/GPC-pair alignment on Blackwell: on a + 188-SM part `min_partition_size` is 8 but the driver actually requires + each side to be a multiple of 16). + + Returns (long_count, critical_count, granularity) or None. The + granularity is the smallest power-of-two multiple of + `min_partition_size` at which both sides are aligned and the driver + accepts the pair. + """ + total = sm.sm_count + min_part = sm.min_partition_size + if min_part <= 0: + return None + + if prefer_critical is None or prefer_critical <= 0: + prefer_critical = max(min_part, min(16, total // 8)) + + # Escalate granularity in powers of two. The upper bound is half of + # `total` because below that we cannot fit two partitions of size + # >= granularity. + granularity = min_part + while granularity * 2 <= total: + base = max(granularity, _align_down(prefer_critical, granularity)) + + candidates: List[int] = [] + seen = set() + + # Default-arg binding captures the current loop iteration's values + # (granularity, seen, candidates). push is never stored — it's only + # called in this same iteration — but the explicit binding silences + # ruff B023 and documents the intent. + def push(c: int, granularity: int = granularity, seen: set = seen, candidates: List[int] = candidates) -> None: + if c >= granularity and c <= total - granularity and c not in seen: + seen.add(c) + candidates.append(c) + + # Walk outward from `base` (the preferred critical size, aligned + # down to the current granularity) in steps of granularity. + push(base) + max_steps = max(total // granularity, 1) + for step in range(1, max_steps + 1): + push(base + step * granularity) + push(base - step * granularity) + + for critical in candidates: + long_count = _align_down(total - critical, granularity) + if long_count < granularity: + continue + if _driver_accepts_split(sm, long_count, critical): + return long_count, critical, granularity + + granularity *= 2 + + return None + + +def _format_suggestion(sm, prefer_critical: int | None) -> str | None: + """ + Return a '--split A,B' string the driver is known to accept, or None + if we couldn't find one. + """ + found = _find_working_split(sm, prefer_critical=prefer_critical) + if found is None: + return None + long_count, critical_count, _granularity = found + return f"--split {long_count},{critical_count}" + + +def parse_split(arg: str | None, device: Device) -> Tuple[int, int]: + """ + Parse the --split "A,B" CLI argument and validate it against the device. + + Returns (long_count, critical_count). + """ + sm = device.resources.sm + total = sm.sm_count + min_part = sm.min_partition_size + + if arg is None: + # Auto: reserve a small aligned slice for the critical kernel and + # hand the rest (also aligned) to the long-running kernel. We + # can't trust `min_partition_size` alone: on some GPUs (e.g. + # 188-SM Blackwell) the driver requires stricter alignment than + # it reports. Escalate the granularity until the driver accepts + # a pair. + prefer_critical = max(min_part, min(16, total // 8)) + found = _find_working_split(sm, prefer_critical=prefer_critical) + if found is None: + print( + "Error: could not find an SM split that the driver accepts " + f"on this device (total SMs={total}, " + f"min_partition_size={min_part})." + ) + print( + " The driver enforces architecture-specific alignment " + "rules beyond min_partition_size; try passing an explicit " + "--split." + ) + sys.exit(1) + long_count, critical_count, granularity = found + if granularity > min_part: + print( + f"Note: driver required stricter alignment than " + f"min_partition_size={min_part}; selected split uses " + f"granularity={granularity} SMs." + ) + return long_count, critical_count + + # User-provided split. + try: + parts = [int(x.strip()) for x in arg.split(",")] + except ValueError: + print(f"Error: --split must look like 'A,B', got: {arg!r}") + sys.exit(1) + if len(parts) != 2: + print(f"Error: --split must contain exactly two comma-separated integers, got: {arg!r}") + sys.exit(1) + long_count, critical_count = parts + + errors = [] + if long_count <= 0 or critical_count <= 0: + errors.append("both partition sizes must be positive") + if long_count % min_part != 0 or critical_count % min_part != 0: + errors.append(f"each size must be a multiple of min_partition_size={min_part}") + if long_count + critical_count > total: + errors.append(f"sum {long_count + critical_count} exceeds device total of {total} SMs") + + if errors: + print("Error: invalid --split value:") + for e in errors: + print(f" - {e}") + suggestion = _format_suggestion(sm, prefer_critical=critical_count if critical_count > 0 else None) + if suggestion is not None: + print(f"Tip: a driver-accepted split on this device is {suggestion}") + sys.exit(1) + + # Confirm the driver itself accepts the split. The well-known alignment + # checks above are necessary but not sufficient on every architecture. + try: + groups, _ = sm.split( + SMResourceOptions(count=(long_count, critical_count)), + dry_run=True, + ) + except Exception as e: + print(f"Error: driver rejected the requested split: {e}") + print( + " The sample's own alignment checks are not exhaustive on " + "every architecture; the driver enforces additional hardware " + "constraints (for example TPC/partition-grid alignment)." + ) + suggestion = _format_suggestion(sm, prefer_critical=critical_count) + if suggestion is not None: + print(f"Tip: a driver-accepted split on this device is {suggestion}") + sys.exit(1) + + actual = tuple(g.sm_count for g in groups) + if actual != (long_count, critical_count): + print(f"Error: driver adjusted the requested split to {actual}.") + suggestion = _format_suggestion(sm, prefer_critical=critical_count) + if suggestion is not None: + print(f"Tip: a driver-accepted split on this device is {suggestion}") + else: + print(" Pick a different --split, or omit it for the auto default.") + sys.exit(1) + + return long_count, critical_count + + +def compile_kernels(device: Device): + options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") + program = Program(KERNEL_SRC, code_type="c++", options=options) + module = program.compile( + "cubin", + name_expressions=("delay_kernel", "critical_kernel"), + ) + return module.get_kernel("delay_kernel"), module.get_kernel("critical_kernel") + + +def microseconds_to_cycles(device: Device, microseconds: float) -> int: + """ + Convert microseconds to SM clock cycles, using the reported GPU clock rate. + clock_rate is in kHz, so 1 us = clock_rate_kHz / 1000 cycles. + """ + clock_khz = device.properties.clock_rate + return int(microseconds * clock_khz / 1000.0) + + +def _run_one( + device: Device, + name: str, + long_stream, + critical_stream, + long_sm_count: int, + critical_sm_count: int, + delay_kernel, + critical_kernel, + delay_cycles: int, + delay_blocks: int, + critical_out_ptr: int, + critical_n: int, + critical_iters: int, + launch_gap_s: float, +) -> ScenarioResult: + """ + Launch the delay kernel on `long_stream`, wait `launch_gap_s` on the host, + launch the critical kernel on `critical_stream`, and time both with events. + """ + + # Create events with timing enabled. + opts = EventOptions(timing_enabled=True) + e_long_start = device.create_event(opts) + e_long_end = device.create_event(opts) + e_crit_start = device.create_event(opts) + e_crit_end = device.create_event(opts) + + # 1024 threads/block ensures at most one delay block is resident per SM + # on current architectures, so grid size directly controls the number of + # waves: delay_blocks / sm_count_visible_to_stream. + delay_block = 1024 + delay_cfg = LaunchConfig(grid=delay_blocks, block=delay_block) + critical_block = 256 + critical_grid = (critical_n + critical_block - 1) // critical_block + critical_cfg = LaunchConfig(grid=critical_grid, block=critical_block) + + # Start of timed region + long_stream.record(e_long_start) + launch(long_stream, delay_cfg, delay_kernel, np.uint64(delay_cycles)) + long_stream.record(e_long_end) + + time.sleep(launch_gap_s) + + critical_stream.record(e_crit_start) + launch( + critical_stream, + critical_cfg, + critical_kernel, + critical_out_ptr, + np.int32(critical_n), + np.int32(critical_iters), + ) + critical_stream.record(e_crit_end) + + # Sync both streams so every event has completed and is measurable. + long_stream.sync() + critical_stream.sync() + # End of timed region + + return ScenarioResult( + name=name, + long_ms=e_long_end - e_long_start, + critical_total_ms=e_crit_end - e_crit_start, + critical_offset_ms=e_crit_start - e_long_start, + long_sm_count=long_sm_count, + critical_sm_count=critical_sm_count, + ) + + +def run_critical_alone( + device: Device, + critical_kernel, + critical_n: int, + critical_iters: int, +) -> ScenarioResult: + """ + Critical kernel alone on the primary context, no competing work. + Establishes the pure compute time with every SM on the device available. + """ + stream = device.create_stream() + out = device.allocate(critical_n * 4, stream=stream) + total_sm = device.resources.sm.sm_count + try: + opts = EventOptions(timing_enabled=True) + e_start = device.create_event(opts) + e_end = device.create_event(opts) + block = 256 + grid = (critical_n + block - 1) // block + cfg = LaunchConfig(grid=grid, block=block) + + stream.record(e_start) + launch( + stream, + cfg, + critical_kernel, + int(out.handle), + np.int32(critical_n), + np.int32(critical_iters), + ) + stream.record(e_end) + stream.sync() + + return ScenarioResult( + name="crit alone (primary ctx)", + critical_total_ms=e_end - e_start, + critical_sm_count=total_sm, + ) + finally: + out.close() + + +def run_baseline( + device: Device, + delay_kernel, + critical_kernel, + delay_cycles: int, + delay_blocks: int, + critical_n: int, + critical_iters: int, + launch_gap_s: float, +) -> ScenarioResult: + """Both kernels on the primary context, two non-blocking streams.""" + long_stream = device.create_stream() + critical_stream = device.create_stream() + out = device.allocate(critical_n * 4, stream=critical_stream) + total_sm = device.resources.sm.sm_count + try: + return _run_one( + device, + name="baseline (primary ctx)", + long_stream=long_stream, + critical_stream=critical_stream, + long_sm_count=total_sm, + critical_sm_count=total_sm, + delay_kernel=delay_kernel, + critical_kernel=critical_kernel, + delay_cycles=delay_cycles, + delay_blocks=delay_blocks, + critical_out_ptr=int(out.handle), + critical_n=critical_n, + critical_iters=critical_iters, + launch_gap_s=launch_gap_s, + ) + finally: + out.close() + + +def run_green_context( + device: Device, + split: Tuple[int, int], + delay_kernel, + critical_kernel, + delay_cycles: int, + delay_blocks: int, + critical_n: int, + critical_iters: int, + launch_gap_s: float, +) -> ScenarioResult: + """Each kernel on its own green context, with disjoint SM partitions.""" + long_count, critical_count = split + sm = device.resources.sm + groups, _remainder = sm.split(SMResourceOptions(count=(long_count, critical_count))) + assert len(groups) == 2 + long_group, critical_group = groups + + # Create the large ctx last so it's closed first: order matters only for + # ensuring we never try to close a ctx that's currently the thread's + # active ctx. + ctx_long = device.create_context(ContextOptions(resources=[long_group])) + ctx_crit = None + out = None + try: + ctx_crit = device.create_context(ContextOptions(resources=[critical_group])) + + long_stream = ctx_long.create_stream() + critical_stream = ctx_crit.create_stream() + out = device.allocate(critical_n * 4, stream=critical_stream) + + return _run_one( + device, + name=f"green ctx ({long_count}+{critical_count} SMs)", + long_stream=long_stream, + critical_stream=critical_stream, + long_sm_count=ctx_long.resources.sm.sm_count, + critical_sm_count=ctx_crit.resources.sm.sm_count, + delay_kernel=delay_kernel, + critical_kernel=critical_kernel, + delay_cycles=delay_cycles, + delay_blocks=delay_blocks, + critical_out_ptr=int(out.handle), + critical_n=critical_n, + critical_iters=critical_iters, + launch_gap_s=launch_gap_s, + ) + finally: + if out is not None: + out.close() + # Streams must be released before their owning ctx; letting them go out + # of scope here is sufficient since no references escape this frame. + if ctx_crit is not None: + ctx_crit.close() + ctx_long.close() + + +def _fmt_ms(value: float | None, width: int) -> str: + if value is None: + return f"{'-':>{width}}" + return f"{value:>{width}.3f}" + + +def print_results(results: List[ScenarioResult]) -> None: + print() + header = f"{'scenario':<32}{'SMs (long/crit)':>20}{'long (ms)':>14}{'crit total (ms)':>18}{'crit offset (ms)':>19}" + print(header) + print("-" * len(header)) + for r in results: + long_sm = "-" if r.long_sm_count is None else str(r.long_sm_count) + sms = f"{long_sm}/{r.critical_sm_count}" + print( + f"{r.name:<32}{sms:>20}" + f"{_fmt_ms(r.long_ms, 14)}{_fmt_ms(r.critical_total_ms, 18)}" + f"{_fmt_ms(r.critical_offset_ms, 19)}" + ) + print() + print("long (ms) : wall time of the delay kernel") + print("crit total (ms) : launch-to-complete wall time of the critical kernel") + print("crit offset (ms) : when the critical stream started, relative to the long stream start") + + +def report_speedup( + alone: ScenarioResult, + baseline: ScenarioResult, + green: ScenarioResult, +) -> None: + """ + Print three headline numbers that put the raw scenario timings in context: + """ + if baseline.critical_total_ms <= 0 or alone.critical_total_ms <= 0: + return + latency_speedup = baseline.critical_total_ms / max(green.critical_total_ms, 1e-9) + compute_cost = green.critical_total_ms / alone.critical_total_ms + wait_ms = max(0.0, baseline.critical_total_ms - alone.critical_total_ms) + print() + print(f"Critical-kernel latency speedup (baseline vs green ctx): {latency_speedup:.2f}x") + print(f"Green-ctx compute cost vs unconstrained (crit alone): {compute_cost:.2f}x") + print(f"Baseline time spent waiting for SMs (not computing): ~{wait_ms:.2f} ms") + + +def main(): + parser = argparse.ArgumentParser( + description="Green Context sample using CUDA Core API", + formatter_class=argparse.RawDescriptionHelpFormatter, + ) + parser.add_argument("--device", type=int, default=0, help="CUDA device ID (default: 0)") + parser.add_argument( + "--split", + type=str, + default=None, + help="SM split as 'LONG,CRITICAL', e.g. '112,16'. Default: auto.", + ) + parser.add_argument( + "--delay-us", + type=int, + default=2000, + help=("Per-block busy-wait duration of the delay kernel, in microseconds (default: 2000)"), + ) + parser.add_argument( + "--delay-waves", + type=int, + default=16, + help=( + "Number of waves of the delay kernel on the long partition. " + "Drives the default --delay-blocks (default: 16)." + ), + ) + parser.add_argument( + "--delay-blocks", + type=int, + default=None, + help=( + "Number of blocks launched for the delay kernel. " + "Overrides --delay-waves if set. " + "Default: --delay-waves * device SM count." + ), + ) + parser.add_argument( + "--critical-n", + type=int, + default=1 << 22, + help="Work size of the critical kernel (default: 4194304)", + ) + parser.add_argument( + "--critical-iters", + type=int, + default=1024, + help=( + "Iterations of the inner math loop inside the critical kernel. " + "Higher values make the critical kernel's compute time more " + "substantial (default: 1024)." + ), + ) + parser.add_argument( + "--launch-gap-ms", + type=float, + default=1.0, + help=("Host delay between launching the long and critical kernels, in ms (default: 1.0)"), + ) + args = parser.parse_args() + + try: + device = Device(args.device) + device.set_current() + except Exception as e: + print(f"Error: failed to initialize CUDA device {args.device}: {e}") + return 1 + + print_sm_topology(device) + + long_count, critical_count = parse_split(args.split, device) + print(f"SM split (long/critical): {long_count} / {critical_count}") + + sm_count = device.resources.sm.sm_count + delay_blocks = args.delay_blocks or args.delay_waves * sm_count + delay_cycles = microseconds_to_cycles(device, args.delay_us) + launch_gap_s = max(0.0, args.launch_gap_ms / 1000.0) + + # Rough estimate of the long kernel's duration on the full device. Mostly + # informational; the real value is reported after the run. + est_long_ms = (delay_blocks / sm_count) * (args.delay_us / 1000.0) + + print("Workload parameters:") + print(f" delay kernel: {delay_blocks} blocks, {args.delay_us} us/block (~{est_long_ms:.1f} ms on {sm_count} SMs)") + print(f" critical kernel: {args.critical_n} elements, {args.critical_iters} inner iterations") + print(f" host launch gap: {args.launch_gap_ms} ms") + + print() + print("Compiling kernels ...") + delay_k, crit_k = compile_kernels(device) + + try: + print("Running reference scenario (critical kernel alone) ...") + alone = run_critical_alone( + device, + crit_k, + args.critical_n, + args.critical_iters, + ) + + print("Running baseline scenario (primary context) ...") + baseline = run_baseline( + device, + delay_k, + crit_k, + delay_cycles, + delay_blocks, + args.critical_n, + args.critical_iters, + launch_gap_s, + ) + + print("Running green context scenario ...") + green = run_green_context( + device, + (long_count, critical_count), + delay_k, + crit_k, + delay_cycles, + delay_blocks, + args.critical_n, + args.critical_iters, + launch_gap_s, + ) + except Exception as e: + print(f"Error: scenario failed: {e}") + import traceback + + traceback.print_exc() + return 1 + + print_results([alone, baseline, green]) + report_speedup(alone, baseline, green) + + print("\nDone") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/greenContext/requirements.txt b/samples/cuda_core/greenContext/requirements.txt new file mode 100644 index 00000000000..e25bb158237 --- /dev/null +++ b/samples/cuda_core/greenContext/requirements.txt @@ -0,0 +1,3 @@ +cuda-python>=13.0.0 +cuda-core>=1.0.0 +numpy>=2.3.2 diff --git a/samples/cuda_core/ipcMemoryPool/README.md b/samples/cuda_core/ipcMemoryPool/README.md new file mode 100644 index 00000000000..65351e4e1e6 --- /dev/null +++ b/samples/cuda_core/ipcMemoryPool/README.md @@ -0,0 +1,140 @@ +# ipcMemoryPool (Python) + +## Description + +This sample demonstrates how to share GPU memory between Python +processes using CUDA Inter-Process Communication (IPC) and +`cuda.core`'s IPC-enabled memory pools. + +By default each process has its own CUDA virtual address space and +cannot see allocations made by another process. With an IPC-enabled +`DeviceMemoryResource` the parent allocates once, and the child +process maps that same physical GPU memory into its own address space +so both read and write the same bytes. The sample performs a +round-trip test: + +1. Parent creates an IPC-enabled `DeviceMemoryResource` and allocates + a `Buffer`. +2. Parent fills the buffer with a known pattern. +3. Parent sends the `Buffer` to a child process through an + `multiprocessing.Queue`. cuda.core's pickle reducers re-create the + memory resource and map the buffer in the child. +4. Child verifies the parent's pattern, writes a new pattern, and + signals completion. +5. Parent verifies the child's writes. + +## What You'll Learn + +- Enabling IPC on a `DeviceMemoryResource` with `ipc_enabled=True` +- Sending `Buffer` objects across process boundaries via `mp.Queue` +- How cuda.core's pickle reducers rebuild the MR and map the buffer + in the receiving process +- Why `multiprocessing` must use the `"spawn"` start method with CUDA +- Detecting IPC support at runtime (POSIX file-descriptor handle + type, memory-pool support, Linux-only) + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - IPC-enabled memory resources and buffer reducers +- `cupy` - zero-copy views over the shared device memory via DLPack +- `multiprocessing` - standard library process management + +## Key APIs + +### From `cuda.core` + +- `DeviceMemoryResource(device, options=DeviceMemoryResourceOptions(ipc_enabled=True))` - create an IPC-enabled memory pool +- `DeviceMemoryResourceOptions(max_size=..., ipc_enabled=True)` - configure the underlying pool +- `mr.allocate(nbytes)` - allocate a `Buffer` from the IPC pool +- `Buffer.is_mapped` - True when the buffer is usable in the current process +- `Device.properties.memory_pools_supported` - runtime feature check +- `Device.properties.handle_type_posix_file_descriptor_supported` - runtime feature check + +### From `cuda_samples_utils` + +- `print_gpu_info()` - print device name and compute capability + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 7.0 or higher +- Device that supports CUDA memory pools and POSIX file-descriptor IPC handles (the sample detects and reports this at startup) +- Minimum GPU memory: 512 MB + +### Software + +- Linux x86_64 (POSIX file-descriptor IPC handles are not available on Windows or macOS) +- CUDA Toolkit 13.0 or newer (matches `cuda-python` 13.x) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) + +## Installation + +Install the required packages from `requirements.txt`: + +```bash +cd /path/to/cuda-python/samples/cuda_core/ipcMemoryPool +pip install -r requirements.txt +``` + +The `requirements.txt` installs: + +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) + +## How to Run + +### Basic usage + +```bash +cd samples/cuda_core/ipcMemoryPool +python ipcMemoryPool.py +``` + +### With custom parameters + +```bash +# Larger shared buffer +python ipcMemoryPool.py --elements 65536 + +# Use a specific GPU +python ipcMemoryPool.py --device 1 +``` + +On platforms or devices that do not support CUDA IPC, the sample +prints a diagnostic and waives. + +## Expected Output + +``` +Device: +Compute Capability: + +Created IPC-enabled DeviceMemoryResource (is_ipc_enabled=True) +Parent wrote pattern (first 5 values): [100. 101. 102. 103. 104.] +Parent sent buffer to child pid=; waiting... +[child pid=] received buffer: is_mapped=True, size=4096 +Parent sees child's pattern (first 5 values): [-0. -1. -2. -3. -4.] +IPC round-trip: OK +``` + +**Note:** Device name, compute capability, and child PID will vary +based on your system. + +## Files + +- `ipcMemoryPool.py` - Python implementation using `cuda.core` IPC memory pools +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../Utilities/cuda_samples_utils.py` - Common utilities (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.core` memory API](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html#memory) +- Upstream `cuda.core` IPC tests: [`test_memory_ipc.py`](https://github.com/NVIDIA/cuda-python/blob/main/cuda_core/tests/memory_ipc/test_memory_ipc.py) +- [CUDA IPC programming guide](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#interprocess-communication) diff --git a/samples/cuda_core/ipcMemoryPool/ipcMemoryPool.py b/samples/cuda_core/ipcMemoryPool/ipcMemoryPool.py new file mode 100644 index 00000000000..76aba8522c7 --- /dev/null +++ b/samples/cuda_core/ipcMemoryPool/ipcMemoryPool.py @@ -0,0 +1,216 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0", "numpy>=1.24.0"] +# /// + +""" +IPC Memory Pool with cuda.core + +Share GPU memory between Python processes using CUDA Inter-Process +Communication (IPC) and cuda.core's IPC-enabled memory pools. By default +each worker process has its own CUDA virtual address space and cannot see +allocations made by another process. With an IPC-enabled +``DeviceMemoryResource`` the parent can allocate once, and the child +process can map that same physical GPU memory into its own address space +so both read and write the same bytes. + +The sample does a round-trip test: + + 1. Parent creates an IPC-enabled ``DeviceMemoryResource`` and allocates + a ``Buffer``. + 2. Parent fills the buffer with a known pattern. + 3. Parent sends the ``Buffer`` to a child process through an + ``mp.Queue`` - cuda.core's pickle reducers take care of re-creating + the memory resource and mapping the buffer in the child. + 4. Child verifies the parent's pattern, writes a new pattern, and + signals completion. + 5. Parent verifies the child's writes. + +IPC requires Linux (POSIX file-descriptor handles) and device support for +memory pools. On unsupported platforms the sample prints a diagnostic and +waives. +""" + +import multiprocessing as mp +import os +import platform +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + +try: + import cupy as cp + import numpy as np + from cuda_samples_utils import print_gpu_info + + from cuda.core import ( + Device, + DeviceMemoryResource, + DeviceMemoryResourceOptions, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +CHILD_TIMEOUT_SEC = 30 +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) + + +def check_ipc_support(device) -> bool: + """Return True if this device/platform supports CUDA IPC memory pools.""" + if platform.system() != "Linux": + print(f"IPC via POSIX file descriptors is only supported on Linux (detected {platform.system()}).") + return False + if not device.properties.memory_pools_supported: + print("Device does not support CUDA memory pools.") + return False + if not device.properties.handle_type_posix_file_descriptor_supported: + print("Device/platform does not support POSIX-fd IPC handles.") + return False + return True + + +def child_worker(q_in, q_out, n_elements, parent_seed, child_seed): + """Runs in a separate process. Verifies and modifies the shared buffer.""" + device = Device(0) + device.set_current() + pid = mp.current_process().pid + + # The Buffer (and its MR) are reconstructed and mapped in this process + # when the queued object is unpickled. Both ``is_mapped`` flags are + # True here. + buffer = q_in.get(timeout=CHILD_TIMEOUT_SEC) + print(f"[child pid={pid}] received buffer: is_mapped={buffer.is_mapped}, size={buffer.size}") + + # Build a zero-copy CuPy view of the shared device memory. + arr = cp.from_dlpack(buffer).view(dtype=cp.float32) + + # Verify the parent's pattern. + expected_parent = cp.arange(n_elements, dtype=cp.float32) + float(parent_seed) + if not cp.allclose(arr, expected_parent): + print("[child] ERROR: parent's pattern did not match expectation") + buffer.close() + q_out.put("fail") + return + + # Write a new pattern for the parent to verify. + arr[:] = cp.arange(n_elements, dtype=cp.float32) * float(child_seed) + device.sync() + + buffer.close() + q_out.put("done") + + +def main() -> int: + import argparse + + parser = argparse.ArgumentParser(description="Share a GPU buffer between two processes via CUDA IPC") + parser.add_argument( + "--elements", + type=int, + default=1024, + help="Number of float32 elements in the shared buffer (default: 1024)", + ) + parser.add_argument("--device", type=int, default=0, help="CUDA device id") + args = parser.parse_args() + + # CUDA is incompatible with the ``fork`` start method because forked + # children inherit a corrupt CUDA state. Always use ``spawn``. + mp.set_start_method("spawn", force=True) + + device = Device(args.device) + device.set_current() + print_gpu_info(device) + + if not check_ipc_support(device): + print("\nCUDA IPC is not available on this system; waiving this sample.") + return EXIT_WAIVED + + N = args.elements + nbytes = N * np.dtype(np.float32).itemsize + parent_seed = 100 + child_seed = -1.0 + + # Create an IPC-enabled memory pool. Buffers allocated from this MR + # are picklable and can be shared across processes. + mr = DeviceMemoryResource( + device, + options=DeviceMemoryResourceOptions( + max_size=max(nbytes * 4, 1 << 20), + ipc_enabled=True, + ), + ) + print(f"Created IPC-enabled DeviceMemoryResource (is_ipc_enabled={mr.is_ipc_enabled})") + + buffer = mr.allocate(nbytes, stream=device.default_stream) + try: + # Fill the buffer with a known pattern from the parent side. + arr = cp.from_dlpack(buffer).view(dtype=cp.float32) + arr[:] = cp.arange(N, dtype=cp.float32) + float(parent_seed) + device.sync() + print(f"Parent wrote pattern (first 5 values): {arr[:5].get()}") + + # Launch the child process and hand the buffer over. + q_to_child = mp.Queue() + q_from_child = mp.Queue() + child = mp.Process( + target=child_worker, + args=(q_to_child, q_from_child, N, parent_seed, child_seed), + ) + child.start() + q_to_child.put(buffer) + print(f"Parent sent buffer to child pid={child.pid}; waiting...") + + msg = q_from_child.get(timeout=CHILD_TIMEOUT_SEC) + child.join(timeout=CHILD_TIMEOUT_SEC) + + if msg != "done" or child.exitcode != 0: + print(f"Child failed: msg={msg!r}, exitcode={child.exitcode}") + return 1 + + # Verify the child's writes are visible from the parent. + device.sync() + got = arr[:5].get() + expected = (np.arange(N, dtype=np.float32) * child_seed)[:5] + print(f"Parent sees child's pattern (first 5 values): {got}") + if np.allclose(got, expected): + print("IPC round-trip: OK") + return 0 + print(f"IPC round-trip: FAILED (expected {expected})") + return 1 + finally: + buffer.close() + mr.close() + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/ipcMemoryPool/requirements.txt b/samples/cuda_core/ipcMemoryPool/requirements.txt new file mode 100644 index 00000000000..c33f5dd8d9f --- /dev/null +++ b/samples/cuda_core/ipcMemoryPool/requirements.txt @@ -0,0 +1,4 @@ +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 +numpy>=1.24.0 diff --git a/samples/cuda_core/jitLtoLinking/README.md b/samples/cuda_core/jitLtoLinking/README.md new file mode 100644 index 00000000000..234d364c834 --- /dev/null +++ b/samples/cuda_core/jitLtoLinking/README.md @@ -0,0 +1,142 @@ +# JIT Compilation and Link-Time Optimization (Python) + +## Description + +This sample demonstrates how to build a kernel out of two independently +compiled translation units and link them at runtime with +`cuda.core.Linker`. This is the pattern a library would use to accept +user-supplied device code as a plug-in without recompiling its own +kernels from scratch. + +The sample runs the same program in three phases: + +1. **PTX linking** - each module is compiled with + `ProgramOptions(relocatable_device_code=True)` down to PTX, and the + `Linker` emits a final cubin. The two modules stay independently + compiled (no cross-module inlining). +2. **Link-Time Optimization (LTO)** - each module is compiled with + `ProgramOptions(link_time_optimization=True)` down to LTO IR, and the + `Linker` is configured with `LinkerOptions(link_time_optimization=True)` + so the optimizer runs again across both modules, typically matching + the code generation of a single-source build. +3. **Plug-in swap** - the *same* library main kernel is re-linked + against a *different* `user_transform` implementation, producing a + new cubin without re-compiling the library main kernel. This + demonstrates the runtime-plug-in pattern that motivates the whole + library / user split. + +The "main" kernel `apply_transform` calls a `user_transform` device +function that lives in a separate source string, and the results of every +mode are verified against a NumPy reference. + +## What You'll Learn + +- Compiling multiple `Program` objects into PTX or LTO IR +- Linking independent object codes into a single cubin with `Linker` +- Choosing between `relocatable_device_code` and `link_time_optimization` +- How a library's main kernel can call into user-supplied device code +- When to prefer LTO over plain PTX linking +- Swapping the plug-in module without rebuilding the library main kernel's + intermediate representation + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - Pythonic access to CUDA runtime, programs, and the JIT linker +- `cupy` - input and output buffers on the GPU +- `numpy` - reference computation on the host + +## Key APIs + +### From `cuda.core` + +- `ProgramOptions(relocatable_device_code=True)` + `Program.compile("ptx")` - produce relocatable PTX +- `ProgramOptions(link_time_optimization=True)` + `Program.compile("ltoir")` - produce LTO IR +- `Linker(*object_codes, options=LinkerOptions(...))` - create a JIT linker over multiple object codes +- `LinkerOptions(link_time_optimization=True)` - opt into LTO during linking +- `Linker.link("cubin")` - produce a loadable module +- `ObjectCode.get_kernel(name)` - fetch a kernel from the linked module + +### From `cuda_samples_utils` + +- `print_gpu_info()` - print device name and compute capability + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 7.0 or higher + +### Software + +- CUDA Toolkit 13.0 or newer (matches `cuda-python` 13.x) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) + +## Installation + +Install the required packages from `requirements.txt`: + +```bash +cd /path/to/cuda-python/samples/cuda_core/jitLtoLinking +pip install -r requirements.txt +``` + +The `requirements.txt` installs: + +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) + +## How to Run + +### Basic usage + +```bash +cd samples/cuda_core/jitLtoLinking +python jitLtoLinking.py +``` + +### With custom parameters + +```bash +# Larger element count +python jitLtoLinking.py --elements 1048576 + +# Use a specific GPU +python jitLtoLinking.py --device 1 +``` + +## Expected Output + +``` +Device: +Compute Capability: + +[1] PTX linking (no LTO) + [ptx] result verified against NumPy reference + +[2] LTO linking (link-time optimization) + [lto] result verified against NumPy reference + +[3] Plug-in swap: re-link the same main kernel with a different user_transform + [swap] result verified against NumPy reference + +PTX, LTO, and plug-in-swap linked kernels all produced matching results. Done +``` + +**Note:** Device name and compute capability will vary based on your GPU. + +## Files + +- `jitLtoLinking.py` - Python implementation using `cuda.core.Linker` +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../Utilities/cuda_samples_utils.py` - Common utilities (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.core` compilation API](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html#cuda-compilation-toolchain) +- [NVIDIA nvJitLink documentation](https://docs.nvidia.com/cuda/nvjitlink/index.html) diff --git a/samples/cuda_core/jitLtoLinking/jitLtoLinking.py b/samples/cuda_core/jitLtoLinking/jitLtoLinking.py new file mode 100644 index 00000000000..8530b64b09d --- /dev/null +++ b/samples/cuda_core/jitLtoLinking/jitLtoLinking.py @@ -0,0 +1,255 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0"] +# /// + +""" +JIT Compilation and Link-Time Optimization with cuda.core + +Real-world GPU code is rarely a single source string. Libraries ship a +"main" kernel that is compiled once, then link in user-supplied device +functions at runtime to customize behavior without recompiling the whole +program. + +cuda.core exposes this pattern through ``Program`` (NVRTC compilation) +and ``Linker`` (JIT linking of multiple object codes). This sample walks +through three demonstrations: + + * **PTX linking**: compile each translation unit with + ``relocatable_device_code=True`` to PTX and link to a CUBIN. + The two modules remain independently compiled: no cross-module + inlining. + + * **LTO (Link-Time Optimization)**: compile each translation unit + with ``link_time_optimization=True`` to LTO IR, then link with + ``LinkerOptions(link_time_optimization=True)``. The linker reruns + the optimizer across both modules and can inline the device function + into the main kernel, typically matching a single-source build. + + * **Plug-in swap**: keep the same library main kernel and link it + against a different user-supplied ``user_transform`` implementation. + The main kernel is compiled once; only the plug-in module is + recompiled and re-linked to produce a new cubin. This is the pattern + a library would follow to accept user device code as a runtime + plug-in. + +The library kernel math runs in every mode and is verified against a +NumPy reference. +""" + +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + +try: + import cupy as cp + import numpy as np + from cuda_samples_utils import print_gpu_info + + from cuda.core import ( + Device, + LaunchConfig, + Linker, + LinkerOptions, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +# -------------------------------------------------------------------------- +# Module A: the "library" main kernel. It forwards each element through a +# user-supplied device function (resolved at link time) and writes the result. +# -------------------------------------------------------------------------- +MAIN_SRC = r""" +// Forward declare the user-supplied hook. Its definition lives in a separate +// translation unit and is resolved by the Linker at runtime. +extern "C" __device__ float user_transform(float x); + +extern "C" __global__ +void apply_transform(const float* __restrict__ in, + float* __restrict__ out, + size_t N) +{ + size_t tid = blockIdx.x * blockDim.x + threadIdx.x; + size_t stride = (size_t)gridDim.x * blockDim.x; + for (size_t i = tid; i < N; i += stride) { + out[i] = user_transform(in[i]); + } +} +""" + +# -------------------------------------------------------------------------- +# Module B: the user-supplied "plug-in" device function. Multiple +# implementations of ``user_transform`` produce different results without +# rebuilding MAIN_SRC. This mirrors how a real library would accept a +# user-provided kernel as a plug-in. +# -------------------------------------------------------------------------- +USER_SRC_QUADRATIC = r""" +extern "C" __device__ +float user_transform(float x) +{ + // A deliberately non-trivial expression so LTO has something to inline / + // optimize across the module boundary. + float y = x * x + 3.0f * x - 1.0f; + return y > 0.0f ? y : 0.0f; +} +""" + +USER_SRC_TANH = r""" +extern "C" __device__ +float user_transform(float x) +{ + // A different plug-in: soft-nonlinearity that the library main kernel + // consumes exactly the same way as USER_SRC_QUADRATIC. + return tanhf(x) + 0.5f * x; +} +""" + + +def host_reference_quadratic(x: np.ndarray) -> np.ndarray: + y = x * x + 3.0 * x - 1.0 + return np.where(y > 0.0, y, 0.0).astype(np.float32) + + +def host_reference_tanh(x: np.ndarray) -> np.ndarray: + return (np.tanh(x) + 0.5 * x).astype(np.float32) + + +def link_ptx(device, user_src=USER_SRC_QUADRATIC): + """Compile both modules to PTX and link them into a cubin (no LTO).""" + prog_opts = ProgramOptions(std="c++17", arch=f"sm_{device.arch}", relocatable_device_code=True) + main_obj = Program(MAIN_SRC, "c++", options=prog_opts).compile("ptx") + user_obj = Program(user_src, "c++", options=prog_opts).compile("ptx") + + linker = Linker(main_obj, user_obj, options=LinkerOptions(arch=f"sm_{device.arch}")) + return linker.link("cubin") + + +def link_lto(device, user_src=USER_SRC_QUADRATIC): + """Compile both modules to LTO IR and link with LTO enabled.""" + prog_opts = ProgramOptions(std="c++17", arch=f"sm_{device.arch}", link_time_optimization=True) + main_obj = Program(MAIN_SRC, "c++", options=prog_opts).compile("ltoir") + user_obj = Program(user_src, "c++", options=prog_opts).compile("ltoir") + + linker_opts = LinkerOptions(arch=f"sm_{device.arch}", link_time_optimization=True) + linker = Linker(main_obj, user_obj, options=linker_opts) + return linker.link("cubin") + + +def run_one_mode(mode, module, stream, d_in, d_out, size, expected): + kernel = module.get_kernel("apply_transform") + config = LaunchConfig(grid=(size + 255) // 256, block=256) + launch( + stream, + config, + kernel, + d_in.data.ptr, + d_out.data.ptr, + np.uint64(size), + ) + stream.sync() + actual = cp.asnumpy(d_out) + if not np.allclose(actual, expected, rtol=1e-5, atol=1e-5): + max_err = np.max(np.abs(actual - expected)) + print(f" [{mode}] verification FAILED (max_err={max_err})") + return False + print(f" [{mode}] result verified against NumPy reference") + return True + + +def main() -> int: + import argparse + + parser = argparse.ArgumentParser(description="JIT + LTO linking of two device modules with cuda.core") + parser.add_argument( + "--elements", + type=int, + default=1 << 16, + help="Number of float32 elements (default: 65536)", + ) + parser.add_argument("--device", type=int, default=0, help="CUDA device id") + args = parser.parse_args() + + device = Device(args.device) + device.set_current() + print_gpu_info(device) + + stream = device.create_stream() + cp.cuda.Stream.from_external(stream).use() + + try: + N = args.elements + rng = np.random.default_rng(seed=0) + host_in = rng.standard_normal(N).astype(np.float32) + expected_quadratic = host_reference_quadratic(host_in) + expected_tanh = host_reference_tanh(host_in) + + d_in = cp.asarray(host_in) + d_out = cp.empty(N, dtype=cp.float32) + device.sync() + + print("\n[1] PTX linking (no LTO)") + ptx_module = link_ptx(device, USER_SRC_QUADRATIC) + ok_ptx = run_one_mode("ptx", ptx_module, stream, d_in, d_out, N, expected_quadratic) + + d_out.fill(0) + device.sync() + + print("\n[2] LTO linking (link-time optimization)") + lto_module = link_lto(device, USER_SRC_QUADRATIC) + ok_lto = run_one_mode("lto", lto_module, stream, d_in, d_out, N, expected_quadratic) + + d_out.fill(0) + device.sync() + + # Phase 3: swap in a different user_transform without rebuilding + # MAIN_SRC's cubin path. This mirrors how a library would accept a + # user-supplied device function as a runtime plug-in. + print("\n[3] Plug-in swap: re-link the same main kernel with a different user_transform") + lto_swap_module = link_lto(device, USER_SRC_TANH) + ok_swap = run_one_mode("swap", lto_swap_module, stream, d_in, d_out, N, expected_tanh) + + print() + if ok_ptx and ok_lto and ok_swap: + print("PTX, LTO, and plug-in-swap linked kernels all produced matching results. Done") + return 0 + return 1 + finally: + stream.close() + cp.cuda.Stream.null.use() + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/jitLtoLinking/requirements.txt b/samples/cuda_core/jitLtoLinking/requirements.txt new file mode 100644 index 00000000000..3b328a39b0c --- /dev/null +++ b/samples/cuda_core/jitLtoLinking/requirements.txt @@ -0,0 +1,5 @@ +# JIT + LTO Linking Sample Requirements + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 diff --git a/samples/cuda_core/kernelNsysProfile/README.md b/samples/cuda_core/kernelNsysProfile/README.md new file mode 100644 index 00000000000..2979fe8d7a0 --- /dev/null +++ b/samples/cuda_core/kernelNsysProfile/README.md @@ -0,0 +1,72 @@ +# Sample: Kernel Nsys Profiling - CUDA C++ Kernel Profiling with cuda.core (Python) + +## Description + +This sample demonstrates how to profile custom CUDA C++ kernels compiled and launched with `cuda.core` using NVIDIA Nsight Systems. It implements three GPU operations (vector addition, SAXPY, vector transform) as custom kernels and shows how to instrument code with NVTX markers for profiling analysis. + +## What you will learn + +- How to write and compile CUDA C++ kernels with `cuda.core.Program` +- How to launch kernels with `LaunchConfig` and manage CUDA streams +- How to use NVTX markers (`nvtx.annotate()`) to annotate code sections +- How to profile kernels with Nsight Systems and analyze performance +- Modern CUDA Python workflow with `cuda.core.Device` and proper resource cleanup + +## Requirements + +- NVIDIA GPU with Compute Capability 7.0+ +- CUDA Toolkit 13.0+ +- Python 3.10+ +- Packages: `numpy`, `cuda-python`, `cuda-core`, `cupy-cuda13x`, `nvtx` (see `requirements.txt`; NumPy >=2.3.2) + +**Install:** +```bash +pip install -r requirements.txt +``` + +## How to run + +```bash +python kernelNsysProfile.py +python kernelNsysProfile.py --array-size 10000000 # Custom size +``` + +## Nsys Profiling + +**Basic profile:** +```bash +nsys profile -o gpu_profile python kernelNsysProfile.py +nsys-ui gpu_profile.nsys-rep # View results +``` + +The program uses color-coded NVTX markers: +- **Purple**: Phase 2 (cuda.core Custom Kernels - main focus) +- **Yellow/Blue/Green**: Other phases +- **Cyan**: Nested operations + +Focus on Phase 2 to analyze kernel execution times, launch overhead, and GPU utilization. + +**For detailed Nsys usage and analysis techniques, see the [NVIDIA Nsight Systems documentation](https://docs.nvidia.com/nsight-systems/).** + +## Troubleshooting + +**Missing packages:** +```bash +pip install -r requirements.txt +``` + +**Out of memory:** +```bash +python kernelNsysProfile.py -n 10000000 # Reduce array size +``` + +**Nsys not found:** +```bash +export PATH=/usr/local/cuda/bin:$PATH +``` + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [NVIDIA Nsight Systems Documentation](https://docs.nvidia.com/nsight-systems/) +- [CuPy Documentation](https://docs.cupy.dev/) diff --git a/samples/cuda_core/kernelNsysProfile/kernelNsysProfile.py b/samples/cuda_core/kernelNsysProfile/kernelNsysProfile.py new file mode 100644 index 00000000000..9852ce2291f --- /dev/null +++ b/samples/cuda_core/kernelNsysProfile/kernelNsysProfile.py @@ -0,0 +1,335 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# distribution and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["numpy>=2.3.2", "cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0", "nvtx"] +# /// + +""" +Kernel Nsys Profiling Sample - CUDA C++ Kernel Profiling with cuda.core + +This sample demonstrates how to profile custom CUDA C++ kernels compiled and +launched with cuda.core using NVIDIA Nsight Systems. + +The sample implements three common GPU operations as custom CUDA C++ kernels: +- Vector addition: c = a + b +- SAXPY: y = alpha * x + y +- Vector transform: sqrt(x*x + 1) + sin(x) + +Use Nsight Systems to analyze: +- Custom kernel execution times +- Kernel launch patterns and overhead +- GPU utilization and memory access patterns +- NVTX markers for structured profiling + +Workflow: +- Phase 1: Create GPU arrays +- Phase 2: Compile and execute cuda.core custom kernels (profiling focus) +- Phase 3: Verify correctness with CuPy reference implementation +- Phase 4: Validate results +""" + +import argparse +import sys +from pathlib import Path + +try: + import cupy as cp + import numpy as np + import nvtx + + from cuda.core import Device, LaunchConfig, launch +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + +# Add parent directory to path to import utilities +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) +from cuda_samples_utils import verify_array_result_or_raise + +# CUDA C++ kernel definitions +# For larger projects, separating kernels into a separate file is also valid. +KERNELS_CODE = """ +template +__global__ void vector_add(const T* a, const T* b, T* c, size_t N) { + const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; + for (size_t i = tid; i < N; i += gridDim.x * blockDim.x) { + c[i] = a[i] + b[i]; + } +} + +template +__global__ void saxpy(const T alpha, const T* x, T* y, size_t N) { + const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; + for (size_t i = tid; i < N; i += gridDim.x * blockDim.x) { + y[i] = alpha * x[i] + y[i]; + } +} + +template +__global__ void vector_transform(const T* a, T* b, size_t N) { + const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; + for (size_t i = tid; i < N; i += gridDim.x * blockDim.x) { + T val = a[i]; + b[i] = sqrt(val * val + T(1.0)) + sin(val); + } +} +""" + + +def get_cuda_core_kernels(device): + """ + Compile cuda.core kernels and return them. + + Args: + device: cuda.core.Device object + + Returns: + dict: Dictionary of compiled kernels + """ + from cuda.core import Program, ProgramOptions + + # Compile all kernels at once + program_options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") + prog = Program(KERNELS_CODE, code_type="c++", options=program_options) + mod = prog.compile( + "cubin", + name_expressions=( + "vector_add", + "saxpy", + "vector_transform", + ), + ) + + # Extract individual kernels + return { + "vector_add": mod.get_kernel("vector_add"), + "saxpy": mod.get_kernel("saxpy"), + "vector_transform": mod.get_kernel("vector_transform"), + } + + +def run(size): + """Main execution function""" + + # ================================================================= + # Device Initialization using cuda.core + # ================================================================= + with nvtx.annotate("Device Initialization", color="green"): + try: + # Create device object (defaults to device 0) + dev = Device() + dev.set_current() + + print() + print(f"Device: {dev.name}") + print(f"Compute Capability: sm_{dev.arch}") + print() + + # Synchronize device + dev.sync() + + except Exception as e: + print("ERROR: CUDA initialization failed!") + print(f"Error: {e}") + sys.exit(1) + + print("Profiling cuda.core Custom Kernels") + print(f"Array size: {size:,}\n") + + # Constant for SAXPY operation + alpha = 2.5 + + # Initialize random seed + rng = cp.random.default_rng(42) + + # ================================================================= + # Phase 1: Create GPU Arrays with CuPy + # ================================================================= + with nvtx.annotate("Create GPU Arrays", color="yellow"): + a_gpu = rng.standard_normal(size, dtype=cp.float32) + b_gpu = rng.standard_normal(size, dtype=cp.float32) + dev.sync() + + print("Phase 1: Created arrays on GPU with CuPy") + print(f" Array shape: {a_gpu.shape}") + print(f" Array dtype: {a_gpu.dtype}") + print(f" Array a - Mean: {float(cp.mean(a_gpu)):.4f}, Std: {float(cp.std(a_gpu)):.4f}") + print(f" Array b - Mean: {float(cp.mean(b_gpu)):.4f}, Std: {float(cp.std(b_gpu)):.4f}\n") + + # ================================================================= + # Phase 2: cuda.core Custom Kernels on GPU + # ================================================================= + with nvtx.annotate("cuda.core Custom Kernels", color="purple"): + print("Phase 2: cuda.core custom CUDA C++ kernels on GPU") + + # Create a stream for cuda.core operations + stream = dev.create_stream() + try: + with nvtx.annotate("Compile Kernels", color="cyan"): + kernels_dict = get_cuda_core_kernels(dev) + stream.sync() + print("Compiled custom CUDA C++ kernels") + + # Prepare launch configuration + # Grid-stride loops in kernels handle any grid size robustly + block = 256 + grid = (size + block - 1) // block + config = LaunchConfig(grid=grid, block=block) + + # Execute cuda.core vector_add kernel + with nvtx.annotate("Vector Add (cuda.core)", color="cyan"): + c_cuda = cp.empty_like(a_gpu) + launch( + stream, + config, + kernels_dict["vector_add"], + a_gpu.data.ptr, + b_gpu.data.ptr, + c_cuda.data.ptr, + cp.uint64(size), + ) + stream.sync() + + # Execute cuda.core SAXPY kernel + with nvtx.annotate("SAXPY (cuda.core)", color="cyan"): + y_cuda = b_gpu.copy() + launch( + stream, + config, + kernels_dict["saxpy"], + np.float32(alpha), + a_gpu.data.ptr, + y_cuda.data.ptr, + cp.uint64(size), + ) + stream.sync() + + # Execute cuda.core vector_transform kernel + with nvtx.annotate("Vector Transform (cuda.core)", color="cyan"): + transform_cuda = cp.empty_like(a_gpu) + launch( + stream, + config, + kernels_dict["vector_transform"], + a_gpu.data.ptr, + transform_cuda.data.ptr, + cp.uint64(size), + ) + stream.sync() + + print("Vector Addition (custom kernel)") + print("SAXPY (custom kernel)") + print("Vector Transform (custom kernel)\n") + finally: + stream.close() + + # ================================================================= + # Phase 3: Generate Reference Results with CuPy (for verification) + # ================================================================= + with nvtx.annotate("Generate Reference Results", color="blue"): + print("Phase 3: Generate reference results for verification") + + with nvtx.annotate("Vector Add (Reference)", color="cyan"): + c_cupy = a_gpu + b_gpu + dev.sync() + + with nvtx.annotate("SAXPY (Reference)", color="cyan"): + y_cupy = alpha * a_gpu + b_gpu + dev.sync() + + with nvtx.annotate("Vector Transform (Reference)", color="cyan"): + transform_cupy = cp.sqrt(a_gpu * a_gpu + 1.0) + cp.sin(a_gpu) + dev.sync() + + print("Reference results generated\n") + + # ================================================================= + # Phase 4: Verify Kernel Correctness + # ================================================================= + with nvtx.annotate("Verification", color="green"): + print("Phase 4: Verify kernel correctness") + + # Verify custom kernels against reference results + # Use relaxed tolerances for single-precision float comparisons + # Small differences can occur due to instruction ordering and + # compiler optimizations + print(" Validating cuda.core kernels:") + + print(" Vector Add: ", end="") + verify_array_result_or_raise( + c_cuda, + c_cupy, + rtol=1e-5, + atol=1e-6, + error_message="Vector Add verification failed", + ) + + print(" SAXPY: ", end="") + verify_array_result_or_raise( + y_cuda, + y_cupy, + rtol=1e-5, + atol=1e-6, + error_message="SAXPY verification failed", + ) + + print(" Transform: ", end="") + verify_array_result_or_raise( + transform_cuda, + transform_cupy, + rtol=1e-5, + atol=1e-6, + error_message="Transform verification failed", + ) + print() + + # Final synchronization + dev.sync() + print("The sample is complete PASSED!") + + +def main(): + parser = argparse.ArgumentParser( + description="Kernel Nsys Profiling - Profile custom CUDA C++ kernels with cuda.core" + ) + parser.add_argument( + "-n", + "--array-size", + type=int, + default=50000, + metavar="N", + help="Array size (default: 50,000)", + ) + + args = parser.parse_args() + run(size=args.array_size) + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/kernelNsysProfile/requirements.txt b/samples/cuda_core/kernelNsysProfile/requirements.txt new file mode 100644 index 00000000000..e86d7bbf31f --- /dev/null +++ b/samples/cuda_core/kernelNsysProfile/requirements.txt @@ -0,0 +1,7 @@ +# Nsight System Kernels Profiling Sample - Requirements + +numpy>=2.3.2 +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 +nvtx diff --git a/samples/cuda_core/launchConfigTuning/README.md b/samples/cuda_core/launchConfigTuning/README.md new file mode 100644 index 00000000000..974fd1acf06 --- /dev/null +++ b/samples/cuda_core/launchConfigTuning/README.md @@ -0,0 +1,192 @@ +# Sample: Launch Configuration Tuning (Python) + +## Description + +Benchmark different CUDA kernel launch configurations to find the optimal block-size setting using `cuda.core` APIs. This sample demonstrates **performance tuning** by measuring execution time across various thread block sizes. + +## What You'll Learn + +- Compiling CUDA kernels at runtime with `cuda.core.Program` +- Launching kernels with different `LaunchConfig` settings +- Benchmarking kernel performance with precise timing +- Understanding how thread block size affects performance +- Tuning for memory-bound vs compute-bound kernels + +## Key Concepts + +### Launch Configuration with cuda.core + +```python +# Configure kernel launch with specific thread block size +config = LaunchConfig( + grid=(grid_size,), + block=(block_size,), + shmem_size=shared_memory_bytes +) + +# Launch kernel +launch(stream, config, kernel, *args) +stream.sync() +``` + +### Thread Block Sizing + +Thread block size significantly impacts performance due to: + +| Factor | Impact | +|--------|--------| +| **Occupancy** | More active warps can hide memory latency | +| **Registers** | More threads/block = fewer registers/thread | +| **Shared Memory** | Divided among blocks on each SM | +| **Warp Efficiency** | Block size should be multiple of 32 | + +### Benchmarking Approach + +```python +# Use CUDA events for accurate GPU timing (not CPU wall-clock) +start_event = device.create_event(options=EventOptions(timing_enabled=True)) +end_event = device.create_event(options=EventOptions(timing_enabled=True)) + +stream.record(start_event) +for _ in range(n_iterations): + launch(stream, config, kernel, *args) +stream.record(end_event) +end_event.sync() +elapsed_ms = (end_event - start_event) / n_iterations +``` + +## Key APIs + +### From `cuda.core`: + +- `Device` - CUDA device management +- `Program` - Runtime kernel compilation (NVRTC) +- `ProgramOptions` - Compilation options (architecture target) +- `LaunchConfig` - Kernel launch configuration (grid/block dimensions) +- `launch` - Execute compiled kernel (accepts Buffer objects directly) +- `EventOptions` - GPU timing with CUDA events +- `ManagedMemoryResource` - Device-preferred unified memory +- `ManagedMemoryResourceOptions` - Set preferred_location for representative benchmarks + +### From `numpy`: + +- `np.from_dlpack()` - Zero-copy view of GPU buffers via DLPack + +### Benchmarked Kernels: + +- **vector_add** - Simple memory-bound kernel (C = A + B) - low sensitivity to block size +- **reduce_sum** - Shared memory reduction - high sensitivity to block size + +## Requirements + +### Hardware: + +- NVIDIA GPU with CUDA support +- Minimum GPU memory: 512 MB + +### Software: + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- See `requirements.txt` for Python packages + +### Platform Support: + +The benchmark loops in this sample read kernel results back from +`ManagedMemoryResource` allocations between launches, which requires the +device property `concurrent_managed_access=True`. This is only supported on +Linux with HMM (Pascal and newer). On Windows (WDDM/MCDM/TCC) the property +is `False`, so the sample exits early with a waive message. + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python launchConfigTuning.py +``` + +## Expected Output + +``` +============================================================ +Launch Configuration Tuning (cuda.core) +Finding the Best Block Size for Your Kernel +============================================================ + +Device: +Compute Capability: X.X + +Compiling CUDA kernels with cuda.core.Program... + Target architecture: sm_XX + [OK] vector_add kernel compiled + [OK] reduce_sum kernel compiled + +============================================================ +VECTOR ADDITION - Launch Configuration Tuning +============================================================ + +Problem size: 10,000,000 elements +Kernel: vector_add (C = A + B) + +Testing thread configurations: [32, 64, 128, 256, 512, 1024] +------------------------------------------------------------ +Block Size: 32 | Blocks: 312500 | Time: X.XXXX ± X.XXXX ms +Block Size: 64 | Blocks: 156250 | Time: X.XXXX ± X.XXXX ms +... +------------------------------------------------------------ + +[OK] OPTIMAL: block_size=XXX (X.XXXX ms) +[FAIL] WORST: block_size=XXX (X.XXXX ms) + Speedup: X.XXx + +[OK] Results verified correct! + +... + +============================================================ +SAMPLE COMPLETE +============================================================ + +Key Takeaway: The optimal thread configuration depends on your +specific kernel characteristics. Always benchmark to find the best! +``` + +## Tuning Guidelines + +### Start Here +- **128-256 threads/block** is a good starting point for most kernels +- Always use **multiples of 32** (warp size) + +### Memory-Bound Kernels +- Less sensitive to thread configuration +- Focus on memory access patterns +- Higher thread counts help hide latency + +### Compute-Bound Kernels +- More sensitive to thread configuration +- Watch for register pressure at high thread counts +- Profile with Nsight Compute + +### Reduction Kernels +- Block size affects shared memory usage +- Power-of-2 sizes simplify reduction logic +- Often 256-512 threads works well + +## Files + +- `launchConfigTuning.py` - Python implementation using cuda.core +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [cuda.core Documentation](https://nvidia.github.io/cuda-python/cuda-core/latest/) +- [cuda.core.LaunchConfig](https://nvidia.github.io/cuda-python/cuda-core/latest/generated/cuda.core.LaunchConfig.html) +- [CUDA Occupancy Calculator](https://docs.nvidia.com/cuda/cuda-occupancy-calculator/) +- [CUDA Best Practices Guide - Execution Configuration](https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html#execution-configuration-optimizations) +- [Nsight Compute Profiler](https://developer.nvidia.com/nsight-compute) diff --git a/samples/cuda_core/launchConfigTuning/launchConfigTuning.py b/samples/cuda_core/launchConfigTuning/launchConfigTuning.py new file mode 100644 index 00000000000..e946fe26323 --- /dev/null +++ b/samples/cuda_core/launchConfigTuning/launchConfigTuning.py @@ -0,0 +1,400 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "numpy>=2.3.2"] +# /// + +""" +Launch Configuration Tuning + +Demonstrates how to find the optimal threads-per-block configuration for CUDA +kernels using cuda.core APIs. Benchmarks different thread layouts to answer: +"What is the best threads-per-block for my kernel?" +""" + +import os +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + +try: + import numpy as np + from cuda_samples_utils import verify_array_result_or_raise + + from cuda.core import ( + Device, + EventOptions, + LaunchConfig, + ManagedMemoryResource, + ManagedMemoryResourceOptions, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) + + +# ============================================================================= +# CUDA Kernel Source Code +# ============================================================================= + +# Vector Addition Kernel - Simple memory-bound kernel (grid-stride loop) +VECTOR_ADD_KERNEL = r""" +extern "C" __global__ +void vector_add(const float* __restrict__ a, + const float* __restrict__ b, + float* __restrict__ c, + int n) { + int idx = blockIdx.x * blockDim.x + threadIdx.x; + int stride = blockDim.x * gridDim.x; + for (int i = idx; i < n; i += stride) { + c[i] = a[i] + b[i]; + } +} +""" + +# Reduction Kernel - Sensitive to block size due to shared memory (grid-stride load) +REDUCTION_KERNEL = r""" +extern "C" __global__ +void reduce_sum(const float* __restrict__ input, + float* __restrict__ partial_sums, + int n) { + extern __shared__ float sdata[]; + + unsigned int tid = threadIdx.x; + unsigned int stride = blockDim.x * gridDim.x; + + // Load data into shared memory (grid-stride loop) + float sum = 0.0f; + for (unsigned int i = blockIdx.x * blockDim.x + tid; i < n; i += stride) { + sum += input[i]; + } + sdata[tid] = sum; + __syncthreads(); + + // Perform reduction in shared memory + for (unsigned int s = blockDim.x / 2; s > 0; s >>= 1) { + if (tid < s) { + sdata[tid] += sdata[tid + s]; + } + __syncthreads(); + } + + // Write result for this block + if (tid == 0) { + partial_sums[blockIdx.x] = sdata[0]; + } +} +""" + + +# ============================================================================= +# Utility Functions +# ============================================================================= + + +def compile_kernel(device, kernel_code, kernel_name): + """Compile a CUDA kernel using cuda.core.Program.""" + arch = f"sm_{device.arch}" + options = ProgramOptions(arch=arch) + program = Program(kernel_code, code_type="c++", options=options) + compiled = program.compile(target_type="cubin") + return compiled.get_kernel(kernel_name) + + +def benchmark_kernel_1d( + device, + stream, + kernel, + args, + n_elements, + block_size, + n_iterations=100, + shared_mem_bytes=0, +): + """ + Benchmark a 1D kernel with given threads-per-block configuration. + Uses CUDA events for accurate GPU timing. + + Returns timing statistics as a dictionary. + """ + grid_size = (n_elements + block_size - 1) // block_size + + config = LaunchConfig(grid=(grid_size,), block=(block_size,), shmem_size=shared_mem_bytes) + + # Warm-up run + launch(stream, config, kernel, *args) + stream.sync() + + # Timed runs with CUDA events + event_opts = EventOptions(timing_enabled=True) + start_event = device.create_event(options=event_opts) + end_event = device.create_event(options=event_opts) + + stream.record(start_event) + for _ in range(n_iterations): + launch(stream, config, kernel, *args) + stream.record(end_event) + end_event.sync() + + elapsed_ms = (end_event - start_event) / n_iterations + + return { + "block_size": block_size, + "grid_size": grid_size, + "mean_time_ms": elapsed_ms, + "std_time_ms": 0.0, # Single measurement with events + } + + +def print_gpu_info(device): + """Print GPU information relevant to launch configuration.""" + print(f"\nDevice: {device.name}") + cc = device.compute_capability + print(f"Compute Capability: {cc.major}.{cc.minor}") + + +def allocate_managed_array(mr, stream, n_elements, dtype=np.float32): + """Allocate device-preferred unified memory and return buffer with numpy view.""" + n_bytes = n_elements * np.dtype(dtype).itemsize + buffer = mr.allocate(n_bytes, stream=stream) + stream.sync() + + # Zero-copy numpy view via DLPack (holds reference to buffer) + np_view = np.from_dlpack(buffer).view(dtype).reshape(n_elements) + return buffer, np_view + + +# ============================================================================= +# Benchmark Demonstrations +# ============================================================================= + + +def demo_vector_add_tuning(device, stream, mr, kernel): + """Demonstrate launch configuration tuning for vector addition.""" + print("\n" + "=" * 60) + print("VECTOR ADDITION - Launch Configuration Tuning") + print("=" * 60) + + N = 10_000_000 # 10 million elements + print(f"\nProblem size: {N:,} elements") + print("Kernel: vector_add (C = A + B)") + + # Allocate device-preferred unified memory via cuda.core + d_a, np_a = allocate_managed_array(mr, stream, N) + d_b, np_b = allocate_managed_array(mr, stream, N) + d_c, np_c = allocate_managed_array(mr, stream, N) + try: + # Initialize data via numpy views + np_a[:] = np.random.rand(N).astype(np.float32) + np_b[:] = np.random.rand(N).astype(np.float32) + stream.sync() + + # Thread configurations to test (multiples of warp size = 32) + thread_configs = [32, 64, 128, 256, 512, 1024] + + print(f"\nTesting thread configurations: {thread_configs}") + print("-" * 60) + + results = [] + for tpb in thread_configs: + result = benchmark_kernel_1d( + device, + stream, + kernel, + (d_a, d_b, d_c, np.int32(N)), + N, + tpb, + n_iterations=100, + ) + results.append(result) + print(f"Block Size: {tpb:4d} | Blocks: {result['grid_size']:6d} | Time: {result['mean_time_ms']:.4f} ms") + + # Find optimal and worst configurations + best = min(results, key=lambda x: x["mean_time_ms"]) + worst = max(results, key=lambda x: x["mean_time_ms"]) + + print("-" * 60) + print(f"\n[OK] OPTIMAL: block_size={best['block_size']} ({best['mean_time_ms']:.4f} ms)") + print(f"[FAIL] WORST: block_size={worst['block_size']} ({worst['mean_time_ms']:.4f} ms)") + print(f" Speedup: {worst['mean_time_ms'] / best['mean_time_ms']:.2f}x") + + # Verify result + stream.sync() + expected = np_a + np_b + verify_array_result_or_raise( + np_c, + expected, + verbose=False, + error_message="Vector addition verification failed", + ) + print("\n[OK] Results verified correct!") + + return results + finally: + d_a.close() + d_b.close() + d_c.close() + + +def demo_reduction_tuning(device, stream, mr, kernel): + """Demonstrate launch config tuning for reduction (shared memory).""" + print("\n" + "=" * 60) + print("REDUCTION - Launch Configuration Tuning") + print("=" * 60) + + N = 16_777_216 # 16M elements (power of 2) + + print(f"\nProblem size: {N:,} elements") + print("Kernel: reduce_sum (parallel reduction)") + print("Note: Reduction uses shared memory - more sensitive to block size!") + + # Allocate device-preferred unified memory via cuda.core + d_input, np_input = allocate_managed_array(mr, stream, N) + try: + np_input[:] = np.random.rand(N).astype(np.float32) + stream.sync() + + thread_configs = [32, 64, 128, 256, 512, 1024] + + print(f"\nTesting thread configurations: {thread_configs}") + print("-" * 60) + + results = [] + for tpb in thread_configs: + # Allocate partial sums array + n_blocks = (N + tpb - 1) // tpb + d_partial, _ = allocate_managed_array(mr, stream, n_blocks) + try: + # Shared memory size = block_size * sizeof(float) + shared_mem_bytes = tpb * 4 + + result = benchmark_kernel_1d( + device, + stream, + kernel, + (d_input, d_partial, np.int32(N)), + N, + tpb, + n_iterations=50, + shared_mem_bytes=shared_mem_bytes, + ) + results.append(result) + print( + f"Block Size: {tpb:4d} | Blocks: {result['grid_size']:6d} | Time: {result['mean_time_ms']:.4f} ms" + ) + finally: + d_partial.close() + + best = min(results, key=lambda x: x["mean_time_ms"]) + worst = max(results, key=lambda x: x["mean_time_ms"]) + + print("-" * 60) + print(f"\n[OK] OPTIMAL: block_size={best['block_size']}") + print(f" Speedup over worst: {worst['mean_time_ms'] / best['mean_time_ms']:.2f}x") + + return results + finally: + d_input.close() + + +# ============================================================================= +# Main +# ============================================================================= + + +def main(): + """ + Complete demonstration of CUDA launch configuration tuning. + + This sample shows: + 1. Device initialization with cuda.core.Device + 2. Kernel compilation with cuda.core.Program + 3. Benchmarking different thread block configurations + 4. Finding optimal threads-per-block for various kernel types + """ + if sys.platform == "win32": + print( + "This sample relies on ManagedMemoryResource with concurrent host " + "access, which is not supported on Windows " + "(concurrent_managed_access=False). Waiving this sample." + ) + sys.exit(EXIT_WAIVED) + + print("=" * 60) + print("Launch Configuration Tuning (cuda.core)") + print("Finding the Best Block Size for Your Kernel") + print("=" * 60) + + # Initialize CUDA device + device = Device(0) + device.set_current() + + # Print GPU information + print_gpu_info(device) + + # Create stream and device-preferred memory resource + stream = device.create_stream() + mr_options = ManagedMemoryResourceOptions(preferred_location=device.device_id) + mr = ManagedMemoryResource(mr_options) + + try: + # Compile kernels + print("\nCompiling CUDA kernels with cuda.core.Program...") + arch = f"sm_{device.arch}" + print(f" Target architecture: {arch}") + + vec_add_kernel = compile_kernel(device, VECTOR_ADD_KERNEL, "vector_add") + print(" [OK] vector_add kernel compiled") + + reduction_kernel = compile_kernel(device, REDUCTION_KERNEL, "reduce_sum") + print(" [OK] reduce_sum kernel compiled") + + # Run demonstrations + demo_vector_add_tuning(device, stream, mr, vec_add_kernel) + demo_reduction_tuning(device, stream, mr, reduction_kernel) + + print("\n" + "=" * 60) + print("SAMPLE COMPLETE") + print("=" * 60) + print("\nKey Takeaway: The optimal thread configuration depends on your") + print("specific kernel characteristics. Always benchmark to find the best!") + print() + finally: + stream.close() + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/launchConfigTuning/requirements.txt b/samples/cuda_core/launchConfigTuning/requirements.txt new file mode 100644 index 00000000000..c9685b2f67a --- /dev/null +++ b/samples/cuda_core/launchConfigTuning/requirements.txt @@ -0,0 +1,6 @@ +# Launch Configuration Tuning Sample Requirements +# Requires Python 3.10+, CUDA Toolkit 13.0+ + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +numpy>=2.3.2 diff --git a/samples/cuda_core/matrixMulSharedMem/README.md b/samples/cuda_core/matrixMulSharedMem/README.md new file mode 100644 index 00000000000..fb2e8f1e97d --- /dev/null +++ b/samples/cuda_core/matrixMulSharedMem/README.md @@ -0,0 +1,163 @@ +# Matrix Multiplication with Shared Memory (GEMM) + +Demonstrates efficient matrix multiplication using nvmath-python APIs and custom CUDA kernels with tiling, shared memory, and loop unrolling. + +## Overview + +- Uses nvmath.linalg.advanced.Matmul for high-performance GEMM via cuBLASLt +- Compares with custom CUDA kernel using tiling and shared memory +- Shows how tiling reduces global memory bandwidth requirements +- Demonstrates shared memory for data reuse within thread blocks +- Uses loop unrolling to improve instruction-level parallelism + +## What You'll Learn + +- How to use nvmath stateful API for optimized matrix multiplication +- How to tile matrix operations for better cache locality +- Using shared memory to reduce redundant global memory accesses +- Loop unrolling techniques for GPU kernels +- Benchmarking and comparing kernel performance + +## Key Libraries + +- `nvmath-python` - NVIDIA math library with cuBLASLt access +- `cuda.core` - Modern CUDA Python API for custom kernel compilation +- `cupy` - GPU array library for Python + +## Key APIs + +### From `nvmath.linalg.advanced`: + +- `Matmul()` - Stateful matrix multiplication with planning and execution phases +- `MatmulComputeType` - Compute type options for mixed-precision + +### From `cuda.core`: + +- `Device()` - CUDA device management and properties +- `Program()` - Runtime kernel compilation (NVRTC) +- `LaunchConfig()` - Kernel launch configuration (grid/block dimensions) +- `launch()` - Kernel execution on a stream +- `Stream.record_event()` / `Event.elapsed_time()` - GPU timing + +## Requirements + +### Hardware: + +- NVIDIA GPU with Compute Capability 7.0 or higher +- Minimum GPU memory: 256 MB (for 1024×1024 matrices) + +### Software: + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- See requirements.txt for package dependencies + +## Installation + +```bash +cd samples/cuda_core/matrixMulSharedMem +python -m venv venv +source venv/bin/activate +pip install -r requirements.txt +``` + +## How to Run + +```bash +python matrixMulSharedMem.py +``` + +## Expected Output + +``` +====================================================================== +Matrix Multiplication with Shared Memory (GEMM) +Using nvmath and cuda.core APIs +====================================================================== + +Device: NVIDIA GeForce RTX 4090 +Compute Capability: sm_89 + +Custom kernel compiled [OK] + +Matrix dimensions: A(1024x1024) × B(1024x1024) = C(1024x1024) +Custom kernel tile size: 16x16 + +---------------------------------------------------------------------- +NVMATH MATMUL (cuBLASLt) +---------------------------------------------------------------------- +Using nvmath.linalg.advanced.Matmul stateful API +Average time: X.XXX ms +Performance: XXXX.XX GFLOPS + +---------------------------------------------------------------------- +CUSTOM KERNEL (Tiled + Shared Memory + Loop Unrolling) +---------------------------------------------------------------------- +Grid: (64, 64), Block: (16, 16) +Average time: X.XXX ms +Performance: XXX.XX GFLOPS + +---------------------------------------------------------------------- +VERIFICATION +---------------------------------------------------------------------- +nvmath : PASSED (max error: X.XXe-XX) +Custom kernel : PASSED (max error: X.XXe-XX) + +====================================================================== +PERFORMANCE SUMMARY +====================================================================== +Implementation Time (ms) GFLOPS +---------------------------------------------------------------------- +nvmath (cuBLASLt) X.XXX XXXX.XX +Custom (shared mem + unroll) X.XXX XXX.XX +``` + +## Tiling Concept + +``` + Matrix A (M×K) Matrix B (K×N) Matrix C (M×N) + ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ + │ T00 │ T01 │...│ │ T00 │ T01 │...│ │ │ │ │ + ├─────┼─────┼───┤ ├─────┼─────┼───┤ ├─────┼─────┼───┤ + │ T10 │ T11 │...│ × │ T10 │ T11 │...│ = │ │ Cij │ │ + ├─────┼─────┼───┤ ├─────┼─────┼───┤ ├─────┼─────┼───┤ + │ ... │ ... │...│ │ ... │ ... │...│ │ │ │ │ + └───────────────┘ └───────────────┘ └───────────────┘ + + Cij = Σ (A_tile_row × B_tile_col) for all tiles along K +``` + +## nvmath Stateful API + +```python +import nvmath.linalg.advanced as nvmath_advanced + +# Create matrices (CuPy arrays) +A = cp.random.rand(m, k).astype(cp.float32) +B = cp.random.rand(k, n).astype(cp.float32) + +# Use stateful API for fine-grained control +with nvmath_advanced.Matmul(A, B) as mm: + mm.plan() # Find optimal algorithm + C = mm.execute() # Execute computation +``` + +## Memory Access Optimization (Custom Kernel) + +| Implementation | Global Reads per C element | Reduction | +|---------------|---------------------------|-----------| +| Naive | 2 × K | (baseline)| +| Tiled (16×16) | 2 × K / 16 | 16× | + +## Files + +- `matrixMulSharedMem.py` - Python implementation comparing nvmath vs custom kernel +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [nvmath-python Documentation](https://docs.nvidia.com/cuda/nvmath-python/) +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [cuda.core API Guide](https://nvidia.github.io/cuda-python/cuda-core/latest/) +- [CuPy Documentation](https://docs.cupy.dev/) diff --git a/samples/cuda_core/matrixMulSharedMem/matrixMulSharedMem.py b/samples/cuda_core/matrixMulSharedMem/matrixMulSharedMem.py new file mode 100644 index 00000000000..a6f3cc3ad4d --- /dev/null +++ b/samples/cuda_core/matrixMulSharedMem/matrixMulSharedMem.py @@ -0,0 +1,248 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0", "numpy>=1.24", "nvmath-python[cu13]>=1.0.0"] +# /// + +""" +Matrix Multiplication with Shared Memory (GEMM) + +Demonstrates efficient matrix multiplication using: +- nvmath.linalg.advanced.Matmul for high-performance GEMM via cuBLASLt +- Custom CUDA kernel with tiling, shared memory, and loop unrolling + +Uses cuda.core APIs with CuPy arrays via Stream.from_external. +""" + +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + +try: + import cupy as cp + import numpy as np + import nvmath.linalg.advanced as nvmath_advanced + + from cuda.core import ( + Device, + EventOptions, + LaunchConfig, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Install with: pip install -r requirements.txt") + sys.exit(1) + + +TILE_SIZE: int = 16 + +MATMUL_KERNEL: str = r""" +#define TILE_SIZE 16 + +extern "C" __global__ +void matmul_shared(const float* A, const float* B, float* C, + int M, int N, int K) { + __shared__ float As[TILE_SIZE][TILE_SIZE]; + __shared__ float Bs[TILE_SIZE][TILE_SIZE]; + + int bx = blockIdx.x, by = blockIdx.y; + int tx = threadIdx.x, ty = threadIdx.y; + int row = by * TILE_SIZE + ty; + int col = bx * TILE_SIZE + tx; + + float sum = 0.0f; + int numTiles = (K + TILE_SIZE - 1) / TILE_SIZE; + + for (int t = 0; t < numTiles; t++) { + int aCol = t * TILE_SIZE + tx; + int bRow = t * TILE_SIZE + ty; + + As[ty][tx] = (row < M && aCol < K) ? A[row * K + aCol] : 0.0f; + Bs[ty][tx] = (bRow < K && col < N) ? B[bRow * N + col] : 0.0f; + __syncthreads(); + + #pragma unroll + for (int k = 0; k < TILE_SIZE; k += 4) { + sum += As[ty][k] * Bs[k][tx]; + sum += As[ty][k + 1] * Bs[k + 1][tx]; + sum += As[ty][k + 2] * Bs[k + 2][tx]; + sum += As[ty][k + 3] * Bs[k + 3][tx]; + } + __syncthreads(); + } + + if (row < M && col < N) { + C[row * N + col] = sum; + } +} +""" + + +def run_matmul_benchmark( + m: int = 1024, + n: int = 1024, + k: int = 1024, + device_id: int = 0, + num_iterations: int = 10, +) -> bool: + """Run matrix multiplication benchmark comparing nvmath vs custom kernel.""" + print("=" * 60) + print("Matrix Multiplication with Shared Memory (GEMM)") + print("=" * 60) + + # Initialize device and stream + device = Device(device_id) + device.set_current() + stream = device.create_stream() + print(f"\nDevice: {device.name}") + print(f"Compute Capability: sm_{device.arch}") + + # Make CuPy use our cuda.core stream + cp.cuda.Stream.from_external(stream).use() + + # Compile custom kernel + arch = f"sm_{device.arch}" + program = Program(MATMUL_KERNEL, code_type="c++", options=ProgramOptions(arch=arch)) + kernel = program.compile(target_type="cubin").get_kernel("matmul_shared") + print("Custom kernel compiled [OK]") + + # Setup + print(f"\nMatrix: A({m}x{k}) × B({k}x{n}) = C({m}x{n})") + total_ops = 2 * m * n * k + event_opts = EventOptions(timing_enabled=True) + + # Allocate matrices + rng = cp.random.default_rng(42) + d_A = rng.random((m, k), dtype=cp.float32) + d_B = rng.random((k, n), dtype=cp.float32) + d_C_custom = cp.zeros((m, n), dtype=cp.float32) + + success = True + try: + # ------------------------------------------------------------------------- + # nvmath GEMM (cuBLASLt) + # ------------------------------------------------------------------------- + print("\n" + "-" * 60) + print("NVMATH (cuBLASLt) - plan once, execute many") + print("-" * 60) + + with nvmath_advanced.Matmul(d_A, d_B, stream=int(stream.handle)) as mm: + mm.plan() + d_C_nvmath = mm.execute() + stream.sync() + + start = stream.record(options=event_opts) + for _ in range(num_iterations): + d_C_nvmath = mm.execute() + end = stream.record(options=event_opts) + end.sync() + + nvmath_ms = (end - start) / num_iterations + nvmath_gflops = (total_ops / 1e9) / (nvmath_ms / 1e3) + print(f"Time: {nvmath_ms:.3f} ms | {nvmath_gflops:.2f} GFLOPS") + + # ------------------------------------------------------------------------- + # Custom kernel (tiled + shared memory + unroll) + # ------------------------------------------------------------------------- + print("\n" + "-" * 60) + print("CUSTOM KERNEL (tiled + shared memory + unroll)") + print("-" * 60) + + block = (TILE_SIZE, TILE_SIZE) + grid = ((n + TILE_SIZE - 1) // TILE_SIZE, (m + TILE_SIZE - 1) // TILE_SIZE) + config = LaunchConfig(grid=grid, block=block) + + launch( + stream, + config, + kernel, + d_A.data.ptr, + d_B.data.ptr, + d_C_custom.data.ptr, + np.int32(m), + np.int32(n), + np.int32(k), + ) + stream.sync() + + start = stream.record(options=event_opts) + for _ in range(num_iterations): + launch( + stream, + config, + kernel, + d_A.data.ptr, + d_B.data.ptr, + d_C_custom.data.ptr, + np.int32(m), + np.int32(n), + np.int32(k), + ) + end = stream.record(options=event_opts) + end.sync() + + custom_ms = (end - start) / num_iterations + custom_gflops = (total_ops / 1e9) / (custom_ms / 1e3) + print(f"Time: {custom_ms:.3f} ms | {custom_gflops:.2f} GFLOPS") + + # ------------------------------------------------------------------------- + # Verification + # ------------------------------------------------------------------------- + print("\n" + "-" * 60) + print("VERIFICATION") + print("-" * 60) + + d_C_ref = d_A @ d_B + + # Host-side verification: cp.allclose triggers NVRTC failure on sm_120 + # (ldexp_cexp undefined). Use asnumpy + np.allclose instead. + ref_host = cp.asnumpy(d_C_ref) + for name, d_C in [("nvmath", d_C_nvmath), ("custom", d_C_custom)]: + print(f"{name}: ", end="") + passed = np.allclose(cp.asnumpy(d_C), ref_host, rtol=1e-4, atol=1e-4) + print("Test PASSED" if passed else "Test FAILED") + success = success and passed + + return success + finally: + cp.cuda.Stream.null.use() + stream.close() + + +def main() -> bool: + """Entry point. Returns True if benchmark passed.""" + return run_matmul_benchmark() + + +if __name__ == "__main__": + success = main() + if not success: + sys.exit(1) diff --git a/samples/cuda_core/matrixMulSharedMem/requirements.txt b/samples/cuda_core/matrixMulSharedMem/requirements.txt new file mode 100644 index 00000000000..d6576794e9d --- /dev/null +++ b/samples/cuda_core/matrixMulSharedMem/requirements.txt @@ -0,0 +1,8 @@ +# Matrix Multiplication with Shared Memory (GEMM) Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 +numpy>=1.24 +nvmath-python[cu13]>=1.0.0 diff --git a/samples/cuda_core/memoryResources/README.md b/samples/cuda_core/memoryResources/README.md new file mode 100644 index 00000000000..6089f8d4fa1 --- /dev/null +++ b/samples/cuda_core/memoryResources/README.md @@ -0,0 +1,168 @@ +# Sample: Memory Resources and Buffers (Python) + +## Description + +This sample demonstrates the `cuda.core` memory management model: a +`MemoryResource` owns a pool of memory and hands out `Buffer` objects that +can be passed to kernels, copied between resources with +`Buffer.copy_to()`, and viewed as NumPy or CuPy arrays through DLPack. The +script exercises four resource flavors side-by-side: + +1. **`DeviceMemoryResource`** - device-local GPU memory. Every `Device` + exposes a default pool via `Device.memory_resource`, and applications + can create additional pools explicitly. +2. **`PinnedMemoryResource`** - page-locked host memory, used here as the + input and output staging buffers around a GPU kernel (the canonical + pinned-H2D / compute / pinned-D2H pattern). +3. **`ManagedMemoryResource`** - unified memory that the driver migrates + between host and device on demand; host views see the GPU's writes + without an explicit copy. +4. **Pool options + `GraphMemoryResource`** - passes structured + `ManagedMemoryResourceOptions` / `PinnedMemoryResourceOptions` to + control policy (preferred location, NUMA node, IPC), then allocates + *scratch* memory inside a CUDA graph so the alloc/free themselves + become graph nodes with lifetime tied to graph execution. + +The same `scale_and_bias` kernel runs across every phase and every +result is verified on the host. + +## What You'll Learn + +- Creating and using `DeviceMemoryResource`, `PinnedMemoryResource`, and + `ManagedMemoryResource` +- Allocating `Buffer` objects from a resource with a bound stream +- Copying between buffers across resources with `Buffer.copy_to()` +- Taking zero-copy NumPy or CuPy views of a `Buffer` via DLPack +- Releasing buffers with stream-ordered `close(stream)` semantics +- Configuring resources with `ManagedMemoryResourceOptions` and + `PinnedMemoryResourceOptions` +- Allocating graph-scoped scratch with `GraphMemoryResource` + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - Pythonic access to CUDA runtime, programs, and memory resources +- `cupy` - GPU array views of device buffers +- `numpy` - host array views of pinned and managed buffers + +## Key APIs + +### From `cuda.core` + +- `Device.memory_resource` - default memory pool attached to a device +- `DeviceMemoryResource`, `PinnedMemoryResource`, `ManagedMemoryResource` - allocate buffers of the corresponding memory kind +- `GraphMemoryResource(device)` - resource whose allocations live inside a captured graph +- `PinnedMemoryResourceOptions(numa_id=..., ipc_enabled=...)` - configure pinned host allocations +- `ManagedMemoryResourceOptions(preferred_location=..., preferred_location_type=...)` - hint managed memory placement +- `MemoryResource.allocate(nbytes, stream=...)` - returns a `Buffer` +- `Buffer.copy_to(dst_buffer, stream=...)` / `Buffer.copy_from(src_buffer, stream=...)` - async, stream-ordered copies +- `Buffer.close(stream)` - stream-ordered deallocation +- `Buffer` supports `__dlpack__` for zero-copy views + +### From CuPy and NumPy + +- `cp.from_dlpack()` / `np.from_dlpack()` - zero-copy array view of a `Buffer` + +### From `cuda_samples_utils` + +- `print_gpu_info()` - print device name and compute capability + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 7.0 or higher +- Managed memory support (most discrete GPUs) + +### Software + +- CUDA Toolkit 13.0 or newer (matches `cuda-python` 13.x) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) +- `numpy` (>=2.2.5; earlier versions expose DLPack arrays as read-only) + +### Platform Support + +The `ManagedMemoryResource` demo in this sample exercises **concurrent host +access** to managed allocations while the GPU is active, which requires the +device property `concurrent_managed_access=True`. This is only supported on +Linux with HMM (Pascal and newer). On Windows (WDDM/MCDM/TCC) the property +is `False`, so the sample exits early with a waive message. The +`DeviceMemoryResource` + `PinnedMemoryResource` demos in this +sample would still work on Windows on their own, but to keep the sample +self-contained the entire script waives when concurrent managed access is +unavailable. + +## Installation + +Install the required packages from `requirements.txt`: + +```bash +cd /path/to/cuda-python/samples/cuda_core/memoryResources +pip install -r requirements.txt +``` + +The `requirements.txt` installs: + +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) +- `numpy` (>=2.2.5) + +## How to Run + +### Basic usage + +```bash +cd samples/cuda_core/memoryResources +python memoryResources.py +``` + +### With custom parameters + +```bash +# Larger buffer size +python memoryResources.py --elements 1048576 + +# Use a specific GPU +python memoryResources.py --device 1 +``` + +## Expected Output + +``` +Device: +Compute Capability: + +[1] DeviceMemoryResource + PinnedMemoryResource (staging) + Pinned staging, device kernel, and copy_to verified + +[2] ManagedMemoryResource (unified memory) + GPU writes observed directly through the host-visible mapping + +[3] Explicit DeviceMemoryResource + Explicit DeviceMemoryResource allocation verified + +[4] Pool options + GraphMemoryResource (scratch inside a graph) + PinnedMemoryResource numa_id: + ManagedMemoryResource preferred_location: + GraphMemoryResource reserved high watermark: + Graph with in-graph scratch alloc/free verified + +Done +``` + +**Note:** Device name and compute capability will vary based on your GPU. + +## Files + +- `memoryResources.py` - Python implementation using `cuda.core` memory resources +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../Utilities/cuda_samples_utils.py` - Common utilities (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.core` memory API](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html#memory-management) diff --git a/samples/cuda_core/memoryResources/memoryResources.py b/samples/cuda_core/memoryResources/memoryResources.py new file mode 100644 index 00000000000..44d799df5e8 --- /dev/null +++ b/samples/cuda_core/memoryResources/memoryResources.py @@ -0,0 +1,387 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0", "numpy>=2.2.5"] +# /// + +""" +Memory management with cuda.core: Buffers and Memory Resources + +Demonstrates the Memory Resource / Buffer abstraction in cuda.core: + + * ``DeviceMemoryResource`` - GPU-only memory (device pool) + * ``PinnedMemoryResource`` - page-locked host memory accessible by the GPU + * ``ManagedMemoryResource`` - unified memory that migrates between + host and device on demand + * ``GraphMemoryResource`` - scratch buffers allocated inside a CUDA + graph and freed as part of graph execution + +Each resource hands out ``Buffer`` objects that can be: + * passed to kernels as pointers + * copied between each other with ``buffer.copy_to(...)`` + * viewed as NumPy or CuPy arrays via DLPack (``__dlpack__``) + +Later phases exercise the newer pool-based options +(``ManagedMemoryResourceOptions``, ``PinnedMemoryResourceOptions``) and +show how ``GraphMemoryResource`` lets a captured graph allocate its own +scratch memory as part of its execution. + +The kernel below performs a fused scale + bias on both a device buffer +and a pinned buffer, then we copy the result across resources to confirm +each pathway works end-to-end. +""" + +import os +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + +try: + import cupy as cp + import numpy as np + from cuda_samples_utils import print_gpu_info + + from cuda.core import ( + Device, + DeviceMemoryResource, + GraphMemoryResource, + LaunchConfig, + ManagedMemoryResource, + ManagedMemoryResourceOptions, + PinnedMemoryResource, + PinnedMemoryResourceOptions, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) + + +SCALE_BIAS_KERNEL = r""" +extern "C" __global__ +void scale_and_bias(float* data, size_t N, float scale, float bias) { + const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; + const unsigned int stride = blockDim.x * gridDim.x; + for (size_t i = tid; i < N; i += stride) { + data[i] = data[i] * scale + bias; + } +} +""" + + +def demo_device_and_pinned(device, stream, kernel, size): + """Use pinned host memory as a staging area for a device-side kernel. + + Canonical H2D / compute / D2H pattern: + host (pinned) -> device -> launch -> device -> host (pinned) + """ + print("\n[1] DeviceMemoryResource + PinnedMemoryResource (staging)") + dtype = np.float32 + nbytes = size * dtype().itemsize + + # The device's built-in memory resource is a good default for GPU memory. + device_mr = device.memory_resource + pinned_mr = PinnedMemoryResource() + + pinned_in = pinned_mr.allocate(nbytes, stream=stream) + pinned_out = pinned_mr.allocate(nbytes, stream=stream) + device_buffer = device_mr.allocate(nbytes, stream=stream) + try: + # Wrap each Buffer as a typed array via DLPack (no copies). + pinned_in_view = np.from_dlpack(pinned_in).view(dtype=dtype) + pinned_out_view = np.from_dlpack(pinned_out).view(dtype=dtype) + + # Initialize host-side input. + pinned_in_view[:] = np.arange(size, dtype=dtype) + original = pinned_in_view.copy() + + # Stage H2D: pinned -> device. + pinned_in.copy_to(device_buffer, stream=stream) + + # Launch kernel on the device buffer. + config = LaunchConfig(grid=(size + 255) // 256, block=256) + launch( + stream, + config, + kernel, + device_buffer, + np.uint64(size), + np.float32(3.0), + np.float32(-0.5), + ) + + # Stage D2H: device -> pinned. + device_buffer.copy_to(pinned_out, stream=stream) + stream.sync() + + expected = original * 3.0 - 0.5 + assert np.allclose(pinned_out_view, expected), "H2D -> kernel -> D2H mismatch" + print(" Pinned staging, device kernel, and copy_to verified") + finally: + device_buffer.close(stream) + pinned_out.close(stream) + pinned_in.close(stream) + + +def demo_managed(device, stream, kernel, size): + """Allocate a managed (unified) buffer; kernel writes are visible on host.""" + print("\n[2] ManagedMemoryResource (unified memory)") + dtype = np.float32 + nbytes = size * dtype().itemsize + + managed_mr = ManagedMemoryResource() + managed_buffer = managed_mr.allocate(nbytes, stream=stream) + try: + managed_view = np.from_dlpack(managed_buffer).view(dtype=dtype) + + managed_view[:] = np.arange(size, dtype=dtype) + original = managed_view.copy() + # Before launching, make sure host writes have reached the GPU. + device.sync() + + config = LaunchConfig(grid=(size + 255) // 256, block=256) + launch( + stream, + config, + kernel, + managed_buffer, + np.uint64(size), + np.float32(0.5), + np.float32(10.0), + ) + stream.sync() + + # No explicit copy: the same numpy view observes the GPU's writes. + assert np.allclose(managed_view, original * 0.5 + 10.0), "Managed memory result mismatch" + print(" GPU writes observed directly through the host-visible mapping") + finally: + managed_buffer.close(stream) + + +def demo_explicit_device_pool(device, stream, kernel, size): + """Allocate from a user-created DeviceMemoryResource with default options.""" + print("\n[3] Explicit DeviceMemoryResource") + dtype = np.float32 + nbytes = size * dtype().itemsize + + # Explicitly create a pool tied to this device. Use .close() to tear it down. + explicit_mr = DeviceMemoryResource(device) + buffer = explicit_mr.allocate(nbytes, stream=stream) + try: + view = cp.from_dlpack(buffer).view(dtype=cp.float32) + view[:] = cp.arange(size, dtype=cp.float32) + device.sync() + + config = LaunchConfig(grid=(size + 255) // 256, block=256) + launch( + stream, + config, + kernel, + buffer, + np.uint64(size), + np.float32(1.0), + np.float32(100.0), + ) + stream.sync() + + expected = cp.arange(size, dtype=cp.float32) + 100.0 + assert cp.allclose(view, expected), "Explicit device pool result mismatch" + print(" Explicit DeviceMemoryResource allocation verified") + finally: + buffer.close(stream) + explicit_mr.close() + + +def demo_pool_options_and_graph_mr(device, stream, kernel, size): + """Configure resource options and allocate scratch inside a captured graph. + + This phase shows two orthogonal features of the memory-resource stack: + + * ``ManagedMemoryResourceOptions`` / ``PinnedMemoryResourceOptions`` -- + pass structured options to control preferred location, NUMA binding, + IPC exportability, and similar policy knobs when creating a resource. + * ``GraphMemoryResource`` -- allocate transient scratch memory *inside* + a CUDA graph. The allocation and the matching free become nodes in + the graph, so the scratch buffer's lifetime is tied to the graph + execution and the driver can reuse the storage across replays. + """ + print("\n[4] Pool options + GraphMemoryResource (scratch inside a graph)") + dtype = np.float32 + nbytes = size * dtype().itemsize + config = LaunchConfig(grid=(size + 127) // 128, block=128) + + # Pinned resource with optional NUMA binding. Fall back to default when the + # device does not report a preferred host NUMA node. + pinned_options = {"ipc_enabled": False} + host_numa_id = getattr(device.properties, "host_numa_id", -1) + if host_numa_id >= 0: + pinned_options["numa_id"] = host_numa_id + pinned_mr = PinnedMemoryResource(options=PinnedMemoryResourceOptions(**pinned_options)) + + # Managed resource with the GPU as the preferred backing location. Reads + # from the host will still succeed (the driver migrates on demand), but + # kernels will hit device-local memory without a page fault. + managed_options = ManagedMemoryResourceOptions( + preferred_location=device.device_id, + preferred_location_type="device", + ) + managed_mr = ManagedMemoryResource(options=managed_options) + + # A GraphMemoryResource is a pool tied to `device`; every allocate() call + # against it inside a graph builder produces a Buffer whose lifetime is a + # graph node, not a wall-clock call. + graph_mr = GraphMemoryResource(device) + + pinned_buffer = pinned_mr.allocate(nbytes, stream=stream) + managed_buffer = managed_mr.allocate(nbytes, stream=stream) + graph_capture = graph = None + try: + managed_array = np.from_dlpack(managed_buffer).view(dtype=dtype) + pinned_array = np.from_dlpack(pinned_buffer).view(dtype=dtype) + + managed_array[:] = np.arange(size, dtype=dtype) + managed_original = managed_array.copy() + stream.sync() + + # Sanity: copy_to across resources still works with the option-driven + # pinned / managed pool. + managed_buffer.copy_to(pinned_buffer, stream=stream) + stream.sync() + assert np.array_equal(pinned_array, managed_original) + + # Build a graph that: + # 1) allocates a scratch buffer from graph_mr, + # 2) copies the managed buffer into it, + # 3) runs scale_and_bias on the scratch buffer, + # 4) copies the result back into the managed buffer, + # 5) frees the scratch buffer. + # The alloc + free are graph nodes; there is no host-side malloc on + # every graph.launch() call. + graph_builder = device.create_graph_builder().begin_building("relaxed") + scratch_buffer = graph_mr.allocate(nbytes, stream=graph_builder) + scratch_buffer.copy_from(managed_buffer, stream=graph_builder) + launch( + graph_builder, + config, + kernel, + scratch_buffer, + np.uint64(size), + np.float32(2.0), + np.float32(1.0), + ) + managed_buffer.copy_from(scratch_buffer, stream=graph_builder) + scratch_buffer.close() + + graph_capture = graph_builder.end_building() + graph = graph_capture.complete() + graph.upload(stream) + graph.launch(stream) + stream.sync() + + expected = managed_original * 2 + 1 + np.testing.assert_allclose(managed_array, expected) + # And confirm the cross-resource copy still lines up. + managed_buffer.copy_to(pinned_buffer, stream=stream) + stream.sync() + np.testing.assert_allclose(pinned_array, expected) + + print(f" PinnedMemoryResource numa_id: {pinned_mr.numa_id}") + print(f" ManagedMemoryResource preferred_location: {managed_mr.preferred_location}") + print(f" GraphMemoryResource reserved high watermark: {graph_mr.attributes.reserved_mem_high}") + print(" Graph with in-graph scratch alloc/free verified") + finally: + if graph is not None: + graph.close() + if graph_capture is not None: + graph_capture.close() + pinned_buffer.close(stream) + managed_buffer.close(stream) + graph_mr.close() + pinned_mr.close() + managed_mr.close() + + +def main(): + import argparse + + # Writing into host arrays imported via DLPack requires NumPy 2.2.5+; + # np.from_dlpack returns a read-only array on earlier versions. + if np.lib.NumpyVersion(np.__version__) < "2.2.5": + print("This sample requires NumPy 2.2.5 or later", file=sys.stderr) + sys.exit(1) + + parser = argparse.ArgumentParser(description="Demonstrate cuda.core memory resources (Buffer + MR)") + parser.add_argument( + "--elements", + type=int, + default=1 << 16, + help="Number of float32 elements per buffer (default: 65536)", + ) + parser.add_argument("--device", type=int, default=0, help="CUDA device id") + args = parser.parse_args() + + if sys.platform == "win32": + print( + "This sample relies on ManagedMemoryResource with concurrent host " + "access, which is not supported on Windows " + "(concurrent_managed_access=False). Waiving this sample." + ) + sys.exit(EXIT_WAIVED) + + device = Device(args.device) + device.set_current() + print_gpu_info(device) + + stream = device.create_stream() + + try: + program_options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") + program = Program(SCALE_BIAS_KERNEL, code_type="c++", options=program_options) + module = program.compile("cubin") + kernel = module.get_kernel("scale_and_bias") + + demo_device_and_pinned(device, stream, kernel, args.elements) + demo_managed(device, stream, kernel, args.elements) + demo_explicit_device_pool(device, stream, kernel, args.elements) + demo_pool_options_and_graph_mr(device, stream, kernel, args.elements) + + print("\nDone") + return 0 + finally: + stream.close() + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/memoryResources/requirements.txt b/samples/cuda_core/memoryResources/requirements.txt new file mode 100644 index 00000000000..115a00fb119 --- /dev/null +++ b/samples/cuda_core/memoryResources/requirements.txt @@ -0,0 +1,6 @@ +# Memory Resources Sample Requirements + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 +numpy>=2.2.5 diff --git a/samples/cuda_core/multiGPUGradientAverage/README.md b/samples/cuda_core/multiGPUGradientAverage/README.md new file mode 100644 index 00000000000..90c2555f2f5 --- /dev/null +++ b/samples/cuda_core/multiGPUGradientAverage/README.md @@ -0,0 +1,128 @@ +# Sample: multiGPUGradientAverage (Python) + +## Description + +This sample demonstrates gradient averaging across multiple GPUs using MPI and cuda.core. Each GPU computes local gradients, which are synchronized (averaged) across all GPUs using MPI Allreduce with host-staging (GPU → CPU → MPI → CPU → GPU) for maximum compatibility. + +## What you will learn + +- How to initialize MPI for multi-process GPU communication +- How to map MPI ranks to CUDA devices consistently +- How to integrate cuda.core streams with CuPy using `Stream.from_external` +- How to compile and launch custom CUDA kernels using cuda.core +- How to use cuda.core Event for GPU timing measurements +- How to use MPI Allreduce with host-staging for universal compatibility + +## Prerequisites + +- Python 3.10+ +- CUDA Toolkit 13.0+ +- Standard MPI implementation (OpenMPI, MPICH, or Intel MPI) +- Multiple NVIDIA GPUs (tested with 2+ GPUs) + +## Installation + +```bash +pip install -r requirements.txt +``` + +## Running + +**IMPORTANT:** This sample **MUST** be launched by an MPI runtime with at +least 2 processes. On Linux/macOS this is typically `mpirun`; on Windows with +Microsoft MPI the launcher is `mpiexec` (and the flag for process count is +`-n`). Either form is accepted by most MPI stacks. + +Linux / macOS (OpenMPI, MPICH, Intel MPI): + +```bash +# Single node (2 GPUs) +mpirun -np 2 python multiGPUGradientAverage.py --size 10000 + +# Single node (4 GPUs) +mpirun -np 4 python multiGPUGradientAverage.py --size 10000 + +# With specific GPUs +CUDA_VISIBLE_DEVICES=0,2 mpirun -np 2 python multiGPUGradientAverage.py +``` + +Windows (Microsoft MPI — `mpiexec` is installed under +`C:\Program Files\Microsoft MPI\Bin\` and is not on PATH by default): + +```powershell +& "C:\Program Files\Microsoft MPI\Bin\mpiexec.exe" -n 2 ` + python multiGPUGradientAverage.py --size 10000 +``` + +## Sample Output + +``` +[Rank 0] World size = 4 + +====================================================================== +Multi-GPU Gradient Average Demo +====================================================================== +Number of MPI ranks (GPUs): 4 +Gradient vector length per GPU: 10000 +Device: NVIDIA GeForce RTX 4090 +Computation: gradients computed on GPU via cuda.core. +Communication: gradients averaged via MPI_Allreduce on host (CPU) buffers. +====================================================================== + +Sample averaged gradient values (rank 0): + avg_grad[0] = 1.500000 + avg_grad[5000] = 6.500000 + avg_grad[9999] = 11.499000 + +Expected values: + expected[0] = 1.500000 + expected[5000] = 6.500000 + expected[9999] = 11.499000 + +Verifying gradient averaging correctness... +[PASS] Gradient averaging is correct. +[PASS] Gradient averaging is correct on all ranks. + +Performance: + Kernel time (GPU only): 0.123 ms + MPI communication time (host-staging, end-to-end): 0.456 ms + Total time: 0.579 ms + +====================================================================== +Demo complete. +====================================================================== +``` + +## Key Technical Details + +The sample uses cuda.core streams and makes CuPy use them via `Stream.from_external`: + +```python +stream = device.create_stream() +cp.cuda.Stream.from_external(stream).use() +``` + +GPU timing is measured using cuda.core Event: + +```python +from cuda.core import EventOptions +timing_options = EventOptions(timing_enabled=True) +start_event = stream.record(options=timing_options) +# ... GPU work ... +end_event = stream.record(options=timing_options) +end_event.sync() +kernel_time = end_event - start_event # Returns milliseconds +``` + +The host-staging pattern transfers data GPU → CPU → MPI → CPU → GPU for universal MPI compatibility without requiring CUDA-aware MPI. + +## Troubleshooting + +**Error: "This sample requires at least 2 MPI processes!"** + +Solution: +- Linux / macOS: `mpirun -np 2 python multiGPUGradientAverage.py` +- Windows (Microsoft MPI): `& "C:\Program Files\Microsoft MPI\Bin\mpiexec.exe" -n 2 python multiGPUGradientAverage.py` + (or `mpiexec -n 2 ...` after adding `C:\Program Files\Microsoft MPI\Bin\` to `PATH`). + +See the **Running** section above for fully-formed examples. diff --git a/samples/cuda_core/multiGPUGradientAverage/multiGPUGradientAverage.py b/samples/cuda_core/multiGPUGradientAverage/multiGPUGradientAverage.py new file mode 100644 index 00000000000..612ca80a2bf --- /dev/null +++ b/samples/cuda_core/multiGPUGradientAverage/multiGPUGradientAverage.py @@ -0,0 +1,402 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# distribution and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["mpi4py>=3.1.4", "cupy-cuda13x>=14.0.0", "cuda-python>=13.0.0", "cuda-core>=1.0.0"] +# /// + +""" +Multi-GPU Gradient Average using MPI and cuda.core (Host-staging Allreduce) + +Question: How do I synchronize gradients across GPUs? + +Answer: +Each GPU (each MPI rank) computes local gradients on device via CUDA. +Gradients are then averaged across ranks via an MPI Allreduce over host +(CPU) buffers, following the classic data-parallel training pattern. + +This sample shows how to: +- Initialize MPI for multi-process GPU workloads +- Map MPI ranks to GPUs +- Use cuda.core for kernel compilation and execution +- Integrate cuda.core with CuPy using the stream protocol +- Perform gradient averaging with MPI Allreduce (using host staging) +- Use cuda.core Event for GPU timing measurements +- Verify correctness of distributed gradient synchronization + +Key concepts: Allreduce, NCCL collectives (conceptually), distributed training + +Note: +- All gradient computation and validation happen on GPUs. +- MPI Allreduce is executed on CPU (host) buffers via a simple + GPU -> CPU -> MPI -> CPU -> GPU staging pattern so that the sample + works on any MPI stack, without requiring CUDA-aware MPI. +- In production deep learning frameworks (e.g., PyTorch DDP), NCCL + usually implements the GPU Allreduce directly; the communication + pattern and semantics are the same as demonstrated here. +""" + +import sys +from pathlib import Path + +# Add parent directory to path to import utilities +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) +from cuda_samples_utils import verify_array_result + +try: + import cupy as cp + from mpi4py import MPI + + from cuda.core import ( + Device, + EventOptions, + LaunchConfig, + Program, + ProgramOptions, + launch, + system, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install: pip install mpi4py cupy-cuda12x cuda-python cuda-core") + sys.exit(1) + + +# ============================================================================ +# CUDA device selection and stream management +# ============================================================================ + + +def init_device(rank: int): + """ + Initialize CUDA device and stream for this MPI rank. + + For a simple single-node run, we map rank % num_gpus to a device id. + This covers both the common case (world_size == num_gpus) and the case + where multiple ranks share a GPU. + + Returns + ------- + tuple[Device, Stream] + CUDA device object and stream object. + """ + num_gpus = system.get_num_devices() + if num_gpus == 0: + raise RuntimeError("No CUDA devices available") + + dev_id = rank % num_gpus # simple mapping: rank -> GPU in round-robin + + try: + device = Device(dev_id) + except (RuntimeError, ValueError) as e: + if rank == 0: + print(f"Warning: Cannot assign GPU {dev_id}, using GPU 0. Error: {e}") + device = Device(0) + + device.set_current() + # Align CuPy with cuda.core's chosen device ID + cp.cuda.Device(device.device_id).use() + + # Create cuda.core stream and make CuPy use it + stream = device.create_stream() + cp.cuda.Stream.from_external(stream).use() + + return device, stream + + +# ============================================================================ +# CUDA kernel definition and compilation +# ============================================================================ + +# Tiny CUDA kernel to initialize local "gradients" +# Uses grid-stride loop to handle arrays larger than grid size +INIT_KERNEL = r""" +extern "C" __global__ +void init_grad_kernel(float* grad, int n, int rank) +{ + // Grid-stride loop: each thread processes multiple elements + size_t tid = blockIdx.x * blockDim.x + threadIdx.x; + size_t stride = gridDim.x * blockDim.x; + for (size_t i = tid; i < n; i += stride) { + // Gradient value depends on MPI rank so we can verify reduction: + // grad_i = rank + 0.001 * i + grad[i] = rank + 0.001f * i; + } +} +""" + +_kernel_cache = {} + + +def get_init_kernel(device: Device): + """Compile (or retrieve cached) init_grad_kernel for this device.""" + key = device.pci_bus_id + if key not in _kernel_cache: + opts = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") + prog = Program(INIT_KERNEL, code_type="c++", options=opts) + mod = prog.compile("cubin") + _kernel_cache[key] = mod.get_kernel("init_grad_kernel") + return _kernel_cache[key] + + +# ============================================================================ +# Local gradient computation on each GPU +# ============================================================================ + + +def compute_local_gradients(num_elements: int, device: Device, stream: object, rank: int) -> cp.ndarray: + """ + Compute a local "gradient" vector on the current GPU. + + For demo purposes, we initialize: + grad[i] = rank + 0.001 * i + + Parameters + ---------- + num_elements : int + Length of gradient vector. + device : Device + CUDA device object. + stream : Stream + CUDA stream object (created at device initialization). + rank : int + MPI rank ID. + + Returns + ------- + cupy.ndarray + Gradient vector on GPU. + """ + # Create gradient array (CuPy uses the stream set at device initialization) + grad = cp.empty(num_elements, dtype=cp.float32) + + # Use a CUDA kernel compiled with cuda.core to fill the array + kernel = get_init_kernel(device) + + threads_per_block = 256 + blocks_per_grid = (num_elements + threads_per_block - 1) // threads_per_block + config = LaunchConfig(grid=blocks_per_grid, block=threads_per_block) + + # Launch kernel using cuda.core stream + launch(stream, config, kernel, grad.data.ptr, num_elements, rank) + + return grad + + +# ============================================================================ +# MPI Allreduce to average gradients (host-staging) +# ============================================================================ + + +def average_gradients(local_grad: cp.ndarray, comm: object, world_size: int) -> cp.ndarray: + """ + Average gradients across all MPI ranks using host-staging Allreduce. + + Steps: + 1. Copy local gradients from GPU to CPU (NumPy). + 2. Perform MPI_Allreduce on host buffers. + 3. Divide by world_size to obtain the average. + 4. Copy the averaged gradients back to GPU. + + This pattern is environment-agnostic and works on any MPI stack. + """ + assert local_grad.dtype == cp.float32 + + # GPU -> CPU + local_host = local_grad.get() # NumPy array on host + avg_host = local_host.copy() + + # Allreduce on host buffers + comm.Allreduce(local_host, avg_host, op=MPI.SUM) + + # Average + avg_host /= world_size + + # CPU -> GPU + avg_grad = cp.asarray(avg_host) + + return avg_grad + + +# ============================================================================ +# Testing and verification +# ============================================================================ + + +def main(): + """Demo: Multi-GPU gradient averaging with MPI (host-staging Allreduce).""" + import argparse + + # Initialize MPI + comm = MPI.COMM_WORLD + world_size = comm.Get_size() + rank = comm.Get_rank() + + parser = argparse.ArgumentParser( + description=("Multi-GPU Gradient Average with mpi4py + cuda.core (host-staging Allreduce)") + ) + parser.add_argument( + "--size", + type=int, + default=1024, + help="Number of gradient elements per GPU (default: 1024)", + ) + args = parser.parse_args() + + num_elements = args.size + + # Initialize device and stream + device = None + stream = None + try: + device, stream = init_device(rank) + + if rank == 0: + print(f"[Rank 0] World size = {world_size}") + comm.Barrier() + + # Validate world size + if world_size < 2: + if rank == 0: + print("=" * 70) + print("ERROR: This sample requires at least 2 MPI processes!") + print("=" * 70) + print("\nPlease run with mpirun:") + print(" mpirun -np 2 python multiGPUGradientAverage.py") + print(" mpirun -np 4 python multiGPUGradientAverage.py --size 10000") + print("\nFor multi-GPU systems:") + print(" mpirun -np N python multiGPUGradientAverage.py") + print(" (where N = number of GPUs)") + print("=" * 70) + sys.exit(1) + + # Validate input + if num_elements <= 0: + if rank == 0: + print("Error: --size must be positive") + sys.exit(1) + + if rank == 0: + print("\n" + "=" * 70) + print("Multi-GPU Gradient Average Demo") + print("=" * 70) + print(f"Number of MPI ranks (GPUs): {world_size}") + print(f"Gradient vector length per GPU: {num_elements}") + print(f"Device: {device.name}") + print("Computation: gradients computed on GPU via cuda.core.") + print("Communication: gradients averaged via MPI_Allreduce on host (CPU) buffers.") + print("=" * 70) + + # Step 1: Compute local gradients on each GPU + # Use cuda.core Event for GPU timing measurements + timing_options = EventOptions(timing_enabled=True) + start_event = stream.record(options=timing_options) + + local_grad = compute_local_gradients(num_elements, device, stream, rank) + + # Record end event and synchronize to ensure timing is complete + end_event = stream.record(options=timing_options) + end_event.sync() + + # Calculate elapsed time: Event subtraction returns milliseconds + kernel_time = end_event - start_event + + # Step 2: Average gradients across all ranks (host-staging Allreduce) + # Use CPU timing for MPI communication (host-staging includes GPU↔CPU transfers) + import time + + comm_start = time.time() + avg_grad = average_gradients(local_grad, comm, world_size) + comm_time = (time.time() - comm_start) * 1000 # Convert to ms + + # Step 3: Sanity check on rank 0 + # For each element i: + # local_grad_r[i] = r + 0.001 * i, r = 0..world_size-1 + # Sum over ranks: + # sum[i] = sum_r r + 0.001 * i * world_size + # Average: + # avg[i] = (0 + ... + (world_size-1))/world_size + 0.001 * i + # = (world_size - 1)/2 + 0.001 * i + # + # We verify this formula. + + expected_base = (world_size - 1) / 2.0 + i0 = 0 + i1 = num_elements // 2 + i2 = num_elements - 1 + + # Copy a few sample elements back to host for printing on rank 0 + if rank == 0: + avg_host_samples = avg_grad[[i0, i1, i2]].get() + print("\nSample averaged gradient values (rank 0):") + print(f" avg_grad[{i0}] = {avg_host_samples[0]:.6f}") + print(f" avg_grad[{i1}] = {avg_host_samples[1]:.6f}") + print(f" avg_grad[{i2}] = {avg_host_samples[2]:.6f}") + + expected0 = expected_base + 0.001 * i0 + expected1 = expected_base + 0.001 * i1 + expected2 = expected_base + 0.001 * i2 + print("\nExpected values:") + print(f" expected[{i0}] = {expected0:.6f}") + print(f" expected[{i1}] = {expected1:.6f}") + print(f" expected[{i2}] = {expected2:.6f}") + + # All ranks perform a full-array correctness check on GPU + expected_full = expected_base + 0.001 * cp.arange(num_elements, dtype=cp.float32) + + # Use utility function to verify results + if rank == 0: + print("\nVerifying gradient averaging correctness...") + ok = verify_array_result(avg_grad, expected_full, rtol=1e-5, atol=1e-8, verbose=(rank == 0)) + + # Ensure all ranks agree on correctness + ok_all = comm.allreduce(ok, op=MPI.LAND) + + if rank == 0: + if ok_all: + print("[PASS] Gradient averaging is correct on all ranks.") + else: + print("[FAIL] Gradient averaging mismatch detected on one or more ranks.") + + print("\nPerformance:") + print(f" Kernel time (GPU only): {kernel_time:.3f} ms") + print(f" MPI communication time (host-staging, end-to-end): {comm_time:.3f} ms") + print(f" Total time: {kernel_time + comm_time:.3f} ms") + + print("\n" + "=" * 70) + print("Demo complete.") + print("=" * 70) + + return 0 if ok_all else 1 + finally: + # Clean up stream resources + if stream is not None: + stream.close() + cp.cuda.Stream.null.use() # Reset CuPy's current stream to the null stream + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/multiGPUGradientAverage/requirements.txt b/samples/cuda_core/multiGPUGradientAverage/requirements.txt new file mode 100644 index 00000000000..7ff01293945 --- /dev/null +++ b/samples/cuda_core/multiGPUGradientAverage/requirements.txt @@ -0,0 +1,21 @@ +# Multi-GPU Gradient Average Sample Requirements + +# MPI Python bindings for distributed communication +mpi4py>=3.1.4 + +# GPU array library (NumPy-compatible arrays on CUDA) +# Use cupy-cuda11x, cupy-cuda12x, or cupy-cuda13x depending on your CUDA version +cupy-cuda13x>=14.0.0 + +# CUDA Python bindings (low-level CUDA driver API) +cuda-python>=13.0.0 + +# cuda.core - Modern Python interface for CUDA +# Provides Program, LaunchConfig, Device, and launch APIs +cuda-core>=1.0.0 + +# Note: This sample uses host-staging for MPI communication +# Standard MPI installation is sufficient (no CUDA-aware MPI required) +# Install MPI using system package manager: +# Ubuntu/Debian: sudo apt-get install openmpi-bin libopenmpi-dev +# Or build from source: https://www.open-mpi.org/software/ompi/ diff --git a/samples/cuda_core/numpyVsCupy/README.md b/samples/cuda_core/numpyVsCupy/README.md new file mode 100644 index 00000000000..a673f7880f0 --- /dev/null +++ b/samples/cuda_core/numpyVsCupy/README.md @@ -0,0 +1,73 @@ +# Sample: Numpy vs. Cupy (Python) + +## Description + +This sample demonstrates performance comparison between NumPy (CPU) and CuPy (GPU) for matrix multiplication operations. It benchmarks the execution time of matrix dot products on both CPU and GPU, showing the performance benefits of GPU acceleration for numerical computations. + +## What you will learn + +- How to set up and use CuPy for GPU-accelerated numerical computations. +- How to benchmark NumPy vs CuPy performance for matrix operations. +- How to transfer data between CPU (NumPy) and GPU (CuPy) memory using `cp.asarray()`. +- How to use CUDA device management with the cuda-core library. +- How to validate computational results between CPU and GPU implementations using `np.testing.assert_allclose()`. +- How to handle GPU warmup to avoid first-run overhead in benchmarking. +- How to create and manage explicit CUDA streams with `device.create_stream()`. +- How to properly cleanup streams with `stream.close()` in try/finally blocks. +- How to access GPU device information (name, compute capability). +- How to create timing context managers for performance measurement using CUDA events. + +## Key libraries + +- `numpy` +- `cupy` +- `cuda-core` + +## Key APIs + +**From cuda.core:** +- `Device()` – Get CUDA device object for specific GPU +- `device.create_stream()` – Create explicit CUDA stream +- `stream.close()` – Close and cleanup stream resources + +## Requirements +1. **NVIDIA Graphics Card** with CUDA support +2. **CUDA Drivers** installed on your system +3. **CUDA Toolkit** installed on your system +4. **Python 3.12 or newer** + +**Install packages:** +```bash +pip install -r requirements.txt +``` + +## How to run + +Basic usage: +```bash +# Pre-steps: +export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH +# Run from the repository root: +cd samples/cuda_core/numpyVsCupy +python numpyVsCupy.py +``` + +With custom parameters: +```bash +python numpyVsCupy.py --n_size 5000 +``` + +### Command line arguments + +- `--n_size`, `-n`: Size of the matrix (n * n) for benchmarking (default: 4096) + +## Expected Output +``` +Validation PASSED: NumPy and CuPy results match within tolerance +Demo completed successfully! +``` + +## Files +- `numpyVsCupy.py` – Python implementation +- `README.md` – This file +- `requirements.txt` – Required packages diff --git a/samples/cuda_core/numpyVsCupy/numpyVsCupy.py b/samples/cuda_core/numpyVsCupy/numpyVsCupy.py new file mode 100644 index 00000000000..06e4204503a --- /dev/null +++ b/samples/cuda_core/numpyVsCupy/numpyVsCupy.py @@ -0,0 +1,141 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# distribution and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["numpy>=2.3.2", "cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0"] +# /// + +import argparse +import contextlib +import sys +import time +from pathlib import Path + +try: + import cupy as cp + import numpy as np + + from cuda.core import Device, EventOptions +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + +# Add parent directory to path to import utilities +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) +from cuda_samples_utils import verify_array_result + + +@contextlib.contextmanager +def timer(message): + """CPU timing context manager.""" + start = time.time() + yield + end = time.time() + print(f"{message}: {(end - start):.6f} seconds") + + +@contextlib.contextmanager +def gpu_timer(message, stream): + """GPU timing context manager using cuda.core CUDA events.""" + event_options = EventOptions(timing_enabled=True) + start_event = stream.record(options=event_options) + yield + end_event = stream.record(options=event_options) + end_event.sync() + + elapsed_time_ms = end_event - start_event # Returns milliseconds + elapsed_time_s = elapsed_time_ms / 1000.0 # Convert to seconds + print(f"{message}: {elapsed_time_s:.6f} seconds") + + +def warmup(): + # Pre-runs a simple GPU operation to avoid first-run overhead in benchmarking. + print("Warmup...") + a_cp = cp.ones((16, 16)) + b_cp = cp.ones((16, 16)) + result_cp = cp.dot(a_cp, b_cp) + return result_cp + + +def run(n): + # Benchmarks NumPy vs. CuPy matrix multiplication for n x n random arrays. + # Prints timing results. + + device = Device() # Use device 0 explicitly + device.set_current() + major, minor = device.compute_capability + print() + print(f"Device Name: {device.name}, SM: {major}.{minor}") + print() + + # Create explicit stream + stream = device.create_stream() + + try: + # Warm up GPU before measuring + warmup() + stream.sync() + + # Generate random matrices on CPU + a_np = np.random.rand(n, n) + b_np = np.random.rand(n, n) + + # NumPy dot product (CPU) + with timer(f"NumPy dot of {n}*{n} arrays"): + result_np = np.dot(a_np, b_np) + + # Transfer NumPy arrays to GPU (using events for timing) + with gpu_timer("Transfer arrays to GPU", stream): + a_cp = cp.asarray(a_np) + b_cp = cp.asarray(b_np) + + # CuPy dot product (GPU) - using events for accurate GPU timing + with gpu_timer(f"CuPy dot of {n}*{n} arrays", stream): + result_cp = cp.dot(a_cp, b_cp) + + print() + # Result validation + if not verify_array_result(result_np, result_cp.get()): + print("Validation FAILED: NumPy and CuPy results do not match within tolerance") + sys.exit(1) + + print("Validation PASSED: NumPy and CuPy results match within tolerance") + finally: + stream.close() + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("--n_size", "-n", default=4096, type=int, help="Size of the matrix(n * n).") + args = parser.parse_args() + run(args.n_size) + print("Demo completed successfully!") + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/numpyVsCupy/requirements.txt b/samples/cuda_core/numpyVsCupy/requirements.txt new file mode 100644 index 00000000000..c895afaa1b7 --- /dev/null +++ b/samples/cuda_core/numpyVsCupy/requirements.txt @@ -0,0 +1,7 @@ +# Numpy vs. Cupy - Requirements +# Install with: pip install -r requirements.txt + +numpy>=2.3.2 +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 diff --git a/samples/cuda_core/pageRank/README.md b/samples/cuda_core/pageRank/README.md new file mode 100644 index 00000000000..b37fc2a06d7 --- /dev/null +++ b/samples/cuda_core/pageRank/README.md @@ -0,0 +1,184 @@ +# Sample: PageRank Algorithm (Python) + +> **Known issue — version-pinned sample.** Unlike the other samples in this +> repository, this sample is pinned to `cuda-core<1.0.0`. The reason is that +> `cudf-cu13` transitively requires `numba-cuda<0.29.0`, and every +> `numba-cuda` release in that range pins `cuda-core<1.0.0`. Installing this +> sample's `requirements.txt` into a shared environment will downgrade +> `cuda-core` and break the other samples (which use the 1.0 API). +> +> The recommended workflow is one of: +> +> - Install this sample's requirements in a **dedicated virtual +> environment**, or +> - Re-run the other samples' `pip install -r requirements.txt` afterwards +> to upgrade `cuda-core` back to 1.0. +> +> This sample will be re-aligned with the rest of the repository +> (`cuda-core>=1.0.0`) once `cudf-cu13` ships a release that lifts its +> `numba-cuda` upper bound. + +## Description + +Demonstrates GPU-accelerated PageRank computation for graph analysis using RAPIDS cuGraph, with cuda.core for device, stream, and GPU timing. This sample focuses on cuda.core integration with high-level libraries (cuGraph/cuDF); for custom kernel programming (Program, LaunchConfig, launch), see the blockwiseSum sample. + +## What You'll Learn + +- Graph representation using cuDF DataFrames for edge lists +- GPU-optimized PageRank via RAPIDS cuGraph library +- Performance comparison between cuGraph GPU and CPU reference implementation +- cuda.core device/stream management and GPU timing + +## Key Libraries + +- `cugraph` - RAPIDS GPU-accelerated graph analytics +- `cudf` - RAPIDS GPU DataFrame library +- `cuda.core` - Device, stream, and event APIs for GPU timing +- `cupy` - GPU array library (Stream.from_external for cuDF/cuGraph) +- `numpy` - CPU reference implementation + +## Key APIs + +### From cuda.core: + +- `Device(0)` - Create device, `device.set_current()`, `device.create_stream()` +- `EventOptions(timing_enabled=True)` - GPU timing via `stream.record()` +- `cp.cuda.Stream.from_external(stream).use()` - Make cuDF/cuGraph use cuda.core stream + +### From cuGraph: + +- `cugraph.Graph(directed=True)` - Create directed graph structure +- `Graph.from_cudf_edgelist()` - Build graph from edge list DataFrame +- `cugraph.pagerank()` - GPU-accelerated PageRank algorithm + +### From cuDF: + +- `cudf.DataFrame()` - GPU DataFrame for edge lists + +## Requirements + +### Hardware: + +- NVIDIA GPU with Compute Capability 7.0 or higher +- Minimum GPU memory: 512 MB (for 10K node graph) + +### Software: + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- See requirements.txt for package dependencies + +### Platform Support: + +This sample depends on RAPIDS (`cugraph-cu13`, `cudf-cu13`, `dask-cuda`), +which is currently published only as **Linux (manylinux) wheels** on +`pypi.nvidia.com` — no Windows wheels exist. On Windows the sample exits +early with a waive message instead of attempting an install that cannot +succeed. + +## Installation + +```bash +cd /path/to/cuda-python/samples/cuda_core/pageRank +python3 -m venv venv +source venv/bin/activate +pip install -r requirements.txt +``` + +## How to Run + +```bash +python pageRank.py +``` + +## Algorithm + +The PageRank formula iteratively computes node importance: + +``` +PR(v) = (1-d)/N + d * Σ PR(u)/out_degree(u) +``` + +Where: +- `d` = damping factor (typically 0.85) +- `N` = total number of nodes +- Sum is over all nodes `u` that link to `v` + +## Expected Output + +``` +============================================================ +PageRank Algorithm (using RAPIDS cuGraph) +============================================================ + +Device: NVIDIA GeForce RTX ... +Compute Capability: sm_XX + +Graph Parameters: + Nodes: 10,000 + Avg edges/node: 15 + Total edges: ~150,000 + Avg in-degree: 14.9 + +------------------------------------------------------------ +GPU PageRank (RAPIDS cuGraph) +------------------------------------------------------------ +Time: X.XXX ms + +Top 5 nodes by PageRank: + 1. Node XXXXX: 0.XXXXXX + ... + +------------------------------------------------------------ +CPU PageRank (Reference) +------------------------------------------------------------ +Time: XXXX.XXX ms +Iterations: XX + +------------------------------------------------------------ +PERFORMANCE SUMMARY +------------------------------------------------------------ +GPU (cuGraph): X.XXX ms +CPU (Reference): XXXX.XXX ms +Speedup: XXXX.Xx + +------------------------------------------------------------ +VERIFICATION +------------------------------------------------------------ +GPU vs CPU PageRank scores: Test PASSED + +PageRank Properties: + Sum of scores: 1.000000 (should be ~1.0) + Sum check: ✓ + +Done +``` + +## Files + +- `pageRank.py` - Python implementation using RAPIDS cuGraph +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## Why cuGraph? + +RAPIDS cuGraph provides production-grade, GPU-accelerated graph analytics: + +- **Highly optimized** - Uses advanced GPU parallelization techniques +- **Scalable** - Handles graphs with billions of edges +- **Easy to use** - Simple Python API similar to NetworkX +- **Integrated** - Works seamlessly with cuDF, cuML, and other RAPIDS libraries + +## Applications + +- Web page ranking (original Google PageRank) +- Social network influence analysis +- Citation network analysis +- Recommendation systems +- Fraud detection in financial networks + +## See Also + +- [RAPIDS cuGraph Documentation](https://docs.rapids.ai/api/cugraph/stable/) +- [cuGraph GitHub Repository](https://github.com/rapidsai/cugraph) +- [RAPIDS Installation Guide](https://rapids.ai/start.html) diff --git a/samples/cuda_core/pageRank/pageRank.py b/samples/cuda_core/pageRank/pageRank.py new file mode 100644 index 00000000000..dcf5679405d --- /dev/null +++ b/samples/cuda_core/pageRank/pageRank.py @@ -0,0 +1,367 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core<1.0.0", "cugraph-cu13>=26.0.0", "cudf-cu13>=26.0.0", "dask-cuda>=26.4.0", "cupy-cuda13x>=14.0.0", "numpy>=2.3.2"] +# /// + +""" +PageRank Algorithm + +Demonstrates GPU-accelerated PageRank computation for graph analysis: +- Graph representation using edge lists and cuDF DataFrames +- GPU-optimized PageRank via RAPIDS cuGraph library +- Performance comparison: cuGraph GPU vs CPU reference + +Uses RAPIDS cuGraph for production-grade graph analytics on GPU. + +PageRank Algorithm: + PR(v) = (1-d)/N + d * sum(PR(u)/out_degree(u)) for all u linking to v + where d = damping factor (typically 0.85), N = number of nodes +""" + +import os +import sys +import time +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) +from cuda_samples_utils import print_gpu_info, verify_array_result + +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) + +if sys.platform == "win32": + print( + "This sample depends on RAPIDS (cugraph-cu13 / cudf-cu13), which is " + "currently published only as Linux (manylinux) wheels on " + "pypi.nvidia.com. Waiving this sample on Windows." + ) + sys.exit(EXIT_WAIVED) + +try: + import cudf + import cugraph + import cupy as cp + import numpy as np + + from cuda.core import Device, EventOptions, Stream +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Install with: pip install -r requirements.txt") + sys.exit(1) + + +def generate_random_graph( + num_nodes: int, + avg_edges_per_node: int = 10, + seed: int = 42, +) -> tuple[np.ndarray, np.ndarray, np.ndarray]: + """ + Generate a random directed graph as edge list. + + Parameters + ---------- + num_nodes : int + Number of nodes in the graph + avg_edges_per_node : int + Average number of outgoing edges per node + seed : int + Random seed for reproducibility + + Returns + ------- + tuple[np.ndarray, np.ndarray, np.ndarray] + (sources, destinations, out_degree) arrays + """ + rng = np.random.default_rng(seed) + + sources_list: list[int] = [] + destinations_list: list[int] = [] + out_degree = np.zeros(num_nodes, dtype=np.int32) + + for src in range(num_nodes): + # Random number of outgoing edges (Poisson distribution) + n_edges = max(1, rng.poisson(avg_edges_per_node)) + n_edges = min(n_edges, num_nodes - 1) + # Random destinations (no self-loops); rejection sampling avoids O(N²) memory + dests: set[int] = set() + while len(dests) < n_edges: + d = int(rng.integers(0, num_nodes)) + if d != src: + dests.add(d) + dests = np.array(list(dests), dtype=np.int32) + for dst in dests: + sources_list.append(src) + destinations_list.append(dst) + out_degree[src] = len(dests) + + sources = np.array(sources_list, dtype=np.int32) + destinations = np.array(destinations_list, dtype=np.int32) + + return sources, destinations, out_degree + + +def pagerank_cpu( + sources: np.ndarray, + destinations: np.ndarray, + out_degree: np.ndarray, + num_nodes: int, + damping: float = 0.85, + max_iterations: int = 100, + tolerance: float = 1e-6, +) -> tuple[np.ndarray, int]: + """ + Compute PageRank on CPU using iterative method. + + Parameters + ---------- + sources : np.ndarray + Source nodes of edges + destinations : np.ndarray + Destination nodes of edges + out_degree : np.ndarray + Outgoing degree for each node + num_nodes : int + Number of nodes + damping : float + Damping factor (default: 0.85) + max_iterations : int + Maximum iterations + tolerance : float + Convergence tolerance + + Returns + ------- + tuple[np.ndarray, int] + (PageRank scores, iterations until convergence) + """ + # Build incoming edges list for each node + incoming: list[list[int]] = [[] for _ in range(num_nodes)] + for src, dst in zip(sources, destinations): + incoming[dst].append(src) + + # Initialize PageRank uniformly + pr = np.ones(num_nodes, dtype=np.float32) / num_nodes + pr_new = np.zeros(num_nodes, dtype=np.float32) + + base_score = (1.0 - damping) / num_nodes + + for iteration in range(max_iterations): + # Handle dangling nodes (nodes with no outgoing edges) + dangling_sum = np.sum(pr[out_degree == 0]) + dangling_contrib = damping * dangling_sum / num_nodes + + for v in range(num_nodes): + # Sum contributions from incoming neighbors + incoming_sum = 0.0 + for u in incoming[v]: + if out_degree[u] > 0: + incoming_sum += pr[u] / out_degree[u] + + pr_new[v] = base_score + damping * incoming_sum + dangling_contrib + + # Check convergence + diff = np.sum(np.abs(pr_new - pr)) + pr, pr_new = pr_new, pr + + if diff < tolerance: + return pr, iteration + 1 + + return pr, max_iterations + + +def run_pagerank_benchmark( + num_nodes: int = 10000, + avg_edges: int = 15, + max_iterations: int = 100, +) -> bool: + """ + Run PageRank benchmark comparing cuGraph GPU and CPU performance. + + Parameters + ---------- + num_nodes : int + Number of nodes in the graph + avg_edges : int + Average edges per node + max_iterations : int + Maximum PageRank iterations + + Returns + ------- + bool + True if benchmark succeeded + """ + print("=" * 60) + print("PageRank Algorithm (using RAPIDS cuGraph)") + print("=" * 60) + + # Initialize cuda.core device and stream + device = Device(0) + device.set_current() + stream: Stream = device.create_stream() + print() + print_gpu_info(device) + + # RAPIDS cuGraph wheels currently don't ship kernel binaries for + # every CUDA architecture. Skip cleanly on architectures known to + # be unsupported instead of failing deep inside cuGraph with a + # cryptic cudaErrorNoKernelImageForDevice. Remove an arch from this + # set once the matching cuGraph release ships kernels for it. + _CUGRAPH_UNSUPPORTED_ARCHES = {"110"} # sm_110 = Thor / Tegra + if device.arch in _CUGRAPH_UNSUPPORTED_ARCHES: + print(f"RAPIDS cuGraph does not yet ship kernels for sm_{device.arch}, waiving this sample.") + stream.close() + sys.exit(EXIT_WAIVED) + + # Make CuPy/cuDF use our cuda.core stream + cp.cuda.Stream.from_external(stream).use() + + # Generate random graph + print("\nGraph Parameters:") + print(f" Nodes: {num_nodes:,}") + print(f" Avg edges/node: {avg_edges}") + + sources, destinations, out_degree = generate_random_graph(num_nodes, avg_edges, seed=42) + + total_edges = len(sources) + print(f" Total edges: {total_edges:,}") + print(f" Avg in-degree: {total_edges / num_nodes:.1f}") + + # ------------------------------------------------------------------------- + # GPU PageRank (cuGraph) + # ------------------------------------------------------------------------- + print("\n" + "-" * 60) + print("GPU PageRank (RAPIDS cuGraph)") + print("-" * 60) + + # Create cuGraph graph from edge list with store_transposed for optimal perf + gdf = cudf.DataFrame( + { + "src": sources, + "dst": destinations, + } + ) + G = cugraph.Graph(directed=True) + G.from_cudf_edgelist(gdf, source="src", destination="dst", store_transposed=True) + + event_opts = EventOptions(timing_enabled=True) + + try: + # Warmup + _ = cugraph.pagerank(G, alpha=0.85, max_iter=100, tol=1e-5) + stream.sync() + + # Timed run using cuda.core events + start = stream.record(options=event_opts) + pr_result = cugraph.pagerank(G, alpha=0.85, max_iter=max_iterations, tol=1e-6) + end = stream.record(options=event_opts) + end.sync() + + gpu_time_ms = end - start + print(f"Time: {gpu_time_ms:.3f} ms") + + # Extract results sorted by vertex ID (to numpy for verification) + pr_df = pr_result.sort_values("vertex").reset_index(drop=True) + pr_gpu = pr_df["pagerank"].to_numpy() + + # Show top PageRank nodes + top_k = 5 + top_df = pr_result.nlargest(top_k, "pagerank") + print(f"\nTop {top_k} nodes by PageRank:") + for i, row in enumerate(top_df.to_pandas().itertuples()): + print(f" {i + 1}. Node {row.vertex:5d}: {row.pagerank:.6f}") + + # ------------------------------------------------------------------------- + # CPU PageRank + # ------------------------------------------------------------------------- + print("\n" + "-" * 60) + print("CPU PageRank (Reference)") + print("-" * 60) + + cpu_start = time.perf_counter() + pr_cpu, cpu_iters = pagerank_cpu(sources, destinations, out_degree, num_nodes, max_iterations=max_iterations) + cpu_end = time.perf_counter() + + cpu_time_ms = (cpu_end - cpu_start) * 1000 + print(f"Time: {cpu_time_ms:.3f} ms") + print(f"Iterations: {cpu_iters}") + + # ------------------------------------------------------------------------- + # Performance Summary + # ------------------------------------------------------------------------- + print("\n" + "-" * 60) + print("PERFORMANCE SUMMARY") + print("-" * 60) + speedup = cpu_time_ms / gpu_time_ms + print(f"GPU (cuGraph): {gpu_time_ms:.3f} ms") + print(f"CPU (Reference): {cpu_time_ms:.3f} ms") + print(f"Speedup: {speedup:.1f}x") + + # ------------------------------------------------------------------------- + # Verification + # ------------------------------------------------------------------------- + print("\n" + "-" * 60) + print("VERIFICATION") + print("-" * 60) + + # Compare GPU and CPU results (cuGraph and CPU ref may converge differently) + print("GPU vs CPU PageRank scores: ", end="") + success = verify_array_result(pr_gpu, pr_cpu, rtol=1e-2, atol=1e-4, verbose=True) + + # Verify PageRank properties + print("\nPageRank Properties:") + pr_sum = float(np.sum(pr_gpu)) + print(f" Sum of scores: {pr_sum:.6f} (should be ~1.0)") + + pr_min = float(np.min(pr_gpu)) + pr_max = float(np.max(pr_gpu)) + print(f" Min score: {pr_min:.6f}") + print(f" Max score: {pr_max:.6f}") + + # Check that sum is approximately 1 + sum_ok = abs(pr_sum - 1.0) < 0.01 + print(f" Sum check: {'✓' if sum_ok else '✗'}") + + success = success and sum_ok + return success + finally: + cp.cuda.Stream.null.use() + stream.close() + + +def main() -> None: + """Entry point.""" + success = run_pagerank_benchmark() + if success: + print("\nDone") + else: + print("\nBenchmark completed with errors") + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/pageRank/requirements.txt b/samples/cuda_core/pageRank/requirements.txt new file mode 100644 index 00000000000..fafc9dae18f --- /dev/null +++ b/samples/cuda_core/pageRank/requirements.txt @@ -0,0 +1,11 @@ +# PageRank Requirements (RAPIDS cuGraph) + +cuda-python>=13.0.0 +# cudf-cu13 transitively pins numba-cuda<0.29.0 which requires cuda-core<1.0.0 +cuda-core<1.0.0 +cugraph-cu13>=26.0.0 +cudf-cu13>=26.0.0 +# dask-cuda <26.4 incorrectly pins cuda-core==0.3.*; require the fixed release +dask-cuda>=26.4.0 +cupy-cuda13x>=14.0.0 +numpy>=2.3.2 diff --git a/samples/cuda_core/parallelHistogram/README.md b/samples/cuda_core/parallelHistogram/README.md new file mode 100644 index 00000000000..2820102d599 --- /dev/null +++ b/samples/cuda_core/parallelHistogram/README.md @@ -0,0 +1,117 @@ +# Sample: Parallel Histogram with Atomics (Python) + +## Description + +Compute histograms on the GPU using atomic operations to handle concurrent updates from multiple threads. This sample demonstrates the modern **cuda.core API** for kernel compilation and launch, comparing two approaches: + +1. **Global Atomics** - All threads atomically update a single global histogram +2. **Privatized Histograms** - Each block uses shared memory, then merges to global + +## What You'll Learn + +- Compiling CUDA C kernels with `cuda.core.Program` +- Configuring kernel launches with `cuda.core.LaunchConfig` +- Launching kernels with `cuda.core.launch()` +- Using **atomic operations** (`atomicAdd`) for thread-safe updates +- Optimizing with **shared memory privatization** +- GPU timing with `cuda.core` Events + +## Key Concepts + +### Atomic Operations + +When multiple threads update the same histogram bin, a race condition occurs. Atomic operations ensure thread-safe updates: + +```cuda +atomicAdd(&histogram[data[i]], 1); // Thread-safe increment +``` + +### Global vs Privatized Atomics + +| Approach | Pros | Cons | +|----------|------|------| +| Global | Simple | High contention on popular bins | +| Privatized | Significantly faster | Extra shared memory, synchronization | + +## Key APIs + +### From `cuda.core`: + +- `Device` - Device management and context +- `Program` - Compile CUDA C source code +- `ProgramOptions` - Set architecture, optimization flags +- `LaunchConfig` - Configure grid and block dimensions +- `launch()` - Launch compiled kernel +- `Stream` - Async stream management +- `EventOptions` - Configure events for GPU timing +- `stream.record()` - Record events for timing + +### From `cupy`: + +- `cp.random.randint()` - Generate random data directly on GPU +- `cp.zeros()` - Allocate zeroed GPU arrays + +### CUDA Atomic Functions (in kernel): + +- `atomicAdd()` - Thread-safe addition + +## Requirements + +### Hardware: +- NVIDIA GPU with CUDA support + +### Software: +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- See `requirements.txt` for Python packages + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python parallelHistogram.py +``` + +## Expected Output + +``` +============================================================ +Parallel Histogram with Atomics (cuda.core) +============================================================ + +Device: +Compute Capability: ComputeCapability(major=X, minor=Y) + +Compiling CUDA kernels with cuda.core.Program... + Compiled for architecture: sm_XY + +Generating 10,000,000 random values on GPU... + +Verifying correctness... + Global atomics: PASSED + Privatized atomics: PASSED + +Benchmarking (100 iterations)... + Global atomics: X.XXX ms + Privatized atomics: X.XXX ms + Speedup: XXx + +Test PASSED +``` + +## Files + +- `parallelHistogram.py` - Main sample using cuda.core +- `README.md` - This file +- `requirements.txt` - Dependencies + +## See Also + +- [cuda.core Documentation](https://nvidia.github.io/cuda-python/cuda-core/latest/) +- [CUDA Atomic Functions](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#atomic-functions) +- [CUDA Shared Memory](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#shared-memory) diff --git a/samples/cuda_core/parallelHistogram/parallelHistogram.py b/samples/cuda_core/parallelHistogram/parallelHistogram.py new file mode 100644 index 00000000000..7931ce20b16 --- /dev/null +++ b/samples/cuda_core/parallelHistogram/parallelHistogram.py @@ -0,0 +1,240 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "numpy>=2.3.2", "cupy-cuda13x>=14.0.0"] +# /// + +""" +Parallel Histogram with Atomics using cuda.core + +This sample demonstrates GPU histogram computation using atomic operations, +showcasing the modern cuda.core API for: +- Kernel compilation (Program, ProgramOptions) +- Kernel launch configuration (LaunchConfig) +- Stream management (Stream) +- Event timing (EventOptions) + +Two histogram approaches are compared: +1. Global Atomics - All threads atomically update global memory +2. Privatized Histograms - Shared memory reduces global atomic contention +""" + +import sys + +try: + import cupy as cp + import numpy as np + + from cuda.core import ( + Device, + EventOptions, + LaunchConfig, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install: pip install -r requirements.txt") + sys.exit(1) + + +NUM_BINS = 256 + +# CUDA C source code for both histogram kernels +HISTOGRAM_KERNELS = r""" +// Global Atomics - simple but high contention on popular bins +extern "C" __global__ +void histogram_global(const unsigned char* data, unsigned int* histogram, int n) { + int idx = blockIdx.x * blockDim.x + threadIdx.x; + int stride = blockDim.x * gridDim.x; + + for (int i = idx; i < n; i += stride) { + atomicAdd(&histogram[data[i]], 1); + } +} + +// Privatized - uses shared memory to reduce global atomic contention +extern "C" __global__ +void histogram_privatized(const unsigned char* data, unsigned int* histogram, int n) { + __shared__ unsigned int local_hist[256]; + + int tid = threadIdx.x; + int idx = blockIdx.x * blockDim.x + threadIdx.x; + int stride = blockDim.x * gridDim.x; + + // Initialize shared memory + for (int i = tid; i < 256; i += blockDim.x) + local_hist[i] = 0; + __syncthreads(); + + // Accumulate into shared memory (fast) + for (int i = idx; i < n; i += stride) + atomicAdd(&local_hist[data[i]], 1); + __syncthreads(); + + // Merge to global (fewer atomics) + for (int i = tid; i < 256; i += blockDim.x) + if (local_hist[i] > 0) + atomicAdd(&histogram[i], local_hist[i]); +} +""" + + +def main(): + print("=" * 60) + print("Parallel Histogram with Atomics (cuda.core)") + print("=" * 60) + + # Initialize device using cuda.core + device = Device(0) + device.set_current() + print(f"\nDevice: {device.name}") + print(f"Compute Capability: {device.compute_capability}") + + # Create stream using cuda.core + stream = device.create_stream() + + # Make CuPy use the same stream for correct ordering (avoids null-stream sync) + cp.cuda.Stream.from_external(stream).use() + + try: + _run_histogram(device, stream) + finally: + cp.cuda.Stream.null.use() # Restore CuPy to default stream before closing + stream.close() + + +def _run_histogram(device, stream): + """Run histogram computation and benchmarking.""" + # Compile CUDA kernels using cuda.core.Program + print("\nCompiling CUDA kernels with cuda.core.Program...") + arch = f"sm_{device.arch}" + options = ProgramOptions(arch=arch) + program = Program(HISTOGRAM_KERNELS, code_type="c++", options=options) + object_code = program.compile("cubin") + + kernel_global = object_code.get_kernel("histogram_global") + kernel_privatized = object_code.get_kernel("histogram_privatized") + print(f" Compiled for architecture: {arch}") + + # Generate test data directly on GPU (more efficient than CPU->GPU copy) + n = 10_000_000 + print(f"\nGenerating {n:,} random values on GPU...") + data_gpu = cp.random.randint(0, 256, size=n, dtype=cp.uint8) + hist_gpu = cp.zeros(NUM_BINS, dtype=cp.uint32) + + # Compute reference histogram on CPU for verification + data_cpu = cp.asnumpy(data_gpu) + hist_cpu, _ = np.histogram(data_cpu, bins=NUM_BINS, range=(0, 256)) + hist_cpu = hist_cpu.astype(np.uint32) + + # Configure kernel launch using cuda.core.LaunchConfig + block_size = 256 + grid_size = min((n + block_size - 1) // block_size, 1024) + config = LaunchConfig(grid=(grid_size,), block=(block_size,)) + + print("\nVerifying correctness...") + + # Ensure CuPy allocations complete before kernel launch on our stream + stream.sync() + + # Launch global atomics kernel (hist_gpu is already zeros from cp.zeros) + launch(stream, config, kernel_global, data_gpu.data.ptr, hist_gpu.data.ptr, np.int32(n)) + stream.sync() + + hist_global = cp.asnumpy(hist_gpu) + global_ok = np.array_equal(hist_cpu, hist_global) + print(f" Global atomics: {'PASSED' if global_ok else 'FAILED'}") + + # Reset histogram and launch privatized kernel (fill on same stream) + hist_gpu.fill(0) + launch( + stream, + config, + kernel_privatized, + data_gpu.data.ptr, + hist_gpu.data.ptr, + np.int32(n), + ) + stream.sync() + + hist_privatized = cp.asnumpy(hist_gpu) + privatized_ok = np.array_equal(hist_cpu, hist_privatized) + print(f" Privatized atomics: {'PASSED' if privatized_ok else 'FAILED'}") + + if not (global_ok and privatized_ok): + sys.exit(1) + + # Benchmark using cuda.core Events (explicit Event objects recorded on stream) + print("\nBenchmarking (100 iterations)...") + num_iterations = 100 + event_opts = EventOptions(timing_enabled=True) + start_event = device.create_event(options=event_opts) + end_event = device.create_event(options=event_opts) + + # Benchmark global atomics + stream.record(start_event) + for _ in range(num_iterations): + hist_gpu.fill(0) + launch( + stream, + config, + kernel_global, + data_gpu.data.ptr, + hist_gpu.data.ptr, + np.int32(n), + ) + stream.record(end_event) + end_event.sync() + time_global = (end_event - start_event) / num_iterations + + # Benchmark privatized + stream.record(start_event) + for _ in range(num_iterations): + hist_gpu.fill(0) + launch( + stream, + config, + kernel_privatized, + data_gpu.data.ptr, + hist_gpu.data.ptr, + np.int32(n), + ) + stream.record(end_event) + end_event.sync() + time_privatized = (end_event - start_event) / num_iterations + + print(f" Global atomics: {time_global:.3f} ms") + print(f" Privatized atomics: {time_privatized:.3f} ms") + print(f" Speedup: {time_global / time_privatized:.1f}x") + + print("\nTest PASSED") + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/parallelHistogram/requirements.txt b/samples/cuda_core/parallelHistogram/requirements.txt new file mode 100644 index 00000000000..7f6d06ebac9 --- /dev/null +++ b/samples/cuda_core/parallelHistogram/requirements.txt @@ -0,0 +1,7 @@ +# Parallel Histogram with Atomics Sample Requirements +# Requires Python 3.10+, CUDA Toolkit 13.0+ + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +numpy>=2.3.2 +cupy-cuda13x>=14.0.0 diff --git a/samples/cuda_core/parallelReduction/README.md b/samples/cuda_core/parallelReduction/README.md new file mode 100644 index 00000000000..7ca010f245f --- /dev/null +++ b/samples/cuda_core/parallelReduction/README.md @@ -0,0 +1,119 @@ +# Sample: Parallel Reduction (Python) + +## Description + +Efficiently sum a large array on GPU using parallel reduction. This sample demonstrates: +1. **Custom CUDA kernel** showing reduction tree pattern and synchronization +2. **cuda.compute.reduce_into()** for production-ready reduction + +## What You'll Learn + +- **Reduction tree pattern**: Divide-and-conquer parallel algorithm +- **Thread synchronization**: Using `__syncthreads()` for coordination +- **Avoiding warp divergence**: Sequential thread IDs vs strided IDs + +## Key Concepts + +### Reduction Tree Pattern + +Parallel reduction uses a tree-based approach where each iteration halves active elements: + +``` +Initial: [a0, a1, a2, a3, a4, a5, a6, a7] +Step 1: [a0+a4, a1+a5, a2+a6, a3+a7] threads 0-3 active +Step 2: [a0+a2+a4+a6, a1+a3+a5+a7] threads 0-1 active +Step 3: [sum of all] thread 0 only +``` + +This requires only `log2(N)` steps to reduce N elements. + +### Avoiding Warp Divergence + +```c +// Good: Sequential thread IDs (warps stay coherent) +if (tid < s) { + sdata[tid] += sdata[tid + s]; +} + +// Bad: Strided IDs (causes warp divergence) +if (tid % (2 * s) == 0) { // Don't do this! + sdata[tid] += sdata[tid + s]; +} +``` + +## Requirements + +### Hardware + +- NVIDIA GPU with CUDA support + +### Software + +- CUDA Toolkit 13.0+ +- Python 3.10+ +- `cuda-python` (13.0.0+) +- `cuda-core` (>=1.0.0) +- `cuda-cccl` (1.0.0+) +- `cupy-cuda13x` (>=14.0.0) +- `numpy` (>=2.3.2) + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python parallelReduction.py +``` + +## Expected Output + +``` +====================================================================== +Parallel Reduction - Efficient GPU Array Summation +====================================================================== + +Device: +Compute Capability: + +Array size: 1,048,576 elements (4.2 MB) +Expected sum: + +Compiling custom CUDA kernel... + +====================================================================== +PART 1: Custom Kernel (Educational) +====================================================================== + +Reduction tree kernel: +Expected: +Error: +Time: ms + +====================================================================== +PART 2: cuda.compute.reduce_into() (Production) +====================================================================== + +cuda.compute result: +Expected: +Error: +Time: ms + +Test PASSED! +``` + +Note: Exact values vary due to random input data. `cuda.compute.reduce_into()` is typically faster than the custom kernel because it calls CUB's `DeviceReduce`, which uses highly tuned, architecture‑specific kernels and optimized memory access patterns. + +## Files + +- `parallelReduction.py` - Custom kernel + cuda.compute comparison +- `README.md` - This documentation +- `requirements.txt` - Python dependencies + +## See Also + +- [Mark Harris - Optimizing Parallel Reduction in CUDA](https://developer.download.nvidia.com/assets/cuda/files/reduction.pdf) +- [cuda.core Documentation](https://nvidia.github.io/cuda-python/cuda-core/latest/) diff --git a/samples/cuda_core/parallelReduction/parallelReduction.py b/samples/cuda_core/parallelReduction/parallelReduction.py new file mode 100644 index 00000000000..32b0f19f1d7 --- /dev/null +++ b/samples/cuda_core/parallelReduction/parallelReduction.py @@ -0,0 +1,375 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cuda-cccl>=1.0.0", "cupy-cuda13x>=14.0.0", "numpy>=2.3.2"] +# /// + +""" +Parallel Reduction using cuda.core and cuda.compute + +Demonstrates efficient parallel summation of large arrays on GPU: +1. Custom CUDA kernel showing reduction tree pattern and synchronization +2. cuda.compute.reduce_into() for production-ready reduction + +Key Concepts: +- Reduction tree pattern: Divide-and-conquer parallel algorithm +- Thread synchronization: Using __syncthreads() for coordination +- Sequential thread IDs: How to avoid warp divergence +- cuda.core Stream integration with CuPy via Stream.from_external +""" + +import math +import sys +from pathlib import Path + +# Add Utilities to path +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + +try: + import cupy as cp + import numpy as np + from cuda_samples_utils import print_gpu_info, verify_array_result + + from cuda.compute import OpKind, reduce_into + from cuda.core import ( + Device, + Kernel, + LaunchConfig, + Program, + ProgramOptions, + Stream, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +# ============================================================================= +# CUDA Kernel: Parallel Reduction (optimized - no warp divergence) +# ============================================================================= +REDUCTION_KERNEL: str = r""" +extern "C" __global__ +void reduce_sum(const float* __restrict__ input, + float* __restrict__ output, int n) { + /* + * Parallel reduction using grid-stride loop (canonical pattern) and + * sequential thread IDs for the reduction tree (avoids warp divergence). + * + * Grid-stride loop: each thread processes multiple elements + * for (i = tid; i < n; i += gridDim.x * blockDim.x) + * + * Reduction tree: sequential addressing keeps warps coherent. + */ + extern __shared__ float sdata[]; + + unsigned int tid = threadIdx.x; + unsigned int grid_stride = (unsigned int)gridDim.x * blockDim.x; + + float sum = 0.0f; + for (unsigned int i = blockIdx.x * blockDim.x + threadIdx.x; i < n; + i += grid_stride) { + sum += input[i]; + } + sdata[tid] = sum; + __syncthreads(); + + // Reduction in shared memory (sequential addressing - no divergence) + for (unsigned int s = blockDim.x / 2; s > 0; s >>= 1) { + if (tid < s) { + sdata[tid] += sdata[tid + s]; + } + __syncthreads(); // Wait for all threads before next iteration + } + + // Thread 0 writes block result + if (tid == 0) { + output[blockIdx.x] = sdata[0]; + } +} +""" + + +def compile_kernel(device: Device) -> Kernel: + """Compile the reduction kernel for the given device.""" + arch = f"sm_{device.arch}" + options = ProgramOptions(arch=arch) + program = Program(REDUCTION_KERNEL, code_type="c++", options=options) + return program.compile(target_type="cubin").get_kernel("reduce_sum") + + +def reduction_stage_output_counts(n: int, block_size: int) -> list[int]: + """Lengths of intermediate arrays for each multi-launch reduction stage.""" + counts: list[int] = [] + while n > 1: + num_blocks = math.ceil(n / block_size) + counts.append(num_blocks) + n = num_blocks + return counts + + +def reduce_custom( + stream: Stream, + kernel: Kernel, + d_input: cp.ndarray, + block_size: int = 256, + sync: bool = True, + work_buffers: list[cp.ndarray] | None = None, +) -> float | cp.ndarray: + """ + Perform parallel reduction using custom CUDA kernel. + + Uses multiple kernel launches to reduce array to single value. + Each launch reduces by factor of block_size. + + When sync=True (default), syncs and returns the scalar result. + When sync=False, returns the 1-element array without syncing; + caller must sync before reading (avoids host overhead in benchmarks). + + work_buffers: optional list of device arrays, one per stage, with length + at least each stage's output count (from ``reduction_stage_output_counts``). + When provided, avoids per-call allocation (e.g. for benchmarking). + """ + n = len(d_input) + current = d_input + stage = 0 + + if work_buffers is not None: + expected_counts = reduction_stage_output_counts(n, block_size) + if len(work_buffers) != len(expected_counts): + msg = f"work_buffers length {len(work_buffers)} != {len(expected_counts)} stages" + raise ValueError(msg) + + while n > 1: + num_blocks = math.ceil(n / block_size) + if work_buffers is not None: + d_output = work_buffers[stage] + if d_output.size < num_blocks: + msg = f"work_buffers[{stage}] size {d_output.size} < {num_blocks}" + raise ValueError(msg) + if d_output.size != num_blocks: + d_output = d_output[:num_blocks] + else: + d_output = cp.empty(num_blocks, dtype=cp.float32) + + config = LaunchConfig( + grid=(num_blocks, 1, 1), + block=(block_size, 1, 1), + shmem_size=block_size * 4, # float = 4 bytes + ) + + launch( + stream, + config, + kernel, + current.data.ptr, + d_output.data.ptr, + np.int32(n), + ) + + current = d_output + n = num_blocks + stage += 1 + + if sync: + stream.sync() + return float(current[0]) + return current + + +def benchmark_custom( + stream: Stream, + kernel: Kernel, + d_input: cp.ndarray, + num_runs: int = 10, + block_size: int = 256, +) -> tuple[float, float]: + """Benchmark custom reduction kernel using cuda.core events.""" + stage_counts = reduction_stage_output_counts(len(d_input), block_size) + work_buffers = [cp.empty(c, dtype=cp.float32) for c in stage_counts] + + # Warmup run (with sync to get valid result) + _ = reduce_custom(stream, kernel, d_input, block_size=block_size, work_buffers=work_buffers) + + event_opts = {"timing_enabled": True} + start_event = stream.device.create_event(options=event_opts) + end_event = stream.device.create_event(options=event_opts) + + times: list[float] = [] + result = 0.0 + + for _ in range(num_runs): + stream.record(start_event) + d_result = reduce_custom( + stream, + kernel, + d_input, + block_size=block_size, + sync=False, + work_buffers=work_buffers, + ) + stream.record(end_event) + end_event.sync() + result = float(d_result[0]) + + times.append(end_event - start_event) + + return result, float(np.mean(times)) + + +def benchmark_cuda_compute( + stream: Stream, + d_input: cp.ndarray, + num_runs: int = 10, +) -> tuple[float, float]: + """Benchmark cuda.compute.reduce_into() using cuda.core events.""" + h_init = np.array([0.0], dtype=np.float32) + + # Warmup (includes JIT compilation) + d_warmup = cp.empty(1, dtype=cp.float32) + reduce_into( + d_in=d_input, + d_out=d_warmup, + op=OpKind.PLUS, + num_items=len(d_input), + h_init=h_init, + stream=stream, + ) + stream.sync() + + d_output = cp.empty(1, dtype=cp.float32) + event_opts = {"timing_enabled": True} + start_event = stream.device.create_event(options=event_opts) + end_event = stream.device.create_event(options=event_opts) + + times: list[float] = [] + result = 0.0 + + for _ in range(num_runs): + stream.record(start_event) + reduce_into( + d_in=d_input, + d_out=d_output, + op=OpKind.PLUS, + num_items=len(d_input), + h_init=h_init, + stream=stream, + ) + stream.record(end_event) + end_event.sync() + + result = float(d_output[0]) + times.append(end_event - start_event) + + return result, float(np.mean(times)) + + +def main() -> bool: + """Main function demonstrating parallel reduction.""" + print("=" * 70) + print("Parallel Reduction - Efficient GPU Array Summation") + print("=" * 70) + + device = Device(0) + device.set_current() + stream = device.create_stream() + cp_stream = cp.cuda.Stream.from_external(stream) + + print() + print_gpu_info(device) + + array_size = 1 << 20 # 1M elements + h_input = np.random.rand(array_size).astype(np.float32) + expected_sum = float(np.sum(h_input)) + + print(f"\nArray size: {array_size:,} elements ({array_size * 4 / 1e6:.1f} MB)") + print(f"Expected sum: {expected_sum:.6f}") + + print("\nCompiling custom CUDA kernel...") + kernel = compile_kernel(device) + + try: + with cp_stream: + d_input = cp.asarray(h_input) + + # ====================================================================== + # Part 1: Custom Kernel + # ====================================================================== + print("\n" + "=" * 70) + print("PART 1: Custom Kernel (Educational)") + print("=" * 70) + + result, time_ms = benchmark_custom(stream, kernel, d_input) + + print(f"\nReduction tree kernel: {result:>14.2f}") + print(f"Expected: {expected_sum:>14.2f}") + print(f"Time: {time_ms:>14.3f} ms") + + # ====================================================================== + # Part 2: cuda.compute (Production) + # ====================================================================== + print("\n" + "=" * 70) + print("PART 2: cuda.compute.reduce_into() (Production)") + print("=" * 70) + + result_cc, time_cc = benchmark_cuda_compute(stream, d_input) + + print(f"\ncuda.compute result: {result_cc:>14.2f}") + print(f"Expected: {expected_sum:>14.2f}") + print(f"Time: {time_cc:>14.3f} ms") + + # Verify both results using principled rtol/atol + with cp_stream: + d_expected = cp.array([expected_sum], dtype=cp.float32) + custom_ok = verify_array_result( + cp.array([result], dtype=cp.float32), + d_expected, + rtol=1e-5, + atol=1e-8, + verbose=False, + ) + compute_ok = verify_array_result( + cp.array([result_cc], dtype=cp.float32), + d_expected, + rtol=1e-5, + atol=1e-8, + verbose=False, + ) + if custom_ok and compute_ok: + print("\nTest PASSED!") + return True + else: + print("\nTest FAILED - Error too large!") + return False + finally: + stream.close() + + +if __name__ == "__main__": + sys.exit(0 if main() else 1) diff --git a/samples/cuda_core/parallelReduction/requirements.txt b/samples/cuda_core/parallelReduction/requirements.txt new file mode 100644 index 00000000000..a3acd886536 --- /dev/null +++ b/samples/cuda_core/parallelReduction/requirements.txt @@ -0,0 +1,7 @@ +# Parallel Reduction Sample Requirements + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cuda-cccl>=1.0.0 +cupy-cuda13x>=14.0.0 +numpy>=2.3.2 diff --git a/samples/cuda_core/prefixSum/README.md b/samples/cuda_core/prefixSum/README.md new file mode 100644 index 00000000000..6542dbf36ec --- /dev/null +++ b/samples/cuda_core/prefixSum/README.md @@ -0,0 +1,83 @@ +# Prefix Sum (Scan) + +Demonstrates parallel prefix sum (scan) algorithms using cuda.compute with cuda.core stream management. + +## Overview + +- Inclusive scan: `output[i] = [init_value] + input[0] + input[1] + ... + input[i]` +- Exclusive scan: `output[i] = init_value + input[0] + input[1] + ... + input[i-1]` +- Uses cuda.compute APIs for optimized CUB-based implementations +- Uses cuda.core APIs for device and stream management +- Demonstrates CuPy integration via `Stream.from_external` + +## Requirements + +### Hardware + +- NVIDIA GPU with CUDA support + +### Software + +- CUDA Toolkit 13.0+ +- Python 3.10+ +- `cuda-python` (13.0.0+) +- `cuda-core` (>=1.0.0) +- `cuda-cccl` (1.0.0+) +- `cupy-cuda13x` (14.0.0+) +- `numpy` (>=2.3.2) + +## Usage + +```bash +# Create and activate virtual environment +python -m venv venv +source venv/bin/activate # Linux/macOS +# venv\Scripts\activate # Windows + +# Install dependencies +pip install -r requirements.txt + +# Run sample +python prefixSum.py +``` + +## Key Concepts + +| Scan Type | Formula | First Element | +|-----------|---------|---------------| +| Inclusive | `output[i] = [init_value] + Σ input[0..i]` | `[init_value] + input[0]` | +| Exclusive | `output[i] = init_value + Σ input[0..i-1]` | `init_value` (typically `0`, the identity for sum) | + +### Stream Management + +This sample demonstrates proper stream usage across libraries: + +```python +# Create stream with cuda.core +stream = device.create_stream() + +# Wrap for CuPy compatibility (cuda.core Stream implements the __cuda_stream__ protocol) +cp_stream = cp.cuda.Stream.from_external(stream) + +# Use with CuPy operations +with cp_stream: + d_input = cp.asarray(data) + d_output = cp.empty_like(d_input) + +# Pass to cuda.compute +inclusive_scan( + d_in=d_input, + d_out=d_output, + op=OpKind.PLUS, + init_value=None, + num_items=len(d_input), + stream=stream, +) +``` + +## Applications + +- Stream compaction +- Radix sort +- Histogram computation +- Polynomial evaluation diff --git a/samples/cuda_core/prefixSum/prefixSum.py b/samples/cuda_core/prefixSum/prefixSum.py new file mode 100644 index 00000000000..a1ba73e3b97 --- /dev/null +++ b/samples/cuda_core/prefixSum/prefixSum.py @@ -0,0 +1,202 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cuda-cccl>=1.0.0", "cupy-cuda13x>=14.0.0", "numpy>=2.3.2"] +# /// + +""" +Prefix Sum (Scan) + +Demonstrates parallel prefix sum algorithms using cuda.compute: +- Inclusive scan: output[i] = [init_value] + input[0] + ... + input[i] +- Exclusive scan: output[i] = init_value + input[0] + ... + input[i-1] + +Uses cuda.compute APIs for optimized CUB-based scan operations. +Uses cuda.core APIs for device and stream management. +""" + +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + +try: + import cupy as cp + import numpy as np + from cuda_samples_utils import print_gpu_info, verify_array_result + + from cuda.compute import OpKind, exclusive_scan, inclusive_scan + from cuda.core import Device, EventOptions +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +def main() -> bool: + """Run prefix sum sample. Returns True if all tests passed.""" + print("=" * 60) + print("Prefix Sum (Scan) - Using cuda.compute") + print("=" * 60) + + device = Device(0) + device.set_current() + stream = device.create_stream() + cp_stream = cp.cuda.Stream.from_external(stream) + + ok = True + try: + print() + print_gpu_info(device) + + h_input = np.array([3, 1, 4, 1, 5, 9, 2, 6], dtype=np.int32) + init_value = np.array([0], dtype=np.int32) + + # ========================================================================= + # Inclusive Scan + # ========================================================================= + print("\n" + "-" * 60) + print("INCLUSIVE SCAN") + print("-" * 60) + print("Formula: output[i] = [init_value] + input[0] + input[1] + ... + input[i]") + + with cp_stream: + d_input = cp.asarray(h_input) + d_output = cp.empty_like(d_input) + + print(f"\nInput: {h_input.tolist()}") + + inclusive_scan( + d_in=d_input, + d_out=d_output, + op=OpKind.PLUS, + init_value=None, + num_items=len(h_input), + stream=stream, + ) + stream.sync() + print(f"Output: {cp.asnumpy(d_output).tolist()}") + + with cp_stream: + expected = cp.asarray(np.cumsum(h_input)) + ok &= verify_array_result(d_output, expected, rtol=0, atol=0) + + # ========================================================================= + # Exclusive Scan + # ========================================================================= + print("\n" + "-" * 60) + print("EXCLUSIVE SCAN") + print("-" * 60) + print("Formula: output[i] = init_value + input[0] + ... + input[i-1]") + + with cp_stream: + d_output = cp.empty_like(d_input) + + print(f"\nInput: {h_input.tolist()}") + + exclusive_scan( + d_in=d_input, + d_out=d_output, + op=OpKind.PLUS, + init_value=init_value, + num_items=len(h_input), + stream=stream, + ) + stream.sync() + print(f"Output: {cp.asnumpy(d_output).tolist()}") + + with cp_stream: + expected = cp.asarray(np.concatenate([init_value, np.cumsum(h_input)[:-1]])) + ok &= verify_array_result(d_output, expected, rtol=0, atol=0) + + # ========================================================================= + # Large Array Performance + # ========================================================================= + print("\n" + "-" * 60) + print("PERFORMANCE (10M elements)") + print("-" * 60) + + N = 10_000_000 + with cp_stream: + d_large_in = cp.ones(N, dtype=np.int32) + d_large_out = cp.empty_like(d_large_in) + + inclusive_scan( + d_in=d_large_in, + d_out=d_large_out, + op=OpKind.PLUS, + init_value=None, + num_items=N, + stream=stream, + ) + stream.sync() + + event_opts = EventOptions(timing_enabled=True) + start_event = device.create_event(options=event_opts) + end_event = device.create_event(options=event_opts) + + num_iterations = 10 + stream.record(start_event) + for _ in range(num_iterations): + inclusive_scan( + d_in=d_large_in, + d_out=d_large_out, + op=OpKind.PLUS, + init_value=None, + num_items=N, + stream=stream, + ) + stream.record(end_event) + end_event.sync() + elapsed_ms = (end_event - start_event) / num_iterations + + print(f"Inclusive scan: {elapsed_ms:.3f} ms") + print(f"Throughput: {N / elapsed_ms / 1e6:.1f} M elements/ms") + + # ========================================================================= + # Summary + # ========================================================================= + print("\n" + "=" * 60) + print("KEY CONCEPTS") + print("=" * 60) + print("• Inclusive: output[i] includes input[i]") + print("• Exclusive: output[i] excludes input[i], starts with init_value") + print("• cuda.compute provides CUB-based optimized implementations") + print("• cuda.core Stream integrates with CuPy via Stream.from_external") + print("• Applications: stream compaction, radix sort, histograms") + print("=" * 60) + return ok + finally: + cp.cuda.Stream.null.use() + stream.close() + + +if __name__ == "__main__": + success = main() + if not success: + sys.exit(1) diff --git a/samples/cuda_core/prefixSum/requirements.txt b/samples/cuda_core/prefixSum/requirements.txt new file mode 100644 index 00000000000..b05c5375317 --- /dev/null +++ b/samples/cuda_core/prefixSum/requirements.txt @@ -0,0 +1,8 @@ +# Prefix Sum Sample Requirements +# Requires Python 3.10+, CUDA Toolkit 13.0+ + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cuda-cccl>=1.0.0 +cupy-cuda13x>=14.0.0 +numpy>=2.3.2 diff --git a/samples/cuda_core/processCheckpoint/README.md b/samples/cuda_core/processCheckpoint/README.md new file mode 100644 index 00000000000..621e172f3ed --- /dev/null +++ b/samples/cuda_core/processCheckpoint/README.md @@ -0,0 +1,209 @@ +# processCheckpoint (Python) + +## Description + +This sample demonstrates how to use the **CUDA process checkpoint API** +via `cuda.core.checkpoint.Process` to suspend, capture, and restore the +CUDA state of a running Linux process. + +CUDA process checkpointing is the driver-level primitive that powers +CRIU + `cuda-checkpoint` integration. + +The sample: + +1. Allocates a GPU buffer and fills it with a deterministic pattern + via a small kernel. +2. Reads the buffer back to host and computes a SHA-256 hash. +3. Runs the full checkpoint lifecycle on its own process: + `lock → checkpoint → restore → unlock`. +4. Reads the buffer back again and verifies that the hash is + unchanged, proving that GPU memory contents survived the round + trip. + +The sample prints the CUDA process state after each step so the +full state machine is visible: + +``` + lock() checkpoint() restore() unlock() +running ---------> locked ------------> checkpointed -----------> locked ---------> running +``` + +## What You'll Learn + +- Creating a `cuda.core.checkpoint.Process` for the current process + by PID and observing its `.state` transitions. +- Running the full `lock → checkpoint → restore → unlock` cycle with + a lock timeout. +- The fact that `restore()` leaves the process in the `locked` state; + you must still call `unlock()` to return to `running`. +- Verifying that GPU memory is preserved across the checkpoint + round-trip by comparing SHA-256 hashes of the buffer before and + after. +- The rough cost of each step (checkpoint and restore dominate and + scale with the device-memory footprint being captured). + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) + - device management, memory allocation, kernel compilation and + launch, and the `checkpoint.Process` wrapper. +- [`cuda.bindings`](https://nvidia.github.io/cuda-python/cuda-bindings/latest/) + - used directly for a pageable `cuMemcpyDtoH`. + +## Key APIs + +### From `cuda.core.checkpoint` + +- `checkpoint.Process(pid)` - create a handle to a CUDA process by + PID. Accepts `os.getpid()` for the self-checkpoint case shown + here. +- `Process.state` - one of `"running"`, `"locked"`, `"checkpointed"`, + or `"failed"`. +- `Process.lock(timeout_ms=…)` - block further CUDA API calls on the + process; completes already-submitted work. Always pass a non-zero + timeout to avoid deadlocks. +- `Process.checkpoint()` - copy device memory to host-side driver + allocations and release GPU resources. Process state becomes + `checkpointed`. +- `Process.restore(gpu_mapping=None)` - re-acquire GPU resources and + copy memory back to device. Leaves the process in the `locked` + state. +- `Process.unlock()` - return the process to `running`. +- `Process.restore_thread_id` - thread ID that `restore()` must be + called from in the target process (not used in the self-checkpoint + case here). + +### From `cuda.core` + +- `Device.set_current()` / `Device.memory_resource.allocate(...)` / + `Stream`, `LaunchConfig`, `Program`, `launch` - standard device, + compile, and launch primitives used to produce the buffer + contents. + +### From `cuda.bindings.driver` + +- `cuMemcpyDtoH(host_ptr, device_handle, nbytes)` - synchronous D2H + copy into a pageable host buffer. + +## Requirements + +### Hardware + +- Any NVIDIA GPU supported by CUDA process checkpointing. CUDA + checkpointing is currently limited to x86-64 Linux. + +### Software + +- Linux (the CUDA checkpoint API is Linux-only). +- NVIDIA driver with CUDA process checkpoint support. +- CUDA Toolkit 13.0 or newer. +- Python 3.10 or newer. +- `cuda-core >= 1.0.0`. + +On non-Linux platforms and integrated GPUs, the sample prints a diagnostic +and waives without attempting the checkpoint lifecycle. + +## Installation + +Install the required packages from `requirements.txt`: + +```bash +cd /path/to/cuda-python/samples/cuda_core/processCheckpoint +pip install -r requirements.txt +``` + +## How to Run + +### Basic usage + +```bash +python processCheckpoint.py +``` + +### Larger GPU footprint to see checkpoint time scale + +```bash +python processCheckpoint.py --buffer-mib 512 +``` + +### Use a specific GPU + +```bash +python processCheckpoint.py --device 1 +``` + +### All options + +``` +--device CUDA device ID (default: 0) +--buffer-mib GPU buffer size in MiB (default: 16) +--lock-timeout-ms Timeout passed to Process.lock in ms (default: 5000) +``` + +## Expected Output + +On an RTX 4090 with a 16 MiB buffer: + +``` +[Process Checkpoint Sample using CUDA Core API] +PID: 748330 +Device: NVIDIA GeForce RTX 4090 +Compute Capability: sm_89 +Buffer size: 16 MiB +Lock timeout: 5000 ms + +Compiling kernel ... +Writing deterministic pattern to GPU buffer ... +Buffer hash (before): b045f7975dc23352 + +Running checkpoint lifecycle on self ... + +step duration (ms) state after +-------------------------------------------------- +initial - running +lock 0.578 locked +checkpoint 268.369 checkpointed +restore 235.024 locked +unlock 1.648 running +-------------------------------------------------- +total 505.618 + +Buffer hash (before): b045f7975dc23352 +Buffer hash (after): b045f7975dc23352 + +PASS: GPU buffer contents survived checkpoint/restore. + +Done +``` + +**What to look for:** + +- The **four state transitions** are all observable: `running → +locked → checkpointed → locked → running`. Note that `restore()` + leaves the process in `locked`, not `running`. +- The **checkpoint and restore steps dominate** the wall-clock time + (hundreds of ms even for a small buffer) - they copy GPU memory to + and from driver-managed host allocations. Increasing + `--buffer-mib` visibly increases the checkpoint time. +- The `lock` and `unlock` steps are essentially free (sub-ms) - they + just flip the process state. +- The SHA-256 **hashes before and after match**, proving the GPU + memory contents survived the round trip. + +Exact timings vary with GPU model, driver version, system load, and +the size of the device memory footprint being captured. + +## Files + +- `processCheckpoint.py` - Python implementation using `cuda.core.checkpoint` +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`NVIDIA/cuda-checkpoint`](https://github.com/NVIDIA/cuda-checkpoint) + - the CUDA checkpoint/restore utility, the CRIU plugin, and C + reference programs (`r570-features.c`, `r580-migration-api.c`). +- [Checkpointing CUDA Applications with CRIU](https://developer.nvidia.com/blog/checkpointing-cuda-applications-with-criu/) + - NVIDIA technical blog post on the broader CRIU workflow. diff --git a/samples/cuda_core/processCheckpoint/processCheckpoint.py b/samples/cuda_core/processCheckpoint/processCheckpoint.py new file mode 100644 index 00000000000..06d180bf3f3 --- /dev/null +++ b/samples/cuda_core/processCheckpoint/processCheckpoint.py @@ -0,0 +1,265 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS `AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0,<13.3.0", "cuda-core>=1.0.0", "numpy>=2.3.2"] +# /// + +""" +Process Checkpointing Sample using CUDA Core API. + +The sample allocates a GPU buffer, fills it with a deterministic +pattern via a kernel, hashes the contents, runs the full +lock/checkpoint/restore/unlock cycle on its own PID, and re-hashes +the buffer afterwards to verify that the GPU memory contents +survived the round trip. +""" + +import argparse +import hashlib +import os +import sys +import time +from dataclasses import dataclass +from typing import List + +import numpy as np + +from cuda.bindings import driver as cudrv +from cuda.core import ( + Device, + LaunchConfig, + Program, + ProgramOptions, + checkpoint, + launch, +) + +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) + +# Small fill kernel: deterministic, non-trivial pattern so the before/after +# hashes would disagree on any bit flip. +KERNEL_SRC = r""" +extern "C" __global__ void fill_pattern(float *out, unsigned long long n) +{ + unsigned long long i = (unsigned long long)blockIdx.x * blockDim.x + threadIdx.x; + + if (i < n) { + float v = (float)(i & 0xFFFFu) * 1e-3f + 1.0f; + float u = (float)((i >> 16) & 0xFFFFu) * 1e-4f + 0.5f; + // A handful of dependent ops per element. Deterministic given i. + for (int k = 0; k < 8; ++k) { + v = v * 1.000001f + u; + u = u * 0.999999f + v * 1e-6f; + } + out[i] = v + u; + } +} +""" + + +@dataclass +class StepTiming: + label: str + duration_ms: float + state_after: str + + +def _cu_check(result) -> None: + err = result[0] + if int(err) != 0: + raise RuntimeError(f"CUDA driver call failed: {err}") + + +def compile_fill_kernel(device: Device): + options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") + program = Program(KERNEL_SRC, code_type="c++", options=options) + module = program.compile("cubin", name_expressions=("fill_pattern",)) + return module.get_kernel("fill_pattern") + + +def hash_device_buffer(device_buffer, host: np.ndarray) -> str: + _cu_check( + cudrv.cuMemcpyDtoH( + host.ctypes.data, + device_buffer.handle, + host.nbytes, + ) + ) + return hashlib.sha256(host.tobytes()).hexdigest()[:16] + + +def _time_call(fn, *args, **kwargs) -> float: + t0 = time.monotonic() + fn(*args, **kwargs) + return (time.monotonic() - t0) * 1000.0 + + +def run_lifecycle(proc: checkpoint.Process, lock_timeout_ms: int) -> List[StepTiming]: + """ + Drive the full `lock -> checkpoint -> restore -> unlock` cycle on + `proc` and return per-step timings with the state observed after + each step. + + Note on state after `restore()`: the driver leaves the process in + the `locked` state. You must still call `unlock()` to return to + `running`. + """ + timings: List[StepTiming] = [StepTiming("initial", 0.0, proc.state)] + + ms = _time_call(proc.lock, timeout_ms=lock_timeout_ms) + timings.append(StepTiming("lock", ms, proc.state)) + + ms = _time_call(proc.checkpoint) + timings.append(StepTiming("checkpoint", ms, proc.state)) + + ms = _time_call(proc.restore) + timings.append(StepTiming("restore", ms, proc.state)) + + ms = _time_call(proc.unlock) + timings.append(StepTiming("unlock", ms, proc.state)) + + return timings + + +def print_timings(timings: List[StepTiming]) -> None: + print() + header = f"{'step':<14}{'duration (ms)':>18}{'state after':>18}" + print(header) + print("-" * len(header)) + total = 0.0 + for t in timings: + if t.label == "initial": + dur = "-" + else: + dur = f"{t.duration_ms:.3f}" + total += t.duration_ms + print(f"{t.label:<14}{dur:>18}{t.state_after:>18}") + print("-" * len(header)) + print(f"{'total':<14}{total:>18.3f}{'':>18}") + + +def main(): + parser = argparse.ArgumentParser( + description="CUDA process checkpoint sample using cuda.core", + formatter_class=argparse.RawDescriptionHelpFormatter, + ) + parser.add_argument("--device", type=int, default=0, help="CUDA device ID (default: 0)") + parser.add_argument( + "--buffer-mib", + type=int, + default=16, + help="GPU buffer size in MiB (default: 16)", + ) + parser.add_argument( + "--lock-timeout-ms", + type=int, + default=5000, + help="Timeout passed to Process.lock in ms (default: 5000)", + ) + args = parser.parse_args() + + if sys.platform != "linux": + print("CUDA process checkpointing is Linux-only; waiving this sample.") + return EXIT_WAIVED + + if args.buffer_mib <= 0: + print("Error: --buffer-mib must be positive") + return 1 + + print("[Process Checkpoint Sample using CUDA Core API]") + print(f"PID: {os.getpid()}") + + device = Device(args.device) + device.set_current() + print(f"Device: {device.name}") + print(f"Compute Capability: sm_{device.arch}") + print(f"Buffer size: {args.buffer_mib} MiB") + print(f"Lock timeout: {args.lock_timeout_ms} ms") + + # CUDA process checkpointing relies on kernel-mode driver features + # that aren't shipped on integrated-GPU platforms (e.g. Tegra / + # Jetson / Thor). On those, Process.lock() can hang indefinitely + # instead of returning a clean "not supported" error. Skip cleanly + # rather than hanging. Remove this guard once integrated platforms + # gain checkpoint support. + if device.properties.integrated: + print( + f"CUDA process checkpointing is not supported on integrated GPUs (sm_{device.arch}), waiving this sample." + ) + return EXIT_WAIVED + + print() + print("Compiling kernel ...") + fill_kernel = compile_fill_kernel(device) + + buffer_bytes = args.buffer_mib * 1024 * 1024 + n_elements = buffer_bytes // 4 # float32 + + stream = device.create_stream() + device_buffer = device.memory_resource.allocate(buffer_bytes, stream=stream) + try: + print("Writing deterministic pattern to GPU buffer ...") + block = 256 + grid = (n_elements + block - 1) // block + cfg = LaunchConfig(grid=grid, block=block) + launch(stream, cfg, fill_kernel, device_buffer, np.uint64(n_elements)) + stream.sync() + + host = np.empty(n_elements, dtype=np.float32) + + hash_before = hash_device_buffer(device_buffer, host) + print(f"Buffer hash (before): {hash_before}") + + print() + print("Running checkpoint lifecycle on self ...") + proc = checkpoint.Process(os.getpid()) + timings = run_lifecycle(proc, args.lock_timeout_ms) + print_timings(timings) + + hash_after = hash_device_buffer(device_buffer, host) + + print() + print(f"Buffer hash (before): {hash_before}") + print(f"Buffer hash (after): {hash_after}") + + if hash_before != hash_after: + print() + print("FAIL: GPU buffer contents changed across checkpoint/restore.") + return 1 + + print() + print("PASS: GPU buffer contents survived checkpoint/restore.") + finally: + device_buffer.close(stream) + + print() + print("Done") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/processCheckpoint/requirements.txt b/samples/cuda_core/processCheckpoint/requirements.txt new file mode 100644 index 00000000000..a0605400b31 --- /dev/null +++ b/samples/cuda_core/processCheckpoint/requirements.txt @@ -0,0 +1,4 @@ +# cuda-bindings 13.3.0 drops the CUcheckpointRestoreArgs alias that cuda-core requires +cuda-python>=13.0.0,<13.3.0 +cuda-core>=1.0.0 +numpy>=2.3.2 diff --git a/samples/cuda_core/reduction/README.md b/samples/cuda_core/reduction/README.md new file mode 100644 index 00000000000..0f2a0056ea9 --- /dev/null +++ b/samples/cuda_core/reduction/README.md @@ -0,0 +1,137 @@ +# Sample: Fast Array Sum using Shared Memory (Python) + +## Description + +Two-stage parallel reduction: each GPU block sums its chunk in **shared memory** (tree reduction, two elements per thread), writes one partial sum per block; the host combines partial sums for the final result. + +**Stack:** `cuda-core` for `Device`, stream, events, `Program` / `launch()`. **CuPy** allocates device memory and copies; `launch()` takes device pointers as `ndarray.data.ptr` (Python `int`). Copies run on the same CUDA stream as the kernel via `cp.cuda.Stream.from_external(stream)` (cuda.core `Stream` implements the CUDA stream protocol) and `with cp_stream:`. + +## What you will learn + +- Shared-memory block reduction and sequential-addressing tree reduction +- `LaunchConfig` with dynamic shared memory and `launch()` with pointer arguments +- Aligning CuPy transfers with a `cuda.core` stream (`Stream.from_external`) +- GPU timing with `EventOptions` / `device.create_event()` + +## Key libraries + +| Library | Role | +|------------|------| +| `cuda-core`| Device, stream, events, compile, launch | +| `cupy` | `cp.empty`, `cp.asarray`, `cp.asnumpy`, `Stream.from_external` | +| `numpy` | Host data and CPU reference sum | + +## Key APIs (quick reference) + +- **cuda.core:** `Device`, `create_stream`, `Program` / `ProgramOptions`, `LaunchConfig`, `launch`, `EventOptions`, `create_event` +- **CuPy:** `cp.empty`, `cp.asarray`, `cp.cuda.Stream.from_external(stream)`, `with cp_stream:`, `cp.asnumpy` + +## Requirements + +- NVIDIA GPU, CUDA-capable driver; **CUDA Toolkit 13+** (for toolchain alignment with `cuda-core`) +- **Python 3.10+** + +```bash +pip install -r requirements.txt +``` + +## How to run + +```bash +python reduction.py +``` + +Defaults: 2²⁴ elements, 256 threads/block, `float`, 100 benchmark iterations. + +**Change data type** (selects `blockReduceKernel_int` / `_float` / `_double`): + +```bash +python reduction.py --type float # default; 32-bit float +python reduction.py --type double # 64-bit float +python reduction.py --type int # 32-bit integer (exact equality check) +``` + +Combine with other flags as needed, e.g. `python reduction.py --type int --n 1048576`. + +Other main flags: `--n`, `--threads`, `--iterations`. Full list: `python reduction.py --help`. + +## Output + +Example run (`python reduction.py`, defaults) on **Tesla T10**, compute capability **7.5**: + +``` +====================================================================== +Fast Array Sum using Shared Memory - Two-Stage Reduction +====================================================================== + +Demonstrates: Efficient parallel reduction using shared memory + +Device Information: + Name: Tesla T10 + Compute Capability: sm_7.5 + +Configuration: + Array size: 16,777,216 elements + Data type: float + Memory: 64.00 MB + Threads per block: 256 + +Two-Stage Reduction Strategy: + Stage 1: GPU block reduction + - Number of blocks: 32768 + - Elements per block: 512 + - Output: 32768 partial sums + Stage 2: CPU final reduction + - Combine 32768 partial sums -> 1 final result + +Compiling CUDA kernel... + Kernel 'blockReduceKernel_float' compiled successfully + +> Generating random input data... +> Computing reference result on CPU... + CPU time: 2.428208 seconds + +> Warming up GPU... + Warm-up completed + +> Benchmarking Stage 1 (GPU block reduction)... + Running 100 iterations... + +> Running Stage 2 (CPU final reduction)... + +====================================================================== +Performance Results +====================================================================== + +Stage 1 (GPU block reduction): + Average time: 0.338404 ms + Throughput: 198.31 GB/s + +Stage 2 (CPU final reduction): + Time: 0.078073 ms + (32768 partial sums) + +Total time: 0.416477 ms +Speedup vs CPU: 5830.35x + +> Validating results... + GPU result: 2147639808.00000000 + CPU result: 2147639929.62027407 +Test PASSED + +====================================================================== +Summary +====================================================================== +Key optimizations: + - Load 2 elements per thread: 8,388,608 global reads (50% savings) + - Shared memory for reduction: ~10-20x faster than global memory + - Parallel block outputs: 32768 independent writes +Result: 198.31 GB/s throughput +====================================================================== +Two-Stage Reduction completed successfully! +====================================================================== +``` + +## Files + +`reduction.py` · `requirements.txt` · `README.md` diff --git a/samples/cuda_core/reduction/reduction.py b/samples/cuda_core/reduction/reduction.py new file mode 100644 index 00000000000..5903bb8a4c6 --- /dev/null +++ b/samples/cuda_core/reduction/reduction.py @@ -0,0 +1,480 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# distribution and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["numpy>=2.3.2", "cuda-core>=1.0.0", "cuda-python>=13.0.0", "cupy-cuda13x>=14.0.0"] +# /// + +""" +Fast Array Sum using Shared Memory - Two-Stage Reduction + +Demonstrates efficient parallel reduction using shared memory and +two-stage approach to avoid atomic operation bottlenecks. + +Key Features: +- Block-level reduction using shared memory +- Each thread loads 2 elements to reduce global memory traffic +- Sequential addressing tree reduction pattern +- No atomic operations - eliminates serialization bottleneck +- Device memory via CuPy; ``launch()`` takes pointers as ``ndarray.data.ptr`` +- CuPy uses ``cp.cuda.Stream.from_external(stream)``. +""" + +import argparse +import os +import sys +import time + +try: + import cupy as cp + import numpy as np + + from cuda.core import ( + Device, + EventOptions, + LaunchConfig, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install dependencies:") + print(" pip install -r requirements.txt") + sys.exit(1) + +# Import utilities +sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "Utilities")) +from cuda_samples_utils import verify_array_result + +# Two-stage block reduction kernel +REDUCTION_KERNEL = """ +/* + * Block-level reduction kernel using shared memory + * + * Strategy: + * - Each block processes blockSize * 2 elements + * - Uses shared memory for fast intra-block reduction + * - Outputs one partial sum per block (no atomics) + * + * Key optimizations: + * - Load 2 elements per thread (reduces global memory traffic by 50%) + * - Tree reduction with sequential addressing (avoids divergence) + * - Shared memory instead of atomic operations (eliminates bottleneck) + * + * Note: This sample provides separate implementations for each data type + * for clarity. Production code typically uses templates with SharedMemory + * or reinterpret_cast to avoid duplication. See NVIDIA reduction guide for + * template-based approaches. + */ + +extern "C" __global__ void blockReduceKernel_int( + const int *__restrict__ input, + int *__restrict__ blockSums, + unsigned int n) +{ + extern __shared__ int sdata_int[]; + + unsigned int tid = threadIdx.x; + unsigned int blockSize = blockDim.x; + unsigned int gid = blockIdx.x * (blockSize * 2) + tid; + + // Load 2 elements per thread + int sum = 0; + if (gid < n) sum += input[gid]; + if (gid + blockSize < n) sum += input[gid + blockSize]; + + sdata_int[tid] = sum; + __syncthreads(); + + // Tree reduction with sequential addressing + for (unsigned int s = blockSize / 2; s > 0; s >>= 1) { + if (tid < s) { + sdata_int[tid] += sdata_int[tid + s]; + } + __syncthreads(); + } + + // Write block result + if (tid == 0) { + blockSums[blockIdx.x] = sdata_int[0]; + } +} + +extern "C" __global__ void blockReduceKernel_float( + const float *__restrict__ input, + float *__restrict__ blockSums, + unsigned int n) +{ + extern __shared__ float sdata_float[]; + + unsigned int tid = threadIdx.x; + unsigned int blockSize = blockDim.x; + unsigned int gid = blockIdx.x * (blockSize * 2) + tid; + + // Load 2 elements per thread + float sum = 0.0f; + if (gid < n) sum += input[gid]; + if (gid + blockSize < n) sum += input[gid + blockSize]; + + sdata_float[tid] = sum; + __syncthreads(); + + // Tree reduction with sequential addressing + for (unsigned int s = blockSize / 2; s > 0; s >>= 1) { + if (tid < s) { + sdata_float[tid] += sdata_float[tid + s]; + } + __syncthreads(); + } + + // Write block result + if (tid == 0) { + blockSums[blockIdx.x] = sdata_float[0]; + } +} + +extern "C" __global__ void blockReduceKernel_double( + const double *__restrict__ input, + double *__restrict__ blockSums, + unsigned int n) +{ + extern __shared__ double sdata_double[]; + + unsigned int tid = threadIdx.x; + unsigned int blockSize = blockDim.x; + unsigned int gid = blockIdx.x * (blockSize * 2) + tid; + + // Load 2 elements per thread + double sum = 0.0; + if (gid < n) sum += input[gid]; + if (gid + blockSize < n) sum += input[gid + blockSize]; + + sdata_double[tid] = sum; + __syncthreads(); + + // Tree reduction with sequential addressing + for (unsigned int s = blockSize / 2; s > 0; s >>= 1) { + if (tid < s) { + sdata_double[tid] += sdata_double[tid + s]; + } + __syncthreads(); + } + + // Write block result + if (tid == 0) { + blockSums[blockIdx.x] = sdata_double[0]; + } +} +""" + + +def reduce_cpu(data): + """Compute sum using Kahan summation for numerical accuracy.""" + if len(data) == 0: + return 0 + + sum_val = float(data[0]) + c = 0.0 + + for i in range(1, len(data)): + y = float(data[i]) - c + t = sum_val + y + c = (t - sum_val) - y + sum_val = t + + return sum_val + + +def _validate_threads_per_block(threads_per_block): + if threads_per_block <= 0 or threads_per_block > 1024: + return "threads per block must be between 1 and 1024" + if (threads_per_block & (threads_per_block - 1)) != 0: + return "threads per block must be a power of 2 (required by the shared-memory tree reduction kernel)" + return None + + +def run(num_elements=1 << 24, threads_per_block=256, test_iterations=100, datatype="float"): + """Run two-stage reduction benchmark.""" + + print("\n" + "=" * 70) + print("Fast Array Sum using Shared Memory - Two-Stage Reduction") + print("=" * 70) + print("\nDemonstrates: Efficient parallel reduction using shared memory") + + # Map datatype + dtype_map = {"int": np.int32, "float": np.float32, "double": np.float64} + if datatype not in dtype_map: + print(f"Unknown datatype '{datatype}', using 'float'") + datatype = "float" + dtype = dtype_map[datatype] + itemsize = np.dtype(dtype).itemsize + + # Initialize device + device = Device() + device.set_current() + major, minor = device.compute_capability + + print("\nDevice Information:") + print(f" Name: {device.name}") + print(f" Compute Capability: sm_{major}.{minor}") + + # Configuration + print("\nConfiguration:") + print(f" Array size: {num_elements:,} elements") + print(f" Data type: {datatype}") + print(f" Memory: {num_elements * itemsize / (1024**2):.2f} MB") + print(f" Threads per block: {threads_per_block}") + + # Calculate number of blocks + # Each block processes threads_per_block * 2 elements + num_blocks = (num_elements + threads_per_block * 2 - 1) // (threads_per_block * 2) + + print("\nTwo-Stage Reduction Strategy:") + print(" Stage 1: GPU block reduction") + print(f" - Number of blocks: {num_blocks}") + print(f" - Elements per block: {threads_per_block * 2}") + print(f" - Output: {num_blocks} partial sums") + print(" Stage 2: CPU final reduction") + print(f" - Combine {num_blocks} partial sums -> 1 final result") + + # Compile kernel + print("\nCompiling CUDA kernel...") + program_options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") + prog = Program(REDUCTION_KERNEL, code_type="c++", options=program_options) + mod = prog.compile("cubin") + kernel_name = f"blockReduceKernel_{datatype}" + kernel = mod.get_kernel(kernel_name) + print(f" Kernel '{kernel_name}' compiled successfully") + + # Generate input data + print("\n> Generating random input data...") + rng = np.random.default_rng(42) + if datatype == "int": + h_input = rng.integers(0, 256, size=num_elements, dtype=dtype) + else: + h_input = (rng.random(num_elements) * 256).astype(dtype) + + # cuda.core stream for launch/events; CuPy copies use the same stream via + # Stream.from_external. + stream = device.create_stream() + cp_stream = cp.cuda.Stream.from_external(stream) + try: + d_blockSums = cp.empty(num_blocks, dtype=dtype) + with cp_stream: + d_input = cp.asarray(h_input, dtype=dtype) + stream.sync() + + # Compute CPU reference + print("> Computing reference result on CPU...") + cpu_start = time.perf_counter() + cpu_result = reduce_cpu(h_input) + cpu_time = time.perf_counter() - cpu_start + print(f" CPU time: {cpu_time:.6f} seconds") + + # Configure launch + shared_mem_bytes = threads_per_block * itemsize + config = LaunchConfig(grid=num_blocks, block=threads_per_block, shmem_size=shared_mem_bytes) + + # Warm-up + print("\n> Warming up GPU...") + launch( + stream, + config, + kernel, + d_input.data.ptr, + d_blockSums.data.ptr, + np.uint32(num_elements), + ) + stream.sync() + print(" Warm-up completed") + + # Benchmark Stage 1 (GPU) + print("\n> Benchmarking Stage 1 (GPU block reduction)...") + print(f" Running {test_iterations} iterations...") + + # cuda.core event elapsed time (end - start) is in milliseconds (CUDA API). + stage1_times_ms = [] + event_options = EventOptions(timing_enabled=True) + start_event = stream.device.create_event(options=event_options) + end_event = stream.device.create_event(options=event_options) + for _ in range(test_iterations): + stream.record(start_event) + launch( + stream, + config, + kernel, + d_input.data.ptr, + d_blockSums.data.ptr, + np.uint32(num_elements), + ) + stream.record(end_event) + end_event.sync() + stage1_times_ms.append(float(end_event - start_event)) + + avg_stage1_ms = np.mean(stage1_times_ms) + avg_stage1_s = avg_stage1_ms / 1000.0 + + # Stage 2 (CPU) + print("\n> Running Stage 2 (CPU final reduction)...") + # Device -> Host: after stream sync, partial sums are visible on host. + stream.sync() + with cp_stream: + h_blockSums = cp.asnumpy(d_blockSums) + stage2_start = time.perf_counter() + gpu_result = float(np.sum(h_blockSums)) + stage2_time = time.perf_counter() - stage2_start + + total_time = avg_stage1_s + stage2_time + + # Performance metrics (use seconds for throughput; CPU times are in seconds) + bytes_processed = num_elements * itemsize + throughput = bytes_processed / avg_stage1_s / 1e9 + + print("\n" + "=" * 70) + print("Performance Results") + print("=" * 70) + print("\nStage 1 (GPU block reduction):") + print(f" Average time: {avg_stage1_ms:.6f} ms") + print(f" Throughput: {throughput:.2f} GB/s") + print("\nStage 2 (CPU final reduction):") + print(f" Time: {stage2_time * 1000:.6f} ms") + print(f" ({num_blocks} partial sums)") + print(f"\nTotal time: {total_time * 1000:.6f} ms") + print(f"Speedup vs CPU: {cpu_time / total_time:.2f}x") + + # Validation + print("\n> Validating results...") + if datatype == "int": + print(f" GPU result: {int(gpu_result):,}") + print(f" CPU result: {int(cpu_result):,}") + rtol, atol = 0.0, 0.0 + else: + precision = 8 if datatype == "float" else 12 + print(f" GPU result: {gpu_result:.{precision}f}") + print(f" CPU result: {cpu_result:.{precision}f}") + if datatype == "float": + rtol, atol = 1e-5, 1e-8 * num_elements + else: # double + rtol, atol = 1e-8, 1e-12 * num_elements + + success = verify_array_result( + np.array([gpu_result]), + np.array([cpu_result]), + rtol=rtol, + atol=atol, + verbose=True, + ) + + # Summary + print("\n" + "=" * 70) + print("Summary") + print("=" * 70) + print("Key optimizations:") + half_reads = num_elements // 2 + print(f" - Load 2 elements per thread: {half_reads:,} global reads (50% savings)") + print(" - Shared memory for reduction: ~10-20x faster than global memory") + print(f" - Parallel block outputs: {num_blocks} independent writes") + print(f"Result: {throughput:.2f} GB/s throughput") + + print("=" * 70) + if success: + print("Two-Stage Reduction completed successfully!") + else: + print("Two-Stage Reduction FAILED!") + print("=" * 70 + "\n") + + return 0 if success else 1 + finally: + stream.close() + + +def main(): + """Main entry point with argument parsing.""" + parser = argparse.ArgumentParser( + description="Two-Stage Reduction with Shared Memory", + epilog="See README.md for usage examples and detailed documentation.", + ) + + parser.add_argument( + "--n", + type=int, + default=1 << 24, + help="Number of elements to reduce (default: 16777216 = 2^24)", + ) + + parser.add_argument( + "--threads", + type=int, + default=256, + help="Threads per block, power of 2 in [1, 1024] (default: 256)", + ) + + parser.add_argument( + "--type", + type=str, + default="float", + choices=["int", "float", "double"], + help="Data type for reduction (default: float)", + ) + + parser.add_argument( + "--iterations", + type=int, + default=100, + help="Number of benchmark iterations (default: 100)", + ) + + args = parser.parse_args() + + # Validate arguments + if args.n <= 0: + print("Error: n must be positive") + return 1 + + err = _validate_threads_per_block(args.threads) + if err: + print(f"Error: {err}") + return 1 + + try: + exit_code = run( + num_elements=args.n, + threads_per_block=args.threads, + test_iterations=args.iterations, + datatype=args.type, + ) + sys.exit(exit_code) + except Exception as e: + print(f"\nError: {e}") + import traceback + + traceback.print_exc() + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/reduction/requirements.txt b/samples/cuda_core/reduction/requirements.txt new file mode 100644 index 00000000000..84a6b40aef6 --- /dev/null +++ b/samples/cuda_core/reduction/requirements.txt @@ -0,0 +1,8 @@ +# Python CUDA Reduction Sample Requirements +# Install with: pip install -r requirements.txt + +numpy>=2.3.2 +cuda-core>=1.0.0 +cuda-python>=13.0.0 +# Use cupy-cuda13x>=14.0.0 for cp.cuda.Stream.from_external(stream) +cupy-cuda13x>=14.0.0 diff --git a/samples/cuda_core/reductionMultiBlockCG/README.md b/samples/cuda_core/reductionMultiBlockCG/README.md new file mode 100644 index 00000000000..825e3506621 --- /dev/null +++ b/samples/cuda_core/reductionMultiBlockCG/README.md @@ -0,0 +1,140 @@ +# Sample: Single-Pass Multi-Block Reduction with Cooperative Groups (Python) + +## Description + +Single-kernel, two-stage reduction using **Cooperative Groups** and `grid.sync()` so all blocks synchronize inside one launch—no second kernel or CPU stage for the reduction tree. + +**Stack:** `cuda-core` (device, compile, cooperative `launch()`, stream, **CUDA events** for GPU timing). **CuPy** for H↔D copies on the same stream (`Stream.from_external(cuda.core_stream)`, `ndarray.data.ptr` to `launch()`). **`try`/`finally`** closes the stream if cooperative launch fails. Requires **compute capability > 6.0** (Pascal+). + +## What you will learn + +- `cooperative_groups::grid_group` and `grid.sync()` across the grid +- Cooperative `LaunchConfig(..., cooperative_launch=True)` and sizing blocks for residency +- Timing the GPU path with `EventOptions` / `stream.record()` / event elapsed time + +## Key libraries + +| Library | Role | +|---------|------| +| `cuda-core` | Device, stream, events, `Program` / `ProgramOptions`, cooperative `launch()` | +| `cupy` | `cp.empty`, `cp.asarray`, `cp.asnumpy`, `Stream.from_external` | +| `numpy` | Host data, reference sum, `default_rng` | + +## Requirements + +- NVIDIA GPU, **Pascal or newer**; **CUDA Toolkit 13+**; **Python 3.10+** +- NVRTC must see **`cooperative_groups.h`** and **CCCL** headers (`cuda/std/*`) + +```bash +pip install -r requirements.txt +``` + +Pick a CuPy wheel that matches your CUDA major version (e.g. `cupy-cuda13x` in `requirements.txt`). + +## How to run + +**`--cuda-include-dir` is required.** Multiple paths can be combined using the +OS path separator (`:` on Linux/macOS, `;` on Windows). + +Linux / macOS: + +```bash +python reductionMultiBlockCG.py \ + --cuda-include-dir /usr/local/cuda/include/cccl:/usr/local/cuda/include +``` + +Windows (PowerShell or cmd, note the `;` separator and quotes around the +combined value): + +```powershell +python reductionMultiBlockCG.py ` + --cuda-include-dir "$env:CUDA_PATH\include;$env:CUDA_PATH\include\cccl" +``` + +**Jetson / split include trees:** pass every directory NVRTC needs in one `--cuda-include-dir` argument, e.g. +`/usr/local/cuda/include/cccl:/usr/local/cuda/targets/sbsa-linux/include` (adjust paths to your image). If headers are scattered, you can instead merge them into one tree with symlinks and point `--cuda-include-dir` at that folder. + +Defaults: **2²⁵** elements, threads = device max (capped at 1024), auto `--maxblocks`, **100** iterations. Other flags: `--n`, `--threads`, `--maxblocks`, `--iterations`. See **`python reductionMultiBlockCG.py --help`**. + +## Output + +``` +====================================================================== +Single-Pass Multi-Block Reduction with Cooperative Groups +====================================================================== + +Demonstrates: Multi-stage reduction in a single kernel using grid.sync() + +Device Information: + Name: NVIDIA Thor + Compute Capability: sm_11.0 + +Reduction Configuration: + Number of elements: 33,554,432 + Data size: 128.00 MB + +Compiling CUDA kernel... + Kernel compiled successfully + +Launch Configuration: + Threads per block: 1024 + Number of blocks: 20 + Total threads: 20,480 + Shared memory per block: 4096 bytes + Launch mode: Cooperative (grid-wide sync enabled) + +> Generating random input data... +> Computing reference result on CPU... + CPU time: 0.008903 seconds + +> Warming up GPU... + Warm-up successful + +> Running benchmark (100 iterations)... + +> Performance Results: + Average GPU time: 0.977166 ms + Throughput: 137.35 GB/s + Speedup vs CPU: 9.11x + +> Validating results... +Test PASSED + +====================================================================== +Summary +====================================================================== + +Single-kernel two-stage reduction: + Stage 1: 20 blocks -> 20 partial sums + grid.sync() <- All blocks synchronize (KEY innovation) + Stage 2: Block 0 -> 1 final result + Total: 1 kernel launch, 137.35 GB/s + +Comparison: + • Traditional: 2 kernel launches or kernel + CPU + • This sample: 1 kernel with grid.sync() between stages + • Benefit: Eliminates ~5-20us launch overhead per stage + +====================================================================== +Single-Pass Multi-Block Reduction completed successfully! +====================================================================== +``` + +## Troubleshooting (short) + +- **Cooperative launch not supported / fails:** need sm_60+; reduce `--maxblocks` or `--threads` so all blocks can be resident. +- **Compile errors missing headers:** extend `--cuda-include-dir` with the path that contains CCCL / cooperative groups (see Jetson note above). +- **Low throughput:** often block count vs occupancy; try defaults first, then tune `--threads` / `--maxblocks`. + +## Related samples + +**blockArraySum** (atomics + grid-stride) → **reduction** (two-stage shared memory) → **this sample** (single kernel + `grid.sync()`). + +## Further reading + +- [CUDA Cooperative Groups](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#cooperative-groups) +- [Reduction whitepaper (PDF)](https://developer.download.nvidia.com/assets/cuda/files/reduction.pdf) + +## Files + +`reductionMultiBlockCG.py` · `requirements.txt` · `README.md` diff --git a/samples/cuda_core/reductionMultiBlockCG/reductionMultiBlockCG.py b/samples/cuda_core/reductionMultiBlockCG/reductionMultiBlockCG.py new file mode 100644 index 00000000000..03e79f951d7 --- /dev/null +++ b/samples/cuda_core/reductionMultiBlockCG/reductionMultiBlockCG.py @@ -0,0 +1,465 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# distribution and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["numpy>=2.3.2", "cuda-core>=1.0.0", "cuda-python>=13.0.0", "cuda-cccl>=1.0.0", "cupy-cuda13x>=14.0.0"] +# /// + +""" +Single-Pass Multi-Block Reduction with Cooperative Groups + +Demonstrates single-kernel multi-stage reduction using grid-wide +synchronization. Traditional reduction needs multiple kernel launches, +but with grid.sync() from Cooperative Groups, we can complete all +stages in ONE kernel. + +Key Features: +- Grid-wide synchronization with grid.sync() +- Two-stage reduction in a single kernel (no atomic operations) +- Requires compute capability 6.0+ and cooperative launch +- Achieves 400-700 GB/s on modern GPUs + +How it differs from other samples: +- blockArraySum.py: Basic thread/block indexing + atomicAdd +- reduction.py: High-performance shared memory, two-kernel approach +- This sample: Single-kernel multi-stage with grid.sync() + +Transfers use CuPy on the same CUDA stream as ``launch()`` (``Stream.from_external``), +not ``cuda.bindings.driver`` memcpy. GPU timing uses CUDA events. +""" + +import argparse +import os +import sys +import time + +try: + import cupy as cp + import numpy as np + + from cuda.core import ( + Device, + EventOptions, + LaunchConfig, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install dependencies:") + print(" pip install -r requirements.txt") + sys.exit(1) + +# Import utilities +utilities_path = os.path.join(os.path.dirname(__file__), "..", "Utilities") +sys.path.insert(0, utilities_path) +from cuda_samples_utils import verify_array_result + + +def _validate_threads_arg(threads): + if threads is None: + return None + if threads <= 0 or threads > 1024: + return "threads must be between 1 and 1024" + if (threads & (threads - 1)) != 0: + return "threads must be a power of 2 (required by the shared-memory tree reduction kernel)" + return None + + +# Single-pass multi-block reduction kernel with grid-wide sync +REDUCTION_KERNEL = """ +/* + * Single-Kernel Multi-Stage Reduction using grid.sync() + * + * Strategy: + * Stage 1: Each block reduces its portion → partial sum + * grid.sync() ← KEY: All blocks synchronize + * Stage 2: Block 0 reduces all partial sums → final result + * + * Key feature: grid.sync() enables multi-stage within ONE kernel + */ + +#include + +namespace cg = cooperative_groups; +extern "C" __global__ void reduceSinglePassMultiBlockCG( + const float *__restrict__ g_idata, + float *__restrict__ g_odata, + unsigned int n) +{ + cg::thread_block cta = cg::this_thread_block(); + cg::grid_group grid = cg::this_grid(); + extern __shared__ float sdata[]; + + unsigned int tid = threadIdx.x; + unsigned int blockSize = blockDim.x; + + // Stage 1: Grid-stride loop + block reduction + float sum = 0.0f; + for (unsigned int i = grid.thread_rank(); i < n; i += grid.size()) { + sum += g_idata[i]; + } + + sdata[tid] = sum; + cg::sync(cta); + + // Block reduction (sequential addressing) + for (unsigned int s = blockSize / 2; s > 0; s >>= 1) { + if (tid < s) { + sdata[tid] += sdata[tid + s]; + } + cg::sync(cta); + } + + if (tid == 0) { + g_odata[blockIdx.x] = sdata[0]; + } + + // KEY: Grid-wide synchronization (all blocks wait here) + grid.sync(); + + // Stage 2: Block 0 reduces all partial sums → final result + // Use a stride loop so all gridDim.x partial sums are covered even + // when gridDim.x > blockDim.x. + if (blockIdx.x == 0) { + // mySum stays 0.0f when tid >= gridDim.x (loop never executes), + // implicitly zero-filling sdata for threads beyond the partial-sum count. + float mySum = 0.0f; + for (unsigned int i = tid; i < gridDim.x; i += blockSize) { + mySum += g_odata[i]; + } + sdata[tid] = mySum; + cg::sync(cta); + + for (unsigned int s = blockSize / 2; s > 0; s >>= 1) { + if (tid < s) { + sdata[tid] += sdata[tid + s]; + } + cg::sync(cta); + } + + if (tid == 0) { + g_odata[0] = sdata[0]; + } + } +} +""" + + +def get_max_cooperative_blocks(device, _kernel, threads_per_block, _shared_mem_bytes): + """ + Calculate max blocks for cooperative launch (all must be resident). + + This is a conservative estimate that ignores kernel/shared-memory limits; + for precise tuning, use cudaOccupancyMaxActiveBlocksPerMultiprocessor. + The kernel and shared_mem_bytes parameters are accepted (and underscore- + prefixed) so the call signature mirrors that helper for readability. + """ + # Get device properties + prop = device.properties + + # Calculate maximum blocks per SM + # Note: We use cudaOccupancyMaxActiveBlocksPerMultiprocessor functionality + # For simplicity in Python, we'll use a conservative estimate + num_sms = prop.multiprocessor_count + max_threads_per_sm = prop.max_threads_per_multiprocessor + max_blocks_per_sm = max_threads_per_sm // threads_per_block + + # Total blocks = blocks per SM × number of SMs + max_blocks = max_blocks_per_sm * num_sms + + # Also respect max_grid_dim_x + max_blocks = min(max_blocks, prop.max_grid_dim_x) + + return max_blocks + + +def run( + num_elements=1 << 25, + max_threads=None, + max_blocks=None, + test_iterations=100, + cuda_include_dir=None, +): + """Run single-pass multi-block reduction benchmark.""" + + if cuda_include_dir is None: + raise ValueError("cuda_include_dir is required") + + print("\n" + "=" * 70) + print("Single-Pass Multi-Block Reduction with Cooperative Groups") + print("=" * 70) + msg = "Multi-stage reduction in a single kernel using grid.sync()" + print(f"\nDemonstrates: {msg}") + + # Initialize device + device = Device() + device.set_current() + major, minor = device.compute_capability + + print("\nDevice Information:") + print(f" Name: {device.name}") + print(f" Compute Capability: sm_{major}.{minor}") + + # Get device properties for configuration + prop = device.properties + + # Determine threads per block + if max_threads is None: + max_threads = prop.max_threads_per_block + threads_per_block = min(max_threads, 1024) + + # Define data type and itemsize + itemsize = np.dtype(np.float32).itemsize + + print("\nReduction Configuration:") + print(f" Number of elements: {num_elements:,}") + print(f" Data size: {num_elements * itemsize / (1024**2):.2f} MB") + + # Compile kernel + print("\nCompiling CUDA kernel...") + # Support multiple include paths separated by the OS path separator + # (':' on POSIX, ';' on Windows). os.pathsep avoids splitting Windows + # drive prefixes like "C:\..." by accident. + include_paths = cuda_include_dir.split(os.pathsep) + program_options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}", include_path=include_paths) + prog = Program(REDUCTION_KERNEL, code_type="c++", options=program_options) + mod = prog.compile("cubin") + kernel = mod.get_kernel("reduceSinglePassMultiBlockCG") + print(" Kernel compiled successfully") + + # Calculate blocks for cooperative launch + shared_mem_bytes = threads_per_block * itemsize + + if max_blocks is None: + max_blocks = get_max_cooperative_blocks(device, kernel, threads_per_block, shared_mem_bytes) + + # Calculate optimal blocks (all must be resident) + num_blocks = min(max_blocks, (num_elements + threads_per_block - 1) // threads_per_block) + + print("\nLaunch Configuration:") + print(f" Threads per block: {threads_per_block}") + print(f" Number of blocks: {num_blocks}") + print(f" Total threads: {num_blocks * threads_per_block:,}") + print(f" Shared memory per block: {shared_mem_bytes} bytes") + print(" Launch mode: Cooperative (grid-wide sync enabled)") + + # Generate random input data + print("\n> Generating random input data...") + rng = np.random.default_rng(42) + h_idata = (rng.random(num_elements) * 256).astype(np.float32) + + stream = device.create_stream() + cp_stream = cp.cuda.Stream.from_external(stream) + try: + d_odata = cp.empty(num_blocks, dtype=np.float32) + with cp_stream: + d_idata = cp.asarray(h_idata, dtype=np.float32) + stream.sync() + + # Compute CPU reference + print("> Computing reference result on CPU...") + cpu_start = time.perf_counter() + cpu_result = float(np.sum(h_idata)) + cpu_time = time.perf_counter() - cpu_start + print(f" CPU time: {cpu_time:.6f} seconds") + + # Warm-up + print("\n> Warming up GPU...") + + launch_config = LaunchConfig( + grid=(num_blocks, 1, 1), + block=(threads_per_block, 1, 1), + shmem_size=shared_mem_bytes, + is_cooperative=True, + ) + + n_u32 = np.uint32(num_elements) + ptr_in = d_idata.data.ptr + ptr_out = d_odata.data.ptr + + try: + launch(stream, launch_config, kernel, ptr_in, ptr_out, n_u32) + except Exception as e: + print(f" Cooperative launch failed: {e}") + return 1 + + stream.sync() + print(" Warm-up successful") + + # Benchmark (CUDA events — not host wall clock around the whole loop) + print(f"\n> Running benchmark ({test_iterations} iterations)...") + event_options = EventOptions(timing_enabled=True) + start_event = stream.device.create_event(options=event_options) + end_event = stream.device.create_event(options=event_options) + # cuda.core event elapsed time (end - start) is in milliseconds (CUDA API). + gpu_times_ms = [] + for _ in range(test_iterations): + try: + stream.record(start_event) + launch(stream, launch_config, kernel, ptr_in, ptr_out, n_u32) + stream.record(end_event) + end_event.sync() + gpu_times_ms.append(float(end_event - start_event)) + except Exception as e: + print(f"Benchmark iteration failed: {e}") + return 1 + + avg_gpu_ms = float(np.mean(gpu_times_ms)) + avg_gpu_s = avg_gpu_ms / 1000.0 + + stream.sync() + with cp_stream: + h_result = cp.asnumpy(d_odata[:1]) + gpu_result = float(h_result[0]) + + # Performance metrics use seconds for throughput and speedup. + # CPU time is already in seconds. + bytes_processed = num_elements * 4 + throughput_gb_s = bytes_processed / avg_gpu_s / 1e9 + + print("\n> Performance Results:") + print(f" Average GPU time: {avg_gpu_ms:.6f} ms") + print(f" Throughput: {throughput_gb_s:.2f} GB/s") + print(f" Speedup vs CPU: {cpu_time / avg_gpu_s:.2f}x") + + # Validate results + print("\n> Validating results...") + success = verify_array_result( + np.array([gpu_result]), + np.array([cpu_result]), + rtol=1e-5, + atol=1e-5, + ) + + # Summary + print("\n" + "=" * 70) + print("Summary") + print("=" * 70) + print(f""" +Single-kernel two-stage reduction: + Stage 1: {num_blocks} blocks -> {num_blocks} partial sums + grid.sync() <- All blocks synchronize (KEY innovation) + Stage 2: Block 0 -> 1 final result + Total: 1 kernel launch, {throughput_gb_s:.2f} GB/s + +Comparison: + • Traditional: 2 kernel launches or kernel + CPU + • This sample: 1 kernel with grid.sync() between stages + • Benefit: Eliminates ~5-20us launch overhead per stage + """) + + print("=" * 70) + if success: + print("Single-Pass Multi-Block Reduction completed successfully!") + else: + print("Single-Pass Multi-Block Reduction FAILED!") + print("=" * 70 + "\n") + + return 0 if success else 1 + finally: + stream.close() + + +def main(): + """Main entry point with argument parsing.""" + parser = argparse.ArgumentParser(description="Single-Pass Multi-Block Reduction with Cooperative Groups") + + parser.add_argument( + "--n", + type=int, + default=1 << 25, + help="Number of elements to reduce (default: 33554432 = 2^25)", + ) + + parser.add_argument( + "--threads", + type=int, + default=None, + help=("Threads per block, power of 2 in [1, 1024]; default: device maximum (typically 1024)"), + ) + + parser.add_argument( + "--maxblocks", + type=int, + default=None, + help=("Maximum number of blocks (default: auto-calculated for cooperative launch)"), + ) + + parser.add_argument( + "--iterations", + type=int, + default=100, + help="Number of benchmark iterations (default: 100)", + ) + + parser.add_argument( + "--cuda-include-dir", + type=str, + required=True, + help=( + "CUDA include directory for NVRTC. " + "Use os.pathsep to separate multiple paths " + "(':' on POSIX, ';' on Windows)." + ), + ) + + args = parser.parse_args() + + # Validate arguments + if args.n <= 0: + print("Error: n must be positive") + return 1 + + err_threads = _validate_threads_arg(args.threads) + if err_threads: + print(f"Error: {err_threads}") + return 1 + + if args.maxblocks is not None and args.maxblocks <= 0: + print("Error: maxblocks must be positive") + return 1 + + try: + exit_code = run( + num_elements=args.n, + max_threads=args.threads, + max_blocks=args.maxblocks, + test_iterations=args.iterations, + cuda_include_dir=args.cuda_include_dir, + ) + sys.exit(exit_code) + except Exception as e: + print(f"\nError: {e}") + import traceback + + traceback.print_exc() + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/reductionMultiBlockCG/requirements.txt b/samples/cuda_core/reductionMultiBlockCG/requirements.txt new file mode 100644 index 00000000000..6d8c89fed04 --- /dev/null +++ b/samples/cuda_core/reductionMultiBlockCG/requirements.txt @@ -0,0 +1,10 @@ +# Python Multi-Block Cooperative Reduction Sample Requirements +# Install with: pip install -r requirements.txt + +numpy>=2.3.2 +cuda-core>=1.0.0 +cuda-python>=13.0.0 +# Headers for NVRTC: cooperative_groups.h includes cuda/std/* (CCCL) +cuda-cccl>=1.0.0 +# Use cupy-cuda13x>=14.0.0 for cp.cuda.Stream.from_external(stream) +cupy-cuda13x>=14.0.0 diff --git a/samples/cuda_core/simpleMultiGpu/README.md b/samples/cuda_core/simpleMultiGpu/README.md new file mode 100644 index 00000000000..523c14689db --- /dev/null +++ b/samples/cuda_core/simpleMultiGpu/README.md @@ -0,0 +1,102 @@ +# Sample: Simple Multi-GPU (Python) + +## Description + +Compile and launch two different kernels on two GPUs concurrently using +`cuda.core`. Each GPU has its own `Program`, `Stream`, and CuPy-allocated +buffers. There is no peer-to-peer access, no MPI, and no host-side +communication between the two GPUs beyond starting and waiting for them. + +- GPU 0 computes `c = a + b` (float32). +- GPU 1 computes `z = x - y` (float32). + +The sample also demonstrates the **`StreamAdaptor`** idiom for bridging a +foreign stream (CuPy's current stream) into `cuda.core`. That lets us make +our `cuda.core` stream wait on the stream that CuPy used to initialize the +input buffers, so the kernels see fully-materialized data. + +## What You'll Learn + +- Managing multiple `Device` contexts in the same Python process +- Compiling one `Program` per device +- Building an ad-hoc `StreamAdaptor` that implements `__cuda_stream__` to + bridge CuPy's current stream into `cuda.core` +- Ordering `cuda.core` work against a foreign stream via `Stream.wait()` +- Running independent kernel launches concurrently on two GPUs + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - Pythonic access to CUDA runtime, programs, and streams +- `cupy` - GPU array library used for buffer allocation and result verification + +## Key APIs + +### From `cuda.core` + +- `system.get_num_devices()` - count of visible CUDA devices +- `Device(device_id)` / `Device.set_current()` - select and activate a device +- `Device.create_stream()` - create a `cuda.core` stream on the current device +- `Device.create_stream(adaptor)` - wrap a foreign stream via the `__cuda_stream__` protocol +- `Stream.wait(other_stream)` - order this stream after another stream +- `Program`, `ProgramOptions`, `LaunchConfig`, `launch` - standard compile / launch flow + +### From CuPy + +- `cp.cuda.get_current_stream()` - the CuPy stream that owns recent allocations +- `cp.random.default_rng().random(...)` - GPU random buffers on the current device + +## Requirements + +### Hardware + +- **At least 2 CUDA-capable devices** in the system. The sample waives + itself when only one GPU is visible. +- Compute Capability 7.0 or higher on both devices. + +### Software + +- CUDA Toolkit 13.0 or newer (matches `cuda-python` 13.x) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python simpleMultiGpu.py +``` + +The sample has no CLI arguments; it always uses device 0 and device 1. + +## Expected Output + +``` +GPU 0: vector_add on 50000 elements verified +GPU 1: vector_sub on 50000 elements verified +Done +``` + +On single-GPU systems the sample waives: + +``` +This sample requires at least 2 CUDA-capable devices (found 1). Waiving. +``` + +## Files + +- `simpleMultiGpu.py` - Python implementation using `cuda.core` +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.core` API](https://nvidia.github.io/cuda-python/cuda-core/latest/) +- [CuPy Documentation](https://docs.cupy.dev/) diff --git a/samples/cuda_core/simpleMultiGpu/requirements.txt b/samples/cuda_core/simpleMultiGpu/requirements.txt new file mode 100644 index 00000000000..b7f6c1cb39e --- /dev/null +++ b/samples/cuda_core/simpleMultiGpu/requirements.txt @@ -0,0 +1,6 @@ +# simpleMultiGpu Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 diff --git a/samples/cuda_core/simpleMultiGpu/simpleMultiGpu.py b/samples/cuda_core/simpleMultiGpu/simpleMultiGpu.py new file mode 100644 index 00000000000..490e8b76633 --- /dev/null +++ b/samples/cuda_core/simpleMultiGpu/simpleMultiGpu.py @@ -0,0 +1,198 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0"] +# /// + +""" +Independent Multi-GPU launches with cuda.core + +Compile and launch different kernels on two GPUs concurrently, each running +against its own CuPy-allocated buffers and its own ``cuda.core.Stream``. + +The sample does not use MPI, peer-to-peer, or any inter-GPU +communication. It just shows the plain "same host process, two independent +GPUs" pattern: + + * GPU 0 computes ``c = a + b`` (float32). + * GPU 1 computes ``z = x - y`` (float32). + +Each GPU has its own ``Program``, ``Stream``, and CuPy buffers. The sample +also demonstrates the ``StreamAdaptor`` idiom for bridging a foreign stream +(CuPy's current stream) into ``cuda.core`` so that memory initialized by +CuPy is ordered before the kernel launch on our ``cuda.core`` stream. + +Waives when fewer than 2 CUDA-capable devices are available. +""" + +import os +import sys + +try: + import cupy as cp + + from cuda.core import Device, LaunchConfig, Program, ProgramOptions, launch, system +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) + +DTYPE = cp.float32 +SIZE = 50000 + + +# Bridge foreign streams (e.g. CuPy) that do not yet implement +# __cuda_stream__ into cuda.core. CuPy streams expose a ``.ptr`` attribute +# holding the raw CUstream handle. +class StreamAdaptor: + def __init__(self, obj): + self.obj = obj + + def __cuda_stream__(self): + return (0, self.obj.ptr) + + +ADD_KERNEL = """ +extern "C" +__global__ void vector_add(const float* A, + const float* B, + float* C, + size_t N) { + const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; + for (size_t i = tid; i < N; i += gridDim.x * blockDim.x) { + C[i] = A[i] + B[i]; + } +} +""" + +SUB_KERNEL = """ +extern "C" +__global__ void vector_sub(const float* A, + const float* B, + float* C, + size_t N) { + const unsigned int tid = threadIdx.x + blockIdx.x * blockDim.x; + for (size_t i = tid; i < N; i += gridDim.x * blockDim.x) { + C[i] = A[i] - B[i]; + } +} +""" + + +def _compile(device, source): + prog = Program( + source, + code_type="c++", + options=ProgramOptions(std="c++17", arch=f"sm_{device.arch}"), + ) + return prog.compile("cubin") + + +def main(): + num_devices = system.get_num_devices() + if num_devices < 2: + print( + f"This sample requires at least 2 CUDA-capable devices (found {num_devices}). Waiving.", + file=sys.stderr, + ) + sys.exit(EXIT_WAIVED) + + dev0 = Device(0) + dev0.set_current() + stream0 = dev0.create_stream() + stream1 = None + cp_stream0 = None + cp_stream1 = None + + try: + # ---- GPU 0: compile the add kernel ---- + add_kernel = _compile(dev0, ADD_KERNEL).get_kernel("vector_add") + + # ---- GPU 1: switch context and compile the subtract kernel ---- + dev1 = Device(1) + dev1.set_current() + stream1 = dev1.create_stream() + sub_kernel = _compile(dev1, SUB_KERNEL).get_kernel("vector_sub") + + # One launch config per GPU; both grids target the same problem size. + block = 256 + grid = (SIZE + block - 1) // block + config = LaunchConfig(grid=grid, block=block) + + # ---- Allocate on GPU 0 (uses CuPy's current stream on GPU 0) ---- + dev0.set_current() + rng = cp.random.default_rng() + a = rng.random(SIZE, dtype=DTYPE) + b = rng.random(SIZE, dtype=DTYPE) + c = cp.empty_like(a) + # Wrap CuPy's current stream as a cuda.core Stream so we can wait on + # it: this guarantees the random initialization completes before our + # kernel touches these buffers on stream0. + cp_stream0 = dev0.create_stream(StreamAdaptor(cp.cuda.get_current_stream())) + stream0.wait(cp_stream0) + + launch(stream0, config, add_kernel, a.data.ptr, b.data.ptr, c.data.ptr, cp.uint64(SIZE)) + + # ---- Allocate on GPU 1 (uses CuPy's current stream on GPU 1) ---- + dev1.set_current() + rng = cp.random.default_rng() + x = rng.random(SIZE, dtype=DTYPE) + y = rng.random(SIZE, dtype=DTYPE) + z = cp.empty_like(x) + cp_stream1 = dev1.create_stream(StreamAdaptor(cp.cuda.get_current_stream())) + stream1.wait(cp_stream1) + + launch(stream1, config, sub_kernel, x.data.ptr, y.data.ptr, z.data.ptr, cp.uint64(SIZE)) + + # ---- Synchronize both GPUs and verify ---- + dev0.set_current() + stream0.sync() + assert cp.allclose(c, a + b), "GPU 0 vector_add produced incorrect results" + dev1.set_current() + stream1.sync() + assert cp.allclose(z, x - y), "GPU 1 vector_sub produced incorrect results" + + print(f"GPU 0: vector_add on {SIZE} elements verified") + print(f"GPU 1: vector_sub on {SIZE} elements verified") + print("Done") + return 0 + finally: + if cp_stream1 is not None: + cp_stream1.close() + if cp_stream0 is not None: + cp_stream0.close() + if stream1 is not None: + stream1.close() + stream0.close() + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/simpleP2P/README.md b/samples/cuda_core/simpleP2P/README.md new file mode 100644 index 00000000000..980ca09db1e --- /dev/null +++ b/samples/cuda_core/simpleP2P/README.md @@ -0,0 +1,190 @@ +# Sample: simpleP2P (Python) + +## Description + +This sample demonstrates peer-to-peer (P2P) memory access between multiple GPUs in CUDA using the cuda.core Python library. P2P allows GPUs to directly access each other's memory without routing data through the host (CPU), enabling efficient multi-GPU applications. This sample detects P2P-capable GPUs, enables peer access, measures bandwidth using CUDA events for accurate GPU-side timing, and launches kernels (using grid-stride loops) that read from one GPU's memory and write to another GPU's memory. + +## What you will learn + +- How to detect multiple CUDA-capable GPUs using `system.get_num_devices()` and `Device(id)` +- How to check P2P capability between GPU pairs using `device.can_access_peer()` +- How to enable and disable peer access using `DeviceMemoryResource.peer_accessible_by` +- How to allocate device memory on specific GPUs using `DeviceMemoryResource` +- How to perform direct GPU-to-GPU memory transfers with explicit event-based synchronization +- How to measure P2P bandwidth using CUDA events for accurate GPU-side timing +- How to use event-based synchronization between streams for sequential bandwidth measurement +- How to launch kernels on one GPU that access memory from another GPU +- How to compile and launch CUDA kernels using cuda.core's `Program` and `launch` APIs with grid-stride loops +- How to validate multi-GPU computation results +- How to properly clean up resources using try/finally blocks + +## Key libraries + +- `numpy` - CPU array operations and data initialization +- `cuda-core` - Modern Python interface to CUDA runtime with full P2P support + +## Key APIs + +**From cuda.core:** +- `system` – Pre-instantiated singleton for system-level CUDA information +- `system.get_num_devices()` – Get number of CUDA-capable devices +- `Device(id)` – Get specific CUDA device handle +- `device.can_access_peer(peer)` – Check if this device can access peer device memory +- `device.set_current()` – Set active device for subsequent operations +- `device.create_stream()` – Create CUDA stream for kernel execution +- `DeviceMemoryResource(device)` – Create memory resource for specific GPU +- `memory_resource.peer_accessible_by` – Get/set which devices can access this memory pool's allocations + - Example: `mr.peer_accessible_by = [1]` grants device 1 access + - Example: `mr.peer_accessible_by = []` revokes all access +- `PinnedMemoryResource()` – Allocate pinned (page-locked) host memory +- `EventOptions(timing_enabled=True)` – Create options for CUDA events with timing enabled +- `stream.record(options=event_options)` – Record a CUDA event on a stream +- `event.elapsed_time(start_event)` – Get elapsed time in milliseconds between two events +- `stream.wait_event(event)` – Make a stream wait for an event to complete +- `stream.close()` – Clean up stream resources +- `Program()` – Compile CUDA C++ kernel code +- `LaunchConfig()` – Configure kernel launch parameters (grid, block) +- `launch()` – Launch compiled kernel with arguments +- `buffer.copy_from(src, stream=stream)` – Copy data from source buffer asynchronously +- `buffer.copy_to(dst, stream=stream)` – Copy data to destination buffer asynchronously + +**From DLPack:** +- `numpy.from_dlpack()` – Create NumPy array view of memory buffer + +**Memory Management:** +- Resources (streams, buffers) should be cleaned up using try/finally blocks to ensure proper cleanup even if errors occur +- Streams should be explicitly closed with `stream.close()` in finally blocks + +## Peer-to-Peer (P2P): When to Use + +### Benefits +- **Direct GPU-to-GPU transfers**: Bypass host memory for faster communication +- **Higher bandwidth**: PCIe or NVLink bandwidth between GPUs (up to 600 GB/s with NVLink) +- **Lower latency**: No CPU involvement in data transfers +- **Efficient multi-GPU**: Essential for scaling deep learning, HPC, and simulation workloads +- **Simplified programming**: Kernels can directly access remote GPU memory + +### Requirements +- **Two or more GPUs**: System must have multiple CUDA-capable GPUs +- **P2P support**: GPUs must be P2P-capable (check with `can_access_peer()`) +- **PCIe topology**: Usually requires GPUs on same PCIe root complex +- **Platform support**: Not available on Mac OSX, limited on ARM platforms + +### Best Use Cases +1. Multi-GPU deep learning training (model parallelism, data parallelism) +2. Large-scale scientific simulations across multiple GPUs +3. Real-time rendering with multiple GPUs +4. GPU clusters with direct GPU communication +5. Reducing CPU-GPU traffic in multi-GPU systems + +## Requirements + +1. **Two or more NVIDIA Graphics Cards** with CUDA support and P2P capability +2. **CUDA Drivers** installed on your system +3. **CUDA Toolkit 13.0+** installed on your system +4. **Python 3.10 or newer** +5. **Proper PCIe topology** (GPUs should be on same PCIe root complex for best performance) + +**Note**: This sample will gracefully exit if fewer than 2 GPUs are detected or if P2P is not supported between any GPU pair. + +**Install packages:** +```bash +pip install -r requirements.txt +``` + +Or manually: +```bash +pip install numpy>=2.3.2 cuda-core>=1.0.0 cuda-python>=13.0.0 +``` + +## How to run + +Basic usage: +```bash + +# Run with default parameters (16M elements = 64MB) +python simpleP2P.py +``` + +With custom parameters: +```bash +# Use 32M elements (128MB) +python simpleP2P.py --num_elements 33554432 + +# Show help +python simpleP2P.py --help +``` + +### Command line arguments + +- `--num_elements`: Number of elements in arrays (default: 16777216) + - Each array uses `num_elements * 4 bytes` (float32) + - Default: 64 MB per array + - Sample allocates 2 device buffers + 1 host buffer + +## Expected Output + +``` +====================================================================== +simpleP2P - CUDA Python Sample +====================================================================== + +Starting... + +Checking for multiple GPUs... +CUDA-capable device count: 2 + +Checking GPU(s) for support of peer to peer memory access... +> Peer access from Tesla T10 (GPU0) -> Tesla T10 (GPU1): Yes +> Peer access from Tesla T10 (GPU1) -> Tesla T10 (GPU0): Yes + +Using GPU0 (Tesla T10) and GPU1 (Tesla T10) + +Allocating buffers (64MB on GPU0, GPU1 and CPU Host)... + Peer access enabled: GPU0 <-> GPU1 + Peer access status: MR0 accessible by (1,), MR1 accessible by (0,) + Memory allocated successfully + +Measuring P2P bandwidth... + Performing 100 ping-pong copies between GPUs... + P2P bandwidth: 12.37 GB/s + +Preparing host buffer and memcpy to GPU0... + Data initialized and copied to GPU + +Compiling CUDA kernel... + Kernels compiled successfully + +Run kernel on GPU1, taking source data from GPU0 and writing to GPU1... + Kernel execution complete + +Run kernel on GPU0, taking source data from GPU1 and writing to GPU0... + Kernel execution complete + +Copy data back to host from GPU0 and verify results... + +Checking results... + Comparing 16,777,216 elements... +Test PASSED + [PASS] Validation PASSED + +Disabling peer access... + Peer access revoked: MR0 accessible by (), MR1 accessible by () + +====================================================================== +simpleP2P completed successfully! +====================================================================== + +Shutting down... +``` + +**Note**: P2P bandwidth varies based on: +- PCIe generation +- NVLink +- System topology and configuration + +## Files + +- `simpleP2P.py` – Main Python implementation +- `README.md` – This file +- `requirements.txt` – Python package dependencies diff --git a/samples/cuda_core/simpleP2P/requirements.txt b/samples/cuda_core/simpleP2P/requirements.txt new file mode 100644 index 00000000000..4626ed5dffa --- /dev/null +++ b/samples/cuda_core/simpleP2P/requirements.txt @@ -0,0 +1,6 @@ +# simpleP2P - Requirements +# Install with: pip install -r requirements.txt + +numpy>=2.3.2 +cuda-python>=13.0.0 +cuda-core>=1.0.0 diff --git a/samples/cuda_core/simpleP2P/simpleP2P.py b/samples/cuda_core/simpleP2P/simpleP2P.py new file mode 100644 index 00000000000..d2406487fa5 --- /dev/null +++ b/samples/cuda_core/simpleP2P/simpleP2P.py @@ -0,0 +1,361 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# distribution and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["numpy>=2.3.2", "cuda-python>=13.0.0", "cuda-core>=1.0.0"] +# /// + +import argparse +import os +import sys +from pathlib import Path + +try: + import numpy as np + + from cuda.core import ( + Device, + DeviceMemoryResource, + EventOptions, + LaunchConfig, + PinnedMemoryResource, + Program, + ProgramOptions, + launch, + system, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + +# Add parent directory to path to import utilities +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) +from cuda_samples_utils import verify_array_result + +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) + +# CUDA kernel for simple P2P operation +SIMPLE_P2P_KERNEL = """ +extern "C" __global__ +void SimpleKernel(float *src, float *dst, int N) { + // Grid-stride loop pattern for canonical CUDA kernel + size_t tid = blockIdx.x * blockDim.x + threadIdx.x; + size_t stride = gridDim.x * blockDim.x; + + for (size_t i = tid; i < N; i += stride) { + dst[i] = src[i] * 2.0f; + } +} +""" + + +def run(num_elements=1024 * 1024 * 16): + """ + Demonstrates peer-to-peer (P2P) memory access between multiple GPUs using cuda.core. + + This function shows how to: + 1. Detect and verify multiple GPUs with P2P capability + 2. Enable peer access between GPUs + 3. Perform direct GPU-to-GPU memory transfers + 4. Launch kernels that access memory from other GPUs + 5. Measure P2P bandwidth + 6. Validate results + + Parameters + ---------- + num_elements : int + Number of elements in arrays (default: 16M elements = 64MB) + """ + + print("\n" + "=" * 70) + print("simpleP2P - CUDA Python Sample") + print("=" * 70) + print("\nStarting...") + + # Check for multiple GPUs + print("\nChecking for multiple GPUs...") + num_devices = system.get_num_devices() + print(f"CUDA-capable device count: {num_devices}") + + if num_devices < 2: + print("Two or more GPUs with Peer-to-Peer access capability are required, waiving this sample.") + return EXIT_WAIVED + + # Get device properties + devices = [Device(i) for i in range(num_devices)] + + # Check for P2P capability + print("\nChecking GPU(s) for support of peer to peer memory access...") + + p2p_capable_gpus = [-1, -1] + + for i in range(num_devices): + p2p_capable_gpus[0] = i + for j in range(num_devices): + if i == j: + continue + + # Check peer access capability using cuda.core + i_access_j = devices[i].can_access_peer(devices[j]) + j_access_i = devices[j].can_access_peer(devices[i]) + + print( + f"> Peer access from {devices[i].name} (GPU{i}) -> " + f"{devices[j].name} (GPU{j}): {'Yes' if i_access_j else 'No'}" + ) + print( + f"> Peer access from {devices[j].name} (GPU{j}) -> " + f"{devices[i].name} (GPU{i}): {'Yes' if j_access_i else 'No'}" + ) + + if i_access_j and j_access_i: + p2p_capable_gpus[1] = j + break + + if p2p_capable_gpus[1] != -1: + break + + if p2p_capable_gpus[0] == -1 or p2p_capable_gpus[1] == -1: + print("\nTwo or more GPUs with Peer-to-Peer access capability are required.") + print("Peer to Peer access is not available amongst GPUs in the system, waiving test.") + return EXIT_WAIVED + + # Use first pair of P2P capable GPUs detected + gpuid = [p2p_capable_gpus[0], p2p_capable_gpus[1]] + dev0 = devices[gpuid[0]] + dev1 = devices[gpuid[1]] + + print(f"\nUsing GPU{gpuid[0]} ({dev0.name}) and GPU{gpuid[1]} ({dev1.name})") + + # Allocate buffers with P2P access + buf_size = num_elements * np.dtype(np.float32).itemsize + print(f"\nAllocating buffers ({int(buf_size / 1024 / 1024)}MB on GPU{gpuid[0]}, GPU{gpuid[1]} and CPU Host)...") + + # Allocate on GPU 0 and grant access to GPU 1 + dev0.set_current() + mr0 = DeviceMemoryResource(dev0) + mr0.peer_accessible_by = [gpuid[1]] # Grant GPU 1 access to GPU 0's memory + g0 = mr0.allocate(buf_size, stream=dev0.default_stream) + + # Allocate on GPU 1 and grant access to GPU 0 + dev1.set_current() + mr1 = DeviceMemoryResource(dev1) + mr1.peer_accessible_by = [gpuid[0]] # Grant GPU 0 access to GPU 1's memory + g1 = mr1.allocate(buf_size, stream=dev1.default_stream) + + print(f" Peer access enabled: GPU{gpuid[0]} <-> GPU{gpuid[1]}") + print( + f" Peer access status: MR0 accessible by {mr0.peer_accessible_by}, MR1 accessible by {mr1.peer_accessible_by}" + ) + + # Allocate pinned host memory + pinned_mr = PinnedMemoryResource() + h0 = pinned_mr.allocate(buf_size, stream=dev0.default_stream) + + print(" Memory allocated successfully") + + # Create streams + stream0 = dev0.create_stream() + stream1 = dev1.create_stream() + + try: + # P2P bandwidth test using CUDA events for accurate GPU-side timing + print("\nMeasuring P2P bandwidth...") + print(" Performing 100 ping-pong copies between GPUs...") + + event_options = EventOptions(timing_enabled=True) + sync_event0 = None + sync_event1 = None + + # Record start event on stream0 + start_event = stream0.record(options=event_options) + + for i in range(100): + # Ping-pong copy between GPUs with explicit event-based synchronization + if i % 2 == 0: + # Wait for previous stream1 copy to complete (if any) + if sync_event1 is not None: + stream0.wait(sync_event1) + # Copy g0 -> g1 on stream0 + g1.copy_from(g0, stream=stream0) + # Record event on stream0 to signal completion of this copy + sync_event0 = stream0.record(options=EventOptions(timing_enabled=False)) + else: + # Wait for previous stream0 copy to complete + if sync_event0 is not None: + stream1.wait(sync_event0) + # Copy g1 -> g0 on stream1 + g0.copy_from(g1, stream=stream1) + # Record event on stream1 to signal completion of this copy + sync_event1 = stream1.record(options=EventOptions(timing_enabled=False)) + + # Wait for last stream1 copy to complete + if sync_event1 is not None: + stream0.wait(sync_event1) + + # Record end event on stream0 after all copies have been enqueued + end_event = stream0.record(options=event_options) + end_event.sync() + + # Elapsed time in milliseconds (using subtraction operator) + time_memcpy = end_event - start_event + + bandwidth = (1.0 / (time_memcpy / 1000.0)) * (100.0 * buf_size) / (1024.0**3) + print(f" P2P bandwidth: {bandwidth:.2f} GB/s") + + # Prepare host buffer and initialize data + print(f"\nPreparing host buffer and memcpy to GPU{gpuid[0]}...") + + # Create numpy view and initialize + h0_array = np.from_dlpack(h0).view(dtype=np.float32) + h0_array[:] = (np.arange(num_elements, dtype=np.float32) % 4096).astype(np.float32) + + # Copy to GPU 0 + dev0.set_current() + g0.copy_from(h0, stream=stream0) + stream0.sync() + + print(" Data initialized and copied to GPU") + + # Compile kernel for both GPUs + print("\nCompiling CUDA kernel...") + dev0.set_current() + program_options = ProgramOptions(std="c++17", arch=f"sm_{dev0.arch}") + prog = Program(SIMPLE_P2P_KERNEL, code_type="c++", options=program_options) + mod0 = prog.compile("cubin") + kernel0 = mod0.get_kernel("SimpleKernel") + + dev1.set_current() + program_options = ProgramOptions(std="c++17", arch=f"sm_{dev1.arch}") + prog = Program(SIMPLE_P2P_KERNEL, code_type="c++", options=program_options) + mod1 = prog.compile("cubin") + kernel1 = mod1.get_kernel("SimpleKernel") + + print(" Kernels compiled successfully") + + # Launch configuration + threads = 512 + blocks = (num_elements + threads - 1) // threads + config = LaunchConfig(grid=blocks, block=threads) + + # Run kernel on GPU 1, reading from GPU 0, writing to GPU 1 + print(f"\nRun kernel on GPU{gpuid[1]}, taking source data from GPU{gpuid[0]} and writing to GPU{gpuid[1]}...") + dev1.set_current() + launch(stream1, config, kernel1, g0, g1, np.int32(num_elements)) + stream1.sync() + print(" Kernel execution complete") + + # Run kernel on GPU 0, reading from GPU 1, writing to GPU 0 + print(f"\nRun kernel on GPU{gpuid[0]}, taking source data from GPU{gpuid[1]} and writing to GPU{gpuid[0]}...") + dev0.set_current() + launch(stream0, config, kernel0, g1, g0, np.int32(num_elements)) + stream0.sync() + print(" Kernel execution complete") + + # Copy data back to host and verify + print(f"\nCopy data back to host from GPU{gpuid[0]} and verify results...") + g0.copy_to(h0, stream=stream0) + stream0.sync() + + # Verify results + print("\nChecking results...") + print(f" Comparing {num_elements:,} elements...") + + # Input data goes through two kernels, each multiplying by 2.0. + expected = (np.arange(num_elements, dtype=np.float32) % 4096) * 4.0 + + # Use utility function for verification (handles both numpy and cupy arrays) + if verify_array_result(h0_array, expected, rtol=1e-5, atol=1e-6, verbose=True): + print(" [PASS] Validation PASSED") + success = True + else: + print(" [FAIL] Validation FAILED") + # Show first few errors for debugging + errors = np.where(~np.isclose(h0_array, expected, rtol=1e-5, atol=1e-6))[0] + print(f" Number of mismatches: {len(errors)}") + for idx in errors[:10]: + print(f" Error @ element {idx}: got {h0_array[idx]}, expected {expected[idx]}") + success = False + + # Disable peer access + print("\nDisabling peer access...") + mr0.peer_accessible_by = [] # Revoke GPU 1's access to GPU 0's memory + mr1.peer_accessible_by = [] # Revoke GPU 0's access to GPU 1's memory + print( + f" Peer access revoked: MR0 accessible by {mr0.peer_accessible_by}, " + f"MR1 accessible by {mr1.peer_accessible_by}" + ) + + print("\n" + "=" * 70) + if success: + print("simpleP2P completed successfully!") + else: + print("simpleP2P FAILED!") + print("=" * 70 + "\n") + + return 0 if success else 1 + finally: + # Cleanup streams and buffers + print("Shutting down...") + stream0.close() + stream1.close() + + +def main(): + """Main entry point with argument parsing.""" + parser = argparse.ArgumentParser( + description=("Demonstrate peer-to-peer (P2P) memory access between multiple GPUs with CUDA") + ) + + parser.add_argument( + "--num_elements", + type=int, + default=1024 * 1024 * 16, # 16M elements = 64MB + help="Number of elements in arrays (default: 16777216 = 64MB)", + ) + + args = parser.parse_args() + + # Validate arguments + if args.num_elements <= 0: + print("Error: num_elements must be positive") + return 1 + + try: + exit_code = run(num_elements=args.num_elements) + sys.exit(exit_code) + except Exception as e: + print(f"\nError: {e}") + import traceback + + traceback.print_exc() + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/simplePrint/README.md b/samples/cuda_core/simplePrint/README.md new file mode 100644 index 00000000000..3ff97645176 --- /dev/null +++ b/samples/cuda_core/simplePrint/README.md @@ -0,0 +1,263 @@ +# simplePrint - Printing from CUDA Kernels + +## Description + +This sample demonstrates how to use `printf()` inside CUDA kernels using **two different approaches**: + +1. **CUDA C++ kernels** compiled with `cuda.core.Program` - Full C++ features and control +2. **Numba CUDA kernels** - Pythonic kernel authoring using `numba.cuda.grid()` for modern indexing + +The sample shows basic device management, kernel compilation with inline CUDA C++ code, and multi-dimensional kernel launches (2D grid × 3D blocks) using modern CUDA Python. The Numba example demonstrates the recommended `numba.cuda.grid()` indexing style while also showing how it relates to classic CUDA C++ block/thread IDs. Both approaches use `cuda.core` APIs for stream management and synchronization, demonstrating interoperability. + +This is the Python equivalent of the C++ `simplePrintf` sample, enhanced with Numba CUDA examples. + +## Key Concepts + +CUDA Python (cuda.core), Numba CUDA, Kernel Compilation, Printf in Kernels, Multi-dimensional Launch, Pythonic GPU Programming, Modern Thread Indexing (grid()), Stream-based Execution, cuda.core/Numba Interoperability + +## CUDA APIs involved + +### [cuda.core (cuda-python)](https://nvidia.github.io/cuda-python/) + +- `Device()` - Device management +- `Device.create_stream()` - Create CUDA streams +- `Stream.sync()` - Synchronize stream execution +- `Program()` - Compile CUDA C++ kernels +- `LaunchConfig()` - Configure kernel launch +- `launch()` - Execute kernels on streams + +### [Numba CUDA](https://nvidia.github.io/numba-cuda/) + +- `@cuda.jit` - JIT compile Python functions to CUDA kernels +- `cuda.grid()` - Get global thread position (recommended modern approach) +- `cuda.blockIdx`, `cuda.threadIdx` - Thread/block indices (classic style) +- `cuda.gridDim`, `cuda.blockDim` - Grid/block dimensions +- **Note:** Uses `cuda.core` APIs for stream management (interoperability) + +### CUDA Kernel Functions + +- `printf()` - Print from device code (C++) +- `print()` - Print from device code (Numba, limited formatting) +- `blockIdx`, `threadIdx` - Thread/block indices +- `gridDim`, `blockDim` - Grid/block dimensions + +### What You Learn + +- Device initialization with `cuda.core.Device` +- Compiling CUDA C++ kernels with `Program` and `ProgramOptions` +- Writing Pythonic CUDA kernels with Numba's `@cuda.jit` decorator +- Using `numba.cuda.grid()` for modern thread indexing (recommended approach) +- Understanding the relationship between global coordinates and classic block/thread IDs +- **Interoperability**: Using `cuda.core` streams with Numba CUDA kernels +- Comparing CUDA C++ vs Pythonic kernel authoring approaches +- Multi-dimensional kernel launches (2D grid, 3D blocks) +- Using streams for kernel execution and synchronization +- Using `printf()` and `print()` in GPU kernels for debugging +- Understanding print limitations in Numba CUDA (no f-strings) +- Proper error handling and resource management + +## Requirements + +### Hardware: + +- NVIDIA GPU with Compute Capability 7.0 or higher +- Minimum GPU memory: 512 MB + +### Software: + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` package (13.0+) +- `cuda-core` package (>=1.0.0) +- `numba-cuda` package (0.24.0+, for Pythonic kernel authoring) + +Download and install: +- [CUDA Toolkit](https://developer.nvidia.com/cuda-downloads) +- [cuda-python package](https://nvidia.github.io/cuda-python/): `pip install cuda-python` +- [numba-cuda](https://nvidia.github.io/numba-cuda/): `pip install numba-cuda` + +## Build and Run + +```bash +# Install dependencies +pip install -r requirements.txt + +# Run the sample +python simplePrint.py +``` + +## Expected Output + +``` +Simple Print - Printing from CUDA Kernels +Demonstrating both CUDA C++ and Numba CUDA approaches + +Device: +Compute Capability: sm_ + +====================================================================== +METHOD 1: CUDA C++ Kernel (via cuda.core.Program) +====================================================================== +Advantage: Full C++ features, better for complex kernels + +Compiling CUDA C++ kernel... +Kernel compiled successfully. + +Kernel configuration: + Grid: (2, 2) + Block: (2, 2, 2) + Total threads: 32 + +Launching kernel with value=10. Output: + +[0, 0]: Value is: 10 +[0, 1]: Value is: 10 +[0, 2]: Value is: 10 +[0, 3]: Value is: 10 +[0, 4]: Value is: 10 +[0, 5]: Value is: 10 +[0, 6]: Value is: 10 +[0, 7]: Value is: 10 +[1, 0]: Value is: 10 +... +[3, 7]: Value is: 10 + +CUDA C++ kernel execution complete. + + +====================================================================== +METHOD 2: Numba CUDA Kernel (Pythonic / modern indexing) +====================================================================== +Advantage: Uses numba.cuda.grid(3) for global indexing, + while still showing classic CUDA C++ IDs for reference. + Uses cuda.core for stream management (interoperability). + +Kernel configuration: + Grid: (2, 2) + Block: (2, 2, 2) + Total threads: 32 + +Launching Numba CUDA kernel (grid(3) + classic IDs) with value=10: +Uses numba.cuda.grid(3) to get global (x, y, z), +and prints the corresponding blockId/threadId like the C++ sample. +Stream managed by cuda.core for consistency with C++ example. + +global[ 0 , 0 , 0 ] -> [ 0 , 0 ]: Value is: 10 +global[ 1 , 0 , 0 ] -> [ 0 , 1 ]: Value is: 10 +global[ 0 , 1 , 0 ] -> [ 0 , 2 ]: Value is: 10 +... +global[ 3 , 3 , 1 ] -> [ 3 , 7 ]: Value is: 10 + +Numba CUDA kernel execution complete. + +====================================================================== +Done! Both kernel approaches demonstrated successfully. +====================================================================== +``` + +## Understanding the Output + +- **Grid**: 2×2 = 4 blocks (labeled 0-3) +- **Block**: 2×2×2 = 8 threads per block (labeled 0-7) +- **Total**: 32 threads, each printing its position and value + +### CUDA C++ Kernel: +Each thread calculates: +- Block ID (linear): `blockIdx.y * gridDim.x + blockIdx.x` +- Thread ID (linear): `threadIdx.z * blockDim.x * blockDim.y + threadIdx.y * blockDim.x + threadIdx.x` + +### Numba CUDA Kernel: +Each thread shows: +- **Global position** using `numba.cuda.grid(3)` → `(x, y, z)` coordinates across entire grid +- **Classic IDs** (block ID, thread ID) calculated the same way as C++ for comparison +- This demonstrates how modern indexing relates to traditional CUDA C++ style + +### Comparing the Two Approaches + +**CUDA C++ Kernel (Method 1):** +- Uses C++ syntax and `printf()` with full formatting control +- Requires compilation via `cuda.core.Program` +- Best for complex kernels needing C++ features (templates, libraries, etc.) +- Uses classic block/thread ID indexing +- Output: `[0, 0]: Value is: 10` (clean formatting) + +**Numba CUDA Kernel (Method 2):** +- Uses Python syntax with `@cuda.jit` decorator +- JIT compiled automatically when called +- Best for prototyping and simpler kernels +- **Modern indexing**: Uses `numba.cuda.grid(3)` to get global thread coordinates (recommended) +- Also shows classic block/thread IDs to help relate the two indexing models +- **Interoperability**: Uses `cuda.core` streams via `stream` for consistency +- Demonstrates that numba-cuda kernels can work seamlessly with cuda.core infrastructure +- Limited print formatting (no f-strings, basic `print()` only; adds spaces between arguments) +- Output: `global[ 0 , 0 , 0 ] -> [ 0 , 0 ]: Value is: 10` (shows both indexing styles; note extra spaces due to `print()` behavior) + +## Experiments + +Try modifying: + +### For Both Approaches: +- **Grid size**: Change `grid=(4, 4)` for 16 blocks +- **Block size**: Change `block=(4, 4, 4)` for 64 threads per block +- **Conditional printing**: Print only from specific threads (e.g., `if threadId == 0:`) + +### CUDA C++ Specific: +- **Format strings**: Experiment with different `printf()` formats +- **Kernel code**: Add complex C++ computations before printing +- **External libraries**: Include CUDA math libraries or device functions (e.g., ``, ``) + +### Numba CUDA Specific: +- **Grid indexing**: Try `numba.cuda.grid(1)` or `numba.cuda.grid(2)` for different dimensions +- **Conditional printing**: Print only from threads where `x == 0` or `y == z` +- **Python operations**: Use NumPy-like operations in the kernel +- **Device math libraries**: Use [nvmath-python device APIs](https://docs.nvidia.com/cuda/nvmath-python/latest/device-apis/index.html) for optimized math operations (similar to CUDA math libraries in C++) +- **Shared memory**: Add `numba.cuda.shared.array()` for fast inter-thread communication +- **Atomic operations**: Try `numba.cuda.atomic.add()` for thread-safe updates +- **Print variations**: Experiment with what numba-cuda's `print()` can and cannot handle +- **Streams**: Create multiple `cuda.core` streams and launch numba-cuda kernels on them concurrently +- **Interoperability**: Mix numba-cuda kernels and CUDA C++ kernels on the same stream + +## Notes + +### General: +- Printing from GPU is relatively slow - use sparingly in production code +- Printf output is buffered and limited (~1MB buffer on most GPUs) + +### CUDA C++ Kernels: +- Always call `stream.sync()` after kernel launch to flush printf output +- Full `printf()` format string support (%, flags, width, precision) + +### Numba CUDA Kernels: +- **Recommended**: Use `numba.cuda.grid(ndim)` for thread indexing (modern, Pythonic) + - `grid(1)` for 1D indexing, `grid(2)` for 2D, `grid(3)` for 3D + - Returns global thread position across the entire grid +- **Interoperability**: Use `cuda.core` streams with Numba kernels via `stream` + - Create streams: `stream = device.create_stream()` + - Launch kernels: `kernel[grid, block, stream](args)` + - Synchronize: `stream.sync()` +- Numba's `print()` has limited capabilities compared to Python's `print()` +- F-strings are NOT supported in Numba CUDA kernels +- Use comma-separated arguments: `print("Value:", x)` instead of f-strings +- **Note**: `print()` automatically adds spaces between comma-separated arguments (e.g., `print("[", x, "]")` outputs `[ 0 ]` not `[0]`) +- Always synchronize the stream to flush output + +## Files + +- `simplePrint.py` - Python implementation using cuda.core API +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +### CUDA Python (cuda.core): +- [cuda.core Documentation](https://nvidia.github.io/cuda-python/) +- [CUDA Python Samples](https://github.com/NVIDIA/cuda-python/tree/main/samples/cuda_core) + +### Numba CUDA: +- [Numba CUDA Documentation](https://nvidia.github.io/numba-cuda/) +- [numba.cuda.grid() Reference](https://nvidia.github.io/numba-cuda/reference/kernel.html#numba.cuda.grid) +- [nvmath-python Device APIs](https://docs.nvidia.com/cuda/nvmath-python/latest/device-apis/index.html) - Optimized math operations for Numba CUDA kernels + +### CUDA References: +- [CUDA C Programming Guide - Printf](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#formatted-output) +- [C++ simplePrintf Sample](https://github.com/NVIDIA/cuda-samples/tree/master/Samples/0_Introduction/simplePrintf) diff --git a/samples/cuda_core/simplePrint/requirements.txt b/samples/cuda_core/simplePrint/requirements.txt new file mode 100644 index 00000000000..a39c5e7e518 --- /dev/null +++ b/samples/cuda_core/simplePrint/requirements.txt @@ -0,0 +1,7 @@ +# Simple Printf Sample - Requirements + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +# Numba JIT uses nvJitLink from pip; keep in step with cuda-bindings (e.g. 13.2.x). +nvidia-nvjitlink>=13.2.0 +numba-cuda>=0.29.0 diff --git a/samples/cuda_core/simplePrint/simplePrint.py b/samples/cuda_core/simplePrint/simplePrint.py new file mode 100644 index 00000000000..38f8e33ba4c --- /dev/null +++ b/samples/cuda_core/simplePrint/simplePrint.py @@ -0,0 +1,289 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "nvidia-nvjitlink>=13.2.0", "numba-cuda>=0.29.0"] +# /// + +""" +Simple Print - Printing from CUDA Kernels + +This sample demonstrates how to print output from CUDA kernels using printf(). +It shows: +1. Device management with cuda.core.Device +2. Compiling CUDA C++ code that uses printf() +3. Launching kernels with 2D grids and 3D blocks +4. Seeing kernel output printed to stdout +5. Using Numba CUDA for Pythonic kernel authoring + +This sample demonstrates both approaches: +- CUDA C++ kernels compiled via cuda.core.Program (more control, C++ features) +- Numba CUDA kernels (more Pythonic, easier to write) + +This is the Python equivalent of the C++ simplePrintf sample. +""" + +import sys +import traceback + +try: + from cuda.core import Device, LaunchConfig, Program, ProgramOptions, launch +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + +try: + from numba import cuda as numba_cuda + + NUMBA_AVAILABLE = True +except ImportError: + NUMBA_AVAILABLE = False + print("Warning: numba not found. Numba CUDA example will be skipped.") + print("To install: pip install numba") + + +# CUDA C++ kernel with printf +# This kernel prints the block index, thread index, and a value from each thread +PRINTF_KERNEL = """ +extern "C" +__global__ void printKernel(int val) { + // Calculate linear block index from 2D grid + int blockId = blockIdx.y * gridDim.x + blockIdx.x; + + // Calculate linear thread index from 3D block + int threadId = threadIdx.z * blockDim.x * blockDim.y + + threadIdx.y * blockDim.x + + threadIdx.x; + + // Print from each thread + printf("[%d, %d]:\\t\\tValue is: %d\\n", blockId, threadId, val); +} +""" + + +# Numba CUDA kernel - Pythonic equivalent using numba.cuda.grid() +# This demonstrates the same functionality using Numba's Python-based kernel syntax +if NUMBA_AVAILABLE: + + @numba_cuda.jit + def numba_print_kernel(val): + """ + Numba CUDA kernel showing the *recommended* grid() indexing style, + while also relating it to the classic CUDA C++ blockId/threadId. + + - Primary view: global 3D coordinates from numba.cuda.grid(3) + (modern, Pythonic way to index work for a 3D thread layout). + - Secondary view: linear blockId / threadId matching the CUDA C++ + printf sample, to help CUDA C++ users connect the two models. + """ + # Modern / recommended view: global 3D thread coordinates + x, y, z = numba_cuda.grid(3) + + # Classic CUDA-style indices, same formulas as the C++ sample + block_id = numba_cuda.blockIdx.y * numba_cuda.gridDim.x + numba_cuda.blockIdx.x + + thread_id = ( + numba_cuda.threadIdx.z * numba_cuda.blockDim.x * numba_cuda.blockDim.y + + numba_cuda.threadIdx.y * numba_cuda.blockDim.x + + numba_cuda.threadIdx.x + ) + + # Print both views side-by-side + # Note: Numba print() adds spaces between comma-separated args + print( + "global[", + x, + ",", + y, + ",", + z, + "] -> [", + block_id, + ",", + thread_id, + "]:\t\tValue is:", + val, + ) + + +def run_cuda_cpp_kernel(device, test_value=10): + """ + Demonstrate printing from CUDA C++ kernel compiled with cuda.core. + + This approach gives you full access to CUDA C++ features and allows + for more complex kernel implementations. + """ + print("=" * 70) + print("METHOD 1: CUDA C++ Kernel (via cuda.core.Program)") + print("=" * 70) + print("Advantage: Full C++ features, better for complex kernels") + print() + + # Compile the kernel + print("Compiling CUDA C++ kernel...") + program_options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") + prog = Program(PRINTF_KERNEL, code_type="c++", options=program_options) + mod = prog.compile("cubin", name_expressions=("printKernel",)) + kernel = mod.get_kernel("printKernel") + print("Kernel compiled successfully.\n") + + # Create stream for kernel execution + stream = device.create_stream() + + # Configure kernel launch + # Using 2D grid (2x2) and 3D blocks (2x2x2) + grid_x, grid_y = 2, 2 + block_x, block_y, block_z = 2, 2, 2 + + print("Kernel configuration:") + print(f" Grid: ({grid_x}, {grid_y})") + print(f" Block: ({block_x}, {block_y}, {block_z})") + print(f" Total threads: {grid_x * grid_y * block_x * block_y * block_z}") + print() + + # Launch configuration with 2D grid and 3D block + config = LaunchConfig(grid=(grid_x, grid_y), block=(block_x, block_y, block_z)) + + print(f"Launching kernel with value={test_value}. Output:\n") + try: + # Launch kernel + launch(stream, config, kernel, test_value) + + # Synchronize to ensure printf output is flushed + stream.sync() + + print("\nCUDA C++ kernel execution complete.") + except Exception as e: + print(f"\nError during kernel execution: {e}") + traceback.print_exc() + return 1 + finally: + # Cleanup + stream.close() + + return 0 + + +def run_numba_kernel(device, test_value=10): + """ + Demonstrate printing from a Numba CUDA kernel. + + This example uses numba.cuda.grid(3) as the primary indexing mechanism + (recommended modern style), and also prints the equivalent blockId / + threadId used in the CUDA C++ printf sample for side-by-side comparison. + + Uses cuda.core APIs for stream management, demonstrating interoperability + between Numba CUDA kernels and cuda.core infrastructure. + """ + print("\n") + print("=" * 70) + print("METHOD 2: Numba CUDA Kernel (Pythonic / modern indexing)") + print("=" * 70) + print("Advantage: Uses numba.cuda.grid(3) for global indexing,") + print(" while still showing classic CUDA C++ IDs for reference.") + print(" Uses cuda.core for stream management (interoperability).") + print() + + # Same launch configuration as the C++ version + grid_x, grid_y = 2, 2 + block_x, block_y, block_z = 2, 2, 2 + + print("Kernel configuration:") + print(f" Grid: ({grid_x}, {grid_y})") + print(f" Block: ({block_x}, {block_y}, {block_z})") + print(f" Total threads: {grid_x * grid_y * block_x * block_y * block_z}") + print() + + # Use cuda.core stream (same as C++ example) instead of numba.cuda.stream() + stream = device.create_stream() + + print(f"Launching Numba kernel (grid(3) + classic IDs) with value={test_value}:") + print("Uses numba.cuda.grid(3) to get global (x, y, z),") + print("and prints the corresponding blockId/threadId like the C++ sample.") + print("Stream managed by cuda.core for consistency with C++ example.\n") + + try: + # Launch Numba kernel on cuda.core stream + numba_print_kernel[(grid_x, grid_y), (block_x, block_y, block_z), stream](test_value) + + # Synchronize cuda.core stream (same as C++ example) + stream.sync() + print("\nNumba CUDA kernel execution complete.") + except Exception as e: + print(f"\nError during Numba kernel execution: {e}") + traceback.print_exc() + return 1 + finally: + # Cleanup + stream.close() + + return 0 + + +def main(): + """Main function demonstrating printing from CUDA kernels using both approaches""" + + print("Simple Print - Printing from CUDA Kernels") + print("Demonstrating both CUDA C++ and Numba CUDA approaches") + print() + # Initialize device + device = Device() + device.set_current() + + # Get device properties + print(f"Device: {device.name}") + print(f"Compute Capability: sm_{device.arch}") + print() + + # Value to pass to both kernels + test_value = 10 + + # Run CUDA C++ kernel + result = run_cuda_cpp_kernel(device, test_value) + if result != 0: + return result + + # Run Numba kernel if available + if NUMBA_AVAILABLE: + result = run_numba_kernel(device, test_value) + if result != 0: + return result + else: + print("\n" + "=" * 70) + print("Numba CUDA example skipped (numba not installed)") + print("To run the Numba example: pip install numba") + print("=" * 70) + + print("\n" + "=" * 70) + print("Done! Both kernel approaches demonstrated successfully.") + print("=" * 70) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/simpleZeroCopy/README.md b/samples/cuda_core/simpleZeroCopy/README.md new file mode 100644 index 00000000000..cf8a38d3d28 --- /dev/null +++ b/samples/cuda_core/simpleZeroCopy/README.md @@ -0,0 +1,141 @@ +# Sample: simpleZeroCopy (Python) + +## Description + +This sample demonstrates zero-copy access using **`cuda.core`** to compile and launch a kernel, and **`cuda.bindings.runtime`** for mapped pinned host memory (`cudaHostAlloc` with `cudaHostAllocMapped`, `cudaHostGetDevicePointer`, and `cudaFreeHost`). The GPU loads and stores through **device** addresses that refer to that host memory—no `cudaMemcpy` in or out. The example is vector add with inputs and output as NumPy views of the host side of those buffers. + +## What you will learn + +- How to allocate **mapped** pinned host memory with `cudaHostAlloc` (via `cuda.bindings.runtime`) so the GPU can use `cudaHostGetDevicePointer` addresses in a kernel +- How `cuda.core.PinnedMemoryResource` differs (staging/copies; not guaranteed to be `cudaHostAllocMapped` for direct kernel access) +- How to build NumPy views of host addresses with `ctypes` and `numpy.frombuffer` +- How to launch CUDA kernels with `cuda.core`’s `Program` and `launch`, passing **device** pointers for mapped buffers +- When zero-copy is beneficial vs. device memory with explicit transfers +- How to validate results on the host without a D2H memcpy + +## Key libraries + +- `numpy` – CPU arrays and reference computation +- `cuda-core` – `Device`, stream, `Program`, `LaunchConfig`, `launch` +- `cuda-python` (`cuda.bindings.runtime`) – `cudaHostAlloc` / `cudaHostGetDevicePointer` / `cudaFreeHost` for mapped host memory + +## Key APIs + +**From cuda.core:** `Device`, `device.create_stream()`, `Program`, `ProgramOptions`, `LaunchConfig`, `launch` + +**From cuda.bindings.runtime:** `cudaHostAlloc` (with `cudaHostAllocMapped` | `cudaHostAllocPortable`), `cudaHostGetDevicePointer`, `cudaFreeHost` + +**From the standard library:** `ctypes` – wrap host pointers for `numpy.frombuffer` float32 views + +**Memory management:** Free host memory with `cudaFreeHost` in a `finally` block; call `stream.close()` when done. + +## Zero-Copy Memory: When to Use + +### Benefits +- **No explicit transfers**: Simplifies code by eliminating `cudaMemcpy` calls +- **Automatic synchronization**: Host can access results immediately after kernel completes +- **Good for small data**: Overhead of explicit transfers can exceed benefits for small arrays +- **Excellent for integrated GPUs**: On systems like Jetson (Tegra), CPU and GPU share physical memory + +### Limitations +- **Slower access**: Limited by PCIe bandwidth vs. device memory bandwidth +- **Not for compute-intensive**: Device memory is much faster for frequently accessed data +- **Discrete GPU overhead**: Each access crosses PCIe bus + +### Best Use Cases +1. Small data sets where transfer overhead dominates +2. Data accessed infrequently by GPU +3. Integrated GPU platforms (shared memory) +4. Streaming data from host to device +5. Prototyping and debugging (simplifies memory management) + +## Requirements + +1. **NVIDIA GPU** and a **driver** compatible with your installed `cuda-python` / `cuda-core` wheels. +2. **Python 3.10 or newer** +3. Install **`pip install -r requirements.txt`** (NumPy, `cuda-python`, `cuda-core`). A **system** CUDA Toolkit is not strictly required if the process can load the driver/runtime; use `LD_LIBRARY_PATH` in *How to run* if you hit missing-library errors. + +**Install packages:** +```bash +pip install -r requirements.txt +``` + +Or manually: +```bash +pip install numpy>=2.3.2 cuda-core>=1.0.0 cuda-python>=13.0.0 +``` + +## How to run + +Basic usage: +```bash +# Pre-steps: Set library path +export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH + +# Run with default parameters (1M elements) +python simpleZeroCopy.py +``` + +With custom parameters: +```bash +# Use 2M elements +python simpleZeroCopy.py --num_elements 2097152 + +# Show help +python simpleZeroCopy.py --help +``` + +### Command line arguments + +- `--num_elements`: Number of elements in vectors (default: 1048576) + - Each vector uses `num_elements * 4 bytes` (float32) + - Default: ~4 MB per vector, ~12 MB total + +## Expected Output + +Device name and compute capability **depend on your system**; the rest of the log should match this shape when validation passes. + +``` +====================================================================== +simpleZeroCopy - CUDA Python Sample +====================================================================== + +Device Information: + Name: + Compute Capability: . + +> Memory: mapped pinned host (cudaHostAlloc + cudaHostGetDevicePointer) + +Compiling CUDA kernel... + Kernel compiled successfully + +Allocating memory: + Vector size: 1,048,576 elements + Memory per vector: 4.00 MB + Total memory: 12.00 MB + +> Allocating mapped pinned host memory... + Mapped host memory allocated successfully + +> Initializing vectors on host... +> Computing reference result on CPU... + +> Launching vectorAddGPU kernel... + Note: GPU accesses host memory directly (zero-copy) + Kernel execution complete + +> Checking results from vectorAddGPU()... + Comparing 1,048,576 elements... + Relative error: 0.000000e+00 + Validation PASSED + +====================================================================== +simpleZeroCopy completed successfully! +====================================================================== +``` + +## Files + +- `simpleZeroCopy.py` – Main Python implementation +- `README.md` – This file +- `requirements.txt` – Python package dependencies diff --git a/samples/cuda_core/simpleZeroCopy/requirements.txt b/samples/cuda_core/simpleZeroCopy/requirements.txt new file mode 100644 index 00000000000..cfd9d89ea13 --- /dev/null +++ b/samples/cuda_core/simpleZeroCopy/requirements.txt @@ -0,0 +1,6 @@ +# simpleZeroCopy - Requirements +# Install with: pip install -r requirements.txt + +numpy>=2.3.2 +cuda-python>=13.0.0 +cuda-core>=1.0.0 diff --git a/samples/cuda_core/simpleZeroCopy/simpleZeroCopy.py b/samples/cuda_core/simpleZeroCopy/simpleZeroCopy.py new file mode 100644 index 00000000000..a000ad0f8ca --- /dev/null +++ b/samples/cuda_core/simpleZeroCopy/simpleZeroCopy.py @@ -0,0 +1,275 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# distribution and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["numpy>=2.3.2", "cuda-python>=13.0.0", "cuda-core>=1.0.0"] +# /// + +import argparse +import ctypes +import sys +from pathlib import Path + +try: + import numpy as np + + from cuda.bindings import runtime as cuda_rt + from cuda.core import ( + Device, + LaunchConfig, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + +# Add parent directory to path to import utilities +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + + +def _mapped_host_alloc(num_floats, stream): + """ + Allocate page-locked host memory mapped for device access; return + (host_ptr, device_ptr) for CPU views and for ``launch()``. + """ + nbytes = int(num_floats) * np.dtype(np.float32).itemsize + if nbytes <= 0: + return 0, 0 + err, h_ptr = cuda_rt.cudaHostAlloc(nbytes, cuda_rt.cudaHostAllocMapped | cuda_rt.cudaHostAllocPortable) + if err != cuda_rt.cudaError_t.cudaSuccess: + raise RuntimeError(f"cudaHostAlloc failed: {err}") + err, d_ptr = cuda_rt.cudaHostGetDevicePointer(h_ptr, 0) + if err != cuda_rt.cudaError_t.cudaSuccess: + cuda_rt.cudaFreeHost(h_ptr) + raise RuntimeError(f"cudaHostGetDevicePointer failed: {err}") + # Ensure prior work on this stream is visible before host fills buffers. + if stream is not None: + stream.sync() + return h_ptr, d_ptr + + +def _float_view(host_ptr, num_floats): + return np.frombuffer( + (ctypes.c_float * num_floats).from_address(host_ptr), + dtype=np.float32, + count=num_floats, + ) + + +# CUDA C++: vector add with grid-stride loop +VECTOR_ADD_KERNEL = """ +extern "C" __global__ +void vectorAddGPU(float* c, const float* a, const float* b, int N) { + size_t tid = blockIdx.x * blockDim.x + threadIdx.x; + size_t stride = gridDim.x * blockDim.x; + + for (size_t i = tid; i < N; i += stride) { + c[i] = a[i] + b[i]; + } +} +""" + + +def run(num_elements=1048576): + """ + Zero-copy vector add: map host memory, launch kernel with device + pointers, validate on CPU. + + This function shows how to: + 1. Allocate pinned (page-locked) host memory + 2. Map host memory into GPU address space (zero-copy) + 3. Access host memory directly from GPU kernel + 4. Validate results + + Parameters + ---------- + num_elements : int + Number of elements in vectors (default: 1048576) + """ + print("\n" + "=" * 70) + print("simpleZeroCopy - CUDA Python Sample") + print("=" * 70) + + # Initialize device + device = Device() + device.set_current() + major, minor = device.compute_capability + + print("\nDevice Information:") + print(f" Name: {device.name}") + print(f" Compute Capability: {major}.{minor}") + + # Create stream + stream = device.create_stream() + mapped_host_ptrs = [] + + try: + print("\n> Memory: mapped pinned host (cudaHostAlloc + cudaHostGetDevicePointer)") + + print("\nCompiling CUDA kernel...") + program_options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") + prog = Program(VECTOR_ADD_KERNEL, code_type="c++", options=program_options) + mod = prog.compile("cubin") + kernel = mod.get_kernel("vectorAddGPU") + print(" Kernel compiled successfully") + + bytes_total = num_elements * np.dtype(np.float32).itemsize + print("\nAllocating memory:") + print(f" Vector size: {num_elements:,} elements") + print(f" Memory per vector: {bytes_total / (1024**2):.2f} MB") + print(f" Total memory: {3 * bytes_total / (1024**2):.2f} MB") + + print("\n> Allocating mapped pinned host memory...") + h_a, d_a = _mapped_host_alloc(num_elements, stream) + mapped_host_ptrs.append(h_a) + h_b, d_b = _mapped_host_alloc(num_elements, stream) + mapped_host_ptrs.append(h_b) + h_c, d_c = _mapped_host_alloc(num_elements, stream) + mapped_host_ptrs.append(h_c) + + a = _float_view(h_a, num_elements) + b = _float_view(h_b, num_elements) + c = _float_view(h_c, num_elements) + + print(" Mapped host memory allocated successfully") + + print("\n> Initializing vectors on host...") + rng = np.random.default_rng(42) + a[:] = rng.random(num_elements).astype(np.float32) + b[:] = rng.random(num_elements).astype(np.float32) + c[:] = 0 + + print("> Computing reference result on CPU...") + reference = a + b + + print("\n> Launching vectorAddGPU kernel...") + print(" Note: GPU accesses host memory directly (zero-copy)") + + block_size = 256 + grid_size = (num_elements + block_size - 1) // block_size + config = LaunchConfig(grid=grid_size, block=block_size) + + # Pass device pointers from cudaHostGetDevicePointer, not raw host VAs. + launch( + stream, + config, + kernel, + int(d_c), + int(d_a), + int(d_b), + np.int32(num_elements), + ) + stream.sync() + + print(" Kernel execution complete") + + print("\n> Checking results from vectorAddGPU()...") + print(f" Comparing {num_elements:,} elements...") + + # ``c`` is a host view of the same buffer; no cudaMemcpy D2H needed. + if np.allclose(c, reference, rtol=1e-5, atol=1e-6): + error_norm = np.linalg.norm(c - reference) + ref_norm = np.linalg.norm(reference) + relative_error = error_norm / ref_norm + print(f" Relative error: {relative_error:.6e}") + print(" Validation PASSED") + success = True + else: + max_error = np.max(np.abs(c - reference)) + print(f" Max error: {max_error}") + print(" Validation FAILED") + success = False + + print("\n" + "=" * 70) + if success: + print("simpleZeroCopy completed successfully!") + else: + print("simpleZeroCopy FAILED!") + print("=" * 70 + "\n") + + return 0 if success else 1 + finally: + for h in reversed(mapped_host_ptrs): + if h: + cuda_rt.cudaFreeHost(h) + stream.close() + + +def main(): + """Parse CLI, call ``run()``, and exit with validation status.""" + parser = argparse.ArgumentParser( + description="Demonstrate zero-copy memory access with CUDA", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +Examples: + python simpleZeroCopy.py + python simpleZeroCopy.py --num_elements 2097152 +What is Zero-Copy Memory? + Zero-copy allows the GPU to directly access host (CPU) memory without + explicit memory transfers. This is useful for: + - Small data that doesn't benefit from explicit transfers + - Data that is accessed infrequently + - Integrated GPUs that share memory with CPU + + Trade-offs: + - Slower than device memory (PCIe bandwidth limited) + - No explicit transfers needed (simpler code) + - Good for discrete GPUs with small data + - Excellent for integrated GPUs (e.g., Tegra) + """, + ) + + parser.add_argument( + "--num_elements", + type=int, + default=1048576, + help="Number of elements in vectors (default: 1048576)", + ) + + args = parser.parse_args() + + if args.num_elements <= 0: + print("Error: num_elements must be positive") + sys.exit(1) + + try: + exit_code = run(num_elements=args.num_elements) + except Exception as e: + print(f"\nError: {e}") + import traceback + + traceback.print_exc() + exit_code = 1 + + sys.exit(exit_code) + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/streamingCopyComputeOverlap/README.md b/samples/cuda_core/streamingCopyComputeOverlap/README.md new file mode 100644 index 00000000000..7ecdc142dd7 --- /dev/null +++ b/samples/cuda_core/streamingCopyComputeOverlap/README.md @@ -0,0 +1,98 @@ +# Sample: Streaming Copy + Compute Overlap (Python) + +## Description + +Demonstrate how to overlap memory transfers (H2D/D2H) with kernel computation using CUDA streams. This technique hides transfer latency and improves GPU utilization. + +## What You'll Learn + +- Using `PinnedMemoryResource` for async-capable host memory +- Using `DeviceMemoryResource` for GPU memory allocation +- Creating multiple streams with `Device.create_stream()` +- Async memory copies with `Buffer.copy_to()` +- Overlapping H2D transfers, kernel execution, and D2H transfers + +## Key Concept + +**Without overlap (sequential):** +``` +[====H2D====][====Compute====][====D2H====] +``` + +**With overlap (multiple streams):** +``` +Stream 0: [H2D][Compute][D2H] +Stream 1: [H2D][Compute][D2H] +Stream 2: [H2D][Compute][D2H] +``` + +## Key APIs (all from `cuda.core`) + +- `Device` - Device management +- `Device.create_stream()` - Create CUDA streams +- `Stream.sync()` - Synchronize stream +- `PinnedMemoryResource` - Pinned host memory (required for async transfers) +- `DeviceMemoryResource` - GPU device memory +- `Buffer.copy_to(dst, stream=stream)` - Async memory copy +- `Program`, `LaunchConfig`, `launch` - Kernel compilation and execution + +### From `numpy`: + +- `np.from_dlpack()` - Zero-copy view of pinned memory buffers + +## Requirements + +- CUDA Toolkit 13.0+ +- Python 3.10+ +- `cuda-python`, `cuda-core`, `numpy` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python streamingCopyComputeOverlap.py +``` + +## Expected Output + +``` +============================================================ +Streaming Copy + Compute Overlap +Using pure cuda.core APIs +============================================================ + +Device: NVIDIA GeForce RTX XXXX +Kernel compiled [OK] + +Problem size: 16,000,000 elements (61 MB) + +--- Sequential (no overlap) --- +Timeline: [H2D][Compute][D2H] +Time: X.XX ms (±X.XX) + +--- Streamed (with overlap) --- +Stream 0: [H2D][Compute][D2H] +Stream 1: [H2D][Compute][D2H] +Stream 2: [H2D][Compute][D2H] +... +2 streams: X.XX ms (±X.XX) - speedup: X.XXx +4 streams: X.XX ms (±X.XX) - speedup: X.XXx +8 streams: X.XX ms (±X.XX) - speedup: X.XXx + +============================================================ +Key: Pinned memory + multiple streams = overlap transfers with compute + +Note: Speedup depends on hardware characteristics. This technique +benefits most when transfer time is significant relative to compute. +============================================================ +``` + +## See Also + +- [cuda.core Documentation](https://nvidia.github.io/cuda-python/cuda-core/latest/) +- [CUDA Streams Best Practices](https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html#overlapping-data-transfers) diff --git a/samples/cuda_core/streamingCopyComputeOverlap/requirements.txt b/samples/cuda_core/streamingCopyComputeOverlap/requirements.txt new file mode 100644 index 00000000000..0b19f485db2 --- /dev/null +++ b/samples/cuda_core/streamingCopyComputeOverlap/requirements.txt @@ -0,0 +1,6 @@ +# Streaming Copy Compute Overlap Sample Requirements +# Requires Python 3.10 or newer + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +numpy>=2.3.2 diff --git a/samples/cuda_core/streamingCopyComputeOverlap/streamingCopyComputeOverlap.py b/samples/cuda_core/streamingCopyComputeOverlap/streamingCopyComputeOverlap.py new file mode 100644 index 00000000000..820a44c4b0d --- /dev/null +++ b/samples/cuda_core/streamingCopyComputeOverlap/streamingCopyComputeOverlap.py @@ -0,0 +1,319 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "numpy>=2.3.2"] +# /// + +""" +Streaming Copy + Compute Overlap + +Demonstrates how to overlap memory transfers with kernel computation using +CUDA streams to maximize GPU utilization. + +Uses pure cuda.core APIs: + - Device, Stream for device and stream management + - PinnedMemoryResource, DeviceMemoryResource for memory allocation + - Buffer.copy_to() for async memory copies + - Program, LaunchConfig, launch for kernel compilation and execution +""" + +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + +try: + import numpy as np + from cuda_samples_utils import print_gpu_info, verify_array_result_or_raise + + from cuda.core import ( + Device, + DeviceMemoryResource, + EventOptions, + LaunchConfig, + PinnedMemoryResource, + Program, + ProgramOptions, + launch, + ) +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Install with: pip install -r requirements.txt") + sys.exit(1) + + +# CUDA Kernel - compute-intensive vector operation (grid-stride loop) +VECTOR_SCALE_KERNEL = r""" +extern "C" __global__ +void vector_scale(const float* input, float* output, float scale, size_t N) { + size_t tid = blockIdx.x * blockDim.x + threadIdx.x; + size_t stride = (size_t)gridDim.x * blockDim.x; + for (size_t i = tid; i < N; i += stride) { + float val = input[i] * scale; + // Add compute work to make kernel non-trivial + for (int j = 0; j < 50; j++) { + val = sqrtf(val * val + 1.0f); + } + output[i] = val; + } +} +""" + + +def buffer_to_numpy(buffer, n_elements): + """Create numpy view of cuda.core Buffer via DLPack.""" + return np.from_dlpack(buffer).view(np.float32).reshape(n_elements) + + +def main(): + print("=" * 60) + print("Streaming Copy + Compute Overlap") + print("Using pure cuda.core APIs") + print("=" * 60) + + # Initialize device + device = Device(0) + device.set_current() + print() + print_gpu_info(device) + + # Compile kernel + arch = f"sm_{device.arch}" + program = Program(VECTOR_SCALE_KERNEL, code_type="c++", options=ProgramOptions(arch=arch)) + kernel = program.compile(target_type="cubin").get_kernel("vector_scale") + print("Kernel compiled [OK]") + + # Parameters + N = 16_000_000 # 16M elements + n_bytes = N * 4 + scale = 2.5 + n_runs = 10 + + print(f"\nProblem size: {N:,} elements ({n_bytes / 1024 / 1024:.0f} MB)") + + # Create memory resources + pinned_mr = PinnedMemoryResource() + device_mr = DeviceMemoryResource(device.device_id) + default_stream = device.create_stream() + + # ========================================================================= + # Sequential Execution + # ========================================================================= + print("\n--- Sequential (no overlap) ---") + print("Timeline: [H2D][Compute][D2H]") + + h_in = h_out = d_in = d_out = None + try: + # Pre-allocate buffers + h_in = pinned_mr.allocate(n_bytes, stream=default_stream) + h_out = pinned_mr.allocate(n_bytes, stream=default_stream) + d_in = device_mr.allocate(n_bytes, stream=default_stream) + d_out = device_mr.allocate(n_bytes, stream=default_stream) + # Sync before numpy access (numpy operations aren't stream ordered) + default_stream.sync() + + # Initialize input + np_in = buffer_to_numpy(h_in, N) + np_in[:] = np.random.rand(N).astype(np.float32) * 100 + + config = LaunchConfig(grid=((N + 255) // 256,), block=(256,)) + event_opts = EventOptions(timing_enabled=True) + + # Warm up + h_in.copy_to(d_in, stream=default_stream) + launch( + default_stream, + config, + kernel, + d_in, + d_out, + np.float32(scale), + np.uint64(N), + ) + d_out.copy_to(h_out, stream=default_stream) + default_stream.sync() + + # Benchmark with CUDA events + times = [] + for _ in range(n_runs): + start_ev = device.create_event(options=event_opts) + end_ev = device.create_event(options=event_opts) + default_stream.record(start_ev) + h_in.copy_to(d_in, stream=default_stream) # Async H2D + launch( + default_stream, + config, + kernel, + d_in, + d_out, + np.float32(scale), + np.uint64(N), + ) + d_out.copy_to(h_out, stream=default_stream) # Async D2H + default_stream.record(end_ev) + default_stream.sync() + times.append(end_ev - start_ev) + + seq_time = np.mean(times) + print(f"Time: {seq_time:.2f} ms (±{np.std(times):.2f})") + + # Verification: compute expected on CPU and compare + default_stream.sync() + np_out = buffer_to_numpy(h_out, N) + expected = np_in.astype(np.float32) * scale + for _ in range(50): + expected = np.sqrt(expected * expected + 1.0).astype(np.float32) + verify_array_result_or_raise( + np_out, + expected, + rtol=1e-4, + atol=1e-4, + verbose=False, + error_message="Sequential execution verification failed", + ) + print("Verification: PASSED") + finally: + for buf in (h_in, h_out, d_in, d_out): + if buf is not None: + buf.close() + default_stream.close() + + # ========================================================================= + # Streamed Execution + # ========================================================================= + print("\n--- Streamed (with overlap) ---") + print("Stream 0: [H2D][Compute][D2H]") + print("Stream 1: [H2D][Compute][D2H]") + print("Stream 2: [H2D][Compute][D2H]") + print("...") + + for n_streams in [2, 4, 8]: + chunk_size = N // n_streams + chunk_bytes = chunk_size * 4 + + # Create streams + streams = [device.create_stream() for _ in range(n_streams)] + + # Pre-allocate per-stream buffers + h_ins, h_outs, d_ins, d_outs = [], [], [], [] + try: + for i in range(n_streams): + h_ins.append(pinned_mr.allocate(chunk_bytes, stream=streams[i])) + h_outs.append(pinned_mr.allocate(chunk_bytes, stream=streams[i])) + d_ins.append(device_mr.allocate(chunk_bytes, stream=streams[i])) + d_outs.append(device_mr.allocate(chunk_bytes, stream=streams[i])) + + # Initialize input data + for i in range(n_streams): + streams[i].sync() + np_view = buffer_to_numpy(h_ins[i], chunk_size) + np_view[:] = np.random.rand(chunk_size).astype(np.float32) * 100 + + chunk_config = LaunchConfig(grid=((chunk_size + 255) // 256,), block=(256,)) + + # Warm up + for i in range(n_streams): + h_ins[i].copy_to(d_ins[i], stream=streams[i]) + launch( + streams[i], + chunk_config, + kernel, + d_ins[i], + d_outs[i], + np.float32(scale), + np.uint64(chunk_size), + ) + d_outs[i].copy_to(h_outs[i], stream=streams[i]) + for stream in streams: + stream.sync() + + # Benchmark with CUDA events (use stream 0 for timing) + times = [] + event_opts = EventOptions(timing_enabled=True) + for _ in range(n_runs): + start_ev = device.create_event(options=event_opts) + end_ev = device.create_event(options=event_opts) + streams[0].record(start_ev) + + # Issue all operations - they overlap across streams + for i in range(n_streams): + h_ins[i].copy_to(d_ins[i], stream=streams[i]) # Async H2D + launch( + streams[i], + chunk_config, + kernel, + d_ins[i], + d_outs[i], + np.float32(scale), + np.uint64(chunk_size), + ) + d_outs[i].copy_to(h_outs[i], stream=streams[i]) # Async D2H + + # Wait for all streams, record end on stream 0 + for stream in streams: + stream.sync() + streams[0].record(end_ev) + streams[0].sync() + times.append(end_ev - start_ev) + + avg = np.mean(times) + speedup = seq_time / avg + print(f"{n_streams} streams: {avg:.2f} ms (±{np.std(times):.2f}) - speedup: {speedup:.2f}x") + + # Verification (streamed): concatenate chunks and compare to expected + for s in streams: + s.sync() + out_chunks = [buffer_to_numpy(h_outs[i], chunk_size) for i in range(n_streams)] + in_chunks = [buffer_to_numpy(h_ins[i], chunk_size) for i in range(n_streams)] + np_out = np.concatenate(out_chunks) + np_in = np.concatenate(in_chunks) + expected = np_in.astype(np.float32) * scale + for _ in range(50): + expected = np.sqrt(expected * expected + 1.0).astype(np.float32) + verify_array_result_or_raise( + np_out, + expected, + rtol=1e-4, + atol=1e-4, + verbose=False, + error_message=f"Verification failed for {n_streams} streams", + ) + finally: + for buf in h_ins + h_outs + d_ins + d_outs: + buf.close() + for s in streams: + s.close() + + print("\n" + "=" * 60) + print("Key: Pinned memory + multiple streams = overlap transfers with compute") + print("\nNote: Speedup depends on hardware characteristics. This technique") + print("benefits most when transfer time is significant relative to compute.") + print("=" * 60) + + +if __name__ == "__main__": + main() diff --git a/samples/cuda_core/stridedMemoryViewConstructors/README.md b/samples/cuda_core/stridedMemoryViewConstructors/README.md new file mode 100644 index 00000000000..f2d298721c7 --- /dev/null +++ b/samples/cuda_core/stridedMemoryViewConstructors/README.md @@ -0,0 +1,112 @@ +# Sample: StridedMemoryView Constructors (Python) + +## Description + +`cuda.core.utils.StridedMemoryView` is the type a library uses when it +wants to accept "any array-like object" and describe its memory layout +without dictating whether the caller uses NumPy, CuPy, PyTorch, DLPack, or a +raw `cuda.core.Buffer`. + +This sample walks through the four explicit `from_*` constructors and +verifies each round-trips its input via DLPack: + +1. `from_array_interface(host_numpy_array)` — NumPy's `__array_interface__` +2. `from_dlpack(any_array, stream_ptr=...)` — the DLPack protocol (host or device) +3. `from_cuda_array_interface(gpu_array, stream_ptr=...)` — `__cuda_array_interface__` +4. `from_buffer(buf, shape=..., strides=..., dtype=...)` — a raw + `cuda.core.Buffer` plus explicit layout metadata + +Companion samples show how a library actually *consumes* these views: +[`stridedMemoryViewCpu/`](../stridedMemoryViewCpu/) dispatches to a +JIT-compiled CPU function via `cffi`, and +[`stridedMemoryViewGpu/`](../stridedMemoryViewGpu/) dispatches to an NVRTC +kernel. + +## What You'll Learn + +- Constructing a `StridedMemoryView` from each of the four supported inputs +- Inspecting a view's `shape`, `dtype`, `size`, and `is_device_accessible` +- Building your own explicit layout (`shape`/`strides`/`dtype`) for a raw + `Buffer` +- Round-tripping a view via DLPack back to NumPy or CuPy + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - `Device`, `Buffer`, `StridedMemoryView` +- `numpy` (>=2.1) - host arrays and DLPack round-trip +- `cupy` - GPU arrays and DLPack / CAI round-trip + +## Key APIs + +### From `cuda.core.utils` + +- `StridedMemoryView.from_array_interface(obj)` +- `StridedMemoryView.from_dlpack(obj, stream_ptr=-1)` (host) or `stream_ptr=stream.handle` (device) +- `StridedMemoryView.from_cuda_array_interface(obj, stream_ptr=stream.handle)` +- `StridedMemoryView.from_buffer(buf, shape=..., strides=..., dtype=...)` + +### From `cuda.core` + +- `Device.memory_resource.allocate(nbytes, stream=...)` - obtain a `Buffer` for the `from_buffer` demo + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 5.0 or higher + +### Software + +- CUDA Toolkit 13.0 or newer (matches `cuda-python` 13.x) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) +- `numpy` (>=2.1) — the DLPack round-trip requires NumPy 2.1+ + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python stridedMemoryViewConstructors.py +``` + +## Expected Output + +``` +[1] from_array_interface(host_numpy_array) + host_view: shape=(3, 4), dtype=int16, size=12 (host-only) + +[2] from_dlpack(host_array, stream_ptr=-1) + host_dlpack_view: shape=(3, 4), dtype=int16, size=12 (host-only) + +[3] from_dlpack(gpu_array) and from_cuda_array_interface(gpu_array) + dlpack_view (gpu): shape=(3, 4), dtype=float32, size=12 (device-accessible) + cai_view (gpu): shape=(3, 4), dtype=float32, size=12 (device-accessible) + +[4] from_buffer(buf, shape=..., strides=..., dtype=...) + buffer_view: shape=(3, 4), dtype=float32, size=12 (device-accessible) + +Constructed StridedMemoryView from array_interface, DLPack, CAI, and Buffer inputs. +Done +``` + +## Files + +- `stridedMemoryViewConstructors.py` - Python implementation +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.core` StridedMemoryView API](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html#cuda.core.utils.StridedMemoryView) +- [DLPack Protocol](https://dmlc.github.io/dlpack/latest/) +- [`__cuda_array_interface__`](https://numba.readthedocs.io/en/stable/cuda/cuda_array_interface.html) +- [`stridedMemoryViewCpu/`](../stridedMemoryViewCpu/) - CPU-side foreign-function consumer +- [`stridedMemoryViewGpu/`](../stridedMemoryViewGpu/) - GPU-side foreign-function consumer diff --git a/samples/cuda_core/stridedMemoryViewConstructors/requirements.txt b/samples/cuda_core/stridedMemoryViewConstructors/requirements.txt new file mode 100644 index 00000000000..fd1415a58ba --- /dev/null +++ b/samples/cuda_core/stridedMemoryViewConstructors/requirements.txt @@ -0,0 +1,7 @@ +# stridedMemoryViewConstructors Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 +numpy>=2.1 diff --git a/samples/cuda_core/stridedMemoryViewConstructors/stridedMemoryViewConstructors.py b/samples/cuda_core/stridedMemoryViewConstructors/stridedMemoryViewConstructors.py new file mode 100644 index 00000000000..ca04ab6d473 --- /dev/null +++ b/samples/cuda_core/stridedMemoryViewConstructors/stridedMemoryViewConstructors.py @@ -0,0 +1,149 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0", "numpy>=2.1"] +# /// + +""" +StridedMemoryView constructors with cuda.core + +``cuda.core.utils.StridedMemoryView`` is the type a library reaches for when +it wants to accept "any array-like object" and describe its memory layout +without dictating whether the caller uses NumPy, CuPy, PyTorch, DLPack, or a +raw ``Buffer``. + +This sample exercises the four explicit ``from_*`` constructors: + + * ``from_array_interface(host_array)`` -- NumPy's ``__array_interface__`` + * ``from_dlpack(any_array, stream_ptr=...)`` -- the DLPack protocol + (works for host and device arrays) + * ``from_cuda_array_interface(gpu_array, ...)`` -- ``__cuda_array_interface__`` + * ``from_buffer(buf, shape=..., strides=..., dtype=...)`` -- raw ``cuda.core.Buffer`` + +For each, the sample constructs a view, prints its shape / dtype / +device-accessibility, and reads the underlying data back through DLPack to +verify the round-trip. +""" + +import os +import sys + +try: + import cupy as cp + import numpy as np + + from cuda.core import Device + from cuda.core.utils import StridedMemoryView +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) + + +def dense_c_strides(shape): + """Compute contiguous C strides for ``shape`` (in elements, not bytes).""" + if not shape: + return () + strides = [1] * len(shape) + for index in range(len(shape) - 2, -1, -1): + strides[index] = strides[index + 1] * shape[index + 1] + return tuple(strides) + + +def _describe(name, view): + kind = "device-accessible" if view.is_device_accessible else "host-only" + print(f" {name}: shape={view.shape}, dtype={view.dtype}, size={view.size} ({kind})") + + +def main(): + if np.lib.NumpyVersion(np.__version__) < "2.1.0": + print("This example requires NumPy 2.1.0 or later", file=sys.stderr) + sys.exit(EXIT_WAIVED) + + device = Device() + device.set_current() + stream = device.create_stream() + buffer = None + + try: + # ---- 1) __array_interface__ (host NumPy array) ---- + print("[1] from_array_interface(host_numpy_array)") + host_array = np.arange(12, dtype=np.int16).reshape(3, 4) + host_view = StridedMemoryView.from_array_interface(host_array) + _describe("host_view", host_view) + assert host_view.shape == host_array.shape + assert host_view.size == host_array.size + assert not host_view.is_device_accessible + assert np.array_equal(np.from_dlpack(host_view), host_array) + + # ---- 2) DLPack (host_array) ---- + print("\n[2] from_dlpack(host_array, stream_ptr=-1)") + host_dlpack_view = StridedMemoryView.from_dlpack(host_array, stream_ptr=-1) + _describe("host_dlpack_view", host_dlpack_view) + assert np.array_equal(np.from_dlpack(host_dlpack_view), host_array) + + # ---- 3) DLPack (GPU) and __cuda_array_interface__ (GPU) ---- + print("\n[3] from_dlpack(gpu_array) and from_cuda_array_interface(gpu_array)") + gpu_array = cp.arange(12, dtype=cp.float32).reshape(3, 4) + dlpack_view = StridedMemoryView.from_dlpack(gpu_array, stream_ptr=stream.handle) + cai_view = StridedMemoryView.from_cuda_array_interface(gpu_array, stream_ptr=stream.handle) + _describe("dlpack_view (gpu)", dlpack_view) + _describe("cai_view (gpu)", cai_view) + cp.testing.assert_array_equal(cp.from_dlpack(dlpack_view), gpu_array) + cp.testing.assert_array_equal(cp.from_dlpack(cai_view), gpu_array) + + # ---- 4) from_buffer (raw cuda.core.Buffer) ---- + print("\n[4] from_buffer(buf, shape=..., strides=..., dtype=...)") + buffer = device.memory_resource.allocate(gpu_array.nbytes, stream=stream) + buffer_array = cp.from_dlpack(buffer).view(dtype=cp.float32).reshape(gpu_array.shape) + buffer_array[...] = gpu_array + device.sync() + + buffer_view = StridedMemoryView.from_buffer( + buffer, + shape=gpu_array.shape, + strides=dense_c_strides(gpu_array.shape), + dtype=np.dtype(np.float32), + ) + _describe("buffer_view", buffer_view) + cp.testing.assert_array_equal(cp.from_dlpack(buffer_view), gpu_array) + + print("\nConstructed StridedMemoryView from array_interface, DLPack, CAI, and Buffer inputs.") + print("Done") + return 0 + finally: + if buffer is not None: + buffer.close(stream) + stream.close() + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/stridedMemoryViewCpu/README.md b/samples/cuda_core/stridedMemoryViewCpu/README.md new file mode 100644 index 00000000000..80277b3e078 --- /dev/null +++ b/samples/cuda_core/stridedMemoryViewCpu/README.md @@ -0,0 +1,108 @@ +# Sample: StridedMemoryView + Foreign CPU Function (Python) + +## Description + +Model a library that accepts "any array-like object" and dispatches to a +JIT-compiled **CPU** implementation. `cuda.core.utils.StridedMemoryView` ++ the `@args_viewable_as_strided_memory` decorator hide the caller's array +protocol from the library, so the library only needs to know: + +- how many elements are in the array (`view.shape`) +- what type they are (`view.dtype`) +- whether they are on the host or the device (`view.is_device_accessible`) +- and a raw pointer to the data (`view.ptr`) + +The sample compiles a small C function + +```c +void inplace_plus_arange_N(int* data, size_t N); // data[i] += i +``` + +via `cffi` at runtime, wraps it in a decorated Python function, and calls +it against a NumPy array. Result verified against +`np.arange(1024, dtype=np.int32)`. + +The GPU counterpart lives in +[`../stridedMemoryViewGpu/`](../stridedMemoryViewGpu/); the constructor +tour lives in +[`../stridedMemoryViewConstructors/`](../stridedMemoryViewConstructors/). + +## What You'll Learn + +- Building a library entry point with `@args_viewable_as_strided_memory((0,))` +- Reading `view.ptr`, `view.shape`, `view.dtype`, + `view.is_device_accessible` inside the library +- JIT-compiling a small C function with `cffi` and calling it through the + view's raw pointer + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - `StridedMemoryView`, `args_viewable_as_strided_memory` +- `cffi` - JIT-compile the C function +- `numpy` - test array and reference computation + +## Key APIs + +### From `cuda.core.utils` + +- `StridedMemoryView` - describes the layout of an array-like object +- `@args_viewable_as_strided_memory((argument_index,))` - decorator that + materializes the annotated arguments as `StridedMemoryView` instances + inside the wrapped function + +### From `cffi` + +- `FFI()`, `FFI.cdef()`, `FFI.set_source()`, `FFI.compile(tmpdir=...)` - JIT-compile a shared library +- `FFI.cast("int*", ptr)` - reinterpret an integer pointer as a typed C pointer + +## Requirements + +### Hardware + +- CPU only. No GPU work is performed on the array itself; a valid CUDA + install is only needed because `cuda.core` is imported. + +### Software + +- CUDA Toolkit 13.0 or newer (matches `cuda-python` 13.x) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `numpy` (>=2.3.2) +- `cffi` +- `setuptools` (needed by `cffi` for the JIT build step) +- A working C++ compiler on `PATH` + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python stridedMemoryViewCpu.py +``` + +## Expected Output + +``` +before: arr_cpu[:10]=array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int32) +after: arr_cpu[:10]=array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=int32) +Done +``` + +## Files + +- `stridedMemoryViewCpu.py` - Python implementation +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.core` StridedMemoryView API](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html#cuda.core.utils.StridedMemoryView) +- [`stridedMemoryViewConstructors/`](../stridedMemoryViewConstructors/) - the four `from_*` constructors +- [`stridedMemoryViewGpu/`](../stridedMemoryViewGpu/) - GPU counterpart using NVRTC +- [`cffi` documentation](https://cffi.readthedocs.io/) diff --git a/samples/cuda_core/stridedMemoryViewCpu/requirements.txt b/samples/cuda_core/stridedMemoryViewCpu/requirements.txt new file mode 100644 index 00000000000..045e4404961 --- /dev/null +++ b/samples/cuda_core/stridedMemoryViewCpu/requirements.txt @@ -0,0 +1,8 @@ +# stridedMemoryViewCpu Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +numpy>=2.3.2 +cffi +setuptools diff --git a/samples/cuda_core/stridedMemoryViewCpu/stridedMemoryViewCpu.py b/samples/cuda_core/stridedMemoryViewCpu/stridedMemoryViewCpu.py new file mode 100644 index 00000000000..525828bbd1f --- /dev/null +++ b/samples/cuda_core/stridedMemoryViewCpu/stridedMemoryViewCpu.py @@ -0,0 +1,163 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "numpy>=2.3.2", "cffi", "setuptools"] +# /// + +""" +StridedMemoryView + foreign CPU function via cffi + +This sample models a library that accepts "any array-like object" and +dispatches to a JIT-compiled CPU implementation. The library exposes a +single decorator, ``@args_viewable_as_strided_memory``, which turns the +selected function arguments into ``StridedMemoryView`` instances at call +time -- regardless of whether the caller passed a NumPy array, a CuPy +array, a DLPack capsule, or a raw ``Buffer``. + +The C-side operation: + + void inplace_plus_arange_N(int* data, size_t N); + +adds ``i`` to ``data[i]`` for each ``i`` in ``[0, N)``. It is compiled to a +native shared library via ``cffi`` at runtime, then invoked from Python +through the pointer that ``StridedMemoryView`` provides. + +Together with `stridedMemoryViewGpu/` this is the "practical" side of the +StridedMemoryView story: the library never needs to know which array +protocol its caller uses. +""" + +import importlib +import os +import string +import sys +import tempfile +from contextlib import contextmanager + +try: + import numpy as np + from cffi import FFI + + from cuda.core.utils import StridedMemoryView, args_viewable_as_strided_memory +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) + + +# --------------------------------------------------------------------------- +# The C function we JIT compile. In a real library this lives in a compiled +# extension module and is imported at run time; here we build it in a temp +# directory to keep the sample self-contained. +# --------------------------------------------------------------------------- +func_name = "inplace_plus_arange_N" +func_sig = f"void {func_name}(int* data, size_t N)" + + +# --------------------------------------------------------------------------- +# The library-facing entry point. +# +# ``@args_viewable_as_strided_memory((0,))`` says "take argument 0 and make +# it available as a StridedMemoryView on the callee side". Stream ordering +# is handled by the decorator so the library can safely access the memory +# on its own work stream. +# --------------------------------------------------------------------------- +@args_viewable_as_strided_memory((0,)) +def my_func(arr, cpu_prog, cpu_func): + """In-place ``arr += arange(len(arr))`` via a foreign CPU function.""" + view = arr.view(-1) # -1: no stream ordering required (host memory) + assert isinstance(view, StridedMemoryView) + assert len(view.shape) == 1 + assert view.dtype == np.int32 + assert not view.is_device_accessible + + size = view.shape[0] + # Convert the raw pointer inside the view into a cffi ``int*`` and call + # the compiled function. This is the only line that touches the pointer. + cpu_func(cpu_prog.cast("int*", view.ptr), size) + + +# --------------------------------------------------------------------------- +# JIT compilation of the C function via cffi. +# --------------------------------------------------------------------------- +def _create_cpu_program(): + cpu_code = string.Template(r""" + extern "C" + $func_sig { + for (size_t i = 0; i < N; i++) { + data[i] += i; + } + } + """).substitute(func_sig=func_sig) + cpu_prog = FFI() + cpu_prog.cdef(f"{func_sig};") + cpu_prog.set_source( + "_cpu_obj", + cpu_code, + source_extension=".cpp", + extra_compile_args=["-std=c++11"], + ) + return cpu_prog + + +@contextmanager +def _compiled_cpu_func(cpu_prog, temp_dir): + saved_sys_path = sys.path.copy() + try: + cpu_prog.compile(tmpdir=temp_dir) + sys.path.append(temp_dir) + cpu_func = getattr(importlib.import_module("_cpu_obj.lib"), func_name) + yield cpu_func + finally: + sys.path = saved_sys_path + # Ensure cffi modules are unloadable before the temp dir is removed. + sys.modules.pop("_cpu_obj.lib", None) + sys.modules.pop("_cpu_obj", None) + + +def main(): + if sys.platform == "win32": + print("This sample requires a non-Windows C++ toolchain. Waiving this sample on Windows.") + return EXIT_WAIVED + + cpu_prog = _create_cpu_program() + with tempfile.TemporaryDirectory() as temp_dir, _compiled_cpu_func(cpu_prog, temp_dir) as cpu_func: + arr_cpu = np.zeros(1024, dtype=np.int32) + print(f"before: {arr_cpu[:10]=}") + my_func(arr_cpu, cpu_prog, cpu_func) + print(f"after: {arr_cpu[:10]=}") + assert np.allclose(arr_cpu, np.arange(1024, dtype=np.int32)) + print("Done") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/stridedMemoryViewGpu/README.md b/samples/cuda_core/stridedMemoryViewGpu/README.md new file mode 100644 index 00000000000..ddd0a08715b --- /dev/null +++ b/samples/cuda_core/stridedMemoryViewGpu/README.md @@ -0,0 +1,100 @@ +# Sample: StridedMemoryView + Foreign GPU Kernel (Python) + +## Description + +GPU counterpart to [`../stridedMemoryViewCpu/`](../stridedMemoryViewCpu/). +Same library-style entry point (a Python function decorated with +`@args_viewable_as_strided_memory((0,))`) but this time the wrapped +function dispatches to a **CUDA kernel** compiled at runtime with NVRTC +via `cuda.core.Program`. + +The kernel signature + +```c +__global__ void inplace_plus_arange_N(int* data, size_t N); +``` + +adds `i` to `data[i]`. Because `StridedMemoryView` carries a raw device +pointer (`view.ptr`) plus shape/dtype/device-accessibility metadata, the +library can launch the kernel without ever knowing that the caller used +CuPy (or a DLPack capsule, or a raw `Buffer`, or anything else). + +The constructor tour lives in +[`../stridedMemoryViewConstructors/`](../stridedMemoryViewConstructors/). + +## What You'll Learn + +- Building a library entry point with `@args_viewable_as_strided_memory((0,))` + that dispatches to a CUDA kernel +- Ordering a `StridedMemoryView` against a caller's data stream by passing + `view = arr.view(work_stream.handle)` +- Reading `view.ptr` inside the library and using it as the kernel's `int*` + argument via `launch(...)` +- Compiling and launching a kernel via `cuda.core.Program` / NVRTC + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - `Device`, `Program`, `LaunchConfig`, `launch`, `StridedMemoryView`, `args_viewable_as_strided_memory` +- `cupy` - GPU array used as the caller-side input +- `numpy` - scalar kernel arguments + +## Key APIs + +### From `cuda.core` + +- `Program`, `ProgramOptions`, `Program.compile("cubin")` - NVRTC compile pipeline +- `LaunchConfig`, `launch(stream, config, kernel, ...)` - kernel launch +- `Device`, `Device.create_stream()` - device context and stream management + +### From `cuda.core.utils` + +- `@args_viewable_as_strided_memory((argument_index,))` - decorator materializing arguments as `StridedMemoryView` +- `StridedMemoryView.ptr`, `.shape`, `.dtype`, `.is_device_accessible` - metadata read by the library + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 5.0 or higher + +### Software + +- CUDA Toolkit 13.0 or newer (matches `cuda-python` 13.x) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) +- `numpy` (>=2.3.2) + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python stridedMemoryViewGpu.py +``` + +## Expected Output + +``` +before: arr_gpu[:10]=array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype=int32) +after: arr_gpu[:10]=array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], dtype=int32) +Done +``` + +## Files + +- `stridedMemoryViewGpu.py` - Python implementation +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.core` StridedMemoryView API](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html#cuda.core.utils.StridedMemoryView) +- [`stridedMemoryViewConstructors/`](../stridedMemoryViewConstructors/) - the four `from_*` constructors +- [`stridedMemoryViewCpu/`](../stridedMemoryViewCpu/) - CPU-side foreign-function consumer diff --git a/samples/cuda_core/stridedMemoryViewGpu/requirements.txt b/samples/cuda_core/stridedMemoryViewGpu/requirements.txt new file mode 100644 index 00000000000..6434dae5e30 --- /dev/null +++ b/samples/cuda_core/stridedMemoryViewGpu/requirements.txt @@ -0,0 +1,7 @@ +# stridedMemoryViewGpu Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 +numpy>=2.3.2 diff --git a/samples/cuda_core/stridedMemoryViewGpu/stridedMemoryViewGpu.py b/samples/cuda_core/stridedMemoryViewGpu/stridedMemoryViewGpu.py new file mode 100644 index 00000000000..5968a45dca7 --- /dev/null +++ b/samples/cuda_core/stridedMemoryViewGpu/stridedMemoryViewGpu.py @@ -0,0 +1,145 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0", "numpy>=2.3.2"] +# /// + +""" +StridedMemoryView + foreign GPU kernel via NVRTC + +The GPU-side counterpart to :file:`stridedMemoryViewCpu.py`. Same public +Python entry point (``my_func`` decorated with +``@args_viewable_as_strided_memory((0,))``), but this time the decorated +function dispatches to a CUDA kernel compiled at runtime with NVRTC. + +The C-side operation is: + + __global__ void inplace_plus_arange_N(int* data, size_t N); + +which sets ``data[i] += i`` for each ``i`` in ``[0, N)``. The decorator +lifts the caller's CuPy array into a ``StridedMemoryView`` that carries a +device pointer, a dtype, and a shape. The library never needs to know that +the caller used CuPy -- it just launches the kernel through the view's +``ptr``. + +Together with `stridedMemoryViewCpu/` this is the "practical" side of the +StridedMemoryView story: the library never needs to know which array +protocol its caller uses. +""" + +import string +import sys + +try: + import cupy as cp + import numpy as np + + from cuda.core import Device, LaunchConfig, Program, ProgramOptions, launch + from cuda.core.utils import StridedMemoryView, args_viewable_as_strided_memory +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +# --------------------------------------------------------------------------- +# The kernel that plays the role of the "foreign" library entry point. +# --------------------------------------------------------------------------- +func_name = "inplace_plus_arange_N" +func_sig = f"void {func_name}(int* data, size_t N)" + + +# --------------------------------------------------------------------------- +# The library-facing entry point. +# +# ``@args_viewable_as_strided_memory((0,))`` says "take argument 0 and make +# it available as a StridedMemoryView on the callee side". Stream ordering +# is handled by the decorator: we pass ``work_stream.handle`` so the view +# waits until the caller's data has landed before the kernel reads it. +# --------------------------------------------------------------------------- +@args_viewable_as_strided_memory((0,)) +def my_func(arr, work_stream, kernel): + """In-place ``arr += arange(len(arr))`` via a foreign GPU kernel.""" + view = arr.view(work_stream.handle if work_stream else -1) + assert isinstance(view, StridedMemoryView) + assert len(view.shape) == 1 + assert view.dtype == np.int32 + assert view.is_device_accessible + + size = view.shape[0] + block = 256 + grid = (size + block - 1) // block + config = LaunchConfig(grid=grid, block=block) + launch(work_stream, config, kernel, view.ptr, np.uint64(size)) + # Conservative: synchronize the work stream so the caller can observe + # the write immediately. If we knew the caller's data stream we could + # instead do ``data_stream.wait(work_stream)`` and avoid the host sync. + work_stream.sync() + + +def main(): + # ---- Compile the GPU function ---- + gpu_code = string.Template(r""" + extern "C" + __global__ $func_sig { + const size_t tid = threadIdx.x + blockIdx.x * blockDim.x; + const size_t stride_size = gridDim.x * blockDim.x; + for (size_t i = tid; i < N; i += stride_size) { + data[i] += i; + } + } + """).substitute(func_sig=func_sig) + + dev = Device(0) + dev.set_current() + prog = Program( + gpu_code, + code_type="c++", + options=ProgramOptions(arch=f"sm_{dev.arch}", std="c++11"), + ) + mod = prog.compile(target_type="cubin") + kernel = mod.get_kernel(func_name) + + stream = dev.create_stream() + try: + # ---- Call the library through the decorated wrapper ---- + arr_gpu = cp.ones(1024, dtype=cp.int32) + print(f"before: {arr_gpu[:10]=}") + + my_func(arr_gpu, stream, kernel) + + print(f"after: {arr_gpu[:10]=}") + assert cp.allclose(arr_gpu, 1 + cp.arange(1024, dtype=cp.int32)) + print("Done") + return 0 + finally: + stream.close() + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/systemInfo/README.md b/samples/cuda_core/systemInfo/README.md new file mode 100644 index 00000000000..e8acdcfac02 --- /dev/null +++ b/samples/cuda_core/systemInfo/README.md @@ -0,0 +1,152 @@ +# Sample: System Information Query (Python) + +## Description + +This sample demonstrates how to inspect the CUDA driver, NVML, and every +installed GPU through the +[`cuda.core.system`](https://nvidia.github.io/cuda-python/cuda-core/latest/) +module. + +`cuda.core.system` wraps the NVIDIA Management Library (NVML) and can be +imported without CUDA being installed or initialized, so it is useful as a +lightweight pre-flight check before any CUDA context is created. The script +prints driver and NVML versions, the current process name, per-device +metadata (name, compute capability, architecture, memory, PCI info, +temperature, performance state), and, on multi-GPU systems, the topology +and peer-to-peer capabilities between each pair of devices. + +## What You'll Learn + +- Querying CUDA driver and NVML versions with `cuda.core.system` +- Enumerating GPUs without creating a CUDA context +- Reading per-device metadata exposed by NVML (name, UUID, memory usage, + temperature, performance state) +- Inspecting GPU-to-GPU topology and peer-to-peer (P2P) capabilities + +## Key Libraries + +- [`cuda.core.system`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - Python wrapper around NVML + +## Key APIs + +From `cuda.core.system`: + +- `get_driver_version()`, `get_driver_version_full()`, `get_driver_branch()` - CUDA driver version tuple and branch string +- `get_nvml_version()` - NVML library version +- `get_num_devices()` - number of GPUs visible to NVML +- `get_process_name(pid)` - process name for a given PID +- `Device(index=...)` - NVML-backed device handle (no CUDA context required) + - `name`, `uuid`, `cuda_compute_capability`, `arch`, `brand` + - `memory_info` (`total`, `used`, `free`) + - `pci_info` (`domain`, `bus`, `device`, `bus_id`) + - `temperature.sensor(TemperatureSensors.TEMPERATURE_GPU)` + - `performance_state` +- `get_topology_common_ancestor(dev0, dev1)` - `GpuTopologyLevel` between two devices +- `get_p2p_status(dev0, dev1, GpuP2PCapsIndex.P2P_CAPS_INDEX_READ)` - peer-access capability between two devices + +Import stable symbols from the top-level `cuda.core` package (not `cuda.core.experimental`). + +## Requirements + +1. **NVIDIA Graphics Card** with CUDA support +2. **CUDA Drivers** installed on your system +3. **CUDA Toolkit** installed on your system +4. **Python 3.12 or newer** + +### Hardware + +- One or more NVIDIA GPUs +- Driver compatible with `cuda-python` 13.x + +### Software + +- CUDA Toolkit 13.0 or newer (matches `cuda-python` 13.x) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) + +## Installation + +Install the required packages from `requirements.txt`: + +```bash +cd /path/to/cuda-python/samples/cuda_core/systemInfo +pip install -r requirements.txt +``` + +The `requirements.txt` installs: + +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) + +## How to Run + +### Basic usage + +```bash +cd samples/cuda_core/systemInfo +python systemInfo.py +``` + +### Skip topology queries + +Useful on machines with only one GPU or to shorten the output: + +```bash +python systemInfo.py --no-topology +``` + +## Expected Output + +Output varies with your hardware. On a machine with two GPUs you should see +something like: + +``` +====================================================================== +Driver / NVML +====================================================================== +CUDA driver version: 13.2 +CUDA driver version (full): (13, 2, 0) +NVML version: (13, 595, 58, 3) +Driver branch: r595_88 +Current process: /usr/bin/python + +====================================================================== +Devices detected: 2 +====================================================================== + +-- Device 0 -- +Name: +UUID: ... +Compute capability: 8.9 +Architecture: ADA +Brand: BRAND_GEFORCE +Memory: total=23.99 GiB, used=960.00 KiB, free=23.52 GiB +PCI: domain=0000 bus=41 device=00 id=00000000:41:00.0 +Temperature (GPU sensor): 47 C +Performance state: + +... + +====================================================================== +GPU topology and peer-to-peer +====================================================================== +Device 0 <-> Device 1: topology=TOPOLOGY_HOSTBRIDGE, p2p_read=..., p2p_write=... + +Done +``` + +**Note:** Device names, compute capability, temperatures, and topology +details will vary based on your GPUs and system. + +## Files + +- `systemInfo.py` - Python implementation using `cuda.core.system` +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.core.system` API reference](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html) +- [NVML reference](https://docs.nvidia.com/deploy/nvml-api/) diff --git a/samples/cuda_core/systemInfo/requirements.txt b/samples/cuda_core/systemInfo/requirements.txt new file mode 100644 index 00000000000..13628c0b308 --- /dev/null +++ b/samples/cuda_core/systemInfo/requirements.txt @@ -0,0 +1,4 @@ +# System Information Sample Requirements + +cuda-python>=13.0.0 +cuda-core>=1.0.0 diff --git a/samples/cuda_core/systemInfo/systemInfo.py b/samples/cuda_core/systemInfo/systemInfo.py new file mode 100644 index 00000000000..edfdde5ba70 --- /dev/null +++ b/samples/cuda_core/systemInfo/systemInfo.py @@ -0,0 +1,199 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0"] +# /// + +""" +System Information via cuda.core.system (NVML) + +Demonstrates the ``cuda.core.system`` module, which wraps NVIDIA Management +Library (NVML) functionality. + +This sample prints: + * Driver and NVML versions + * Current process name + * Per-device: name, UUID, compute capability / arch, PCI info, memory usage, + temperature, performance state + * GPU-to-GPU topology and peer-to-peer status (when more than one GPU) +""" + +import os +import sys + +try: + from cuda.core import system + from cuda.core.system import CUDA_BINDINGS_NVML_IS_COMPATIBLE + from cuda.core.system.typing import GpuP2PCapsIndex +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +def print_header(title: str) -> None: + print() + print("=" * 70) + print(title) + print("=" * 70) + + +def format_bytes(nbytes: int) -> str: + """Format a byte count as a human-readable string.""" + units = ["B", "KiB", "MiB", "GiB", "TiB"] + size = float(nbytes) + for unit in units: + if size < 1024.0: + return f"{size:.2f} {unit}" + size /= 1024.0 + return f"{size:.2f} PiB" + + +def print_driver_info() -> None: + print_header("Driver / NVML") + major, minor = system.get_user_mode_driver_version() + print(f"CUDA driver version (user-mode): {major}.{minor}") + if CUDA_BINDINGS_NVML_IS_COMPATIBLE: + kmd = system.get_kernel_mode_driver_version() + print(f"CUDA driver version (kernel-mode): {'.'.join(str(x) for x in kmd)}") + print(f"NVML version: {system.get_nvml_version()}") + try: + print(f"Driver branch: {system.get_driver_branch()}") + except Exception as e: + print(f"Driver branch: unavailable ({e})") + else: + print("NVML bindings are not compatible with this driver; device info will be limited.") + print(f"Current process: {system.get_process_name(os.getpid())}") + + +def print_device_info(device: "system.Device") -> None: + print(f"\n-- Device {device.index} --") + print(f"Name: {device.name}") + print(f"UUID: {device.uuid}") + try: + cc_major, cc_minor = device.cuda_compute_capability + print(f"Compute capability: {cc_major}.{cc_minor}") + except Exception as e: + print(f"Compute capability: unavailable ({e})") + try: + print(f"Architecture: {device.arch.name}") + except Exception as e: + print(f"Architecture: unavailable ({e})") + try: + print(f"Brand: {device.brand}") + except Exception as e: + print(f"Brand: unavailable ({e})") + + # Memory + try: + mem = device.memory_info + print(f"Memory: total={format_bytes(mem.total)}, used={format_bytes(mem.used)}, free={format_bytes(mem.free)}") + except Exception as e: + print(f"Memory: unavailable ({e})") + + # PCI + try: + pci = device.pci_info + print(f"PCI: domain={pci.domain:04x} bus={pci.bus:02x} device={pci.device:02x} id={pci.bus_id}") + except Exception as e: + print(f"PCI: unavailable ({e})") + + # Temperature (GPU sensor) + try: + temp_c = device.temperature.get_sensor() + print(f"Temperature (GPU sensor): {temp_c} C") + except Exception as e: + print(f"Temperature: unavailable ({e})") + + # Performance state + try: + pstate = device.performance_state + print(f"Performance state: {pstate}") + except Exception as e: + print(f"Performance state: unavailable ({e})") + + +def print_topology(devices: list) -> None: + if len(devices) < 2: + return + print_header("GPU topology and peer-to-peer") + for i, d0 in enumerate(devices): + for d1 in devices[i + 1 :]: + try: + level = system.get_topology_common_ancestor(d0, d1) + level_name = level.name + except Exception as e: + level_name = f"unavailable ({e})" + try: + read = system.get_p2p_status(d0, d1, GpuP2PCapsIndex.READ) + write = system.get_p2p_status(d0, d1, GpuP2PCapsIndex.WRITE) + read_name = read.name + write_name = write.name + except Exception as e: + read_name = write_name = f"unavailable ({e})" + print( + f"Device {d0.index} <-> Device {d1.index}: " + f"topology={level_name}, p2p_read={read_name}, p2p_write={write_name}" + ) + + +def main() -> int: + import argparse + + parser = argparse.ArgumentParser(description="Print CUDA system / NVML information via cuda.core.system") + parser.add_argument( + "--no-topology", + action="store_true", + help="Skip cross-device topology/P2P queries", + ) + args = parser.parse_args() + + print_driver_info() + + num_devices = system.get_num_devices() + print_header(f"Devices detected: {num_devices}") + if num_devices == 0: + print("No CUDA-capable devices found.") + return 0 + if not CUDA_BINDINGS_NVML_IS_COMPATIBLE: + print("NVML is not compatible with the installed driver; skipping device detail.") + return 0 + + devices = [system.Device(index=i) for i in range(num_devices)] + for device in devices: + print_device_info(device) + + if not args.no_topology: + print_topology(devices) + + print("\nDone") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/textureSample/README.md b/samples/cuda_core/textureSample/README.md new file mode 100644 index 00000000000..725034bf424 --- /dev/null +++ b/samples/cuda_core/textureSample/README.md @@ -0,0 +1,59 @@ +# Sample: Texture Sampling (Python) + +## Description + +Minimal ``cuda.core.texture`` demo: build a 2D CUDA ``OpaqueArray``, bind +it as a bindless ``TextureObject``, and sample it from a kernel using both +POINT-exact and LINEAR-interpolated coordinates. + +Texture coordinate convention (non-normalized): each texel ``(i, j)`` is +centered at ``(i + 0.5, j + 0.5)``. So ``tex2D(tex, 0.5, 0.5)`` returns +texel ``(0, 0)`` exactly, while ``tex2D(tex, 1.0, 0.5)`` returns the linear +blend of texels ``(0, 0)`` and ``(1, 0)``. + +## What You'll Learn + +- Allocating a 2D `OpaqueArray` (`cudaArray_t`) via `cuda.core.texture` +- Copying host data into the array +- Configuring a `TextureObject` for POINT vs LINEAR filtering with + non-normalized coordinates +- Sampling the texture from a kernel with `tex2D` and verifying both + filter modes against a NumPy reference + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 5.0 or higher + +### Software + +- CUDA Toolkit 13.0 or newer +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `numpy` (>=1.24) + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +python textureSample.py +``` + +## Files + +- `textureSample.py` — Python implementation +- `README.md` — This file +- `requirements.txt` — Sample dependencies + +## See Also + +- [`cuda.core.texture` API](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html#module-cuda.core.texture) +- [`samples/cuda_core/glInteropFluid/`](../glInteropFluid/) — larger demo using TextureObject + SurfaceObject +- [`samples/cuda_core/glInteropMipmapLod/`](../glInteropMipmapLod/) — mipmap / LOD demo diff --git a/samples/cuda_core/textureSample/requirements.txt b/samples/cuda_core/textureSample/requirements.txt new file mode 100644 index 00000000000..cd1c9fe94bc --- /dev/null +++ b/samples/cuda_core/textureSample/requirements.txt @@ -0,0 +1,6 @@ +# textureSample Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +numpy>=1.24 diff --git a/cuda_core/examples/texture_sample.py b/samples/cuda_core/textureSample/textureSample.py similarity index 99% rename from cuda_core/examples/texture_sample.py rename to samples/cuda_core/textureSample/textureSample.py index 952c77c48ca..21279113884 100644 --- a/cuda_core/examples/texture_sample.py +++ b/samples/cuda_core/textureSample/textureSample.py @@ -16,7 +16,7 @@ # ################################################################################ # /// script -# dependencies = ["cuda_bindings", "cuda_core", "nvidia-cuda-nvrtc"] +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "numpy>=1.24"] # /// import numpy as np diff --git a/samples/cuda_core/threadBlockCluster/README.md b/samples/cuda_core/threadBlockCluster/README.md new file mode 100644 index 00000000000..e8764518ab1 --- /dev/null +++ b/samples/cuda_core/threadBlockCluster/README.md @@ -0,0 +1,126 @@ +# Sample: Thread Block Clusters (Python) + +## Description + +Thread Block Clusters are a hardware feature of Hopper-class (and newer) +GPUs — a Compute Capability 9.0+ concept that groups several thread blocks +into a *cluster* so they can share distributed shared memory and coordinate +through `cooperative_groups`. + +`cuda.core.LaunchConfig` exposes this via a `cluster=` argument. This +sample: + +1. Compiles a kernel that queries the cluster/grid/block dimensions from + inside `cooperative_groups`. +2. Launches with `LaunchConfig(grid=4, cluster=2, block=32)`. +3. Reads the reported dimensions back through host-visible pinned memory + (via `LegacyPinnedMemoryResource`). +4. Verifies that `LaunchConfig(grid=G, cluster=C, block=B)` produces + `G * C` total blocks — `G` clusters of `C` blocks each. + +The sample **waives itself** when: + +- the current device has Compute Capability < 9.0, or +- neither `CUDA_PATH` nor `CUDA_HOME` points to a CUDA toolkit whose + `include/` directory holds `cooperative_groups.h`. + +## What You'll Learn + +- Using `LaunchConfig(cluster=...)` for thread block cluster launches +- Reading `cg::this_grid().dim_clusters()` / `dim_blocks()` / + `cg::this_thread_block().dim_threads()` inside a kernel +- Passing an `include_path` to `ProgramOptions` so NVRTC can find + `cooperative_groups.h` +- Allocating pinned memory with `LegacyPinnedMemoryResource` and viewing it + as a NumPy array via DLPack + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - `Device`, `Program`, `LaunchConfig`, `LegacyPinnedMemoryResource`, `launch` +- [`cuda.pathfinder`](https://nvidia.github.io/cuda-python/cuda-pathfinder/latest/) - `get_cuda_path_or_home` to locate the CUDA toolkit +- `numpy` (>=2.2.5) - viewing pinned buffers as arrays via DLPack + +## Key APIs + +### From `cuda.core` + +- `LaunchConfig(grid=..., cluster=..., block=...)` - configure a + cluster-aware launch +- `ProgramOptions(arch=..., std=..., include_path=...)` - hand NVRTC the + include search paths for CG headers +- `LegacyPinnedMemoryResource` / `.allocate(nbytes)` - allocate host-visible + pinned memory +- `launch`, `Device.default_stream`, `Device.sync()` - launch and wait + +### Kernel-side (CUDA) + +- `cg::this_grid().dim_blocks()`, `dim_clusters()`, `cluster_rank()`, + `block_rank()`, `thread_rank()` +- `cg::this_thread_block().dim_threads()` + +## Requirements + +### Hardware + +- **NVIDIA Hopper or newer GPU** (Compute Capability 9.0+). Ada / Ampere / + Turing GPUs do not support thread block clusters and will waive the + sample. + +### Software + +- CUDA Toolkit 13.0 or newer with `cooperative_groups.h` in its `include/` + directory. Set `CUDA_PATH` or `CUDA_HOME`. +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `numpy` (>=2.2.5) + +## Installation + +```bash +pip install -r requirements.txt +``` + +## How to Run + +```bash +export CUDA_HOME=/usr/local/cuda # or wherever your CTK is installed +python threadBlockCluster.py +``` + +## Expected Output + +On a Hopper-class GPU: + +``` +grid dim: (8, 1, 1) +cluster dim: (4, 1, 1) +block dim: (32, 1, 1) + +Results stored in pinned memory: + Grid dimensions (blocks): (8, 1, 1) + Cluster dimensions: (4, 1, 1) + Block dimensions (threads): (32, 1, 1) + +LaunchConfig(grid=4, cluster=2) produced 8 total blocks as expected. +Done +``` + +On a pre-Hopper GPU (CC < 9.0) the sample self-waives: + +``` +This sample requires compute capability >= 9.0 (found sm_89). Thread Block Clusters are Hopper+. Waiving. +``` + +## Files + +- `threadBlockCluster.py` - Python implementation +- `README.md` - This file +- `requirements.txt` - Sample dependencies + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [`cuda.core` LaunchConfig API](https://nvidia.github.io/cuda-python/cuda-core/latest/api.html#cuda.core.LaunchConfig) +- [CUDA C++ Programming Guide — Thread Block Clusters](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#thread-block-clusters) +- [Cooperative Groups](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#cooperative-groups) diff --git a/samples/cuda_core/threadBlockCluster/requirements.txt b/samples/cuda_core/threadBlockCluster/requirements.txt new file mode 100644 index 00000000000..d705e21cdff --- /dev/null +++ b/samples/cuda_core/threadBlockCluster/requirements.txt @@ -0,0 +1,6 @@ +# threadBlockCluster Sample Requirements +# Install with: pip install -r requirements.txt + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +numpy>=2.3.2 diff --git a/samples/cuda_core/threadBlockCluster/threadBlockCluster.py b/samples/cuda_core/threadBlockCluster/threadBlockCluster.py new file mode 100644 index 00000000000..c96223237d9 --- /dev/null +++ b/samples/cuda_core/threadBlockCluster/threadBlockCluster.py @@ -0,0 +1,214 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "numpy>=2.3.2"] +# /// + +""" +Thread Block Clusters with cuda.core + +Thread Block Clusters are a Hopper-class hardware feature (Compute +Capability 9.0+): a group of thread blocks that can share distributed +shared memory and coordinate through cooperative_groups. + +This sample: + + * Compiles a kernel that queries ``cg::this_grid().dim_blocks()``, + ``dim_clusters()``, and ``cg::this_thread_block().dim_threads()``. + * Launches it with ``LaunchConfig(grid=..., cluster=..., block=...)``. + * Reads the reported dimensions back through host-visible pinned memory. + * Verifies that ``LaunchConfig(grid=G, cluster=C, block=B)`` produces + ``G * C`` total blocks arranged as ``G`` clusters of ``C`` blocks each. + +Waives when: + + * the current device's compute capability is below 9.0, or + * ``CUDA_PATH`` / ``CUDA_HOME`` is not set (needed to locate + ``cooperative_groups.h``). +""" + +import os +import sys + +try: + import numpy as np + + from cuda.core import ( + Device, + LaunchConfig, + LegacyPinnedMemoryResource, + Program, + ProgramOptions, + launch, + ) + from cuda.pathfinder import get_cuda_path_or_home +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) + + +CLUSTER_INFO_KERNEL = r""" +#include + +namespace cg = cooperative_groups; + +extern "C" +__global__ void check_cluster_info(unsigned int* grid_dims, + unsigned int* cluster_dims, + unsigned int* block_dims) { + auto g = cg::this_grid(); + auto b = cg::this_thread_block(); + + // Only one thread of the launch writes the results. + if (g.cluster_rank() == 0 && g.block_rank() == 0 && g.thread_rank() == 0) { + grid_dims[0] = g.dim_blocks().x; + grid_dims[1] = g.dim_blocks().y; + grid_dims[2] = g.dim_blocks().z; + + cluster_dims[0] = g.dim_clusters().x; + cluster_dims[1] = g.dim_clusters().y; + cluster_dims[2] = g.dim_clusters().z; + + block_dims[0] = b.dim_threads().x; + block_dims[1] = b.dim_threads().y; + block_dims[2] = b.dim_threads().z; + + printf("grid dim: (%u, %u, %u)\n", g.dim_blocks().x, g.dim_blocks().y, g.dim_blocks().z); + printf("cluster dim: (%u, %u, %u)\n", g.dim_clusters().x, g.dim_clusters().y, g.dim_clusters().z); + printf("block dim: (%u, %u, %u)\n", b.dim_threads().x, b.dim_threads().y, b.dim_threads().z); + } +} +""" + + +def _find_include_paths(): + """Resolve include paths for cooperative_groups.h (and optional CCCL).""" + cuda_path = get_cuda_path_or_home() + if cuda_path is None: + return None + cuda_include = os.path.join(cuda_path, "include") + if not os.path.isdir(cuda_include): + return None + paths = [cuda_include] + cccl_include = os.path.join(cuda_include, "cccl") + if os.path.isdir(cccl_include): + paths.insert(0, cccl_include) + return paths + + +def main(): + if np.lib.NumpyVersion(np.__version__) < "2.2.5": + print("This sample requires NumPy 2.2.5 or later.", file=sys.stderr) + sys.exit(EXIT_WAIVED) + + include_path = _find_include_paths() + if include_path is None: + print( + "Could not locate a CUDA include directory. " + "Set CUDA_PATH or CUDA_HOME to a CUDA toolkit installation. Waiving.", + file=sys.stderr, + ) + sys.exit(EXIT_WAIVED) + + dev = Device() + arch = dev.compute_capability + if arch < (9, 0): + print( + f"This sample requires compute capability >= 9.0 " + f"(found sm_{arch[0]}{arch[1]}). Thread Block Clusters are Hopper+. Waiving.", + file=sys.stderr, + ) + sys.exit(EXIT_WAIVED) + + dev.set_current() + arch_str = f"{arch[0]}{arch[1]}" + + prog = Program( + CLUSTER_INFO_KERNEL, + code_type="c++", + options=ProgramOptions(arch=f"sm_{arch_str}", std="c++17", include_path=include_path), + ) + mod = prog.compile(target_type="cubin") + kernel = mod.get_kernel("check_cluster_info") + + # LaunchConfig(grid=G, cluster=C, block=B) → G clusters of C blocks + # each = G*C total blocks; each block launches B threads. + grid = 4 + cluster = 2 + block = 32 + config = LaunchConfig(grid=grid, cluster=cluster, block=block) + + # Pinned host-visible memory for the kernel's output. + pinned_mr = LegacyPinnedMemoryResource() + element_size = np.dtype(np.uint32).itemsize + grid_buffer = cluster_buffer = block_buffer = None + try: + grid_buffer = pinned_mr.allocate(3 * element_size) + cluster_buffer = pinned_mr.allocate(3 * element_size) + block_buffer = pinned_mr.allocate(3 * element_size) + + grid_dims = np.from_dlpack(grid_buffer).view(dtype=np.uint32) + cluster_dims = np.from_dlpack(cluster_buffer).view(dtype=np.uint32) + block_dims = np.from_dlpack(block_buffer).view(dtype=np.uint32) + + grid_dims[:] = 0 + cluster_dims[:] = 0 + block_dims[:] = 0 + + launch(dev.default_stream, config, kernel, grid_buffer, cluster_buffer, block_buffer) + dev.sync() + + print("\nResults stored in pinned memory:") + print(f" Grid dimensions (blocks): {tuple(grid_dims)}") + print(f" Cluster dimensions: {tuple(cluster_dims)}") + print(f" Block dimensions (threads): {tuple(block_dims)}") + + expected_grid_blocks = grid * cluster # 4 * 2 = 8 + actual_grid_blocks = int(grid_dims[0]) + assert actual_grid_blocks == expected_grid_blocks, ( + f"Grid conversion failed: expected {expected_grid_blocks} total blocks, got {actual_grid_blocks}" + ) + + print(f"\nLaunchConfig(grid={grid}, cluster={cluster}) produced {actual_grid_blocks} total blocks as expected.") + print("Done") + return 0 + finally: + if block_buffer is not None: + block_buffer.close() + if cluster_buffer is not None: + cluster_buffer.close() + if grid_buffer is not None: + grid_buffer.close() + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/tmaTensorMap/README.md b/samples/cuda_core/tmaTensorMap/README.md new file mode 100644 index 00000000000..a5797b48c4a --- /dev/null +++ b/samples/cuda_core/tmaTensorMap/README.md @@ -0,0 +1,138 @@ +# tmaTensorMap (Python) + +## Description + +This sample demonstrates how to use Tensor Memory Accelerator (TMA) +descriptors with `cuda.core` on Hopper and later GPUs (compute +capability >= 9.0). TMA enables efficient bulk data movement between +global and shared memory using hardware-managed tensor map +descriptors, which are a key building block for modern GEMM kernels +and large shared-memory tile loads. + +The sample: + +1. Creates a TMA tiled descriptor from a CuPy device array via + `StridedMemoryView.from_any_interface(...).as_tensor_map(...)`. +2. Passes the descriptor by value (as `__grid_constant__`) to a + kernel that uses libcudacxx TMA/barrier wrappers to bulk-load a + tile into shared memory, then copies it out to verify correctness. +3. Reuses the same descriptor against a new source tensor with + `replace_address()` to avoid rebuilding it. + +## What You'll Learn + +- Creating a TMA descriptor from a strided device tensor via + `StridedMemoryView.as_tensor_map(box_dim=...)` +- Passing a tensor map to a kernel by value using + `__grid_constant__` +- Using libcudacxx (`cuda/barrier`) to coordinate TMA loads with a + block-scoped barrier +- Reusing a descriptor against a new source buffer via + `tensor_map.replace_address(new_tensor)` +- Compiling a kernel to CUBIN for a specific target arch so Hopper + features are available +- Using `cuda.pathfinder` to locate the CUDA toolkit include directory + CCCL headers and libcudacxx + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) - compilation, launching, and tensor-map helpers +- `cuda.pathfinder` - locate the CUDA toolkit include directory +- `cupy` - allocate and fill device tensors +- `numpy` - scalar kernel arguments + +## Key APIs + +### From `cuda.core` + +- `StridedMemoryView.from_any_interface(tensor, stream_ptr=-1)` - build a typed view from any DLPack/CUDA-array-interface tensor +- `StridedMemoryView.as_tensor_map(box_dim=(...))` - produce a TMA descriptor for the given tile shape +- `tensor_map.replace_address(new_tensor)` - retarget an existing descriptor at a new tensor +- `Program(code, code_type="c++", options=ProgramOptions(std="c++17", arch="sm_90", include_path=[...]))` - compile a C++ kernel against libcudacxx +- `program.compile("cubin")` - produce a CUBIN so `__grid_constant__` and TMA intrinsics are fully supported +- `launch(stream, config, kernel, tensor_map, ...)` - pass the TMA descriptor as a kernel argument + +### From `cuda.pathfinder` + +- `get_cuda_path_or_home()` - return the detected CUDA toolkit root for locating `include/cccl` + +### From `cuda_samples_utils` + +- `print_gpu_info()` - print device name and compute capability + +## Requirements + +### Hardware + +- NVIDIA Hopper or newer GPU with Compute Capability 9.0 or higher (H100, H200, B200, ...) +- On GPUs older than Hopper the sample waives without running the kernel +- Minimum GPU memory: 512 MB + +### Software + +- CUDA Toolkit 13.0 or newer with libcudacxx (cccl) headers +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) + +## Installation + +Install the required packages from `requirements.txt`: + +```bash +cd /path/to/cuda-python/samples/cuda_core/tmaTensorMap +pip install -r requirements.txt +``` + +The `requirements.txt` installs: + +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) + +## How to Run + +### Basic usage + +```bash +cd samples/cuda_core/tmaTensorMap +python tmaTensorMap.py +``` + +### With custom parameters + +```bash +# Larger tensor (must be a multiple of the 128-element tile) +python tmaTensorMap.py --elements 8192 + +# Use a specific GPU +python tmaTensorMap.py --device 1 +``` + +## Expected Output + +On a Hopper (sm_90) GPU: + +``` +Device: NVIDIA H100 PCIe +Compute Capability: 9.0 + +TMA copy verified: 1024 elements across 8 tiles +replace_address verified: descriptor reused with new source tensor +``` + +**Note:** Device name and compute capability will vary based on your GPU. + +## Files + +- `tmaTensorMap.py` - Python implementation using `cuda.core` TMA APIs +- `README.md` - This file +- `requirements.txt` - Sample dependencies +- `../Utilities/cuda_samples_utils.py` - Common utilities (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [TMA in the CUDA C++ Programming Guide](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#tensor-memory-accelerator) +- [`cuda::barrier` reference](https://nvidia.github.io/cccl/libcudacxx/extended_api/synchronization_primitives/barrier.html) diff --git a/samples/cuda_core/tmaTensorMap/requirements.txt b/samples/cuda_core/tmaTensorMap/requirements.txt new file mode 100644 index 00000000000..c33f5dd8d9f --- /dev/null +++ b/samples/cuda_core/tmaTensorMap/requirements.txt @@ -0,0 +1,4 @@ +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 +numpy>=1.24.0 diff --git a/samples/cuda_core/tmaTensorMap/tmaTensorMap.py b/samples/cuda_core/tmaTensorMap/tmaTensorMap.py new file mode 100644 index 00000000000..dff3b718be0 --- /dev/null +++ b/samples/cuda_core/tmaTensorMap/tmaTensorMap.py @@ -0,0 +1,279 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0", "numpy>=1.24.0"] +# /// + +""" +TMA Tensor Map with cuda.core + +This sample demonstrates how to use Tensor Memory Accelerator (TMA) +descriptors with cuda.core on Hopper and later GPUs (compute +capability >= 9.0). TMA enables efficient bulk data movement between +global and shared memory using hardware-managed tensor map +descriptors. + +The sample: + + 1. Creates a TMA tiled descriptor from a CuPy device array via + ``StridedMemoryView.from_any_interface(...).as_tensor_map(...)``. + 2. Passes the descriptor by value (as ``__grid_constant__``) to a + kernel that uses libcudacxx TMA/barrier wrappers to bulk-load a + tile into shared memory. + 3. Reuses the same descriptor against a new source tensor with + ``replace_address()`` to avoid rebuilding it. + +On GPUs older than Hopper (sm < 90), the sample prints a diagnostic +and waives. + +Migrated from the former ``cuda_core/examples/tma_tensor_map.py`` location in +the `cuda-python` repository. +""" + +import os +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) + +try: + import cupy as cp + import numpy as np + from cuda_samples_utils import print_gpu_info + + from cuda.core import ( + Device, + LaunchConfig, + Program, + ProgramOptions, + launch, + ) + from cuda.core.utils import StridedMemoryView + from cuda.pathfinder import find_nvidia_header_directory, get_cuda_path_or_home +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +EXIT_WAIVED = int(os.environ.get("CUDA_PYTHON_SAMPLE_WAIVER_EXIT_CODE", "2")) +TILE_SIZE = 128 # elements per tile, must match the kernel constant + +KERNEL_SRC = r""" +#include + +// Minimal definition of the 128-byte opaque tensor-map struct. +struct __align__(64) TensorMap { unsigned long long opaque[16]; }; + +static constexpr int TILE_SIZE = 128; +using TmaBarrier = cuda::barrier; + +extern "C" +__global__ void tma_copy( + const __grid_constant__ TensorMap tensor_map, + float* output, + int N) +{ + __shared__ __align__(128) float smem[TILE_SIZE]; + __shared__ TmaBarrier bar; + + const int tid = threadIdx.x; + const int tile_start = blockIdx.x * TILE_SIZE; + + if (tid == 0) + { + init(&bar, 1); + } + __syncthreads(); + + if (tid == 0) + { + cuda::device::experimental::cp_async_bulk_tensor_1d_global_to_shared( + smem, + reinterpret_cast(&tensor_map), + tile_start, + bar); + bar.wait(cuda::device::barrier_arrive_tx(bar, 1, TILE_SIZE * sizeof(float))); + } + __syncthreads(); + + if (tid < TILE_SIZE) + { + const int idx = tile_start + tid; + if (idx < N) + output[idx] = smem[tid]; + } +} +""" + + +def _get_cccl_include_paths() -> list: + """Locate the CUDA toolkit and libcudacxx (cccl) include directories. + + ``cuda.pathfinder.find_nvidia_header_directory`` searches pip-installed + CUDA packages, conda environments, and the standard system install + locations, so this works without requiring ``CUDA_PATH`` or + ``CUDA_HOME``. ``get_cuda_path_or_home`` is used as a final fallback. + """ + include_path: list = [] + + # libcudacxx (cccl) - preferred, provides used below. + try: + cccl_dir = find_nvidia_header_directory("cccl") + if cccl_dir and os.path.isdir(cccl_dir): + include_path.append(cccl_dir) + except Exception: # noqa: S110 - fallback probes continue below + pass + + # CUDA runtime headers - needed for the CUtensorMap driver type. + try: + cudart_dir = find_nvidia_header_directory("cudart") + if cudart_dir and os.path.isdir(cudart_dir) and cudart_dir not in include_path: + include_path.append(cudart_dir) + except Exception: # noqa: S110 - fallback probes continue below + pass + + # Fallback: use CUDA_PATH / CUDA_HOME when pathfinder comes up empty. + if not include_path: + cuda_path = get_cuda_path_or_home() + if cuda_path is not None: + cuda_include = os.path.join(cuda_path, "include") + if os.path.isdir(cuda_include): + include_path.append(cuda_include) + cccl_include = os.path.join(cuda_include, "cccl") + if os.path.isdir(cccl_include): + include_path.insert(0, cccl_include) + + if not include_path: + print( + "Could not locate CUDA toolkit headers.\n" + "Tried cuda.pathfinder (pip/conda/system installs) and " + "CUDA_PATH / CUDA_HOME; none succeeded.\n" + "Set CUDA_HOME to your toolkit root (containing include/cccl " + "and include/cuda_runtime.h) and retry.", + file=sys.stderr, + ) + sys.exit(1) + return include_path + + +def main() -> int: + import argparse + + parser = argparse.ArgumentParser(description="Use a TMA tensor map to bulk-copy data on Hopper+ GPUs") + parser.add_argument( + "--elements", + type=int, + default=1024, + help="Total number of float32 elements (must be a multiple of 128)", + ) + parser.add_argument("--device", type=int, default=0, help="CUDA device id") + args = parser.parse_args() + + if args.elements % TILE_SIZE != 0: + print(f"--elements must be a multiple of TILE_SIZE={TILE_SIZE}") + return 1 + + dev = Device(args.device) + print_gpu_info(dev) + + arch = dev.compute_capability + if arch < (9, 0): + print( + f"\nTMA requires compute capability >= 9.0 (Hopper or later); " + f"this device is {arch.major}.{arch.minor}. Waiving this sample." + ) + return EXIT_WAIVED + + dev.set_current() + include_path = _get_cccl_include_paths() + + # Compile with the CUBIN code type to target the exact device arch. + prog = Program( + KERNEL_SRC, + code_type="c++", + options=ProgramOptions( + std="c++17", + arch=f"sm_{dev.arch}", + include_path=include_path, + ), + ) + mod = prog.compile("cubin") + kernel = mod.get_kernel("tma_copy") + + # (1) Prepare input data and verify the initial TMA copy. + n = args.elements + src = cp.arange(n, dtype=cp.float32) + output = cp.zeros(n, dtype=cp.float32) + dev.sync() # CuPy uses its own stream + + tensor_map = StridedMemoryView.from_any_interface(src, stream_ptr=-1).as_tensor_map(box_dim=(TILE_SIZE,)) + + n_tiles = n // TILE_SIZE + config = LaunchConfig(grid=n_tiles, block=TILE_SIZE) + launch( + dev.default_stream, + config, + kernel, + tensor_map, + output.data.ptr, + np.int32(n), + ) + dev.sync() + + if not cp.array_equal(output, src): + print("TMA copy produced incorrect results") + return 1 + print(f"TMA copy verified: {n} elements across {n_tiles} tiles") + + # (2) Demonstrate replace_address() without rebuilding the descriptor. + replacement = cp.full(n, fill_value=42.0, dtype=cp.float32) + dev.sync() + + tensor_map.replace_address(replacement) + + output2 = cp.zeros(n, dtype=cp.float32) + launch( + dev.default_stream, + config, + kernel, + tensor_map, + output2.data.ptr, + np.int32(n), + ) + dev.sync() + + if not cp.array_equal(output2, replacement): + print("replace_address produced incorrect results") + return 1 + print("replace_address verified: descriptor reused with new source tensor") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/samples/cuda_core/vectorAdd/README.md b/samples/cuda_core/vectorAdd/README.md new file mode 100644 index 00000000000..3d3e843547b --- /dev/null +++ b/samples/cuda_core/vectorAdd/README.md @@ -0,0 +1,154 @@ +# Sample: Vector Addition (Python) + +## Description + +Run your first GPU kernel: add two vectors element-wise on the GPU using the [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) API with runtime compilation. + +The sample compiles a *templated* kernel and instantiates it for two +element types in a single `Program.compile()` call (via +`name_expressions`), then runs two phases: + +1. `vectorAdd` against CuPy-allocated input and output buffers. +2. `vectorAdd` where the output buffer is allocated through + `Device.allocate()` and passed straight to the kernel. That raw + `Buffer` is then wrapped as a zero-copy CuPy view for verification. + +Phase 2 is the pattern to reach for when you want the kernel to write into +memory you own directly, without depending on CuPy's allocator for the +output. + +## What You'll Learn + +- Writing CUDA kernels in C++ with template support +- Runtime compilation of CUDA kernels from Python +- Requesting multiple template instantiations via `name_expressions` +- Using `cuda.core` for device management, programs, and launches +- Configuring and launching kernels with grid and block dimensions +- Using CuPy for GPU memory management +- Allocating your own output buffer with `Device.allocate()` and wrapping + it as a CuPy view +- Verifying GPU results against CPU computation + +## Key Libraries + +- [`cuda.core`](https://nvidia.github.io/cuda-python/cuda-core/latest/) — Pythonic access to CUDA runtime and compilation +- `cupy` — GPU array library for Python + +## Key APIs + +### From `cuda.core` + +- `Device` — Initialize and manage CUDA device +- `Device.allocate(nbytes, stream=...)` — Allocate a raw `Buffer` from the device pool +- `Program` — Create program from kernel source code +- `Program.compile("cubin", name_expressions=(...))` — Emit specific template instantiations +- `ProgramOptions` — Set compilation options (C++ standard, architecture) +- `LaunchConfig` — Configure kernel launch parameters +- `launch` — Execute kernel on specified stream + +Import stable symbols from the top-level package (not `cuda.core.experimental`). See the [cuda.core documentation](https://nvidia.github.io/cuda-python/cuda-core/latest/). + +### From CuPy + +- `cp.random.rand()` — Generate random arrays on GPU +- `cp.empty()` — Allocate uninitialized GPU arrays +- `cp.allclose()` — Verify results with tolerance + +### From `cuda_samples_utils` + +- `verify_array_result()` — Verify computation results + +## Kernel Techniques + +- **1D Grid-Stride Loop** — Handle arbitrary array sizes with fixed grid +- **Template Programming** — Generic kernel for different data types +- **Bounds Checking** — Prevent out-of-bounds memory access + +## Requirements + +### Hardware + +- NVIDIA GPU with Compute Capability 7.0 or higher +- Minimum GPU memory: 512 MB + +### Software + +- CUDA Toolkit 13.0 or newer (matches `cuda-python` 13.x) +- Python 3.10 or newer +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) + +## Installation + +Install the required packages from requirements.txt: + +```bash +cd /path/to/cuda-python/samples/cuda_core/vectorAdd +pip install -r requirements.txt +``` + +The requirements.txt installs: + +- `cuda-python` (>=13.0.0) +- `cuda-core` (>=1.0.0) +- `cupy-cuda13x` (>=14.0.0) + +## How to Run + +### Basic usage + +```bash +cd samples/cuda_core/vectorAdd +python vectorAdd.py +``` + +### With custom parameters + +```bash +# Custom vector size +python vectorAdd.py --elements 1000000 + +# Use specific GPU +python vectorAdd.py --device 1 + +# Skip verification for benchmarking +python vectorAdd.py --no-verify +``` + +## Expected Output + +``` +[Vector addition using CUDA Core API] +Device: +Compute Capability: sm_ +Compiling kernel 'vectorAdd' and 'vectorAdd'... +Kernels compiled successfully + +[1] vectorAdd on 50000 CuPy-allocated elements + CUDA kernel launch with 196 blocks of 256 threads + Verifying result... + +[2] vectorAdd on 25000 elements with device.allocate() output + CUDA kernel launch with 98 blocks of 256 threads + Verifying result... + +Test PASSED + +Done +``` + +**Note:** Device name and compute capability will vary based on your GPU. + +## Files + +- `vectorAdd.py` — Python implementation using cuda.core API +- `README.md` — This file +- `requirements.txt` — Sample dependencies +- `../Utilities/cuda_samples_utils.py` — Common utilities (imported by this sample) + +## See Also + +- [CUDA Python Documentation](https://nvidia.github.io/cuda-python/) +- [cuda.core API](https://nvidia.github.io/cuda-python/cuda-core/latest/) +- [CuPy Documentation](https://docs.cupy.dev/) diff --git a/samples/cuda_core/vectorAdd/requirements.txt b/samples/cuda_core/vectorAdd/requirements.txt new file mode 100644 index 00000000000..46d588ce780 --- /dev/null +++ b/samples/cuda_core/vectorAdd/requirements.txt @@ -0,0 +1,5 @@ +# Vector Addition Sample Requirements + +cuda-python>=13.0.0 +cuda-core>=1.0.0 +cupy-cuda13x>=14.0.0 diff --git a/samples/cuda_core/vectorAdd/vectorAdd.py b/samples/cuda_core/vectorAdd/vectorAdd.py new file mode 100755 index 00000000000..8915a145884 --- /dev/null +++ b/samples/cuda_core/vectorAdd/vectorAdd.py @@ -0,0 +1,246 @@ +# Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# /// script +# dependencies = ["cuda-python>=13.0.0", "cuda-core>=1.0.0", "cupy-cuda13x>=14.0.0"] +# /// + +""" +Vector Addition using CUDA Core API + +This sample demonstrates element-wise vector addition: C = A + B +using cuda.core for runtime compilation and kernel launch. + +The kernel is templated on the element type ``T``. The sample compiles +two instantiations of the template in a single ``Program.compile()`` call +via the ``name_expressions`` argument, then launches: + + * ``vectorAdd`` against CuPy-allocated buffers + * ``vectorAdd`` against a buffer we allocate ourselves through + ``Device.allocate()`` (wrapped as a CuPy view for verification) + +The second phase illustrates how to hand a raw ``Buffer`` to a kernel and +zero-copy view it as a CuPy array to check the result. +""" + +import sys +from pathlib import Path + +# Add parent directory to path to import utilities +sys.path.insert(0, str(Path(__file__).parent.parent / "Utilities")) +from cuda_samples_utils import verify_array_result + +try: + import cupy as cp + + from cuda.core import Device, LaunchConfig, Program, ProgramOptions, launch +except ImportError as e: + print(f"Error: Required package not found: {e}") + print("Please install from requirements.txt:") + print(" pip install -r requirements.txt") + sys.exit(1) + + +# CUDA kernel source code +VECTOR_ADD_KERNEL = """ +/** + * CUDA Kernel for vector addition + * Computes the vector addition of A and B into C. + */ +template +__global__ void vectorAdd(const T *A, const T *B, T *C, int numElements) +{ + int i = blockDim.x * blockIdx.x + threadIdx.x; + + if (i < numElements) + { + C[i] = A[i] + B[i]; + } +} +""" + + +def _launch_add(stream, kernel, size, a_ptr, b_ptr, c_ptr, threads_per_block=256): + blocks_per_grid = (size + threads_per_block - 1) // threads_per_block + print(f" CUDA kernel launch with {blocks_per_grid} blocks of {threads_per_block} threads") + config = LaunchConfig(grid=blocks_per_grid, block=threads_per_block) + launch(stream, config, kernel, a_ptr, b_ptr, c_ptr, cp.int32(size)) + stream.sync() + + +def _demo_float_cupy(stream, kernel, num_elements, verify): + """Phase 1: `vectorAdd` with CuPy-managed buffers.""" + print(f"\n[1] vectorAdd on {num_elements} CuPy-allocated elements") + dtype = cp.float32 + + a = cp.random.rand(num_elements).astype(dtype) + b = cp.random.rand(num_elements).astype(dtype) + c = cp.empty(num_elements, dtype=dtype) + _launch_add(stream, kernel, num_elements, a.data.ptr, b.data.ptr, c.data.ptr) + + if verify: + print(" Verifying result...") + if not verify_array_result(c, a + b): + return False + return True + + +def _demo_double_owned_buffer(device, stream, kernel, num_elements, verify): + """Phase 2: `vectorAdd` with an output Buffer we own. + + Instead of letting CuPy allocate the output, we call ``device.allocate()`` + to get a raw ``Buffer``, pass it straight to the kernel, and then wrap it + as a CuPy array (through ``UnownedMemory``) purely for verification. + """ + print(f"\n[2] vectorAdd on {num_elements} elements with device.allocate() output") + dtype = cp.float64 + + a = cp.random.rand(num_elements).astype(dtype) + b = cp.random.rand(num_elements).astype(dtype) + + out_bytes = num_elements * dtype().itemsize + out_buf = device.allocate(out_bytes, stream=stream) + device.sync() + + try: + _launch_add(stream, kernel, num_elements, a.data.ptr, b.data.ptr, out_buf) + + if verify: + print(" Verifying result...") + # Wrap the raw Buffer as a CuPy array without copying so we can + # compare against the reference computed with CuPy. + c_view = cp.ndarray( + num_elements, + dtype=dtype, + memptr=cp.cuda.MemoryPointer( + cp.cuda.UnownedMemory(int(out_buf.handle), out_buf.size, out_buf), + 0, + ), + ) + if not verify_array_result(c_view, a + b): + return False + return True + finally: + out_buf.close(stream) + + +def vector_add_cuda_core(num_elements=50000, device_id=0, verify=True): + """ + Perform vector addition using cuda.core API. + + Parameters + ---------- + num_elements : int + Number of elements in each vector + device_id : int + CUDA device ID to use + verify : bool + Whether to verify the result + + Returns + ------- + bool + True if successful, False otherwise + """ + stream = None + try: + # Initialize device + print("[Vector addition using CUDA Core API]") + device = Device(device_id) + device.set_current() + + print(f"Device: {device.name}") + print(f"Compute Capability: sm_{device.arch}") + + stream = device.create_stream() + + # Compile both template instantiations in a single call: name_expressions + # tells NVRTC which specializations to emit into the resulting cubin. + print("Compiling kernel 'vectorAdd' and 'vectorAdd'...") + program_options = ProgramOptions(std="c++17", arch=f"sm_{device.arch}") + program = Program(VECTOR_ADD_KERNEL, code_type="c++", options=program_options) + module = program.compile( + "cubin", + name_expressions=("vectorAdd", "vectorAdd"), + ) + float_kernel = module.get_kernel("vectorAdd") + double_kernel = module.get_kernel("vectorAdd") + print("Kernels compiled successfully") + + if not _demo_float_cupy(stream, float_kernel, num_elements, verify): + return False + + # Half as many elements for the double demo to keep the sample fast. + if not _demo_double_owned_buffer(device, stream, double_kernel, max(num_elements // 2, 1), verify): + return False + + print("\nTest PASSED") + return True + + except Exception as e: + print(f"Error: {e}") + import traceback + + traceback.print_exc() + return False + finally: + if stream is not None: + stream.close() + + +def main(): + """ + Main entry point for the vector addition sample. + """ + import argparse + + parser = argparse.ArgumentParser(description="Vector Addition using CUDA Core API") + parser.add_argument( + "--elements", + type=int, + default=50000, + help="Number of elements in vectors (default: 50000)", + ) + parser.add_argument("--device", type=int, default=0, help="CUDA device ID (default: 0)") + parser.add_argument("--no-verify", action="store_true", help="Skip result verification") + + args = parser.parse_args() + + if args.elements <= 0: + print("Error: Number of elements must be positive") + return 1 + + success = vector_add_cuda_core(num_elements=args.elements, device_id=args.device, verify=not args.no_verify) + + if success: + print("\nDone") + return 0 + else: + return 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/toolshed/check_spdx.py b/toolshed/check_spdx.py index a2d0c041546..e72b15e9efe 100644 --- a/toolshed/check_spdx.py +++ b/toolshed/check_spdx.py @@ -31,6 +31,7 @@ "cuda_python": "Apache-2.0", "cuda_python_test_helpers": "Apache-2.0", "qa": "LicenseRef-NVIDIA-SOFTWARE-LICENSE", + "samples": "Apache-2.0", "scripts": "Apache-2.0", "toolshed": "Apache-2.0", }