数学库函数

BLAS和LAPACK是什么?

BLAS和LAPACK是专门为线性代数开发的工具库。
BLAS英文全称Basic Linear Algebra Subprograms,共有三个层次的计算

  1. 向量与向量之间的计算,比如向量的加,减,点乘
  2. 向量与矩阵之间的计算,比如乘法运算,一阶矩阵和二阶矩阵的更新
  3. 矩阵与矩阵之间的计算,比如矩阵相乘,K阶更新

LAPACK英文全称Linear Algebra Package,是一个以Fortran 编程语言写成,用于数值计算的函式集。是建立在BLAS之上的更复杂的计算程序,可用于解多元线性方程式,计算特征向量,奇异值分解等问题。
参考:走进BLAS/LAPACK

MKL是什么?

intel MKL,英文全称是intel Math Kernel Library,是英特尔核心数学库,提供高度优化和大量线程化处理的数学例子。
提供C、Fortran和Fortran 95的支持,但仅支持intel自家旗下的CPU。
核心数学函数包括BLAS、LAPACK、ScaLAPACK,稀疏矩阵解算器,FFT,矢量数学及其它函数。
支持主流的操作系统(Windows,Linux,Mac OS等),与主流的开发工具(VS、Eclipse、Xcode、GCC等)集成。
内置并行处理机制,在多核多处理器上自动获取出色的扩充性能。所有的MKL函数都是线程安全的。同时提供非线性程化顺序行MKL。
参考:
MKL相关文档链接
ScaLAPACK,Scalable LAPACK
PBLAS,Parallel Basic Linear Algebra Subprograms可并行基本代数子程序
##FFT和PDE是什么?
Fast Fourier Transform 快速傅利叶变换
PDE,Partial Differential Equations 偏微分方程

静态库和动态库

静态库:静态库是一些目标文件的集合,后缀为.o的文件,通过ar工具打包而成,命名为libxxx.a,xxx为给定的静态库文件名,例如libmkl_lapack95_lp64.a。在创建可执行程序的过程中,静态库同时被链接到程序代码,被主程序调用的函数目标文件连同主程序组合成单一的可 执行程序。静态库只在程序链接时起作用,最终执行程序脱离静态库运行。
动态库:shared library,后缀为.so,通过编译器生成,在不同平台有不同的生成方法。使用动态库创建执行程序,分为两个阶段,链接阶段,以及运行阶段。dlopen,打开动态链接库;dlsym,取函数执行地址;dlclose,关闭动态链接库;dlerror,动态库错误函数。
参考:博客

GotoBlas是什么?

GotoBlas是Kazushige Goto在TACC(Texas Advanced Computing Center)开发的一个数学库。在科学计算领域,GotoBLAS和GotoBLAS2是BLAS的开源完善博客参考
GotoBlas2的下载网址:

www.tacc.utexas.edu/tacc-projects/gotoblas2

ATLAS是什么?

ATLAS英文全称是Automatically Tuned Linear Algebra Software,是线性代数软件库,实现了BLAS的全部功能以及LAPACK的部分功能,并且对计算过程进行了优化。
参考:wiki百科 博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值