Skip to content

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 29 Sep 00:19
· 6 commits to main since this release
Immutable release. Only release title and notes can be modified.
cbcb443

hessboost 0.2.1

Small feature release on top of 0.2.0: polars input and Metal GPU prediction in Python, plus a faster bit-identical Metal backend and compiled-in models in Rust.

Full Changelog: v0.2.0...v0.2.1

Breaking Changes

None.

Highlights Since v0.2.0

Python

  • polars DataFrames accepted directly, including Categorical and Enum columns (hessboost[polars] extra). Column names become feature names, so schema checks catch reordered columns; unseen categories at prediction are missing.
  • Booster.to_gpu(): Metal GPU batch prediction on macOS, bit-identical to the CPU walk (~1.68x at 500k rows x 200 depth-8 trees on an M3 Max). Off macOS it raises HessboostError; only value/margin prediction is exposed.

Rust / Metal backend

  • model::EmbeddedModel: compile a model file into the binary via include_bytes!, decoded once on first get() (Rust only). Failed decodes are not cached; every call returns the error.
  • Metal backend rewrite, still bit-identical to the CPU: atomic-scatter GPU histograms (exact 32-bit pieces) plus an 8-byte prediction arena with pipelined row blocks. GPU prediction is now ~3.2x the CPU walk (was ~2.5x); GPU histograms cross the CPU between ~1M and ~4M rows per node, and small-dataset training still belongs on the CPU.

Docs

  • Python README rewritten as per-feature examples; GPU guidance (CUDA unavailable; Metal for macOS prediction / large-node histograms).

Pull Requests by Category

Features

  • polars DataFrame input with categorical columns (#128)
  • expose Metal GPU prediction via Booster.to_gpu (#130)
  • scatter GPU histograms and pipeline prediction (#131)
  • EmbeddedModel for models compiled into the binary (#132)

Misc

Install

cargo add hessboost@0.2
pip install hessboost==0.2.1

Start with the README,
the Rust docs, and the Python package README.