
At Intel Software Technology Day in June, leading engineers of the company talked about a software project called “Intel oneAPI” - a unified programming model to facilitate software development for various computing architectures, including a new programming language. In this post we will give a brief description of this project - as they say, to be continued ...
oneAPI is a project that develops a unified set of tools for developers of productive software. The park of computing platforms has recently expanded greatly due to specialized accelerators. Intel will provide software solutions that will allow developers to squeeze the maximum performance out of dissimilar hardware.
Bill Savage, Intel Vice President, General Manager, Compute Performance Developer ProductsAs we notice, the tasks with which we load the available computing power become more diverse - as well as the architectures of these very powers, divided into Scalar (CPU), Vector (GPU), Matrix (AI accelerators) and Spatial (FPGA). This whole set of architectures, called Intel SVMP (SVMS), requires an effective programming model for maximum performance. The oneAPI task is to ensure ease of use and efficiency, eliminating the need to maintain architecture-dependent code variants, use different programming languages and development tools for them.
')
An example of how Intel is already implementing cross-platform development is
Intel OpenVINO , a set of tools for a software developer that provides a consistent, optimized inference process for deep learning algorithms based on any Intel UHM architecture.
oneAPI supports direct programming and API programming, providing a single programming language and unified libraries that ensure maximum performance of native code on various UHMW platforms.
- Direct programming. oneAPI contains the Data Parallel C ++ (DPC ++) programming language, an open, comprehensive alternative to proprietary languages for specific architectures. DPC ++ provides convenience and performance using a programming model familiar to developers. DPC ++ is based on C ++ and includes SYCL from The Khronos Group, as well as extensions developed in an open community.
- API programming. The oneAPI libraries allow you to deploy multiple load domains for which optimization is possible. Library functions are customized for specific architectures.
In addition, Intel will provide improved versions of analysis and debugging tools (Intel VTune Amplifier, Intel Advisor) that support DPC ++ and the entire set of UHMW architectures.
The oneAPI beta for developers, as well as additional details concerning it, will be available at the end of 2019.