MKL学习——功能简介
来源:互联网 发布:修改来电显示号码软件 编辑:程序博客网 时间:2024/06/09 20:18
基本术语
BLAS : Basic Linear Algebra Subprograms 基本线性代数子程序
BLACS : Basic Linear Algebra Communication Subprograms 基本线性代数通信子程序
LAPACK : Linear Algebra PACKage 线性代数包
ScaLAPACK : Scalable LAPACK
PBLAS : Parallel Basic Linear Algebra Subprograms 可并行基本代数子程序
FFT : Fast Fourier Transform 快速傅里叶变换
VM : Vector Mathematics 矢量数学
VS : Vector Statistics 矢量统计学
BRNGs : Basic Random Number Generators 基本随机数生成器
PDE : Partial Differential Equations 偏微分方程
主要功能
解决大型计算问题,提供BLAS、LAPACK线性代数程序、快速傅里叶变换、矢量数学函数、随机数生成函数以及其它一些函数。
功能域
BLAS程序
- BLAS Level 1 Routines:提供向量数据的加、减、缩放、点乘
- BLAS Level 2 Routines:提供向量-矩阵的运算,比如乘法运算、一阶矩阵和二阶矩阵的更新、三角形系统的解法
- BLAS Level 3 Routines:提供矩阵-矩阵的运算,比如矩阵相乘、k阶更新、三角形系统的解法
稀疏BLAS程序
也分为Level 1 2 3程序,与BLAS程序类似,只不过利用了稀疏向量、稀疏矩阵的有点: 仅存储向量或者矩阵的非零元素。
LAPACK程序
根据操作分为两种功能:
- 解线性方程组,矩阵分解,矩阵求逆,estimate condition numbers
- 解决最小二乘问题,特征值、奇异值问题,Sylvester 方程
稀疏求解程序
针对具有实系数和复数系数的对称系数矩阵,可以直接进行系数求解。对于对称矩阵,子程序能够解决正定和非正定系统。
扩展Eigensolver程序
Extended Eigensolver RCI Routines是解决标准的
矢量数学函数
包含高度优化实现的核心数学函数(power, trigonometric, exponential, hyperbolic )等,可在实数域或者复数域上操作。
统计学函数
矢量统计包含(比较专业的词汇,直接英文表示):
- Pseudorandom, quasi-random 和non-deterministic random number generator去实现连续和离散分布。包含一系列的高度优化的随机数生成器和矢量数学函数
- 各种各样的卷积和相关操作
- 单精度和双精度的多维数据的初等统计分析
傅里叶变换函数
具有混合基(mixed raidx)支持的多维快速傅里叶变换函数,支持离散傅里叶变换的一致性。
偏微分方程
提供了解偏微分方程的工具,工具是三角变换接口程序(Trigonometric Transform interface routines)以及泊松解法(Poisson Solver).
三角变换程序对于用户实现自己的解法有帮助。用户可以通过快速的sine, cosine以及交错余弦变换(staggered cosine transforms)实现三角变换接口
泊松解法是用于快速解决简单的Helmholtz 、泊松、拉普拉斯问题。解法的基础,也就是三角变换接口,是基于快速傅里叶变换的接口。
其它支持的函数
提供了对于MKL的相关操作,以及库和库操作的基本信息,比如当前库版本,CPU频率的定时、设置、衡量,错误处理,内存分配
深度神经网络(DNN)的数学核心库
对于卷积、池化、normalization、激活、多维变换操作(multi-dimensional transposition operations)的最基本的前向和后向计算。
MKL中C语言数据类型的指定方法
如果你的数据类型与MKL数据类型二进制兼容其具有相同的表示与存储设置的话,可以重定义特定的MKL数据类型。
重定义方法是在包含mkl.h
之前用#define
声明一下
#define MKL_INT size_t#include "mkl.h"
也可以用-D
操作重定义数据类型,比如
...-DMKL_INT=size_t...
后续
看完功能简介,下一篇就开始从最简单的向量-向量,矩阵-向量,矩阵-矩阵的操作开始学习
- MKL学习——功能简介
- MKL学习——向量操作
- MKL学习——矩阵向量操作
- MKL学习——矩阵矩阵操作
- MKL学习——线性代数概念相关
- mkl简介
- MKL学习——数学运算库安装调试
- MKL学习——基本操作C++实现
- MKL——常用函数说明
- MKL学习杂记
- 【ubuntu14.04配置caffe】二——安装intel MKL
- [转载]从 SVM 到多核学习 MKL
- iweboffice之word——功能简介
- 学习GraphQL — 简介
- C语言调用MKL进行矩阵计算—特征值特征向量求解
- 深度学习工具1.4 Intel MKL或者BLAS安装
- web学习—javascript学习—简介
- Spring功能简介——附带Spring MVC
- Linux下" >/dev/null 2>&1 "相关知识说明
- 正弦与余弦曲线的波形图显示(数组与簇)
- SSD(Single Shot MultiBox Detector):create_list.sh io.cpp:187 Could not open or find file
- js判断类型 是否是数组Array
- proguard-rules.pro文件细谈
- MKL学习——功能简介
- Android APP的退出
- “两头堵模型”计数+取字符
- springmvc 使用@requestBody postman调试报错415/400
- Hibernate框架简述
- input记录
- Hexo+Github搭建自己的博客
- PyTorch预训练
- 九度OJ题目1126:打印极值点下标