VOOZH about

URL: https://thenewstack.io/intel-oneapis-unified-programming-model-for-python-machine-learning/

⇱ Intel oneAPI's Unified Programming Model for Python Machine Learning - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2022-02-04 10:45:14
Intel oneAPI's Unified Programming Model for Python Machine Learning
analysis,
AI / Data / Software Development

Intel oneAPI’s Unified Programming Model for Python Machine Learning

Let's take a closer look at Intel Distribution of Modin and Intel Extension for Scikit-learn.
Feb 4th, 2022 10:45am by Janakiram MSV
👁 Featued image for: Intel oneAPI’s Unified Programming Model for Python Machine Learning
Feature image via scikit learn.

The popular Scikit-learn Python machine learning toolkit is a simple and powerful framework for classical machine learning. If you are training models based on linear regression, logistic regression, decision tree, or random forest algorithms, Scikit-learn is the first choice.

In classical machine learning, one is expected to perform feature engineering — identifying the right attributes — and handpicking the right algorithms aligned with the business problem. It is the right approach for most problems based on structured data stored in relational databases, spreadsheets, and flat files.

On the other hand, deep learning is a subset of machine learning that relies on large datasets and massive computational power to identify high-level features and hidden patterns in the data. When training models based on unstructured data such as images, video, and audio, deep learning techniques based on well-defined neural network architecture are preferred by ML engineers and researchers.

In addition to Scikit-learn, other advanced AI frameworks such as TensorFlow, PyTorch, Apache MXNet, XGBoost, and others may be used for training models based on structured or unstructured datasets and a wide variety of algorithms that are used as part of deep learning and classical machine learning workflows. ML researchers and engineers prefer versions of these frameworks that have been optimized for accelerated performance. The AI acceleration is delivered by the combination of hardware and software.

Deep learning frameworks such as Apache MXNet, TensorFlow, and PyTorch take advantage of the acceleration software based on NVIDIA CUDA and cuDNN that provide interfaces to the underlying Nvidia GPUs. AMD provides a similar combination through Heterogeneous Interface for Portability (HIP) and ROCm that provide access to AMD GPUs. AI acceleration in these cases squarely focuses on GPU, the software drivers, runtime, and libraries. Deep learning frameworks are tightly integrated with AI acceleration software to speed up the training and inference of deep learning models on the respective GPUs.

While GPUs are used extensively in deep learning training, CPUs are more ubiquitous in the full end-to-end AI workflow: data preprocessing/analytics and machine & deep learning modeling/deployment. In fact, you might be surprised to learn that Intel Xeon Scalable processors are the most widely used server platform from the cloud to the edge for AI.

Intel has been at the forefront of an initiative called oneAPI — a cross-industry, open, standards-based unified programming model targeting multiple architectures including the aforementioned CPUs and GPUs, FPGAs, and other AI accelerators. The oneAPI toolkit is available to developers as a set of toolkits aligned with HPC, AI, IoT, and ray tracing use cases.

Intel oneAPI AI Analytics Toolkit (AI Kit) targets data scientists and AI engineers through familiar Python tools and frameworks. It is part of Intel’s end-to-end suite of AI developer tools and comes with optimized AI frameworks for Scikit-learn, XGBoost, TensorFlow, and PyTorch.

The most interesting components of the AI Kit for developers and data scientists using a machine learning workflow are Intel Distribution of Modin and Intel Extension for Scikit-learn which are highly optimized for the CPU, promising a 10-100X performance boost. The best thing about these frameworks is that they are fully compatible with Pandas and stock Scikit-learn delivering drop-in replacements.

Let’s take a closer look at Intel Distribution of Modin and Intel Extension for Scikit-learn.

Intel Distribution of Modin

Intel Distribution of Modin is a performant, parallel, distributed, pandas-compatible DataFrame acceleration system that is designed around enabling data scientists to be more productive. This library is fully compatible with the Pandas API. It is powered by OmniSci in the back end and provides accelerated analytics on Intel platforms.

Modin is compatible with Pandas while enabling distributed data processing through Ray and Dask. It is a drop-in replacement for Pandas that transforms single-threaded Pandas into multithreaded ones, using all the CPU cores and instantaneously speeding up the data processing workflows. Modin is especially good on large datasets, where pandas will either run out of memory or become extremely slow.

Modin also has a rich frontend supporting SQL, spreadsheets, and Jupyter notebooks.

Data scientists can easily switch to Modin to take advantage of parallelized data processing capabilities while using the familiar Pandas API.

Installing Modin is simple. It’s available through the Conda package manager of Intel oneAPI AI Analytics Toolkit.

conda create -n aikit-modin intel-aikit-modin -c intel -c conda-forge
conda activate aikit-modin

The code snippet below shows how simple it is to use Modin:

import modin.pandas as pd
df = pd.read_csv('~/trips_data.csv')
df.groupby("cab_type").size()

Intel Extension for Scikit-learn

The Intel Extension for Scikit-learn provides optimized implementations of many scikit-learn algorithms, which are consistent with the original version and provide faster results. The package simply reverts to Scikit-learn’s original behavior when you make use of algorithms or parameters not supported by the extension, which delivers a seamless experience to developers. With no need to rewrite new code, your ML application works as before or even faster.

Intel Extension for Scikit-learn supports popular classical machine learning algorithms often used by Scikit-learn developers.

👁 Image

The acceleration in learning speed is achieved by patching, which replaces the stock scikit-learn algorithms with their optimized versions provided by the extension. Installation of the module can be done through conda or pip.

pip install scikit-learn-intelex
conda install scikit-learn-intelex -c conda-forge

As a drop-in replacement, using Intel Extension for Scikit-learn is straightforward. Just add the below lines to your code:

from sklearnex import patch_sklearn
patch_sklearn()

In an upcoming tutorial, I will demonstrate how to install and use Intel oneAPI AI Analytics Toolkit for training a linear regression model. Stay tuned.

TRENDING STORIES
Janakiram MSV (Jani) is a practicing architect, research analyst, and advisor to Silicon Valley startups. He focuses on the convergence of modern infrastructure powered by cloud-native technology and machine intelligence driven by generative AI. Before becoming an entrepreneur, he spent...
Read more from Janakiram MSV
SHARE THIS STORY
TRENDING STORIES
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.