Skip to content

Releases: visualDust/fhelium

FHElium 0.30.0

Choose a tag to compare

@visualDust visualDust released this 25 Sep 03:33
d5b176e

FHElium 0.30 expands compilation, generated kernel execution, and compressed plaintext support, with updated documentation for Eager execution and Compile workflows.

Unified compilation

Manual Programs and JIT-compiled callables share the same configurable compilation pipeline. Compilation supports mixed Tensor and CKKS operations, rotation hoisting, reusable numerical materials, and partial persistence of Programs and their material bindings.

Prepared execution generates direct host calls. Backend implementations support local arithmetic and NTT fusion, including fusion within partially lowered key-switching operations.

Arithmetic and distributed execution

This release fixes indexed CUDA NTT execution at ring dimension 256 and unifies wide-digit ModUp through the native CPU and CUDA implementations. Typed collectives support non-contiguous payloads while preserving destination storage views, and limb scattering accepts caller-selected row ranges.

What's Changed

Full Changelog: v0.25.0...v0.30.0

FHElium 0.25.0 — Flexible CKKS parameters and performance improvements

Choose a tag to compare

@visualDust visualDust released this 10 Sep 19:04
25f8a97

FHElium 0.25.0 introduces more flexible CKKS parameter choices and improves execution efficiency across arithmetic and composed workloads.

Flexible CKKS parameters

  • Choose CKKS scales independently of individual RNS prime widths.
  • Compose each depth group from one or more primes and rescale by the complete group product.
  • Use consistent depth and scale semantics across Eager, Compile, runtime values, and serialization.

Performance improvements

  • Reduce redundant representation conversions and reuse NTT-domain values.
  • Improve hybrid key switching and rescaling.
  • Reuse prepared materials and shorten intermediate lifetimes in composed computations.

Documentation, examples, and benchmark tooling have been updated to reflect these changes.

Compatibility

This release includes breaking changes to CKKS configuration, depth-related APIs, serialized value state, and benchmark interfaces. Refer to the updated documentation and examples when migrating existing code.

Documentation: https://fhelium.550w.host

FHElium 0.20.0 — A new architecture for FHE execution

Choose a tag to compare

@visualDust visualDust released this 02 Sep 00:47
08fbbad

FHElium 0.20.0

FHElium 0.20.0 redesigns how programs are represented, transformed, and executed on native CPU and NVIDIA CUDA backends. Eager execution and compiled Programs are now separate first-class programming models built on the same operation implementations and arithmetic resources.

Highlights

First-class Eager and Compile models

Use fhelium.eager.Engine for immediate, graph-free CKKS operations, or construct and transform Programs through fhelium.compile. Compile pipelines are caller-composable, allowing applications to choose lowering, CKKS state assignment, scheduling, resource binding, linking, and code-generation passes for each workload.

FHElium IR and shared Backend execution

FHElium’s intermediate representation (IR) models encrypted operations, lower-level residue arithmetic and polynomial transforms, control flow, and distributed operations as inspectable Programs. Caller-composable Compile passes can preserve high-level operations, lower them into logical compositions, assign CKKS state, resolve resources, and prepare Programs for execution.

The shared Backend maps registered operations to numerical implementations and live arithmetic resources. Compile links Programs through the Backend, while Eager calls the same implementations directly without constructing a Program. Both programming models therefore share native CPU and CUDA execution while retaining their own transformation, scheduling, and lifecycle behavior.

Native Windows support

FHElium now provides native Windows x86-64 wheels for supported CPython 3.12 and 3.13 environments, including CPU and NVIDIA CUDA configurations. Linux wheels and source installation remain supported.

Documentation

The documentation has been reorganized around the Eager, Compile, Backend, runtime, CUDA Graph, and distributed execution layers. New examples demonstrate built-in Compile pipelines, custom CKKS transformations, direct Backend execution, Python code generation, and rank-local collective Programs.

Compatibility

FHElium remains below version 1.0, and 0.20.0 contains breaking API and architecture changes from 0.10.0.

Full changelog: v0.10.0...v0.20.0

FHElium v0.10.0

FHElium v0.10.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Aug 19:42