.. _blas-like-extensions: BLAS-like Extensions ==================== |IONE-MKL| DPC++ provides additional routines to extend the functionality of the BLAS routines. These include routines to compute many independent vector-vector, vector-matrix, matrix-matrix operations. The following table lists these routines. .. tabularcolumns:: |\Y{0.2}|\Y{0.4}|\Y{0.4}| .. list-table:: :header-rows: 1 :class: longtable * - Routine - Data Types - Description * - \ :ref:`onemkl_blas_axpby`\ - ``float``, ``double``, ``std::complex``, ``std::complex`` - Computes a vector-scalar product added to a scaled-vector. * - \ :ref:`onemkl_blas_axpy_batch`\ - ``float``, ``double``, ``std::complex``, ``std::complex`` - Computes groups of vector-scalar product added to a vector. * - \ :ref:`onemkl_blas_copy_batch`\ - ``float``, ``double``, ``std::complex``, ``std::complex`` - Computes groups of vector copies. * - \ :ref:`onemkl_blas_dgmm_batch`\ - ``float``, ``double``, ``std::complex``, ``std::complex`` - Computes a group of diagonal matrix-matrix product. * - \ :ref:`onemkl_blas_gemm_batch`\ - ``float``, ``double``, ``std::complex``, ``std::complex`` - Computes groups of matrix-matrix product with general matrices. * - \ :ref:`onemkl_blas_gemm_bias`\ - mixed ``std::int8_t``, ``std::uint8_t``, and ``std::int32_t`` - Computes a matrix-matrix product with general matrices and mixed precision. * - \ :ref:`onemkl_blas_gemmt`\ - ``float``, ``double``, ``std::complex``, ``std::complex`` - Computes a matrix-matrix product with general matrices, but updates only the upper/lower triangular part of the output matrix. * - \ :ref:`onemkl_blas_gemv_batch`\ - ``float``, ``double``, ``std::complex``, ``std::complex`` - Computes a group of matrix-vector product using general matrices. * - \ :ref:`onemkl_blas_syrk_batch`\ - ``float``, ``double``, ``std::complex``, ``std::complex`` - Computes rank-k updates on a group of symmetric matrices by a group of general matrices. * - \ :ref:`onemkl_blas_trsm_batch`\ - ``float``, ``double``, ``std::complex``, ``std::complex`` - Solves a triangular matrix equation for a group of matrices. * - \ :ref:`omatcopy_batch`\ - ``float``, ``double``, ``std::complex``, ``std::complex`` - Computes groups of out-of-place matrix copies or transpositions. * - \ :ref:`imatcopy_batch`\ - ``float``, ``double``, ``std::complex``, ``std::complex`` - Computes groups of in-place matrix copies or transpositions. * - \ :ref:`omatadd_batch`\ - ``float``, ``double``, ``std::complex``, ``std::complex`` - Computes groups of matrix additions. .. toctree:: :maxdepth: 1 :hidden: axpby axpy_batch copy_batch dgmm_batch gemm_batch gemm_bias gemmt gemv_batch syrk_batch trsm_batch omatcopy_batch imatcopy_batch omatadd_batch