From 98524eaae5d627c66fc556d886855b8471efa1ae Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk Date: Wed, 6 Jul 2022 12:14:39 -0500 Subject: [PATCH] Added subsections for references and readability --- content/en/details/oneapi.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/content/en/details/oneapi.md b/content/en/details/oneapi.md index ee57c99..4ae2c62 100644 --- a/content/en/details/oneapi.md +++ b/content/en/details/oneapi.md @@ -2,7 +2,7 @@ title: "What is oneAPI" date: 2022-06-14 type: docs -weight: 20 +weight: 10 description: > oneAPI - the standard and its implementation. --- @@ -11,6 +11,8 @@ description: > programming interface (API) that delivers a common developer experience across accelerator architectures, including multi-core CPUs, GPUs, and FPGAs. +### Toolkits + A freely available implementation of the standard is available through [Intel(R) oneAPI Toolkits][toolkits]. The [Intel(R) Base Toolkit][basekit] features an industry-leading C++ compiler that implements [SYCL*][sycl], an evolution of C++ @@ -36,6 +38,8 @@ Intel C/C++ compilers, including DPC++, to compile Python [native extensions](sk In order to enable cross-architecture programming for CPUs and accelerators the DPC++ runtime adopted [layered architecture][layered-architecture]. Software concepts are mapped to hardware abstraction layer by user-specified [SYCL backend][sycl-five-additions] which programs the specific hardware in use. +### Compute runtime + An integral part of this layered architecture is provided by [Intel(R) Compute Runtime][compute-runtime]. oneAPI application is a fat binary consisting of device codes in a standardized intermediate form [SPIR-V][spriv] and host code which orchestrates tasks such as querying of the heterogeneous system it is running on, selecting accelerator(s), compiling (jitting) device code in the intermediate representation for the selected device, managing device memory, and @@ -44,7 +48,7 @@ talks to hardware-specific drivers. ![working of oneAPI executable](../../images/oneAPI-executable-diagram.webp) -## Additional information +### Additional information [Data Parallel C++ book][dpcpp-book] is an excellent resource to get familiar with programming heterogeneous systems using C++ and SYCL*.