.. _overview-of-intel-onemkl-blas-routines-for-data-parallel-cpp: Overview of Intel® oneMKL BLAS Routines for Data Parallel C++ ============================================================= The following pages describe the |O-MKL| BLAS routines for Data Parallel C++ (DPC++), all of which are declared in the header file ``oneapi/mkl/blas.hpp``. Several conventions are used throughout this document: - All |O-MKL| for DPC++ data types and non domain specific functions are inside the ``oneapi::mkl::`` namespace. - All |O-MKL| BLAS functions for DPC++ are inside the ``oneapi::mkl::blas`` namespace. - The routines are templated on precision. Each routine has a table detailing the supported precisions. Device Support ************** DPC++ supports several types of devices: - Host device: Performs computations directly on the current CPU. - CPU device: Performs computations on a CPU using OpenCL™. - GPU device: Performs computations on a GPU. In the current release of |O-MKL| BLAS for DPC++, all standard Level1, Level2, and Level3 BLAS routines and the BLAS extensions support host, CPU, and GPU devices.