Table of Contents
Fetching ...

oneDAL Optimization for ARM Scalable Vector Extension: Maximizing Efficiency for High-Performance Data Science

Chandan Sharma, Rakshith GB, Ajay Kumar Patel, Dhanus M Lal, Darshan Patel, Ragesh Hajela, Masahiro Doteguchi, Priyanka Sharma

TL;DR

This work ported oneDAL to ARM with Scalable Vector Extension (SVE) by replacing MKL with OpenBLAS and implementing ARM-specific optimizations, including CSR Sparse BLAS, VSL routines (x2c_mom, xcp), RNG via OpenRNG, and an SVE-optimized SVM (WSSj). It demonstrates substantial performance gains across training and inference on ARM/SVE hardware—up to 217× vs scikit-learn on ARM and up to 2.75× over x86 MKL on certain workloads—while achieving parity or superiority with x86 oneDAL in many cases. The approach includes detailed methodology for ARM adaptation, vector-length agnostic design, and cross-architecture validation on AWS Graviton3 versus IceLake, highlighting ARM’s potential for energy-efficient, high-performance data analytics. The results are reinforced by real-world use cases (fraud detection, customer segmentation) and established benchmarks (DataPerf, TPC-AI), underscoring practical impact and broader open-source implications.

Abstract

The evolution of ARM-based architectures, particularly those incorporating Scalable Vector Extension (SVE), has introduced transformative opportunities for high-performance computing (HPC) and machine learning (ML) workloads. The Unified Acceleration Foundation's (UXL) oneAPI Data Analytics Library (oneDAL) is a widely adopted library for accelerating ML and data analytics workflows, but its reliance on Intel's proprietary Math Kernel Library (MKL) has traditionally limited its compatibility to x86platforms. This paper details the porting of oneDAL to ARM architectures with SVE support, using OpenBLAS as an alternative backend to overcome architectural and performance challenges. Beyond porting, the research introduces novel ARM-specific optimizations, including custom sparse matrix routines, vectorized statistical functions, and a Scalable Vector Extension (SVE)-optimized Support Vector Machine (SVM) algorithm. The SVM enhancements leverage SVE's flexible vector lengths and predicate driven execution, achieving notable performance gains of 22% for the Boser method and 5% for the Thunder method. Benchmarks conducted on ARM SVE-enabled AWSGraviton3 instances showcase up to 200x acceleration in ML training and inference tasks compared to the original scikit-learn implementation on the ARM platform. Moreover, the ARM-optimized oneDAL achieves performance parity with, and in some cases exceeds, the x86 oneDAL implementation (MKL backend) on IceLake x86 systems, which are nearly twice as costly as AWSGraviton3 ARM instances. These findings highlight ARM's potential as a high-performance, energyefficient platform for dataintensive ML applications. By expanding cross-architecture compatibility and contributing to the opensource ecosystem, this work reinforces ARM's position as a competitive alternative in the HPC and ML domains, paving the way for future advancements in dataintensive computing.

oneDAL Optimization for ARM Scalable Vector Extension: Maximizing Efficiency for High-Performance Data Science

TL;DR

This work ported oneDAL to ARM with Scalable Vector Extension (SVE) by replacing MKL with OpenBLAS and implementing ARM-specific optimizations, including CSR Sparse BLAS, VSL routines (x2c_mom, xcp), RNG via OpenRNG, and an SVE-optimized SVM (WSSj). It demonstrates substantial performance gains across training and inference on ARM/SVE hardware—up to 217× vs scikit-learn on ARM and up to 2.75× over x86 MKL on certain workloads—while achieving parity or superiority with x86 oneDAL in many cases. The approach includes detailed methodology for ARM adaptation, vector-length agnostic design, and cross-architecture validation on AWS Graviton3 versus IceLake, highlighting ARM’s potential for energy-efficient, high-performance data analytics. The results are reinforced by real-world use cases (fraud detection, customer segmentation) and established benchmarks (DataPerf, TPC-AI), underscoring practical impact and broader open-source implications.

Abstract

The evolution of ARM-based architectures, particularly those incorporating Scalable Vector Extension (SVE), has introduced transformative opportunities for high-performance computing (HPC) and machine learning (ML) workloads. The Unified Acceleration Foundation's (UXL) oneAPI Data Analytics Library (oneDAL) is a widely adopted library for accelerating ML and data analytics workflows, but its reliance on Intel's proprietary Math Kernel Library (MKL) has traditionally limited its compatibility to x86platforms. This paper details the porting of oneDAL to ARM architectures with SVE support, using OpenBLAS as an alternative backend to overcome architectural and performance challenges. Beyond porting, the research introduces novel ARM-specific optimizations, including custom sparse matrix routines, vectorized statistical functions, and a Scalable Vector Extension (SVE)-optimized Support Vector Machine (SVM) algorithm. The SVM enhancements leverage SVE's flexible vector lengths and predicate driven execution, achieving notable performance gains of 22% for the Boser method and 5% for the Thunder method. Benchmarks conducted on ARM SVE-enabled AWSGraviton3 instances showcase up to 200x acceleration in ML training and inference tasks compared to the original scikit-learn implementation on the ARM platform. Moreover, the ARM-optimized oneDAL achieves performance parity with, and in some cases exceeds, the x86 oneDAL implementation (MKL backend) on IceLake x86 systems, which are nearly twice as costly as AWSGraviton3 ARM instances. These findings highlight ARM's potential as a high-performance, energyefficient platform for dataintensive ML applications. By expanding cross-architecture compatibility and contributing to the opensource ecosystem, this work reinforces ARM's position as a competitive alternative in the HPC and ML domains, paving the way for future advancements in dataintensive computing.

Paper Structure

This paper contains 29 sections, 9 equations, 9 figures, 1 table.

Figures (9)

  • Figure 1: Dependencies of oneDAL on MKL
  • Figure 2: Proposed Architecture: ARM SVE optimized oneDAL
  • Figure 3: Performance of KNN and KMeans with libcpp vs. OpenRNG
  • Figure 4: Performance of SVM Non-SVE vs. SVE Optimized
  • Figure 5: Performance of ARM SVE optimized oneDAL vs. original scikit-learn
  • ...and 4 more figures