# Terminology¶

API

Application Programming Interface

Batch Mode

The computation mode for an algorithm in oneDAL, where all the data needed for computation is available at the start and fits the memory of the device on which the computations are performed.

Dataset

A pair of a matrix $$X$$ of size $$N \times p$$ and a vector $$Y$$ of size $$N$$, where $$X$$ contains $$N$$ feature vectors in rows and $$Y$$ stores all corresponding responses. Vector $$Y$$ is optional and may not be present if responses are unknown.

DPC++

Data Parallel C++ (DPC++) is a high-level language designed for data parallel programming productivity. DPC++ is based on SYCL* from the Khronos* Group to support data parallelism and heterogeneous programming.

Feature

A single vector of length N that encodes information about values of a single variable.

Feature vector

A single real-valued vector of length $$p$$ that encodes information about a real object or an event.

Host/Device

OpenCL [OpenCLSpec] refers to CPU that controls the connected GPU executing kernels.

Immutability

The object is immutable when it is not possible to change its state after it is constructed.

JIT

Just in Time Compilation — compilation during execution of a program.

Kernel

Code written in OpenCL [OpenCLSpec] or SYCL and executed on a GPU device.

Observation

A pair of a feature vector and a response if response is known, otherwise a feature vector.

Model

A result of training machine-learning algorithm that stores information necessary to run inference (prediction) on a new dataset.

oneDAL

oneAPI Data Analytics Library (oneDAL).

Online Mode

The computation mode for an algorithm in oneDAL, where the data needed for computation becomes available in parts over time.

Response

A single value corresponding to an observation. For example, response may be a label indicating that an observation belongs to a particular class.

SPIR-V

Standard Portable Intermediate Representation - V is a language for intermediate representation of compute kernels.

SYCL

SYCL(TM) [SYCLSpec] — high-level programming model for OpenCL(TM) that enables code for heterogeneous processors to be written in a “single-source” style using completely standard C++.

Use case

A scenario that describes how a user might interact with a oneDAL algorithm.

Variable

A single attribute of described object with defined type and domain.