Intel oneAPI, a developer-centric platform for heterogeneous computing

Publisher:EEWorld资讯Latest update time:2019-11-18 Source: EEWORLDKeywords:oneAPI Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

At the 2019 Supercomputing Conference, Intel launched a new software industry program, oneAPI, to help fully unleash the potential of multi-architecture computing in the era of the integration of high-performance computing and artificial intelligence technologies, and also released a oneAPI beta product.

 

Intel's oneAPI industry initiative provides a unified and simplified application development programming model for heterogeneous computing across multiple CPUs, GPUs, FPGAs and other accelerators. The release of oneAPI is the result of millions of hours of software engineering development efforts from Intel, and marks a change in the industry, evolving from today's restricted, closed programming methods to an open, standards-based model that helps developers achieve cross-architecture participation and innovation.

 

Intel Raja Koduri 2 2x1

 

Raja Koduri, Intel senior vice president, chief architect and general manager of architecture, graphics and software, said: "High-performance computing and artificial intelligence workloads require a variety of architectures, including CPUs, general-purpose GPUs, FPGAs, and the more specialized deep learning chips NNPs that Intel demonstrated earlier this month. It is critical to help customers more easily unleash the potential of different computing environments. Intel is committed to taking a software-first strategy to provide unified and scalable capabilities for multiple architectures to accelerate heterogeneous innovation."

 

The released oneAPI is a developer-centric platform that will redefine a new way of programming for a world where AI applications are ubiquitous and multiple architectures coexist. oneAPI provides a universal, open programming experience that allows developers to freely choose architectures without compromising on performance, and greatly reduces the complexity of using different code bases, programming languages, programming tools, and workflows. oneAPI preserves existing software investments, including support for existing languages, while providing developers with the flexibility to create more rich applications.

 

oneAPI includes an industry plan based on open specifications and a beta product. The specification includes a programming language, a powerful API function library, and an underlying hardware interface. The oneAPI beta product provides developers with a full set of development tools, including compilers, programming libraries, analyzers, etc., and packages these tools into toolkits for specific fields. The initial oneAPI beta version is mainly aimed at Intel® Xeon® Scalable Processors, Intel® Core® Processors with Integrated Graphics, and Intel® FPGAs, and will support more hardware in the future.

 

 

What is oneAPI?

 

oneAPI is a unified, simplified programming model designed to simplify the development process across multiple architectures (such as CPU, GPU, FPGA, accelerators). oneAPI consists of two components: an industry initiative and an Intel® betaProducts are the first step in new explorations.

 

The oneAPI initiative's cross-architecture development model is based on industry standards and open specifications, supporting a broad industry ecosystem to adopt the technology to drive new evolutions in application development.

 

Intel® oneAPI beta product is Intel's implementation based on oneAPI, which includes oneAPI standard components such as direct programming tools (Data Parallel C++), API-based programming tools with a series of performance libraries, and advanced analysis and debugging tools. Developers can now test codes and applications based on multiple Intel architectures (including Intel Xeon® Scalable processors, Intel Core™ processors with integrated graphics, Intel FPGAs such as Intel Arria®, Stratix®, etc.) on Intel DevCloud for oneAPI. This progress is the result of millions of hours of software engineering development efforts at Intel, and is designed to provide global developers with a bridge from existing code and skills to the upcoming xPU era.

 

C:UsersAbby.ZhangDesktoponeAPIInfographic.png

 

Why is oneAPI important?

 

oneAPI is an important manifestation of Intel's "software first" strategy. Intel believes that this strategy will define and lead an era of increasingly integrated, heterogeneous and multi-architecture programming for artificial intelligence.

 

The ability to develop across architectures (CPU, GPU, FPGA and other accelerators) is extremely important for processing data-intensive workloads, because such workloads require multiple architectures, which will become the norm in the future. Today, each hardware platform often requires developers to maintain independent code bases, which need to be programmed using different languages, libraries and software tools. This is an extremely complex and time-consuming task that will greatly slow down development and inhibit innovation.

 

To solve this problem, oneAPI provides a universal, open programming experience that allows developers to freely choose architecture without compromising on performance, and greatly reduces the complexity of using different code libraries, programming languages, programming tools, and workflows.Compared with today's closed programming environment based on a single vendor , oneAPI provides developers with a highly competitive and more advanced alternative, helping them to build a seamless bridge while retaining their existing software investments, thereby creating more rich applications for the future multi-architecture world.

 

Why is Intel up to the challenge?

 

Intel has been deeply involved in the developer ecosystem for more than 20 years. With more than 15,000 software engineers and 10,000 software deployments in close cooperation with customers, Intel is the largest contributor to the Linux kernel, modifies more than 500,000 lines of code each year, optimizes for more than 100 operating systems, and has an ecosystem of more than 20 million active developers, which is just part of Intel's huge software strength.

 

