Apple Silicon gradient boosting with an MPS/Metal backend (technology preview)
Project description
MPSBoost
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.0a0reserves the package namespace and exposes the planned Python API. Model training is not implemented in this release. Calls tofit()andtrain()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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc2888a0cb2a770b351b235984bf1f86aeec7804acea053855d62a6f61f86e07
|
|
| MD5 |
ab30ea1ac81afb0e18dda6df113607af
|
|
| BLAKE2b-256 |
a53943ccaba551e147720f3bf88ddc15476e56532e243bdc022c8480cd2c7104
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
becbdc2dd0a48be50107d7a7e70770b77bdf720d9bde7c2d51fa12d7994e1cf8
|
|
| MD5 |
755de3635a0a20a8ee84ac8eb0c4ef8b
|
|
| BLAKE2b-256 |
d2673d689e2b35c30f2537d023a94a97c2a9194c844136b92a6c5aa2b426b13a
|