mirror of
https://github.com/xnvme/xnvme.git
synced 2026-10-08 06:09:30 +00:00
main
Name /dev/ublkb<N>-nvme and /dev/xnvme/<bdf> explicitly, cross-reference the two, and note --no-cuse on both tools' pages; qublk's page also says which devices get one, and gets the -Dwith-cuse build option, the 128KiB passthru payload cap and the vectored passthru's 125-segment ceiling. Assisted-by: Claude Code:claude-sonnet-5 Signed-off-by: Simon A. F. Lund <os@safl.dk>
xNVMe: cross-platform libraries and tools for NVMe devices
See: https://xnvme.io/ for documentation
xNVMe provides APIs, libraries, and tools for user space programming of
NVMe devices on Linux, FreeBSD, macOS, and Windows, through a single C
API backed by the libxnvme library. The library carries backends
utilizing and interfacing with the following, chosen at runtime, so the
same application code runs unmodified across them:
- Linux:
io_uring,io_uring_cmd,libaio, block-layer IOCTLs - FreeBSD, macOS, Windows: the platform's native NVMe driver
SPDK, the popular user space NVMe driver on Linux and FreeBSD, for CPU-initiated I/OuPCIe, a blazingly fast user space PCIe driver on Linux, with P2P data movement and support for CPU-initiated, Accelerator-assisted, and Accelerator-initiated I/O; currently compatible with CUDA and HIP (ROCm)
On top of libxnvme:
- Command sets:
libxnvme_nvm(NVM),libxnvme_znd(Zoned),libxnvme_kvs(KV) - CLI tools:
xnvme,lblk,zoned,kvs,xdd xnvmeperf, synthetic workload generation with minimal overhead, to benchmark I/O processing at unprecedented efficiency across all of xNVMe's backendshomi, the software equivalent of SR-IOV: a daemon enabling multiple users, different processes on the host as well as compute kernels on accelerators, to run I/O directly against a single NVMe controllerqublk, aublk-server implementation enabling kernel I/O and file systems to run in concert with the blazingly fast user space NVMe drivers
Contact and Contributions
xNVMe: is in active development and maintained by Simon A. F. Lund simon.lund@samsung.com, pull requests are most welcome. See, CONTRIBUTORS.md for a list of contributors to the current and previous versions of xNVMe. For a contributor-guidelines then have a look at the online documentation:
-
Join us on Discord: https://discord.gg/XCbBX9DmKf
Description
Languages
C
68%
Python
21.4%
Shell
5.2%
Meson
1.7%
Makefile
1.5%
Other
2.2%
