oneAPI: A Developer-Centric Approach to Heterogeneous Computing

By Russel R Beutler,

Published:01/13/2020   Last Updated:01/13/2020

Deliver Uncompromised Performance across Diverse Workloads Using These Developer Resources

You’ve probably heard the buzz about oneAPI, an industry initiative to create a single, unified, heterogeneous programming model to simplify coding for CPU, GPU, FPGA and AI architectures. The oneAPI initiative is based on an open specification and standards to encourage multi-vendor adoption.

Alongside the initiative, Intel has developed a reference implementation of oneAPI with a set of with a set of toolkits (currently in beta) to address the growing and diverse needs of data-centric workloads.

Like any other new technology and approach, developers almost certainly will have questions about oneAPI: how to get it, how to use it, what its full capabilities are, who’s supporting it … the list goes on.

What follows is a roundup of oneAPI resources, designed to help you get started and build skills simplifying your cross-architecture programming efforts.

Answering a Compelling Need for Heterogeneous Computing

Today, most performance-driven programming is targeted to single architectures and doesn’t easily allow for code to be reused on other architectures. This limits choice and makes development inefficient, time-intensive, and costly.

What's inside Intel oneAPI Base ToolkitAs time-constrained developers well know, no single architecture is best for every workload. They require a mix of scalar, vector, matrix, and spatial (SVMS) architectures deployed in CPU, GPU, FPGA, and other accelerators.

That’s where Intel oneAPI products come in: delivering the tools needed to deploy applications and solutions across those SVMS architectures. This set of toolkits—a base kit and specialty add-ons—simplify programming and help developers improve efficiency and innovation.

These oneAPI resources will help you get started with a heterogeneous approach to programming for diverse architectures:

Get Hands-on Experience with oneAPI

Start with a Brief Overview

Delivering high compute performance for emerging specialized workloads in our data-centric world requires diverse compute architectures. This short video introduces oneAPI as a revolutionary unified software programming model that features a direct programming language, Data Parallel C++, and a set of libraries for API-based programming to ease the task of cross-architecture development. Watch the Video (3:30)

You can also find detailed descriptions of the Intel® oneAPI Toolkits at the product site or in this brief. Read the Product Brief

Next, Join the oneAPI Beta Program

Be among the first to try this breakthrough technology as an active Beta participant. And, your feedback will help shape future improvements to the toolkit. The Intel® oneAPI Base Toolkit includes:

  • Data Parallel C++ (DPC++) Language for Direct Programming
  • Libraries for API-based Programming
  • Advanced Analysis & Debug Tools

Join the oneAPI Beta Program

Download Toolkits Tailored to Your Needs

Get started with this foundational kit that enables developers of all types to build, test, and deploy performance-driven, data-centric applications across CPUs, GPUs, and FPGAs. The Intel® oneAPI Base Toolkit is a core set of tools and libraries for building and deploying high-performance, data-centric applications across diverse architectures. The kit includes:

  • Intel® oneAPI Data Parallel C++ Compiler
  • Intel® Distribution for Python*
  • Multiple optimized libraries
  • Advanced analysis and debugging tools

 Get the Base Kit

Or, Try oneAPI Tools in the Intel® DevCloud

No need to acquire hardware, configure systems or install software: this cloud-based sandbox offers full access to Intel® CPU, GPU, and FPGA processors, as well as oneAPI software, including DPC++. Sign up for an Intel® DevCloud account for free access to test and run new or existing code. Experience oneAPI on Intel DevCloud

Quick-start & Sharpen Your oneAPI Development

Build Knowledge in oneAPI Webinars

An initial three-session webinar series unpacks what oneAPI is, and how it can help developers leapfrog to a higher level of cross-architecture accomplishment. Start Watching Part 1: Introduction to the New Programming Model

Access Tools, Trainings, Videos and More

Bookmark this page to immerse yourself in a constantly expanding collection of detailed and big-picture discussions, specialized toolkits and other resources.  Go Deep into oneAPI

Gain Insights from Intel oneAPI Leaders

2019 HPC DevCon Keynote: Raja Koduri

In this hour-long presentation, Raja Koduri, Intel senior vice president, chief architect, and general manager (GM) of architecture, graphics, and software, details how the convergence of HPC and artificial intelligence is driving a paradigm shift in computing… and how Intel’s software-first strategy is driving that convergence.
Watch Raja Koduri (56:30)

The Path to Streamlined Cross-Architecture Development

Bill Savage, Intel vice president and GM of compute performance and developer products, explains oneAPI in-depth, how a unified programming model helps developers, and trying out the Beta software.
Watch Bill Savage (6:22)

Breaking Boundaries with DPC++

Based on familiar C++ and SYCL*, DPC++ is part of oneAPI and helps developers create solutions that better meet specialized workload requirements. Intel Vice President Alice Chan discusses this shift in cross-architecture programming flexibility, what DPC++ offers developers, advantages of a non-proprietary approach, and how open specifications drive ecosystem innovation.
Watch Alice Chan (17:00)

The Advantages of oneAPI for All

In this video Jeff McVeigh, GM of Intel visual computing software products, explains that with the diversity of hardware and a growing need for specialized workloads, one size no longer fits all. Here’s how and why the industry will sign on to a new heterogeneous approach.  Watch Jeff McVeigh (5:46)

Data Parallel C++:  An Open Alternative for Cross-Architecture Development

According to Intel Senior Fellow Geoff Lowney, Data Parallelism is the programming model used for most compute-intensive applications and the challenge is to help developers express parallelism across various hardware architectures.
Watch Geoff Lowney (12:05)

‘Developer-to-Developer’ Key Insights

Parallel computing expert James Reinders shares why he is excited about DPC++ and heterogeneous programming, code reuse from CPUs to GPUs to FPGAs, and cross-platform parallelism performance.  Watch James Reinders

 

More Resources

Intel wants to help you with efficient, performant, development strategies for data-centric workloads that will ease transitions to emerging architectures Take advantage of these tools and resources by integrating them into your repertoire of development. 

Try Intel oneAPI Beta Tools Now

Join the oneAPI Beta program today and be among the first to try this breakthrough technology. There are two ways to get started – download the Intel oneAPI Base Toolkit directly or try Intel oneAPI Beta Tools in the Intel DevCloud.

Download Intel oneAPI Base Toolkit today and start developing

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804