BLAS #### * 官网: http://www.netlib.org/blas/ 简介 ==== * Basic Linear Algebra Subprograms(基本线性代数运算) * BLAS(Basic Linear Algebra Subprograms)是一组定义了一系列基本线性代数运算的标准接口,旨在提供高效、可移植且可扩展的线性代数操作。这一标准定义了一组常用的线性代数操作,如矩阵乘法、向量加法、向量点积等。 * BLAS 最初由于提供高性能的数学库,使得科学和工程计算任务能够在各种计算平台上得到优化。它为科学计算领域提供了一种标准化的接口,使得开发人员可以编写与硬件无关的代码,而不必担心特定平台上的底层实现细节。 * BLAS 的实现通常会针对特定的硬件体系结构进行优化,以充分利用硬件并提高运算效率。有多个 BLAS 的实现,其中一些常见的包括 Intel Math Kernel Library(MKL)、OpenBLAS、ATLAS 等。 * 注意 BLAS 是一个接口的标准而不是某种具体实现(implementation)。简单来说,就是不同的作者可以各自写出不同版本的 BLAS 库,实现同样的接口和功能,但每个函数内部的算法可以不同。 这些不同导致了不同版本的 BLAS 在不同机器上运行的速度也不同。 * BLAS 的官网实现版本的 BLAS 被称为 reference BLAS,运行速度较慢,通常被其他版本用于衡量性能。对于 Intel CPU 的计算机,性能最高的是 Intel 的 `MKL `_(Math Kernel Library) 中提供的 BLAS。MKL 虽然不是一个开源软件,但目前可以免费下载使用。如果想要免费开源的版本,可以尝试 `OpenBlas `_ 或者 `ATLAS `_。另外,无论是否使用 MKL,BLAS 的文档都推荐看 MKL 的相关页面。 BLAS 操作包括:: 级别 1 操作: 包括向量和向量之间的操作,如点积、向量范数等。 级别 2 操作: 包括矩阵和向量之间的操作,如矩阵向量乘法。 级别 3 操作: 包括矩阵和矩阵之间的操作,如矩阵乘法。 安装 BLAS 库:: sudo apt-get install libopenblas-dev sudo yum install openblas-devel 应用-Gensim =========== 配置 Gensim 编译选项:: export BLAS=/path/to/your/blas/library 安装 Gensim:: pip install gensim 验证 BLAS 优化是否启用:: import gensim # 1,则表示 BLAS 优化已经成功启用 # 0,则表示没有启用 print(gensim.models.word2vec.FAST_VERSION)