Just five years ago, Intel was proud to offer a unified and traditional programming model based on x86-compatible instructions. This model encompassed mobile systems using SoC Atom, Xeon Phi compute accelerators (formerly known as the Larrabee graphics architecture), and processors. Today, the notion that 'x86 is everything for us' has become outdated for the company. Intel is set to introduce unique discrete graphics architectures and has already launched processors for neural network applications. For programming on new platforms and frameworks, Intel requires a new programming model that should also be unified.

Recently, at an Intel Software Technology event in London, the company introduced such a model. The new unified programming model is being developed under the 'One API' project. According to this project, programming for the entire range of Intel solutions and platforms will become easier, regardless of platform choice. Bill Savage, Vice President of Intel and General Manager of the Compute Performance Developer Products division, stated: 'The goal of the One API project is to provide developers with a set of tools that offer a unified programming model and simplify the creation of workloads across different architectures. As our computing capabilities evolve, now including specialized accelerators, Intel will provide software solutions that enable developers to maximize the performance of the hardware.'
A fresh example of the ability to work with various architectures is the Intel Distribution of the OpenVINO Toolkit. We have repeatedly About this tool, which offers unified optimized capabilities for deep learning across all Intel SVMS architectures (scalar, vector, matrix, spatial). This means that OpenVINO enables the development of programs for standard processors, graphic processors, neural processors, and FPGAs. The One API project aims to achieve the same through direct programming and via API, but on a broader scale and somewhat easier, which will be reflected, for example, in the elimination of the need to maintain separate codebases, various programming languages, as well as different tools and workflows.
"Direct Programming: The One API project includes a new direct programming language Data Parallel C++ (DPC++), which offers an open, industry-wide alternative to proprietary programming languages for specific architectures. DPC++ is based on C++, utilizing the SYCL* model from The Khronos Group. In addition, it implements support for language extensions developed within the open community."
Programming using APIs provides unique libraries for various types of workloads with hardware acceleration support. Library functions are developed for each target architecture. Advanced versions of tools with support for DPC++ and SVMS architectures are created for analysis and debugging. Additionally, a beta version of the tools for developers and more details about the One API project are expected in the fourth quarter of 2019.
Source: 3dnews.ru
