More

    Write AI code once, run anywhere—it’s not Java, it’s Intel’s oneAPI

    Array

    yes, but will ponte vecchio run crysis —

    OneAPI unifies code across multiple hardware targets—like Nvidia and Intel GPUs.

    Jim Salter

    Enlarge / Intel’s “Mega Trends in HPC” boil down to AI workloads, running on many kinds of hardware, largely in cloud—not on-premise—environments.

    Intel Corporation

    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.

    • In this simplified block diagram of AI/ML development, Intel wants to isolate “Languages & Libraries” as the biggest pain point.


      Intel Corporation

    • oneAPI aims to uncouple the middleware and frameworks from the gritty details of the underlying hardware they target, making code more re-usable.


      Intel Corporation

    • It’s tempting, but inaccurate, to hear oneAPI’s write once run anywhere promises and think “oh, it’s Java for AI.” oneAPI doesn’t produce bytecode, it abstracts optimized, low-level hardware targeting without replacing it.


      Intel Corporation

    • In addition to low-level programming in the new Data Parallel C++ language and higher-level use of API calls, Intel is making compatibility, debug, and analysis tools available in the oneAPI layer.


      Intel Corporation

    When a developer writes Java code, the source is compiled to bytecode, and a Java Virtual Machine tailored to the local hardware executes that bytecode. Although many optimizations have improved Java’s performance in the 20+ years since it was introduced, it’s still significantly slower than C++ code in most applications—typically, anywhere from half to one-tenth as fast. By contrast, oneAPI is intended to produce direct object code with no or negligible performance penalties.

    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.

    • Intel’s 7nm Xe architecture is intended to cover the entire range of GPU applications, but Ponte Vecchio—the first Xe product—specifically targets high-end deep learning and training in datacenter and supercomputing environments.


      Intel Corporation

    • Ponte Vecchio is an exascale GPU aimed at enormous workloads, utilizing a 7nm process, Intel’s Foveros packaging tech, and high-performance interlinks.


      Intel Corporation

    • The upcoming Aurora supercomputer at Argonne National Laboratories will include six Ponte Vecchio GPUs and two Xeon Scalable CPUs in each node.


      Intel Corporation

    Ponte Vecchio is the first actual product in Intel’s new Xe GPU line and is targeted specifically at HPC supercomputing and data center use. Although neither Savage nor other Intel execs Ars spoke to had timelines or would speak to concrete products, one slide from Intel’s Supercomputing 2019 presentation clearly shows the Xe architecture as encompassing workstation, mobile, and gaming use—so there may be interesting times ahead for rivals in those spaces.

    Savage told Ars that although the current version of oneAPI does still require developers to code for a particular architecture family—CPU, GPU, FPGA, etc—Intel plans for a future release to also allow automatic selection of the most optimal hardware type available.

    The oneAPI toolkit is available for use and testing now at Intel Devcloud.

    %%

    - Advertisement -

    RELATED ARTICLES

    Recent Articles

    Amanda Bynes Looking For A Place To Stay After Checking Out of Inpatient Facility By Herself, Insider Says

    %%item_media%% One insider report claims to know that last week, Amanda Bynes willingly checked out of a sober living facility! That being said, the actress...

    Beau Clark Reveals Details About His Wedding To VPR Star Stassi Schroeder — Here’s Why Their First Choice Venue Turned Them Down!

    %%item_media%% Beau Clark is one of the latest Vanderpump Rules significant others to earn an official spot on the cast. He recently revealed in an...

    Snooki Claims That She Was ‘Forcing’ Herself To Be Happy While Being On Jersey Shore Family Vacation

    %%item_media%% Snooki is getting real about her departure from Jersey Shore Family Vacation. It sounds like she has been wanting out for much longer than...

    Ryan Reynolds Finally Dishes On Name Of Baby Number Three With Blake Lively

    %%item_media%% Privacy is a big thing for Ryan Reynolds and Blake Lively, especially when it comes to their children. The couple never makes pregnancy or...

    Selena Gomez Is Chic In Pink Patou Suit — See The Stylish Photos

    %%item_media%% Selena Gomez is in London and dazzling in a series of fashionable outfits, the latest of which is going viral. The “Lose You To...