问题标签 [blas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
26107 浏览

linux - 如何确保 numpy BLAS 库可用作动态加载库?

Theano 安装文档指出,如果“BLAS 库可作为动态加载库使用”,theano默认使用 numpy 中的 BLAS 库。这似乎不适用于我的机器,请参阅错误消息。

  • 我如何确定 numpy BLAS 库是否可以动态加载?
  • 如果 numpy BLAS 库不可动态加载,我该如何重新编译它们?

请注明,如果您需要更多信息!

错误信息

We did not found a dynamic library into the library_dir of the library we use for blas. If you use ATLAS, make sure to compile it with dynamics library. /usr/bin/ld: cannot find -lblas

附录

除了其他东西之外,theano 库还需要 numpy 和 BLAS库sudo apt-get install python-numpy python-scipy如果你在 Ubuntu 下安装 numpy,我想它会附带 BLAS 。

这是文件列表/usr/lib64/python2.6/dist-packages/scipy/lib/blas

这是的输出distutils.__config__.show()如下

0 投票
1 回答
2801 浏览

macos - Mac OS X 10.7的vecLib框架乘以矩阵和向量的问题

我刚刚开始使用 vecLib 框架来制作一个在 Mac OS X 10.7 上进行密集矩阵向量乘法的程序。我做了一个这样的简单程序;将矩阵 a 与向量 x 相乘并将结果添加到向量 y 上。

我在控制台上编译并运行了程序

但结果是这样的;操作没有发生,结果向量仍然是空的。

我是否缺少一些初始化以在 vecLib 框架中运行矩阵和向量函数?

0 投票
3 回答
2365 浏览

c++ - 优化矩阵旋转 - 关于矩阵中心的任意角度

我正在尝试优化非常大图像的旋转,最小的是 4096x4096 或约 1600 万像素。

旋转总是围绕图像的中心,图像不一定总是正方形,但总是 2 的幂。

我可以访问 MKL/TBB,其中 MKL 是针对我的目标平台优化的 BLAS。我不熟悉这个操作是否在 BLAS 中。

到目前为止,我的最佳尝试是 4096x4096 图像的大约 17-25 毫秒(对于相同的图像大小非常不一致,这意味着我可能会在缓存中全部踩踏)。矩阵是 16 字节对齐的。

现在,无法调整目标大小。因此,剪裁应该并且可以发生。例如,一个旋转 45 度的方阵肯定会在角处剪裁,并且该位置的值应该为零。

现在,我最好的尝试是使用平铺方法 - 没有优雅的瓷砖尺寸被放入,也没有循环展开。

这是我的算法,因为它使用 TBB - http://threadingbuildingblocks.org/

我这样调用这个函数:

fcomplex 只是复数的内部表示。它被定义为:

因此,对于非常大的图像,我想尽可能快地以任意角度旋转复杂值矩阵的中心。

更新:

根据精彩的反馈,我更新了这个:大约增加了 40%。我想知道是否可以做其他事情:

更新2:我在下面提出了一个解决方案,考虑到我作为答案得到的建议以及在旋转矩形时修复了一个错误。

0 投票
2 回答
556 浏览

matrix - 需要一个稀疏矩阵库

是否有一个稀疏矩阵库可以复制密集 BLAS 的功能?

我至少想要:

  1. 高效的 SYR 和 SYRK(rank-k 更新),输入稀疏(可能是密集输出),
  2. 稀疏对称存储的选项,
  3. DOT、NRM2、转置和其他标准好东西。

不过,命名和 API 不需要以 BLAS 为中心,只要它能完成工作。首选 C 或 Fortran,但 C++ 也可以。

我查看了MKLscipy.sparseuBLASEigen3,但它们要么不支持我需要的东西,要么我不知道它们是否支持。

0 投票
1 回答
4386 浏览

linear-algebra - 进行高斯消除的 BLAS/LAPACK 例程

我是 BLAS/Lapack 的新用户,我只是想知道是否有一个例程可以进行高斯消除甚至 Gaussian-Jordan 消除?我用谷歌搜索并查看了他们的文档,但仍然找不到它们。

非常感谢您帮助我!

0 投票
1 回答
801 浏览

c++ - GSL blas 例程在 Visual Studio 中运行缓慢

我刚刚使用本指南在 Visual Studio 2010 上成功安装了 GSL 和 BLAS :

然而,使用 cblas 的矩阵乘法非常慢。Linux 上的一位朋友也遇到了同样的问题。他没有通过 GSL 链接到 BLAS,而是直接链接到 cBLAS(我不完全理解这意味着什么,但也许你知道?)它的速度大约快了十倍。

如何在 Visual Studio 中执行此操作?在我下载的文件中,我找不到更多可以使用 Visual Studio 构建的文件。

0 投票
3 回答
10876 浏览

linear-algebra - BLAS:gemm 与 gemv

为什么 BLAS 有一个gemm矩阵-矩阵乘法的gemv函数和一个单独的矩阵-向量乘法函数?矩阵向量乘法不只是矩阵矩阵乘法的一种特殊情况,其中一个矩阵只有一行/列吗?

0 投票
1 回答
1630 浏览

c - 在汇编中实现矩阵向量乘法

我有一个算法可以一遍又一遍地执行线性代数的树步骤,

我正在使用 BLAS 进行操作,这有点快,但它需要对数据进行树运行,每个步骤一个。现在我想知道将这些步骤合并为一个是否会有所收获,只需运行一次数据即可。

有没有人对如何以最佳方式实现这些调用有任何经验,我的矩阵大约是 100*100,向量有 100 个元素。

我认为该向量可以适合 8 个 128 字节 mmx 寄存器。使乘法非常快,有什么想法吗?

0 投票
1 回答
4537 浏览

c - 静态链接 LAPACK

我正在尝试发布一些软件,目前正在编写构建过程的脚本。我被困在我从未想过的事情上,在 x86_64 linux 上静态链接 LAPACK。在配置AC_SEARCH_LIB([main],[lapack])工作期间,但 lapack 单元的编译不起作用,例如undefiend reference to 'dsyev_'--no lapack/blas 例程未被注意到。

我已经确认我已经安装了这些库,甚至使用适当的选项自己编译了它们,以使它们具有相同的结果。

这是我几年前在 LAPACK 的第一次体验中使用的一个例子,它动态工作,但不是静态工作:http: //pastebin.com/cMm3wcwF

我用来编译的两种方法如下,

0 投票
1 回答
1142 浏览

macos - Mac LION 上的 Lapack 版本

Lapack 3.2.1 并不是完全安全的……但是 3.3 是最近由 netlib 在英特尔的帮助下发布的。

所以有人知道 Lapack 3.3 版本是否会随新的 MacPro 一起提供。