This section describes the design of the oneDTL API. It will cover the use of namespaces and data types from C++, from DPC++, and new data types introduced for oneDTL API.
The oneDTL library uses the
oneapi::dtl C++ namespace.
All oneDTL objects and routines must be contained within this namespace.
Non-public APIs and headers must be enclosed by the
detail namespace and corresponding folder.
Standard C++ Data Types¶
oneDTL uses C++ STL data types for scalars where applicable:
Integer scalars must be C++ fixed-size integer types (
Standard floating point types must be
DPC++ Data Type Usage¶
oneDTL uses the following DPC++ data types:
sycl::half- SYCL standard floating point type for fp16.
sycl::buffer- SYCL buffer for buffer-based memory access.
sycl::range- SYCL range for description of number of elements.
sycl::queue- SYCL queue for scheduling kernels on a SYCL device.
sycl::event- SYCL event for explicit control of scheduling of kernels, and querying status of a running kernel.