问题标签 [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 投票
1 回答
1512 浏览

blas - vecLib cblas_sgemm 文档错误?

我正在尝试使用 vecLibs 的 cblas 将两个矩阵相乘:

根据文档,每个参数似乎都匹配但我收到此错误:

lda 必须 >= MAX(K,1):lda=2 K=3BLAS 错误:传递给 cblas_sgemm 的参数号 9 具有无效值

0 投票
6 回答
7239 浏览

heroku - 在 Heroku 上运行 Scipy

我在 Heroku 上运行了 Numpy 和 Matplotlib,我也在尝试安装 Scipy。但是,Scipy 需要安装 BLAS[1],这在 Heroku 平台上没有提供。在联系 Heroku 支持后,他们建议我将 BLAS 构建为静态库以进行部署,并设置必要的环境变量。

因此,我在 64 位 Linux 机器上编译了 libblas.a,并按照 [2] 中的描述设置了以下变量:

在我的 requirements.txt 中添加 scipy==0.10.1 后,推送仍然失败。

似乎 pip 不知道 BLAS 环境变量,所以我使用 heroku run python 检查环境:

而且看起来还不错。现在我不知道如何解决这个问题。

[1] http://www.netlib.org/blas/ [2] http://www.scipy.org/Installing_SciPy/Linux

0 投票
1 回答
559 浏览

lapack - CLAPACK:测试 CBLAS 时出错

当我在 CLAPACK 中测试 CBLAS 时出现错误。当我运行测试代码时

我得到错误输出:

“TransA 必须为 111、112 或 113,但设置为 -1 例程 cblas_dgemv 的参数 2 不正确”

有谁知道这表明什么样的问题?

细节

我试图不使用参考 CBLAS,而是使用 ATLAS CBLAS。所以,我编译了包装库libcblaswr.a并将 make.inc 中的行更改为

CLAPACK安装提示做

但是链接器在没有我使用 -L 选项的情况下找不到 cblas 和 atlas,所以我将其包含在内。

我的设置的详细信息:

  • Ubunty Lycid Lynx 10.04
  • CLAPACK-3.2.1
  • ATLAS.3.9.51
0 投票
2 回答
858 浏览

c - 通过 GEMV 与输入向量相同的输出来实现破坏性矩阵应用程序是否安全?

如果A是一个n x n矩阵并且x是一个维度为n的向量,那么是否可以将xGEMV作为参数传递给xy参数,用beta=0来实现操作xAx

我对带有 C 接口的 Cublas 实现特别感兴趣。

0 投票
3 回答
1441 浏览

macos - Numpy EIG 在 Mac OS X 10.6 上比 MATLAB EIG 慢大约 4 倍。我究竟做错了什么?

我尝试在 MATLAB 和 NumPy 上分析 EIG 函数,以比较我的 Macbook Pro(2 GHz,运行 OS X 10.6 的四核 i7)上的性能。与 MATLAB 相比,NumPy EIG 似乎相当慢。

这是我在 NumPy 上分析的代码:

在 NumPy 中,这大约是19.5 秒/执行。

这是 MATLAB 中的相同代码:

这在 MATLAB上大约是5.36 秒/执行。

我想像这样简单的事情不应该过多地依赖于 JIT 性能,所以它可能归结为 BLAS 和访问 BLAS 库的例程。我知道 MATLAB 在 Mac 上使用 Accelerate Framework。

NumPy 似乎也在我的 Macbook Pro 上使用了 Accelerate Framework BLAS;这是输出numpy.show_config()

我正在使用 Python 2.7.2 和 NumPy 1.6(都从 MacPorts 安装)

所以这是我对 NumPy 人的问题:为什么在这种情况下 NumPy 速度较慢?在安装 NumPy 时我是否遗漏了一些优化?

0 投票
0 回答
984 浏览

python - import numpy 确实将共享的 blas 库加载到其他模块

我们有一个库,由 Cython (core.so) 作为模块链接。它使用 BLAS,但它使用 -undefined,dynamic-lookup 选项编译,希望 BLAS 将在运行时加载。

在 Enthought Python Distribution 中,以下解决方案完美运行:

我们在 Ubuntu 10.04 中的“vanilla”python 发行版上尝试了它,并通过 apt-get 安装了 numpy(以及 liblapack-dev、libblas-dev 以相同的方式安装)。它没有找到 BLAS 库。我们如何才能让它以与环保署相同的方式运作?

更新

这样做是为了获得与 numpy 中相同的 BLAS。例如,在 Mac Os X 机器上,EPD 再次编译 MKL,并且比可用的 BLAS(加速框架)快得多。

的输出numpy.show_config()是:

0 投票
4 回答
4120 浏览

c++ - C ++中的复矩阵指数

实际上是否可以在 c / c++ 中计算复数矩阵的矩阵指数?

我已经设法使用 GNU 科学库中的 blas 函数得到两个复杂矩阵的乘积。对于 matC = matA * matB:

我已经设法通过使用未记录的

但这似乎不接受复杂的论点。

有没有办法做到这一点?我曾经认为 c++ 可以做任何事情。现在我认为它过时和神秘......

0 投票
1 回答
1413 浏览

c++ - 复对称三对角矩阵的快速矩阵指数

基本上我需要以上。我已经搜索了谷歌,但找不到实现这一点的方法。

我在这里找到了这个功能http://www.guwi17.de/ublas/examples/但它太慢了。我什至按照 MATLAB 的例程编写了自己的 Pade Approximation,但它只比链接中的快一点。

令我震惊的是 Mathematica 计算矩阵指数的速度有多快(它是否关心矩阵是否是 tridiag,我不知道)。

有人能帮忙吗?

编辑:这是我想出的,有什么意见吗?希望对以后的读者有用

我已经有一段时间没有使用 c++ 了,所以下面的代码可能有点杂乱/缓慢,所以如果你看到改进,请赐教。

0 投票
2 回答
1017 浏览

c++ - C++ 中 Diag(k) 的替代方法是什么?

我正在将 matlab 代码转换为 C++ 代码,并试图在 Lapack、Blas 甚至 Atlas 中找到一个在 matlab 中的 Diag(k) 函数中执行相同工作的函数?有什么建议么 ?

0 投票
3 回答
297 浏览

math - 你如何“扩展” BLAS 子程序?

通常,BLAS 子程序是为某个独特的操作定义的。例如,

DAXPY是必然的y <-- ax + y

DSCAL是必然的x = ax

我希望达到的是:

z = ax+byy = ax

我如何“扩展” BLAS 的子程序以便我可以执行上述操作? (这些操作不一定相互遵循)

我试过了:

  • 声明一个虚拟对象,然后DCOPY将虚拟对象设置为所需的向量。像,DCOPY(dummy,x); DSCAL(a,dummy),DCOPY(y,dummy)

  • 创建我自己的 OpenMP 实现

  • DCOPY(y,a*x)使用诸如for y=ax之类的技巧

但问题是,这些方法似乎都没有给我一个确凿的答案,哪个是解决这个问题的最佳方法。我知道我应该“配置文件,配置文件,配置文件”而不是询问,但我已经尝试了所有这些,但是每次我稍微改变向量时,之前最好的方法突然变成最差的方法,反之亦然。

还,

  • 我的目的是尽可能实现最佳性能。
  • 我知道优化这些操作可能不会给我带来太多的性能提升,但我正在尝试尽可能节省每一皮秒。
  • FWIW,我正在链接到英特尔 MKL