{"id":786,"library":"nvidia-cufile-cu12","title":"NVIDIA cuFile (CUDA 12)","description":"nvidia-cufile-cu12 is a Python distribution package that provides the underlying NVIDIA cuFile GPUDirect Storage (GDS) libraries specifically compiled for CUDA 12. These libraries enable a direct data path for Direct Memory Access (DMA) transfers between GPU memory and storage, bypassing the CPU to increase bandwidth and decrease latency. It is generally consumed as a dependency by higher-level Python libraries like `cuda-python` (which exposes `cuda.bindings.cufile`) or other GPU-accelerated data science tools. The current version is 1.14.1.1, with a release cadence tied to CUDA Toolkit updates.","status":"active","version":"1.14.1.1","language":"python","source_language":"en","source_url":"https://pypi.org/project/nvidia-cufile-cu12/","tags":["NVIDIA","CUDA","GPU","GPUDirect Storage","I/O","High Performance Computing","Deep Learning","Machine Learning"],"install":[{"cmd":"pip install nvidia-cufile-cu12","lang":"bash","label":"Recommended installation"},{"cmd":"pip install --extra-index-url https://pypi.nvidia.com nvidia-cufile-cu12","lang":"bash","label":"If experiencing download issues"}],"dependencies":[{"reason":"Provides the official Python bindings (cuda.bindings.cufile) that utilize these underlying libraries.","package":"cuda-python","optional":false},{"reason":"Required by cuda.bindings.cufile for memory operations.","package":"numpy","optional":false},{"reason":"Often used in environments leveraging GPUDirect Storage; implicitly depends on other nvidia-*cu12 packages.","package":"torch"},{"reason":"Commonly used for GPU-accelerated array computing in conjunction with CUDA libraries.","package":"cupy"}],"imports":[{"note":"The 'nvidia-cufile-cu12' package itself does not expose a direct 'cufile' top-level module. Functionality is provided via the `cuda-python` package's `cuda.bindings.cufile` module, which links against the libraries installed by `nvidia-cufile-cu12`.","wrong":"import cufile","symbol":"cufile","correct":"from cuda.bindings import cufile"}],"quickstart":{"code":"# The 'nvidia-cufile-cu12' package provides the underlying C/C++ cuFile libraries.\n# To interact with cuFile from Python, you typically use the 'cuda-python' package.\n# Install cuda-python: pip install cuda-python numpy\n\nimport numpy as np\nfrom cuda.bindings import cufile, driver\n\n# NOTE: This quickstart is conceptual and requires a system with GPUDirect Storage\n# enabled, a compatible filesystem, and appropriate NVIDIA hardware/driver setup.\n# A simple 'hello world' is not feasible without such infrastructure.\n\ndef conceptual_cufile_usage():\n    print(\"Initializing CUDA driver and cuFile (conceptual)...\")\n    try:\n        # Initialize CUDA driver (required for cuFile operations)\n        driver.cuInit(0)\n        \n        # Open cuFile driver\n        cufile.driver_open()\n        \n        # --- Example: Hypothetical buffered read/write setup ---\n        # In a real scenario, you'd perform operations like:\n        # 1. Allocate GPU memory (e.g., using CuPy or PyTorch on device)\n        # 2. Register the buffer with cuFile (cufile.buf_register)\n        # 3. Open a file for GPUDirect Storage (e.g., POSIX open on a supported filesystem)\n        # 4. Register the file handle with cuFile (cufile.handle_register)\n        # 5. Perform I/O operations (cufile.read, cufile.write)\n        # 6. Deregister handles and buffers (cufile.handle_deregister, cufile.buf_deregister)\n\n        print(\"cuFile driver opened successfully. Real I/O requires extensive setup.\")\n        print(\"Please refer to NVIDIA GPUDirect Storage documentation for full usage.\")\n        \n    except Exception as e:\n        print(f\"An error occurred during conceptual cuFile initialization: {e}\")\n    finally:\n        try:\n            # Close cuFile driver\n            cufile.driver_close()\n            print(\"cuFile driver closed (conceptual).\")\n        except Exception as e:\n            print(f\"Error closing cuFile driver: {e}\")\n\nif __name__ == \"__main__\":\n    conceptual_cufile_usage()\n","lang":"python","description":"This conceptual quickstart demonstrates how to access the `cufile` module through `cuda.bindings` after installing `cuda-python` and `nvidia-cufile-cu12`. Direct, runnable examples of cuFile operations are highly dependent on specific hardware (NVIDIA GPU), a GPUDirect Storage enabled filesystem, and a properly configured NVIDIA driver, making a universally runnable snippet impractical without such a setup. It outlines the typical high-level steps for interacting with the cuFile API in Python."},"warnings":[{"fix":"Ensure `pip` and `setuptools` are up-to-date (`python -m pip install --upgrade pip setuptools`). If issues persist, consider providing stricter version constraints for dependencies or using `conda` for environment management.","message":"Installing `nvidia-cufile-cu12` along with other `nvidia-*cu12` packages can sometimes lead to prolonged dependency resolution times with `pip`.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Ensure your NVIDIA GPU driver is up-to-date and compatible with the CUDA Toolkit version corresponding to the `cu12` suffix (i.e., CUDA 12.x). You may need to explicitly install a specific version of `cuda-python` (e.g., `pip install cuda-python==12.x`) to match your driver if auto-resolution fails.","message":"Python bindings for CUDA libraries, including `cuda.bindings.cufile`, require a CUDA driver on your system that is compatible with the installed CUDA Toolkit version. Mismatches can lead to import errors or runtime failures.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Switch to using `get_cuda_native_handle()` for retrieving the underlying address of CUDA objects.","message":"The `cuda.bindings` module (which provides `cuda.bindings.cufile`) deprecated using `int(cuda_obj)` to retrieve the underlying address of a CUDA object in `cuda-bindings` version 13.0.0.","severity":"breaking","affected_versions":">=13.0.0 of cuda-python"},{"fix":"For full GPUDirect Storage functionality, use a Linux environment with appropriate hardware and kernel modules (e.g., `nvidia-fs.ko`).","message":"The cuFile APIs, and by extension `cuda.bindings.cufile`, are primarily supported on Linux for GPUDirect Storage functionality. Usage on Windows may be limited or require WSL2 with specific configurations.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Ensure `numpy` is installed in your Python environment by running `pip install numpy` or including it in your project's `requirements.txt` file. If using a virtual environment, ensure it is activated before installation.","message":"The script failed due to `ModuleNotFoundError: No module named 'numpy'`, indicating that the `numpy` package is not installed in the environment.","severity":"breaking","affected_versions":"All versions"},{"fix":"Use a glibc-based Linux distribution (e.g., Ubuntu, Debian, CentOS) and a Python version for which pre-built wheels are available (currently Python 3.8-3.12). Check the package's official PyPI page for the most up-to-date information on supported versions and platforms.","message":"`nvidia-cufile-cu12` currently does not provide pre-built wheels for Python 3.13 or for musl libc-based distributions like Alpine Linux. This leads to `pip` being unable to find a compatible distribution.","severity":"breaking","affected_versions":"All versions (when used with Python 3.13 or Alpine Linux)"}],"env_vars":null,"last_verified":"2026-05-12T19:07:03.294Z","next_check":"2026-06-27T00:00:00.000Z","problems":[{"fix":"Ensure stable internet connectivity and that `https://pypi.nvidia.com` is reachable. You may need to configure proxy settings, temporarily disable firewalls, or retry the installation. If the specific package name in the error is a dependency, consider adding `--extra-index-url https://pypi.nvidia.com` to your pip install command for the main package you're trying to install.","cause":"The pip installer could not reach `pypi.nvidia.com` to download the necessary wheel file, often due to network issues, firewall restrictions, or the server being temporarily unavailable.","error":"Failed to download `nvidia-cufile-cu12`"},{"fix":"Include `https://pypi.nvidia.com` as an extra index URL in your pip install command: `pip install --extra-index-url https://pypi.nvidia.com nvidia-cufile-cu12`. Also, verify that your Python version, operating system, and CUDA toolkit version are supported by the available wheels on `pypi.nvidia.com`.","cause":"pip cannot find a compatible wheel for `nvidia-cufile-cu12` on the default PyPI or the specified `--extra-index-url`. This commonly happens when `https://pypi.nvidia.com` is not explicitly included in the installation command, or if a pre-built wheel for your specific Python version, operating system, architecture, or CUDA version is not available on `pypi.nvidia.com`.","error":"ERROR: Could not find a version that satisfies the requirement nvidia-cufile-cu12 (from versions: none)"},{"fix":"Use a virtual environment (like Conda) with a more recent compiler toolchain or a containerized environment (e.g., Docker) that provides the required `libstdc++` version. Alternatively, ensure your system's `libstdc++` is updated to a compatible version.","cause":"This error indicates a mismatch between the C++ standard library (libstdc++) version linked by the `nvidia-cufile-cu12` binaries (or a library it depends on) and the version available in your system's environment. The package was likely compiled with a newer `libstdc++` than what's present on your system.","error":"ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.XX not found"},{"fix":"Ensure you are using `pip install --extra-index-url https://pypi.nvidia.com` and that `pypi.nvidia.com` is reachable. Check if your Python and CUDA versions are compatible with the available packages. Sometimes, an outdated `setuptools` or `pip` can also cause this; try updating them: `pip install --upgrade pip setuptools`.","cause":"This generic pip error often occurs during installation of complex packages, including those in the NVIDIA ecosystem, when pip struggles to build or retrieve metadata for the package. For `nvidia-cufile-cu12`, it often points to issues similar to 'Could not find a version' or problems reaching `pypi.nvidia.com` where the actual wheels are hosted.","error":"ERROR: metadata-generation-failed"}],"ecosystem":"pypi","meta_description":null,"install_score":0,"install_tag":"stale","quickstart_score":0,"quickstart_tag":"stale","pypi_latest":"1.14.1.1","cli_name":null,"install_checks":{"last_tested":"2026-05-12","tag":"stale","tag_description":"widespread failures or data too old to trust","results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":" $EXIT -eq 0 ","exit_code":1,"wheel_type":null,"failure_reason":"build_error","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":" $EXIT -eq 0 ","exit_code":1,"wheel_type":null,"failure_reason":"build_error","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":" $EXIT -eq 0 ","exit_code":0,"wheel_type":"wheel","failure_reason":null,"install_time_s":1.7,"import_time_s":null,"mem_mb":null,"disk_size":"22M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":" $EXIT -eq 0 ","exit_code":0,"wheel_type":"wheel","failure_reason":null,"install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"22M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":" $EXIT -eq 0 ","exit_code":1,"wheel_type":null,"failure_reason":"build_error","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":" $EXIT -eq 0 ","exit_code":1,"wheel_type":null,"failure_reason":"build_error","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":" $EXIT -eq 0 ","exit_code":0,"wheel_type":"wheel","failure_reason":null,"install_time_s":1.7,"import_time_s":null,"mem_mb":null,"disk_size":"23M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":" $EXIT -eq 0 ","exit_code":0,"wheel_type":"wheel","failure_reason":null,"install_time_s":1.6,"import_time_s":null,"mem_mb":null,"disk_size":"23M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":" $EXIT -eq 0 ","exit_code":1,"wheel_type":null,"failure_reason":"build_error","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":" $EXIT -eq 0 ","exit_code":1,"wheel_type":null,"failure_reason":"build_error","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":" $EXIT -eq 0 ","exit_code":0,"wheel_type":"wheel","failure_reason":null,"install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"15M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":" $EXIT -eq 0 ","exit_code":0,"wheel_type":"wheel","failure_reason":null,"install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"15M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":" $EXIT -eq 0 ","exit_code":1,"wheel_type":null,"failure_reason":"build_error","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":" $EXIT -eq 0 ","exit_code":1,"wheel_type":null,"failure_reason":"build_error","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":" $EXIT -eq 0 ","exit_code":0,"wheel_type":"wheel","failure_reason":null,"install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"15M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":" $EXIT -eq 0 ","exit_code":0,"wheel_type":"wheel","failure_reason":null,"install_time_s":1.4,"import_time_s":null,"mem_mb":null,"disk_size":"15M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":" $EXIT -eq 0 ","exit_code":1,"wheel_type":null,"failure_reason":"build_error","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":" $EXIT -eq 0 ","exit_code":1,"wheel_type":null,"failure_reason":"build_error","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":" $EXIT -eq 0 ","exit_code":0,"wheel_type":"wheel","failure_reason":null,"install_time_s":1.9,"import_time_s":null,"mem_mb":null,"disk_size":"21M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":" $EXIT -eq 0 ","exit_code":0,"wheel_type":"wheel","failure_reason":null,"install_time_s":1.8,"import_time_s":null,"mem_mb":null,"disk_size":"21M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null}]},"quickstart_checks":{"last_tested":"2026-04-24","tag":"stale","tag_description":"widespread failures or data too old to trust","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]}}