基本线性代数子程序(BLAS)
本章描述了英特尔®数学内核库的BLAS和稀疏BLAS例程实现,以及BLAS类扩展。例程描述安排在几个部分:
-
BLAS 1级例程(向量-向量操作)
-
BLAS 2级例程(矩阵向量操作)
-
BLAS 3级例程(矩阵-矩阵操作)
-
稀疏BLAS 1级例程(向量-向量操作)
-
稀疏BLAS 2级和3级例程(矩阵向量和矩阵矩阵操作)
-
BLAS-like扩展
? 字段表示数据类型:
s 实数,单精度
c 复数,单精度
d 实数,双精度
z 复数,双精度
一些例程和函数可以组合字符代码,比如sc或dz。
-
BLAS 1级例程(向量-向量操作)
BLAS级别1例程和函数组及其数据类型
函数形式 数据类型 描述 cblas_?asum s, d, sc, dz 向量大小(函数)的和 cblas_?axpy s, d, c, z 向量数乘 cblas_?copy s, d, c, z 拷贝向量 cblas_?dot s, d 点乘 cblas_?sdot sd, d 双精度点乘 cblas_?dotc c, z 共轭点乘 cblas_?dotu c, z 未共轭点积 cblas_?nrm2 s, d, sc, dz 向量2范数(欧几里得范数)(函数) cblas_?rot s, d, cs, zd 点平面旋转(例程) cblas_?rotg s, d, c, z 生成Givens点旋转(例程) cblas_?rotm s, d 改进Givens点平面旋转(例程) cblas_?rotmg s, d 生成修改的给定平面旋转点 cblas_?scal s, d, c, z, cs, zd 向量标量乘积 cblas_?swap s, d, c, z 向量交换 cblas_i?amax s, d, c, z 向量的最大绝对值元素的索引 cblas_i?amin s, d, c, z 向量的最小绝对值元素的索引 cblas_?cabs1 s, d 计算复数绝对值的单精度或双精度 -
BLAS 2级例程(矩阵向量操作)
BLAS级别2例程和函数组及其数据类型
函数形式 数据类型 描述 cblas_?gbmv s, d, c, z 矩阵-向量积 cblas_?gemv s, d, c, z 矩阵-向量积 cblas_?ger s, d 一般矩阵的第1阶更新 cblas_?gerc c, z 一般矩阵的共轭秩-1更新 cblas_?geru c, z 一般矩阵的秩-1更新,未共轭 cblas_?hbmv c, z 使用厄密带矩阵的矩阵-向量积 cblas_?hemv c, z 使用厄米矩阵的矩阵-向量积 cblas_?her c, z 厄米矩阵的秩-1更新 cblas_?her2 c, z 厄米矩阵的秩-2更新 cblas_?hpmv c, z 使用厄米矩阵填充矩阵的矩阵-向量积 cblas_?hpr c, z 厄米矩阵填充矩阵的秩-1更新 cblas_?hpr2 c, z 厄米矩阵填充矩阵的秩-2更新 cblas_?sbmv s, d 使用对称带矩阵的矩阵-向量积 cblas_?spmv s, d, 使用对称填充矩阵的矩阵-向量乘积 cblas_i?spr s, d, 对称填充矩阵的秩-1更新 cblas_i?spr2 s, d, 对称填充矩阵的秩-2更新 cblas_?symv s, d 使用对称矩阵的矩阵-向量乘积 cblas_?syr s, d 对称矩阵的秩-1更新 cblas_?syr2 s, d 对称矩阵的秩-2更新 cblas_?tbmv s, d, c, z 使用三角形带矩阵的矩阵-向量乘积 cblas_?tbsv s, d, c, z 一个具有三角带矩阵的线性方程组的解 cblas_?tpmv s, d, c, z 使用三角形填充矩阵的矩阵-向量乘积 cblas_?tpsv s, d, c, z 一个三角形填充矩阵的线性方程组的解 cblas_?trmv s, d, c, z 矩阵-向量乘积使用三角形矩阵 cblas_?trsv s, d, c, z 具有三角矩阵的线性方程组的解 -
BLAS 3级例程(矩阵-矩阵操作)
BLAS级别3例程和函数组及其数据类型
函数形式 数据类型 描述 cblas_?gemm s, d, c, z 用一般矩阵计算矩阵-矩阵乘积 cblas_?hemm c, z 计算一个矩阵-矩阵乘积,其中一个输入矩阵是厄米矩阵。 cblas_?herk c, z 执行厄米特秩-k更新 cblas_?her2k c, z 执行厄米特秩2k更新 cblas_?symm s, d, c, z 计算一个输入矩阵是对称的矩阵-矩阵乘积。。 cblas_?syrk s, d, c, z 执行一个对称的秩-k更新 cblas_?syr2k s, d, c, z 执行一个对称的秩-2k更新。 cblas_?trmm s, d, c, z 计算一个矩阵-矩阵乘积,其中一个输入矩阵是三角形的 cblas_?trsm s, d, c, z 解一个三角矩阵方程。 -
稀疏BLAS 1级例程(向量-向量操作)
稀疏BLAS级别1例程和函数组及其数据类型
函数形式 数据类型 描述 cblas_?axpyi s, d, c, z 标量向量积加向量(例程) cblas_?doti s, d 点积(函数) cblas_?dotci c, z 共轭复数点积(函数) cblas_?dotui c, z 复点积无共轭(函数) cblas_?gthr s, d, c, z 收集全存储稀疏向量到压缩形式nz, x, indx(例程) cblas_?gthr2 s, d, c, z 将全存储稀疏向量收集为压缩形式,并将零分配给在全存储向量中收集的元素(例程) cblas_?roti s, d, 吉文斯旋转(常规) cblas_?sctr s, d, c, z 将矢量从压缩形式分散到全存储形式(例程) -
稀疏BLAS 2级和3级例程(矩阵向量和矩阵矩阵操作)
简化的接口,从1开始的索引
函数形式 描述 mkl_?csrqemv 计算矩阵-稀疏一般矩阵CSR格式的向量积(3阵变差) mkl_?bsrqemv 计算稀疏一般矩阵的BSR格式(3-数组变化)的矩阵-向量乘积 mkl_?coogemv 计算矩阵-向量乘积的稀疏一般矩阵在坐标格式 mkl_?disgemv 以对角线格式计算稀疏一般矩阵的矩阵-向量乘积 mkl_?csrsymv 计算一个CSR格式的稀疏对称矩阵的向量积(3阵变差) mkl_?bsrsymv 计算一个BSR格式的稀疏对称矩阵的向量积(3阵变化) mkl_?coosymv 计算矩阵-向量乘积的稀疏对称矩阵的坐标格式 mkl_?diasymv 计算对角格式的稀疏对称矩阵的矩阵-向量积 mkl_?csrtrsv CSR格式稀疏矩阵的简化界面三角形求解器(3阵变化) mkl_?nsrtrsv BSR格式稀疏矩阵的简化界面三角形求解器(3-array variation) mkl_?cootrsv 简化界面的三角形求解器,用于坐标格式的稀疏矩阵 mkl_?diatrsv 具有简化界面的对角稀疏矩阵三角形求解器 简化接口,从零开始索引
函数形式 描述 mkl_cspblas_?csrgemv 计算基于零索引的稀疏通用矩阵CSR格式(3阵变化)的矩阵-向量乘积 mkl_cspblas_?bsrgemv 计算矩阵-向量乘积的稀疏一般矩阵在BSR格式(3数组变化)与零的索引 mkl_cspblas_?coogemv 计算矩阵-向量乘积的稀疏一般矩阵的坐标格式与零的索引 mkl_cspblas_?csrsymv 计算基于零索引的稀疏对称矩阵CSR格式(3阵变化)的矩阵-向量积 mkl_cspblas_?bsrsymv 计算基于零索引的稀疏对称矩阵的BSR格式(3数组变化)的矩阵-向量乘积 mkl_cspblas_?coosymv 计算矩阵-向量乘积的稀疏对称矩阵的坐标格式与零的索引 mkl_cspblas_?csrtrsv 具有简化界面的三角形求解器,用于具有零索引的CSR格式的稀疏矩阵(3数组变化) mkl_cspblas_?bsrtrsv 简化接口的三角形求解器,用于零索引的BSR格式稀疏矩阵(3数组变化) mkl_cspblas_?cootrsv 简化界面的三角形求解器,用于坐标格式的稀疏矩阵的零基索引 典型的(常规的)接口,基于1和基于0的索引
函数形式 描述 mkl_?csrmv 计算矩阵-向量的乘积的稀疏矩阵CSR的格式 mkl_?bsrmv 计算矩阵-向量的乘积的稀疏矩阵BSR的格式 mkl_?cscmv 为稀疏矩阵计算矩阵-向量的乘积 CSC的格式 mkl_?coomv 计算矩阵-向量乘积的稀疏矩阵在坐标格式 mkl_?csrsv 求解线性方程组的一个稀疏矩阵CSR的格式 mkl_?bsrsv 求解线性方程组的一个稀疏矩阵BSR的格式 mkl_?cscsv 求解线性方程组的一个稀疏矩阵CSC的格式 mkl_?coosv 以坐标格式求解稀疏矩阵的线性方程组 mkl_?csrmm 计算一个稀疏矩阵的矩阵乘积CSR的格式 mkl_?bsrmm 计算一个稀疏矩阵的矩阵乘积BSR的格式 mkl_?cscmm 计算一个稀疏矩阵的矩阵乘积SC的格式 mkl_?coomm 计算一个稀疏矩阵的坐标格式的矩阵-矩阵乘积 mkl_?csrsm 以CSR格式求解稀疏矩阵的线性矩阵方程组 mkl_?bsrsm 用BSR格式求解稀疏矩阵的线性矩阵方程组 mkl_?cscsm 解决一个稀疏矩阵在CSC格式的线性矩阵方程组 mkl_?coosm 解一个线性矩阵方程组为一个稀疏矩阵的坐标格式 典型的(常规的)接口,基于一的索引
函数形式 描述 mkl_?diamv 以对角线格式计算稀疏矩阵的矩阵-向量乘积 mkl_?skymv 计算矩阵-向量乘积的稀疏矩阵在天际线存储格式 mkl_?diasv 以对角格式求解稀疏矩阵的线性方程组 mkl_?skysv 解决一个线性方程组的稀疏矩阵在天际线格式 mkl_?diamm 计算对角格式的稀疏矩阵的矩阵乘积 mkl_?skymm 计算一个稀疏矩阵的天际线存储格式的矩阵-矩阵乘积 mkl_?diasm 以对角格式求解稀疏矩阵的线性矩阵方程组 mkl_?skysm 解决一个线性矩阵方程组的稀疏矩阵在天际线存储格式 mkl_?dnscsr 将未压缩的稀疏矩阵转换为CSR格式(3数组变化),反之亦然 mkl_?csrcoo 将稀疏矩阵转换为CSR格式(3-数组变化)的坐标格式,反之亦然 mkl_?csrbsr 将稀疏矩阵CSR格式转换为BSR格式(3-数组变体),反之亦然 mkl_?csrcsc 将稀疏矩阵CSR格式转换为CSC格式,反之亦然 mkl_?csrdia 将稀疏矩阵的CSR格式(3数组变化)转换为对角格式,反之亦然 mkl_?csrsky 将稀疏矩阵在CSR格式(3阵变化)转换为天空线格式,反之亦然 mkl_?csradd 计算两个稀疏矩阵的和存储在CSR格式(3数组变化)与基于1的索引 mkl_?csrmultcsr 计算存储的两个稀疏矩阵的乘积 CSR格式(3数组变化)与一个基础索引 mkl_?csrmultd 计算以CSR格式(3-array variation)存储的两个稀疏矩阵的乘积。结果存储在稠密矩阵中 -
BLAS-like扩展
BLAS-like扩展例程和函数组及其数据类型
函数形式 描述 数据类型 cblas_? ?axpby s, d, c, z 缩放两个向量,将它们添加到另一个向量中,并存储向量的结果(例程) cblas_?gem2vu s, d 两个矩阵向量乘积使用一般矩阵,实数数据 cblas_?gem2vc c, z 两个矩阵向量的乘积使用一般矩阵,复数数据 cblas_?gemm3m c, z 使用矩阵乘法计算一个标量-矩阵-矩阵乘积,并将结果添加到一个标量-矩阵乘积 mkl_?imatcopy s, d, c, z 执行矩阵的缩放和就地转换/复制 mkl_?omatcopy s, d, c, z 执行矩阵的缩放和错位转换/复制 mkl_?omatcopy2 s, d, c, z 执行矩阵的两条带缩放和移位/复制 mkl_?omatadd s, d, c, z 执行缩放和两个矩阵的和,包括它们的移位/复制
今天的文章MKL库之BLAS汇总分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/27341.html