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.
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.
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?
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.
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
- Popular Resources
- Popular amplifiers
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Keysight Technologies Helps Samsung Electronics Successfully Validate FiRa® 2.0 Safe Distance Measurement Test Case
- Innovation is not limited to Meizhi, Welling will appear at the 2024 China Home Appliance Technology Conference
- Innovation is not limited to Meizhi, Welling will appear at the 2024 China Home Appliance Technology Conference
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- Learn ARM development(19)
- Learn ARM development(14)
- Vicor white paper download - Bidirectional power: The driving force behind the "quiet" change in the world
- Analysis of self-oscillation and negative voltage generation circuits. Please help me
- MSP430 implements 800Hz buzzer and stopwatch
- [HC32F460 Development Board Review] 05. Recognition and processing of matrix buttons
- How to calculate the cost of surveillance installation and cleaning work
- 100 Practical Tips for FPGA Design Experts
- Is it true that the greater the memory depth of an oscilloscope, the better?
- Comprehensive understanding of antennas, the knowledge you don’t know!
- Interrupt service program writing rules
- Help! UC2842 flyback power supply output problem