evalml
evalml copied to clipboard
Add support for GPU acceleration
In the usability blitz, @christopherbunn showed what looked like an 8x speedup in wall-clock runtime when GPU support was enabled in our catboost component. So yes, GPUs are awesome :)
It appears sklearn has chosen not to prioritize GPU support. However, xgboost, lightgbm and catboost support GPU acceleration.
Proposed plan:
- Update catboost and xgboost components and pipelines to support turning on GPU acceleration as a boolean flag in the init, default false
- Once the automl strategy project #272 is in, we could write a GPU-specific automl strategy which only runs the pipelines which support GPU acceleration, with it enabled
- That means this is blocked on #272
Questions to consider:
- Should we find more GPU-enabled algorithms?
- Does this vary from platform to platform? We could choose to support only on linux initially.
another library to look into that we could use to build components is cuML - https://github.com/rapidsai/cuml
Happy to answer any questions about cuML, if folks are interested.
We've done a lot of work to tighten our interface compliance with scikit-learn since summer 2020, which has made it fairly smooth for AutoML tools like AutoGluon, TPOT, and PyCaret to add support for cuML.