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

reference - cblas 接口有什么好的文档吗?

有人可以为 cblas 界面推荐一个好的参考或教程吗?google 上什么都没有,我找到的所有手册页都是 fortran blas 界面的,而 MKL 附带的 pdf 字面上需要十秒钟的时间来搜索并且没有帮助。

特别是,我很好奇为什么行与列主要有一个额外的参数;转置标志不能实现相同的操作吗?似乎额外的参数只会增加已经容易出错的界面的复杂性。

0 投票
2 回答
2345 浏览

iphone - iOS 4 使用 4x4 矩阵加速 Cblas

我一直在研究 iOS 4 中提供的 Accelerate 框架。具体来说,我尝试在 C 语言的线性代数库中使用 Cblas 例程。现在我无法使用这些函数来给我在非常基本的例程中获得任何性能提升。具体来说,是 4x4 矩阵乘法的情况。在我无法利用矩阵的仿射或齐次属性的地方,我一直在使用这个例程(删节):

Cblas 的等效函数调用是:

比较两者,通过让它们运行大量填充随机数的预计算矩阵(每个函数每次都获得完全相同的输入),当使用 C 时钟()函数计时时,Cblas 例程的执行速度大约慢 4 倍.

这对我来说似乎不对,我觉得我在某个地方做错了什么。我是否必须以某种方式启用设备的 NEON 单元和 SIMD 功能?或者我不应该希望用这么小的矩阵获得更好的性能吗?

非常感谢,

巴斯蒂安

0 投票
4 回答
3193 浏览

vector - 如何用 BLAS 计算一维数组的总和?

在 BLAS 级别 1 中有 *ASUM 和 *NRM2 计算向量的 L1 和 L2 范数,但是如何计算向量的(有符号)和?一定有比填充另一个向量并做一个 *DOT 更好的东西......

0 投票
2 回答
3874 浏览

sql - 如何使用 Oracle 数据库和 utl_nla 将矩阵与其转置相乘

我要疯了这个问题。我无法从以下乘法中得到结果:

X 是一个 m * n 矩阵,其中 m = 36 行和 n = 3 列,由 utl_nla_array_dbl 数据类型表示。数据来自表,并通过简单的 pl/sql 代码复制。

为了解决我的问题,我选择了utl_nla.blas_gemm方法。这是一种矩阵矩阵方法,与 utl_nla.blas_gemv 作为矩阵向量方法相反(我得到了一个工作。我能够将那个矩阵 X 乘以向量 y 并得到正确的结果)。

这是相关代码,它向我输出一个具有正确维度(3X3)但其中只有零的矩阵。为了更清楚,我对大多数参数进行了硬编码:

变量 XtX 也是 utl_nla_array_dbl 类型,用于保存结果。

知道我做错了什么吗?我会感谢每一个贡献,因为我完全陷入困境并且无法在网络上的其他地方找到任何帮助。

0 投票
1 回答
2070 浏览

fortran - 在典型的 fortran 程序中使用来自 macports 的 ATLAS/Lapack

我正在尝试在 mpi 和 fortran 中编写一个简单的微分方程求解器。我想我不妨熟悉使用 ATLAS/LAPACK/BLAS 例程,因为它们似乎对我将来可能做的任何数值建模都非常有用。我通过 macports 安装了 ATLAS。我使用 gcc 4.4(也通过 macports 安装。)

我主要是自学成才,从来没有故意使用过 ATLAS、BLAS、LAPACK 或任何“库”(我在 C++ Java 和 Perl 中使用过“include”语句或它们的等价物——但没有完全理解它们的工作原理。)

我只想能够编写一个使用 ATLAS 在 fortran 中解决 Ax=b 的代码。我已经寻找示例代码,但它似乎需要“pgi”。经过大量谷歌搜索后,我仍然不知道“pgi”是什么或它的作用。在终端中输入“add pgi”只是告诉我“add: command not found”

如果有任何直接相关性,我会使用 mac 10.5.8。

我希望这是一个合理的地方来问这个问题。

0 投票
1 回答
3038 浏览

vector - 在哪里可以找到 BLAS 示例代码(在 Fortran 中)?

我一直在寻找关于 blas 的体面文档,我发现了一些 315 页 ctrl-f 无法处理的密集材料。它提供了有关例程采用哪些输入参数的所有信息,但是有很多输入参数,我真的可以使用一些示例代码。我找不到任何东西。我知道必须有一些人或没有人可以使用这些库!

具体来说,我在 mac osx 10.5.8 上使用通过 macports 安装的 ATLAS,并使用 gcc 4.4 中的 gfortran(也通过 macports 安装)。我正在使用 Fortran 90 进行编码。我对 Fortran 还是很陌生,但我在数学、matlab、perl 和 shell 脚本方面有相当多的经验。

我希望能够初始化密集的复向量并将其乘以密集的对称(但不是厄米特)复矩阵。矩阵的元素是通过索引的数学函数定义的——称为 f(i,j)。

谁能提供一些代码或一些代码的链接?

0 投票
1 回答
729 浏览

d - 预编译的 Windows OMF BLAS/LAPACK?

有没有什么地方可以得到 OMF 对象格式的 Windows 预编译的 BLAS 和 LAPACK 二进制文件?我想将一些 D 语言代码链接到这些。我知道在哪里可以获得COFF 格式的相关库。我也知道 objconv 工具,它将 COFF 转换为 OMF,尽管由于我不完全理解的原因,这在实践中似乎不起作用。这些似乎与符号中的下划线有关,尽管我尝试了几乎所有处理这些的设置,但似乎没有一个有效。

或者,是否有人知道如何将参考二进制文件转换为 OMF,以便它们实际上正确链接到 DMD 编译的代码?作为最后的手段,有谁知道如何让 CLAPACK、CBLAS 和 F2CLIB 与 DMC 一起构建?这些附带的构建过程似乎完全面向 GCC 工具链。

0 投票
1 回答
4016 浏览

math - 如何计算上三角矩阵的 SVD(奇异值分解)

你知道使用 BLAS 或 LAPACK 计算 SVD 的算法吗?

假设我有一个对称矩阵 A:

从A得到上三角矩阵G后:

  • 如何计算 A 的 SVD,但使用 G 的值?
  • 我必须通过所有矩阵 A 还是足以通过 G(中间矩阵)?

事实上,我在处理 G 矩阵后得到,但是作为它的对称矩阵,我如何计算对称 A 的 SVD,只有 G(换句话说,只有 A 的上三角矩阵)?

0 投票
4 回答
6422 浏览

c++ - LAPACK/BLAS 与简单的“for”循环

我想将一段涉及大量向量和矩阵计算的代码迁移到 C 或 C++,目标是尽可能加快代码速度。

在 C 代码中使用循环的线性代数计算是否与for使用 LAPACK/BLAS 的计算一样快,或者使用这些库有一些独特的加速?

换句话说,简单的 C 代码(使用for循环等)可以像使用 LAPACK/BLAS 的代码一样快地执行线性代数计算吗?

0 投票
4 回答
33647 浏览

python - python/numpy 中的多线程 blas

我正在尝试在 Python 中实现大量矩阵-矩阵乘法。最初,我假设 NumPy 会自动使用我的线程化 BLAS 库,因为我是针对这些库构建的。但是,当我查看顶部或其他内容时,代码似乎根本不使用线程。

任何想法有什么问题或我可以做些什么来轻松使用 BLAS 性能?