Skip to main content

Apple Silicon gradient boosting with an MPS/Metal backend (technology preview)

Project description

MPSBoost

PyPI Python

MPSBoost is an early-stage gradient boosting project for Apple Silicon. Its planned execution backend combines reusable Metal Performance Shaders capabilities with custom Metal compute kernels for histogram construction, split evaluation, row partitioning, and prediction.

Technology preview: version 0.1.0a0 reserves the package namespace and exposes the planned Python API. Model training is not implemented in this release. Calls to fit() and train() fail explicitly instead of silently running a different backend.

Installation

python -m pip install mpsboost

The placeholder release is pure Python and has no runtime dependencies. Future accelerated releases will provide prebuilt Apple Silicon wheels; normal users will not need PyTorch, Homebrew, CMake, or a local Metal shader compiler.

Planned sklearn-style API

import mpsboost as mps

model = mps.MPSBoostRegressor(
    n_estimators=200,
    learning_rate=0.05,
    max_depth=6,
    device="mps",
)

model.fit(X_train, y_train)
prediction = model.predict(X_test)

Planned native API

import mpsboost as mps

dtrain = mps.MPSMatrix(X_train, label=y_train)
booster = mps.train(
    params={"objective": "reg:squarederror", "device": "mps"},
    dtrain=dtrain,
    num_boost_round=200,
)

Preview diagnostics

The placeholder package can be used to inspect its public version and planned backend status:

import mpsboost as mps

print(mps.__version__)
print(mps.is_available())
print(mps.system_info())

Project principles

  • Familiar XGBoost/scikit-learn-style Python entry points.
  • device="mps" as the stable user-facing Apple GPU backend name.
  • Custom Metal kernels for tree-specific irregular computation.
  • Prebuilt wheels and no heavyweight Python runtime dependency.
  • Explicit errors instead of silent CPU fallback.
  • End-to-end benchmarks, including preprocessing and synchronization.

Status

The current release is a namespace and API placeholder. Do not use it for model training. Follow the repository for implementation milestones.

Independence notice

MPSBoost is an independent open-source project. It is not affiliated with, endorsed by, or sponsored by Apple Inc., the XGBoost project, or the scikit-learn project. Apple, Metal, and Metal Performance Shaders may be trademarks of Apple Inc.

License

Apache-2.0

Project details


Download files

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

Source Distribution

mpsboost-0.1.0a0.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

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

mpsboost-0.1.0a0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file mpsboost-0.1.0a0.tar.gz.

File metadata

  • Download URL: mpsboost-0.1.0a0.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for mpsboost-0.1.0a0.tar.gz
Algorithm Hash digest
SHA256 fc2888a0cb2a770b351b235984bf1f86aeec7804acea053855d62a6f61f86e07
MD5 ab30ea1ac81afb0e18dda6df113607af
BLAKE2b-256 a53943ccaba551e147720f3bf88ddc15476e56532e243bdc022c8480cd2c7104

See more details on using hashes here.

File details

Details for the file mpsboost-0.1.0a0-py3-none-any.whl.

File metadata

  • Download URL: mpsboost-0.1.0a0-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for mpsboost-0.1.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 becbdc2dd0a48be50107d7a7e70770b77bdf720d9bde7c2d51fa12d7994e1cf8
MD5 755de3635a0a20a8ee84ac8eb0c4ef8b
BLAKE2b-256 d2673d689e2b35c30f2537d023a94a97c2a9194c844136b92a6c5aa2b426b13a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page