Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Environment:Dotnet Machinelearning OneDal Acceleration

From Leeroopedia


Knowledge Sources
Domains Infrastructure, Acceleration
Last Updated 2026-02-09 11:00 GMT

Overview

Intel oneDAL 2023.0.0 acceleration environment for x64 Windows, enabling hardware-accelerated ML algorithms via the `MLNET_BACKEND=ONEDAL` environment variable.

Description

This environment configures Intel oneDAL (oneAPI Data Analytics Library) as an optional acceleration backend for ML.NET. When enabled, it dispatches supported algorithms to Intel-optimized implementations. It requires x64 architecture and currently only has full support on Windows. The environment also depends on Intel oneAPI Threading Building Blocks (TBB) for parallelism.

Usage

Use this environment to accelerate ML.NET training and inference on Intel x64 hardware. Enable by setting the `MLNET_BACKEND` environment variable to `ONEDAL`. This is optional; ML.NET falls back to managed implementations when oneDAL is unavailable.

System Requirements

Category Requirement Notes
OS Windows (primary), Linux, macOS Platform-specific package versions
Hardware Intel x64 CPU oneDAL optimized for Intel hardware
Architecture x64 only ARM and x86 not supported

Dependencies

Native Packages (Platform-Specific)

Windows:

  • `oneDAL` = 2023.0.0.23189
  • `oneAPI TBB` = 2021.7.1.15305

Linux:

  • `oneDAL` = 2023.0.0.23046
  • `oneAPI TBB` = 2021.7.1.15005

macOS:

  • `oneDAL` = 2023.0.0.22995
  • `oneAPI TBB` = 2021.7.1.14939

Development

  • `oneDAL Devel` = 2023.0.0.23189 (all platforms)

Credentials

  • `MLNET_BACKEND`: Set to `ONEDAL` to enable oneDAL acceleration. Not a secret, but required for activation.

Quick Install

# Enable oneDAL acceleration (Windows/Linux/macOS x64 only)
# Set environment variable before running ML.NET application
set MLNET_BACKEND=ONEDAL   # Windows
export MLNET_BACKEND=ONEDAL # Linux/macOS

# The oneDAL native libraries are included via NuGet packages
# No separate installation needed when using ML.NET NuGet packages

Code Evidence

Environment variable check from `src/Microsoft.ML.OneDal/OneDalUtils.cs:23`:

if (System.Runtime.InteropServices.RuntimeInformation.ProcessArchitecture ==
    System.Runtime.InteropServices.Architecture.X64)

Backend activation from `README-oneDAL.md:16`:

Set MLNET_BACKEND=ONEDAL to enable oneDAL kernel dispatching

Windows PATH manipulation from `src/Microsoft.ML.OneDal/OneDalUtils.cs:26`:

if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
    // Manipulates PATH to find oneDAL native libraries

Version declarations from `eng/Versions.props:55-63`:

<OneDALWindowsVersion>2023.0.0.23189</OneDALWindowsVersion>
<OneDALLinuxVersion>2023.0.0.23046</OneDALLinuxVersion>
<OneDALMacVersion>2023.0.0.22995</OneDALMacVersion>
<OneDALDevelVersion>2023.0.0.23189</OneDALDevelVersion>
<OneAPITBBWindowsVersion>2021.7.1.15305</OneAPITBBWindowsVersion>
<OneAPITBBLinuxVersion>2021.7.1.15005</OneAPITBBLinuxVersion>
<OneAPITBBMacVersion>2021.7.1.14939</OneAPITBBMacVersion>

Common Errors

Error Message Cause Solution
`DllNotFoundException: OneDalNative` Running on non-x64 architecture oneDAL requires x64; switch to x64 or disable oneDAL backend
`No acceleration detected` MLNET_BACKEND not set Set `MLNET_BACKEND=ONEDAL` environment variable
`oneDAL library not found in PATH` Native libraries not in system PATH (Windows) Ensure NuGet packages restored; check OneDalUtils PATH manipulation

Compatibility Notes

  • x64 only: oneDAL native binaries are compiled exclusively for x64 architecture.
  • Windows primary: Full support on Windows with automatic PATH configuration.
  • Linux/macOS: Supported but with platform-specific package versions.
  • Fallback: When oneDAL is unavailable or not configured, ML.NET silently falls back to managed implementations with no error.

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment