Skip To Main Content
Intel logo - Return to the home page
My Tools

Select Your Language

  • Bahasa Indonesia
  • Deutsch
  • English
  • Español
  • Français
  • Português
  • Tiếng Việt
  • ไทย
  • 한국어
  • 日本語
  • 简体中文
  • 繁體中文
Sign In to access restricted content

Using Intel.com Search

You can easily search the entire Intel.com site in several ways.

  • Brand Name: Core i9
  • Document Number: 123456
  • Code Name: Emerald Rapids
  • Special Operators: “Ice Lake”, Ice AND Lake, Ice OR Lake, Ice*

Quick Links

You can also try the quick links below to see results for most popular searches.

  • Product Information
  • Support
  • Drivers & Software

Recent Searches

Sign In to access restricted content

Advanced Search

Only search in

Sign in to access restricted content.

The browser version you are using is not recommended for this site.
Please consider upgrading to the latest version of your browser by clicking one of the following links.

  • Safari
  • Chrome
  • Edge
  • Firefox

Heterogeneous Programming Using Data Parallel Extension for Numba* for AI and HPC

  

Overview

Python* has become a useful tool in advancing scientific research and computation with a rich ecosystem of open source packages for mathematics, science, and engineering. Python is anchored on the performant numerical computation on arrays and matrices, data analysis, and visualization capabilities.

Data Parallel Extension for Numba* is a stand-alone extension to the Numba just-in-time (JIT) compiler and adds SYCL* programming capabilities to Numba. This extension is packaged as part of Intel® Distribution for Python*, which is included with AI Tools.

This data parallel Python course demonstrates high-performing code targeting Intel® XPUs using Python. Developers learn how to take advantage of heterogeneous architectures and speed up applications without using low-level proprietary programming APIs.

Prerequisites

Complete the first three modules of the Essentials of SYCL course: 

  • Introduction to SYCL
  • SYCL Program Structure
  • SYCL Unified Shared Memory

Learn about the Intel Distribution for Python.

Objectives

Who is this for?

This course is designed for Python developers who want to learn the basics of data parallel Python for data parallel and heterogeneous hardware (such as CPU and GPU) without leaving the Python ecosystem or compromising on performance.

What will I be able to do?

Practice the essential concepts and features of Data Parallel Extension for Numba using live sample code.

 

Modules

Introduction to Data Parallel Extension for Numba

  • Write parallel Python programs using Numba.
  • Introduce Data Parallel Extension for Numba and show examples of how to write parallel code and perform an automatic offload approach using @numba.jit.
  • For programmers with SYCL and GPU programming experience, see examples of how to write Explicit kernel using the @numba_dpex.kernel decorator.

Introduction to Data Parallel Control

  • Use Data Parallel Control (dpctl) to manage different devices.
  • Introduce the classes and the functions of dpctl (platform, device, context, device_selector, and queue).
  • Use the Unified Shared Memory (USM) manager to create Python objects that use SYCL USM for data allocation.

Introduction to Pairwise Distance Algorithm

  • Introduce the @numba.jit implementation of the Pairwise algorithm.
  • Use the @numba_dpex.kernel implementation of the Pairwise algorithm.
  • Use the NumPy implementation of the Pairwise algorithm.

Implementation of the Black-Scholes Formula

  • Introduce the @numba.jit implementation of the Black-Scholes algorithm.
  • Use the @numba_dpex.kernel implementation of the Black-Scholes algorithm.
  • Use the NumPy implementation of the Black-Scholes algorithm.

Implementation of K-Means Using Numba

  • Introduce the @numba.jit implementation of the K-Means algorithm.
  • Use @numba_dpex.kernel implementation of the K-Means algorithm.
  • Use the NumPy implementation of the K-Means algorithm.

Implementation of K-Nearest Neighbors (KNN) Algorithm

  • Introduce the @numba.jit implementation of the KNN algorithm.
  • Use @numba_dpex.kernel implementation of the KNN algorithm.
  • Overview
  • Prerequisites
  • Modules
  • Company Overview
  • Contact Intel
  • Newsroom
  • Investors
  • Careers
  • Corporate Responsibility
  • Inclusion
  • Public Policy
  • © Intel Corporation
  • Terms of Use
  • *Trademarks
  • Cookies
  • Privacy
  • Supply Chain Transparency
  • Site Map
  • Recycling
  • Your Privacy Choices California Consumer Privacy Act (CCPA) Opt-Out Icon
  • Notice at Collection

Intel technologies may require enabled hardware, software or service activation. // No product or component can be absolutely secure. // Your costs and results may vary. // Performance varies by use, configuration, and other factors. Learn more at intel.com/performanceindex. // See our complete legal Notices and Disclaimers. // Intel is committed to respecting human rights and avoiding causing or contributing to adverse impacts on human rights. See Intel’s Global Human Rights Principles. Intel’s products and software are intended only to be used in applications that do not cause or contribute to adverse impacts on human rights.

Intel Footer Logo