Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 2.2.5 instead.
Reason given by maintainers: Development Version

Pithos Vector Search Engine

(Note: This repository was formerly known as lcvk)

A high-performance, Ahead-of-Time (AOT) compiled, dimension-agnostic vector search engine written in Java 25, optimized for Matryoshka-structured binary embeddings at planetary scale, and compiled into a native shared library (.dylib / .so) via GraalVM Native Image.

Pithos achieves its speed by collapsing abstraction boundaries between language runtimes, the operating system, and hardware execution models. It bypasses garbage collection entirely, mapping memory-bandwidth-bound datasets off-heap using the Java Foreign Function & Memory (FFM) API (Project Panama) and POSIX-aligned virtual memory mapping (mmap).

Now with CUDA acceleration support for GPU-accelerated Hamming distance computation and multi-family voting, enabling massive parallel search operations on NVIDIA GPUs.


Documentation Directory

To make the codebase easier to navigate, detailed guides and theory have been split into standalone documents:


Directory Structure

.
├── pom.xml                 # Maven configuration (dimension-agnostic pithos packaging, CUDA profile)
├── README.md               # This file
├── test_client.c           # C verification client calling Pithos float C-API
├── pithos.h                # C API header file
├── graal_isolate.h         # GraalVM Native Image header
├── docs/                   # Documentation resources
│   ├── ARCHITECTURAL_PRINCIPLES.md # Math, theory, and system architecture
│   ├── C_API_REFERENCE.md          # C-API declarations and tuning guidelines
│   └── archive/                    # Archived log history
├── benchmarks/             # Verification scripts
│   ├── run_real_verification.py    # Lunar Pit / adapter classification pipeline
│   ├── verify_compaction.py        # Index compaction verification script
│   ├── verify_wal.py               # Write-Ahead Log verification script
│   └── verify_optional_fp16.py     # FP16 vs. Non-FP16 verification script
├── examples/               # Developer integration demos
│   ├── cpp/demo.c                  # C integration demo linking libpithos
│   └── java/ZeroCostDemo.java      # FFM Panama off-heap GC bypass demo
└── src/                    # Core source tree (Java backend, CUDA kernels, JNI bindings)

Precompiled Native Libraries

Precompiled native libraries are automatically published as GitHub Release assets:

Download Latest Release Assets

Each release includes:

  • libpithos-linux-x86_64.so — Linux (x86_64)
  • libpithos-macos-aarch64.dylib — macOS (Apple Silicon)
  • libpithos-linux-x86_64-cuda.so — Linux (x86_64) with CUDA support
  • pithos.h — C API header
  • graal_isolate.h — GraalVM Native Image header

1. Compile & Build (Native macOS)

Ensure you have the workspace-bundled GraalVM JDK 25 and Maven installed, then set JAVA_HOME and compile:

export JAVA_HOME=/Users/finnhertsch/projects/lcvk/graalvm/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
mvn clean package

This executes all unit tests (including SVD, FWHT, compaction, and WAL recovery) and compiles libpithos.dylib inside target/ and the root directory.

2. Real-Data Verification

export JAVA_HOME=/Users/finnhertsch/projects/lcvk/graalvm/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
.venv/bin/python benchmarks/run_real_verification.py

5. Building with CUDA Support (Linux)

# Build manually on a CUDA-enabled system
export JAVA_HOME=/path/to/graalvm
export PATH=$JAVA_HOME/bin:$PATH
export CUDA_HOME=/usr/local/cuda
export PATH=$CUDA_HOME/bin:$PATH
mvn clean package -Pcuda -Dcuda.enabled=true

️ Roadmap & Next Steps

1. Distribute Search Topologies

  • Objective: Scale out to multi-node clusters.
  • Concept: Add consistent hashing rings to shard the Matryoshka columnar indexes across multiple nodes, executing query routing and remote merging in parallel.

2. Dynamic Memory Re-alignment

  • Objective: Avoid restart overhead during delta-buffer flushes.
  • Concept: Implement dynamic pointer rotation in vdb_load_index to hot-swap mapped memory regions on the fly without closing active isolate threads.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pithosdb-1.0.1.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pithosdb-1.0.1-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file pithosdb-1.0.1.tar.gz.

File metadata

  • Download URL: pithosdb-1.0.1.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pithosdb-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1a4f00c9f4ae411ac4370d8fd3b45647abd2ae58cf9e540ba220cb013fd77479
MD5 56e5decb099fbbab7a46148cc1bdad95
BLAKE2b-256 2298698ce3a011f05919ef1a23be08f99cb66e8e6b7310f4353b0a37e18cee9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pithosdb-1.0.1.tar.gz:

Publisher: publish-pypi.yml on F1nnSBK/Pithos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pithosdb-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: pithosdb-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pithosdb-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eecb85766f9f4147db7869e3cc534503bbeddd506bc431dff965b158b4100d46
MD5 5b4da69fb6884bc6b42a7e009b5c3d8a
BLAKE2b-256 7d945b9c32fa7979c0af3d3e904dd24365b957a684d3a2ba1e88418abdd0f93f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pithosdb-1.0.1-py3-none-any.whl:

Publisher: publish-pypi.yml on F1nnSBK/Pithos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

2.2.5

2 files

2.2.4

2 files

2.2.3

2 files

2.2.2

2 files

2.2.1

2 files

2.2.0

2 files

2.0.0

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

This release

1.0.1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page