Repository navigation
v0.2.3
·
44 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
hessboost v0.2.3
Patch release: GPU acceleration goes portable — every Python wheel now trains and predicts through wgpu (Vulkan, Metal, DirectX 12) — alongside polars 1.x/2.x support with LazyFrames and per-row metadata named by frame column, and 3–4× faster EBM FAST pair scoring. No breaking changes.
Full Changelog: v0.2.2...v0.2.3
Highlights Since v0.2.2
GPU: the wgpu backend
- New
wgpufeature:device = wgpubuilds the larger nodes' histograms on the GPU while training, andBoostedModel::to_wgpulays a model out for batch prediction — both bit-identical to single-threaded CPU. Vulkan on Linux and Windows, Metal on macOS, DirectX 12 on Windows. - wgpu needs an adapter with 64-bit shader integers (desktop Vulkan drivers, Apple GPUs, or DirectX 12 with
dxcompiler.dll); a software adapter such as Mesa's lavapipe is used only when there is no other.WGPU_ADAPTER_NAMEpicks an adapter by name. - Python:
Booster.to_gpu("wgpu")and{"device": "wgpu"}training work in every wheel — macOS wheels keep native Metal (to_gpu()/{"device": "metal"}).GpuModel.available(device)andGpuModel.device_name(device)report what a device can do, withNonemeaning Metal on macOS, wgpu elsewhere.
Python bindings
- polars 1.x and 2.x (
polars>=1.0): frames convert through one parallelFloat32select, and aLazyFrameis collected once — labels and other per-row metadata travel as column names, so they come out of the samecollect(arrays alongside aLazyFrameare refused). - Per-row metadata can name frame columns —
label="price",weight=,base_margin=,qid=,label_lower_bound=/label_upper_bound=— and the named columns leave the features.
Performance
- EBM FAST pair scoring is 3–4× faster.
Pull Requests by Category
Features
- feat(backend): portable GPU training and prediction through wgpu (#143)
- feat(python): wgpu GPU training and prediction in every wheel (#144)
- feat(python): polars 2.0 and 1.x, LazyFrames, metadata from frame columns (#141)
Performance
- perf(ebm): score FAST pairs 3-4x faster (#145)