KvikIO is a Python and C++ library designed for high-performance file I/O, providing Python and C++ bindings to cuFile, which enables GPUDirect Storage (GDS). As part of the RAPIDS suite, it efficiently handles both host and device (GPU) memory I/O. The library is actively maintained with frequent, typically monthly or bi-monthly, releases aligned with the broader RAPIDS ecosystem. The current version is 26.4.0.
pip install libkvikio-cu12Verified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to write a CuPy array (GPU memory) to a file and read it back using KvikIO's CuFile API. It mimics Python's built-in `open()` and file operations, but operates on GPU device memory directly, leveraging GPUDirect Storage if available.
Ensure a compatible NVIDIA GPU and CUDA Toolkit (12.x) are installed and properly configured in your environment.
Migrate to Zarr 3 where possible or implement compression/decompression outside of KvikIO. Check the KvikIO documentation for updated Zarr integration patterns.
Upgrade your CUDA installation to version 12.x or downgrade `libkvikio-cu12` to a version compatible with your CUDA environment (e.g., <25.08.00).
Ensure file offsets and buffer offsets are multiples of 4096 bytes when performing I/O for maximum efficiency. Use `file.align_offset(offset)` if available or manage offsets manually.
C++ users should adjust their build systems to link against the shared library. Python users experiencing unexpected I/O behavior can explicitly set the `KVIKIO_COMPAT_MODE` environment variable (e.g., `OFF` for enforced cuFile, `ON` for POSIX fallback) to manage compatibility mode.