问题标签 [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.
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()
如下
macos - Mac OS X 10.7的vecLib框架乘以矩阵和向量的问题
我刚刚开始使用 vecLib 框架来制作一个在 Mac OS X 10.7 上进行密集矩阵向量乘法的程序。我做了一个这样的简单程序;将矩阵 a 与向量 x 相乘并将结果添加到向量 y 上。
我在控制台上编译并运行了程序
但结果是这样的;操作没有发生,结果向量仍然是空的。
我是否缺少一些初始化以在 vecLib 框架中运行矩阵和向量函数?
c++ - 优化矩阵旋转 - 关于矩阵中心的任意角度
我正在尝试优化非常大图像的旋转,最小的是 4096x4096 或约 1600 万像素。
旋转总是围绕图像的中心,图像不一定总是正方形,但总是 2 的幂。
我可以访问 MKL/TBB,其中 MKL 是针对我的目标平台优化的 BLAS。我不熟悉这个操作是否在 BLAS 中。
到目前为止,我的最佳尝试是 4096x4096 图像的大约 17-25 毫秒(对于相同的图像大小非常不一致,这意味着我可能会在缓存中全部踩踏)。矩阵是 16 字节对齐的。
现在,无法调整目标大小。因此,剪裁应该并且可以发生。例如,一个旋转 45 度的方阵肯定会在角处剪裁,并且该位置的值应该为零。
现在,我最好的尝试是使用平铺方法 - 没有优雅的瓷砖尺寸被放入,也没有循环展开。
这是我的算法,因为它使用 TBB - http://threadingbuildingblocks.org/:
我这样调用这个函数:
fcomplex 只是复数的内部表示。它被定义为:
因此,对于非常大的图像,我想尽可能快地以任意角度旋转复杂值矩阵的中心。
更新:
根据精彩的反馈,我更新了这个:大约增加了 40%。我想知道是否可以做其他事情:
更新2:我在下面提出了一个解决方案,考虑到我作为答案得到的建议以及在旋转矩形时修复了一个错误。
matrix - 需要一个稀疏矩阵库
是否有一个稀疏矩阵库可以复制密集 BLAS 的功能?
我至少想要:
- 高效的 SYR 和 SYRK(rank-k 更新),输入稀疏(可能是密集输出),
- 稀疏对称存储的选项,
- DOT、NRM2、转置和其他标准好东西。
不过,命名和 API 不需要以 BLAS 为中心,只要它能完成工作。首选 C 或 Fortran,但 C++ 也可以。
我查看了MKL、scipy.sparse、uBLAS和Eigen3,但它们要么不支持我需要的东西,要么我不知道它们是否支持。
linear-algebra - 进行高斯消除的 BLAS/LAPACK 例程
我是 BLAS/Lapack 的新用户,我只是想知道是否有一个例程可以进行高斯消除甚至 Gaussian-Jordan 消除?我用谷歌搜索并查看了他们的文档,但仍然找不到它们。
非常感谢您帮助我!
c++ - GSL blas 例程在 Visual Studio 中运行缓慢
我刚刚使用本指南在 Visual Studio 2010 上成功安装了 GSL 和 BLAS :
然而,使用 cblas 的矩阵乘法非常慢。Linux 上的一位朋友也遇到了同样的问题。他没有通过 GSL 链接到 BLAS,而是直接链接到 cBLAS(我不完全理解这意味着什么,但也许你知道?)它的速度大约快了十倍。
如何在 Visual Studio 中执行此操作?在我下载的文件中,我找不到更多可以使用 Visual Studio 构建的文件。
linear-algebra - BLAS:gemm 与 gemv
为什么 BLAS 有一个gemm
矩阵-矩阵乘法的gemv
函数和一个单独的矩阵-向量乘法函数?矩阵向量乘法不只是矩阵矩阵乘法的一种特殊情况,其中一个矩阵只有一行/列吗?
c - 在汇编中实现矩阵向量乘法
我有一个算法可以一遍又一遍地执行线性代数的树步骤,
我正在使用 BLAS 进行操作,这有点快,但它需要对数据进行树运行,每个步骤一个。现在我想知道将这些步骤合并为一个是否会有所收获,只需运行一次数据即可。
有没有人对如何以最佳方式实现这些调用有任何经验,我的矩阵大约是 100*100,向量有 100 个元素。
我认为该向量可以适合 8 个 128 字节 mmx 寄存器。使乘法非常快,有什么想法吗?
c - 静态链接 LAPACK
我正在尝试发布一些软件,目前正在编写构建过程的脚本。我被困在我从未想过的事情上,在 x86_64 linux 上静态链接 LAPACK。在配置AC_SEARCH_LIB([main],[lapack])
工作期间,但 lapack 单元的编译不起作用,例如undefiend reference to 'dsyev_'
--no lapack/blas 例程未被注意到。
我已经确认我已经安装了这些库,甚至使用适当的选项自己编译了它们,以使它们具有相同的结果。
这是我几年前在 LAPACK 的第一次体验中使用的一个例子,它动态工作,但不是静态工作:http: //pastebin.com/cMm3wcwF
我用来编译的两种方法如下,
macos - Mac LION 上的 Lapack 版本
Lapack 3.2.1 并不是完全安全的……但是 3.3 是最近由 netlib 在英特尔的帮助下发布的。
所以有人知道 Lapack 3.3 版本是否会随新的 MacPro 一起提供。