Intel's development experience across infrastructure, networks, and operating systems, as well as the number of development tools and SDKs and the number of standard-setting organizations it participates in and influences are unmatched in the industry. With years of industry experience and millions of hours of hard work by Intel's software engineering team, Intel is promoting development by creating a unified programming model.Popularize and simplify difficulties to create a more portable, efficient and high-performance programming environment for developers to help them cope with future challenges.

 

Why do we need an open specification?

 

For decades, Intel has worked with multiple standard-setting organizations, including ISO C++/Fortran Groups, OpenMP* ARB, MPI Forum, The Khronos Group, and industry/academic organizations, to seek a product specification that can achieve interoperability and interchangeability through open collaboration. The oneAPI project is a continuation of this action. oneAPI will achieve interoperability with existing industry standards.

 

What does the oneAPI open specification include?

 

This open specification includes a cross-architecture programming language Data Parallel C++ (DPC++), a set of function libraries for API programming, and a low-level hardware interface (oneAPI Level Zero). With these components, Intel and other companies can create their own oneAPI implementations to support their own products or develop new products based on oneAPI.

 

What is Data Parallel C++?

 

DPC++ is the main programming language designed for oneAPI based on the familiar C and C++ languages. It incorporates SYCL* from the Kronos Group to support data parallelism and heterogeneous programming across CPUs and accelerators, with the goal of simplifying programming and improving code reusability on different hardware, while being able to be tuned for specific accelerators.

 

DPC++ language enhancements will be extended through a developer community project to simplify data parallel programming. The project is open to the public and will continue to evolve through the joint efforts of developers.

 

Will the oneAPI specification content be open source?

 

Many libraries and components have been or will be open source soon.

 

Which companies will support or participate in the oneAPI initiative?

 

As of November 17, there are more than 30 leading companies and research institutions in the industry that support the oneAPI concept, including leaders in high-performance computing, innovators in artificial intelligence, hardware manufacturers/OEMs, independent software developers, cloud service providers, universities, etc. Many of them have also actively participated in the testing of the oneAPI beta toolkit and provided feedback.

 

 

The program has just been launched, and Intel expects more participants to join the program in the next few years. After enterprises create their own oneAPI implementations and complete self-certification, they can use the new oneAPI program brand and logo.

 

What does the different oneAPI Beta toolkits include?

 

Intel oneAPI Base Toolkit (Beta ) includes a series of core tools and libraries developed for building and deploying high-performance data-centric applications across architectures. It specifically includes oneAPI open specification technology (DPC++ language, domain-specific libraries) and Intel® Python* Distribution to provide instant acceleration across relevant architectures, as well as components that enhance analysis, assist design, and debug.

 

In addition to the Intel oneAPI Base Toolkit, Intel also provides other toolkits for specialized workloads such as high-performance computing and artificial intelligence, including:

 

Intel oneAPI High Performance Computing Toolkit (Beta): Helps quickly deliver scalable C++, Fortran, and OpenMP applications

 

Intel oneAPI Deep Learning Framework Developer Toolkit (Beta version): Used to build deep learning frameworks or customize existing deep learning frameworks

 

Intel oneAPI Rendering Toolkit (Beta): for developing high-performance, high-precision visualization applications (including scientific visualization)

 

Intel AI Analytics Toolkit (Beta): Powered by oneAPI, it is designed for AI developers and data scientists to better use machine learning and deep learning models to build applications.

 

There are also two oneAPI complementary toolkits: the Intel System Bring-Up Toolkit designed for system engineers and the Intel Distribution of OpenVINO™ tool development kit for production scenarios for deep learning inference and computer vision.

 

What processors and accelerators does oneAPI support?

 

The oneAPI specification is designed to support a variety of CPUs and accelerators from multiple vendors. The oneAPI beta version currently supports Intel CPUs (Intel Xeon®, Core™, Atom), Intel Arria FPGAs, and the ninth generation/Intel HD Graphics as a future independent data center GPU proxy development platform. oneAPI will support more Intel accelerator architectures in the future.

 

Is hardware from other manufacturers compatible with oneAPI?

 

The DPC++ language and libraries of the oneAPI specification are open to the public, and we encourage other hardware manufacturers to use them. Other hardware manufacturers can create their own oneAPI implementations and optimize them for specific hardware.

 

In the coming December, Intel will hold the Intel® oneAPI seminar in Shanghai and Beijing respectively, inviting software developers who are keen on researching cross-platform technologies and the next generation of Intel hardware and software platform capabilities; software developers who use C++ to develop HPC or AI applications on GPU hardware accelerators; and software developers who use C/C++ to develop highly parallel applications on Intel CPUs and are interested in using GPU or FPGA accelerators in the future to participate.

 


Keywords:oneAPI Reference address:Intel oneAPI, a developer-centric platform for heterogeneous computing

Previous article:The X86 instruction set may be Intel and AMD's biggest cloud threat
Next article:Interview with Andes Technology executives to explore the development path of RISC-V

Latest Embedded Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号