cuda.pathfinder.find_nvidia_binary_utility#

cuda.pathfinder.find_nvidia_binary_utility(utility_name: str) str | None#

Locate a CUDA binary utility executable.

Parameters:

utility_name (str) – The name of the binary utility to find (e.g., "nvdisasm", "cuobjdump"). On Windows, the .exe extension will be automatically appended if not present. The function also recognizes .bat and .cmd files on Windows.

Returns:

Absolute path to the discovered executable, or None if the utility cannot be found. The returned path is normalized (absolute and with resolved separators).

Return type:

str or None

Raises:

RuntimeError – If utility_name is not in the supported set (see SUPPORTED_BINARY_UTILITIES).

Search order:
  1. NVIDIA Python wheels

    • Scan installed distributions (site-packages) for binary layouts shipped in NVIDIA wheels (e.g., cuda-nvcc).

  2. Conda environments

    • Check Conda-style installation prefixes via CONDA_PREFIX environment variable, which use platform-specific bin directory layouts (Library/bin on Windows, bin on Linux).

  3. CUDA Toolkit environment variables

    • Use CUDA_HOME or CUDA_PATH (in that order), searching bin/x64, bin/x86_64, and bin subdirectories on Windows, or just bin on Linux.

Note

Results are cached using @functools.cache for performance. The cache persists for the lifetime of the process.

On Windows, executables are identified by their file extensions (.exe, .bat, .cmd). On Unix-like systems, executables are identified by the X_OK (execute) permission bit.

Example

>>> from cuda.pathfinder import find_nvidia_binary_utility
>>> nvdisasm = find_nvidia_binary_utility("nvdisasm")
>>> if nvdisasm:
...     print(f"Found nvdisasm at: {nvdisasm}")