#graph-database #csr #gpu #pagerank

trueno-graph

GPU-first embedded graph database for code analysis (call graphs, dependencies, AST traversals)

16 releases

new 0.1.15 Feb 15, 2026
0.1.14 Jan 30, 2026
0.1.4 Dec 16, 2025
0.1.2 Nov 30, 2025

#2130 in Database interfaces

Download history 23/week @ 2025-11-16 1110/week @ 2025-11-23 458/week @ 2025-11-30 816/week @ 2025-12-07 726/week @ 2025-12-14 630/week @ 2025-12-21 413/week @ 2025-12-28 580/week @ 2026-01-04 1077/week @ 2026-01-11 601/week @ 2026-01-18 487/week @ 2026-01-25 853/week @ 2026-02-01 703/week @ 2026-02-08

2,663 downloads per month
Used in 17 crates (7 directly)

MIT license

220KB
4K SLoC

trueno-graph

GPU-First Embedded Graph Database for Code Analysis

CI


Call graphs, dependencies, AST traversals with 10-250x GPU acceleration.

Features

  • CSR Storage: Compressed Sparse Row for O(1) neighbor queries
  • GPU Acceleration: BFS (250x), PageRank (100x) via WGSL shaders
  • Parquet Persistence: DuckDB-inspired columnar storage
  • Louvain Clustering: Community detection for code modules
  • Anti-Pattern Detection: God Class, Circular Dependencies, Dead Code
  • VRAM Paging: Morsel-based tiling for large graphs

Installation

[dependencies]
trueno-graph = "0.1"

# Optional: GPU acceleration
trueno-graph = { version = "0.1", features = ["gpu"] }

Quick Start

use trueno_graph::{CsrGraph, NodeId, pagerank, bfs};

let mut graph = CsrGraph::new();
graph.add_edge(NodeId(0), NodeId(1), 1.0)?;
graph.add_edge(NodeId(0), NodeId(2), 1.0)?;

// Graph algorithms
let reachable = bfs(&graph, NodeId(0))?;
let scores = pagerank(&graph, 20, 1e-6)?;

// Persistence
graph.write_parquet("graph").await?;

GPU Usage

use trueno_graph::gpu::{GpuDevice, GpuCsrBuffers, gpu_bfs};

let device = GpuDevice::new().await?;
let buffers = GpuCsrBuffers::from_csr_graph(&device, &graph)?;
let result = gpu_bfs(&device, &buffers, NodeId(0)).await?;

Performance

Operation Graph Size CPU GPU Speedup
BFS 5K nodes 6ms 200µs 30x
PageRank 1K nodes 15ms 500µs 30x

Development

make test      # Run tests
make coverage  # ≥95% coverage
make bench     # Benchmarks

License

MIT

Dependencies

~56–96MB
~1.5M SLoC