oneAPI Data Analytics Library (oneDAL) is a library providing highly optimized machine learning and data analytics kernels. Some of these kernels is integrated into ML.NET via C++/C# interoperability.
oneDAL Documentation | oneDAL Repository
Please note that oneDAL acceleration paths are only available in x64 architectures
Integration consists of:
- A "native" component (under
src/Native/Microsoft.ML.OneDal) implementing wrapper to pass data and parameters to oneDAL; - Dispatching to oneDAL kernels inside relevant learners:
OLS(src/Microsoft.ML.Mkl.Components),Logistic Regression(src/Microsoft.ML.StandardTrainers),Random Forest(src/Microsoft.ML.FastTree);
Currently, dispatching to oneDAL inside ML.NET is regulated by MLNET_BACKEND environment variable. If it's set to ONEDAL, oneDAL kernel will be used, otherwise - default ML.NET.