cd /news/artificial-intelligence/show-hn-g6k-rs-lattice-reduction-fra… · home topics artificial-intelligence article
[ARTICLE · art-86256] src=github.com ↗ pub= topic=artificial-intelligence verified=true sentiment=· neutral

Show HN: G6k-rs – lattice reduction framework for rust CPU,Metal,CUDA

Oleksii Vasylenko released g6k-rs, a research-oriented Rust library for lattice reduction, enumeration, and sieving on CPUs, Apple Metal, and NVIDIA CUDA, available on GitHub. The library includes floating-point and arbitrary-precision reduction, exact invariant checks, deterministic examples, and optional GPU backends, but is experimental and not audited for production cryptographic use. The last locally observed default-platform run completed 1,813 tests with no failures.

read3 min views1 publishedAug 4, 2026
Show HN: G6k-rs – lattice reduction framework for rust CPU,Metal,CUDA
Image: source

g6k-rs

is a research-oriented Rust library for lattice reduction, enumeration, and sieving on CPUs, Apple Metal, and NVIDIA CUDA.

The crate includes floating-point and arbitrary-precision reduction, exact invariant checks, deterministic examples, and optional GPU backends. It is an experimental implementation: APIs may change, and it has not been audited for use in production cryptographic systems.

The quickest path uses only the portable floating-point feature set:

git clone https://github.com/ovasylenko/g6k-rs.git
cd g6k-rs
./scripts/quickstart.sh

The script runs a deterministic LLL/BKZ example and verifies its determinant invariant. The first build compiles dependencies and therefore takes longer than subsequent runs.

Add the crate to a Rust project with:

[dependencies]
g6k-rs = "0.1"
js
use g6k_rs::{LLLParams, LatticeBasis, lll_reduce};

let mut basis = LatticeBasis::from_rows(vec![
    vec![1.0, 1.0],
    vec![-1.0, 2.0],
]);
lll_reduce(&mut basis, &LLLParams::default()).unwrap();

The default build enables arbitrary-precision support through the mpz

feature. Set default-features = false

for the floating-point API only.

  • Floating-point LLL, BKZ, deep insertion, slide reduction, and self-dual reduction.
  • Babai-style CVP, pruned enumeration, rerandomized enumeration, and pruning profile optimization.
  • BDGL, BGJ1, and HK3-style lattice sieves with deterministic CPU and parallel paths.
  • Arbitrary-precision lattice arithmetic and reduction through rug

/GMP/MPFR. - Optional Metal and CUDA sieve, enumeration, and Seysen-conditioning paths.

  • Exact or independently recomputed checks for determinant preservation, coordinate reconstruction, integral output, and returned candidate norms.

See the examples guide for task-oriented snippets and project status for maturity and limitations.

The name describes the project's goal: exploring a Rust implementation of the lattice-reduction and sieving problem space associated with the General Sieve Kernel. It is not an official port, release, or drop-in replacement for fplll/G6K.

Project Primary interface Focus
g6k-rs
Rust library Rust APIs, exact checks, CPU/Metal/CUDA experiments

fplllNo claim is made that g6k-rs

is faster, more complete, or a compatible replacement. Read PROVENANCE.md before redistributing or relicensing the project.

cargo test --no-default-features

cargo test

cargo fmt --check
cargo clippy --all-targets -- -D warnings

The last locally observed default-platform run completed 1,813 tests with no failures; ignored tests include slow probes and hardware-dependent paths. That number is a development reference, not a substitute for the current CI result. GPU tests require the corresponding feature, toolchain, and device.

metal-gpu

(macOS): Metal sieve kernels, GPU Seysen conditioning, and Metal-backed reduction entry points.metal-fp16

: experimental half-precision database storage on top ofmetal-gpu

.cuda-gpu

(Linux/NVIDIA): CUDA sieve, enumeration, and Seysen kernels. The build requiresnvcc

; setG6K_CUDA_ARCH

to the target architecture, such assm_89

.

Use the GPU testing guide for build and validation commands. Hardware measurements and the rules for making performance claims live in BENCHMARKING.md.

Examples— how to use each major workflow.Status and limitations— what is stable, experimental, or hardware-dependent.Benchmarking— reproducible commands and historical measurements.Provenance— independent-authorship statement, research sources, and contribution policy.Algorithm and paper map— fidelity notes for research modules.Contributing— required checks and evidence standards.

Licensed under either the Apache License 2.0 or the MIT License, at your option.

Maintainer: Oleksii Vasylenko (hello@ovasylenko.com

).

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @oleksii vasylenko 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-g6k-rs-latti…] indexed:0 read:3min 2026-08-04 ·