问题标签 [openblas]
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.
c++ - 什么是犰狳+Atlas、犰狳+OpenBLAS、犰狳+uBLAS、犰狳+MKL?
在许多网站上,他们谈论犰狳+其他东西。他们的意思是什么?
我以以下形式使用犰狳库
在 Linux 环境下。
在这个网站
Armadillo+OpenBLAS
提到。他们的意思是什么?如何使用Armadillo+OpenBLAS
?
更新
现在是一年多之后。我只是添加这一点,它Armadillo
是对诸如BLAS
or之类的实现的包装OpenBLAS
。它不是矩阵运算实现。
python - 在 numpy/openblas 上设置运行时的最大线程数
我想知道是否可以在(Python)运行时更改 OpenBLAS 在 numpy 后面使用的最大线程数?
我知道可以在通过环境变量运行解释器之前设置它OMP_NUM_THREADS
,但我想在运行时更改它。
通常,当使用 MKL 而不是 OpenBLAS 时,可以:
python - 为什么没有 OpenBLAS numpy/scipy 会更快?
我做了两个安装:
brew install numpy
(和 scipy)--with-openblas
- 克隆 GIT 存储库(用于 numpy 和 scipy)并自己构建
在我克隆了两个方便的脚本以在多线程环境中验证这些库之后:
然后对于我正在执行的每个安装show_config
:
安装 1 一切都很好:
但是安装 2 的事情就不那么亮了:
因此,似乎当我未能正确链接 OpenBLAS 时。但是现在还好,这里是性能结果。所有测试均在 iMac、Yosemite、i7-4790K、4 核、超线程上进行。
首次安装 OpenBLAS:
麻木:
密码:
没有 OpenBLAS 的第二次安装:
麻木:
密码:
令我惊讶的是,第二种情况比第一种更快。在 scipy 的情况下,添加更多内核后性能没有提高,但即使是一个内核也比 OpenBLAS 中的 4 个内核更快。
有谁知道为什么会这样?
numpy - 如何让 NumPy 在 Ubuntu 中使用 OpenBlas?
我同时安装了 BLAS 和 OpenBLAS:
但是,NumPy 仍然说 OpenBLAS 不可用:
我怎样才能解决这个问题?
我不认为我可以卸载libblas3
,因为很多东西都依赖于它,包括libblas-dev
,甚至libopenblas-dev
依赖于它。
我试过
但这没有帮助。
这尤其令人惊讶,因为链接到 OpenBLAS的所有*.so
文件:numpy
r - 安装 BLAS/ATLAS/MKL/OPENBLAS 会加速用 C/C++ 编写的 R 包吗?
我发现使用 BLAS/ATLAS/MKL/OPENBLAS 之一会提高 R 的速度。但是,它是否仍会改进用 C 或 C++ 编写的 R 包?例如,R 包 Glmnet 用 FORTRAN 实现,R 包 rpart 用 C++ 实现。只是安装 BLAS/...等会提高执行时间吗?还是我们必须重建(构建新的 C 代码)基于 BLAS/...等的包?
python - Numpy 与 Blas 和 OpenBlas 需要相同的时间
我用(从系统)安装Numpy
(在 virtualenv中)。env
OpenBlas
编辑site.cfg
:
然后,numpy
使用pip
. 此外,numpy
通过系统安装(使用blas
)。我用这个脚本测试时间。在这两种情况下,我都有相同的时间。我检查了一下,系统使用Blas
和 virtualenv 使用OpenBlas
. 为什么需要同样的时间?
我使用 Debian 测试和 python 2.7.9
c++ - 如何将 c++ 链接到 OpenBlas?
我安装了 OpenBlas 并可以编译链接到 OpenBlas 的 C 程序使用
如果我尝试使用 g++ 和相同的链接器选项链接 c++ 程序,我会收到错误消息:
有什么提示吗?
armadillo - 如何在编译期间强制犰狳库链接到本地 OpenBLAS
我需要将犰狳(当前版本为 5.100.1)作为 $HOME(集群应用程序,并且不能安装在每个计算节点上,但 $HOME 是共享文件夹)中的本地库提供。我正在使用 cmake 来管理应用程序,并且已经能够让 cmake 链接到 $HOME(例如 boost)中的本地库,而不是其他地方就好了。犰狳需要 BLAS 和 LAPACK,尽管它可以同时使用(实际上也建议使用)OpenBLAS。但是,我不明白如何强制犰狳使用 OpenBLAS,即使它自己的 cmake .configure 确认它已找到 OpenBLAS。这是在原始犰狳文件夹上运行 ./configure 的输出:
所以它成功地在 $HOME 中找到它,但是如果我在之后查询库到共享库的链接
我看到它已链接到登录节点的 BLAS 和 LAPACK 标准副本,但没有使用 OpenBLAS:
不幸的是,libblas.so.3 和 liblapack.so.3 在节点上不可用:
如何强制犰狳编译并链接到我的本地 OpenBLAS 副本,而不是 /usr/lib64 中 BLAS 和 LAPACK 的标准副本。常见问题解答中有一条说明指出
但从以上结果来看,似乎并非如此。谁能指出我在这里做错了什么?
python - 为什么 numpy.dot 比 numpy.einsum 快得多?
我已经用 OpenBlas 编译了 numpy,我想知道为什么 einsum 比 dot 慢得多(我理解 3 个索引的情况,但我不明白为什么它在两个索引的情况下性能也较低)?这里有一个例子:
有没有办法让 einsum 使用 OpenBlas 和像 numpy.dot 这样的并行化?如果 np.einsum 注意到点积,为什么它不只是调用 np.dot ?