Article 4VF3X Intel Announces "oneAPI" for Programming CPUs, GPUs, FPGAs, Accelerators, etc.

Intel Announces "oneAPI" for Programming CPUs, GPUs, FPGAs, Accelerators, etc.

by
Fnord666
from SoylentNews on (#4VF3X)

takyon writes:

Write AI code once, run anywhere-it's not Java, it's Intel's oneAPI

Saturday afternoon (Nov. 16) at Supercomputing 2019, Intel launched a new programming model called oneAPI. Intel describes the necessity of tightly coupling middleware and frameworks directly to specific hardware as one of the largest pain points of AI/Machine Learning development. The oneAPI model is intended to abstract that tight coupling away, allowing developers to focus on their actual project and re-use the same code when the underlying hardware changes.

This sort of "write once, run anywhere" mantra is reminiscent of Sun's early pitches for the Java language. However, Bill Savage, general manager of compute performance for Intel, told Ars that's not an accurate characterization. Although each approach addresses the same basic problem-tight coupling to machine hardware making developers' lives more difficult and getting in the way of code re-use-the approaches are very different.

[...] When we questioned Savage about oneAPI's design and performance expectations, he distanced it firmly from Java, pointing out that there is no bytecode involved. Instead, oneAPI is a set of libraries that tie hardware-agnostic API calls directly to heavily optimized, low-level code that drives the actual hardware available in the local environment. So instead of "Java for Artificial Intelligence," the high-level takeaway is more along the lines of "OpenGL/DirectX for Artificial Intelligence."

For even higher-performance coding inside tight loops, oneAPI also introduces a new language variant called "Data Parallel C++" allowing even very low-level optimized code to target multiple architectures. Data Parallel C++ leverages and extends SYCL, a "single source" abstraction layer for OpenCL programming.

In its current version, a oneAPI developer still needs to target the basic hardware type he or she is coding for-for example, CPUs, GPUs, or FPGAs. Beyond that basic targeting, oneAPI keeps the code optimized for any supported hardware variant. This would, for example, allow users of a oneAPI-developed project to run the same code on either Nvidia's Tesla v100 or Intel's own newly released Ponte Vecchio GPU.

Related: Intel Xe High Performance Computing GPUs will use Chiplets

Original Submission

Read more of this story at SoylentNews.

External Content
Source RSS or Atom Feed
Feed Location https://soylentnews.org/index.rss
Feed Title SoylentNews
Feed Link https://soylentnews.org/
Feed Copyright Copyright 2014, SoylentNews
Reply 0 comments