kyumdb 0.2.0

A high-performance verifiable key-value store with SHA256 Merkle trees and optional CUDA GPU acceleration, designed for blockchain state storage.
kyumdb-0.2.0 has been yanked.

kyumdb

A high-performance verifiable key-value store optimized for blockchain state storage, featuring SHA256 Merkle trees with optional CUDA GPU acceleration.

Installation

cargo add kyumdb
# With GPU acceleration:
cargo add kyumdb --features cuda

Quick Start

use kyumdb::config::Config;
use kyumdb::AdsCore;

let config = Config::from_dir("/path/to/data");
AdsCore::init_dir(&config);

Feature Flags

Feature Description Default
default Includes jemalloc allocator Yes
cuda CUDA GPU-accelerated SHA256 batch hashing No
directio Linux io_uring direct I/O for reads No
hpfile_all_in_mem Keep heap files entirely in memory No
tee_cipher AES-GCM encryption for data at rest No
slow_hashing Slow hashing mode for testing No

GPU Acceleration

With --features cuda, KyumDB batches Merkle tree SHA256 operations to CUDA cores:

  • 3-5x throughput improvement at batch sizes >10K
  • Automatic kernel selection (CPU/AoS/SoA) via auto_batch_node_hash
  • Async pipelining, fused active bits, GPU-resident upper tree
  • Multi-GPU support via MultiGpuHasher

See the GPU Integration Guide for usage patterns.

Documentation

License

Licensed under either of:

  • Apache License, Version 2.0
  • MIT License

at your option.