API programming languageIntel is launching a new API programming language. It is targeted mainly for making the workload and architecture on their new project ‘One API Initiative’ easy.

The name of their new language is ‘Data-Parallel C++’ (DPC++). It is mainly based upon C++. However, it also has the elements of SYCL of The Khronos Group. It has been promoted as the ‘open, cross-industry option to the single architecture proprietary languages’.

Intel first announced the OneAPI in December of 2018. The OneAPI  would help in modifying the codes for the CPUs, GPUs, FPGAs to make sure that “no transistor is left behind”.

Data-Parallel C++

Before developing DCPC++, Intel has tried building many programming languages of varied architecture to do various tasks and capable of data parallelism. The other similar programming language developed are like OpenCL, C++AMP, NVIDIA CUDA , and SYCL.

The main differences among these languages were  whether they support single-source programming or not and if they relied on C++ or other languages that didn’t make your code easily portable. 

These languages contain their own characteristics. These characteristics are mapped on the hardware.  However, there are exceptions like CUDA, the vendor-specific language, which uses the extensions only for a specific type of hardware platforms.

DCPC++ is part of the Intel project One API. One API has the ability to support both direct and API programming. For this kind of API based programming, OneAPI has powerfull libraries, whose functions are “custom-coded for each target architecture”.

The Importance Data-Parallel C++

Day by day world’s data-centric workload is becoming very diverse, and so is the architectures that help in processing the data. Intel’s architecture spans over a variety of fields, like Scalar (CPU), matrix (AI), spatial (FPGA) and vector (GPU). This architecture requires an efficient programming language to give the desired performance. 

One API can easily handle this because of its performance. It makes it easy by removing the requirement of other codebases, programming language, tools , and workflows.

Intel provides its customer with this cross-architecture PI programming Language is through Intel Distribution of OpenVINO toolkit. It is a toolkit that provides a consistent, modified learning interface to all the Intel architecture.

The Working of Data-Parallel C++

One API programming language can do direct programming as well as API programming. It provides a unified language and libraries. This provides a full local coed performance by using various hardware like CPUs, GPUs, AI accelerators and FPGAs. 

Direct Programming

Data-Parallel C++ is a direct programming language in the One API. It is a cross-industry, open programming language as opposed to the single architecture programming language. 

DPC++ gives productivity in parallel programming and performance using a familiar programming model for the developers. 

API-based Programming

The libraries of One API expands over a number of workload domains that gain its profit from the acceleration. The functions are designed specifically for each target architecture.

Analyze and Debug Tools

Intel is planning to deliver the enhanced version of the debug and analyze tools to help the smooth operation of DPC++ and the various SVMS architectures.  

Intel is planning to release the beta version of One API in the Q4 of 2019. This will be a very good development in the field of programming languages. We will come to know more about it when it will launch.