问题标签 [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 回答
974 浏览

c++ - 将 Boost UBLAS blas-1 应用于矩阵

如何在 boost::numeric::ublas 矩阵上应用 1 级 blas?例如,我想计算最大条目或所有条目的总和。在矩阵上使用 norm_1 或 norm_inf 不会产生编译器错误,但会返回(在我看来)任意结果。我正在使用提升 1.42

0 投票
2 回答
3394 浏览

c - 将 GotoBLAS2 与 C 一起使用

我是 C 编码的新手,但我编写了一个用于模拟神经网络的 Matlab 程序,我希望将其转换为 C 代码,因为我们的超级计算机集群不允许同时运行多个 Matlab 模拟。为此,我找到了 GotoBLAS 来处理矩阵数学。

不幸的是,我不确定如何使用它,因为我在 C 和使用外部库方面没有很多经验。我假设'dgemm'是GotoBLAS中的一个函数,来自阅读BLAS指南pdf。我已经能够成功编译 GotoBLAS,但是当我这样做时:

我收到以下消息:

据我了解,我应该包含.h来自 GotoBLAS 的一些文件(或者可能不包含),但我不确定是哪个文件(或者这是否正确)。

对此的任何帮助将不胜感激。如果需要更多信息,请告诉我。

0 投票
0 回答
311 浏览

visual-studio-2008 - 适用于 Intel 架构的 GotoBLAS - 寻求 Visual Studio 2008 的下载链接和编译指南

现在我正在编译 Eigen 以用于我的应用程序中的线性代数计算。但是,我更喜欢使用 GotoBLAS Intel 版本以获得最佳性能。

有没有一种简单的方法来 (a) 获取必要的源代码并 (b) 在 Visual Studio 2008 中编译它?我在网上找到了 GotoBLAS2,但它似乎是为微架构设计的,我不确定如何在 VS 中轻松编译它以在 C++ 环境中使用。

建议将不胜感激,非常感谢您的时间。

0 投票
5 回答
43986 浏览

c++ - 基准测试(python vs. c++ using BLAS)和(numpy)

我想编写一个广泛使用 BLAS 和 LAPACK 线性代数功能的程序。由于性能是一个问题,我做了一些基准测试并想知道我采用的方法是否合法。

可以这么说,我有三个参赛者,想用一个简单的矩阵-矩阵乘法来测试他们的表现。参赛者是:

  1. Numpy,仅使用dot.
  2. Python,通过共享对象调用 BLAS 功能。
  3. C++,通过共享对象调用 BLAS 功能。

设想

我为不同的维度实现了矩阵-矩阵乘法ii从 5 运行到 500,增量为 5 和矩阵m1m2设置如下:

1. 麻木

使用的代码如下所示:

2. Python,通过共享对象调用BLAS

带功能

测试代码如下所示:

3.c++,通过共享对象调用BLAS

现在 c++ 代码自然要长一些,所以我将信息减少到最低限度。
我用

我这样测量时间gettimeofday

哪里j是一个循环运行 20 次。我计算过去的时间

结果

结果如下图所示:

在此处输入图像描述

问题

  1. 你认为我的方法是公平的,还是我可以避免一些不必要的开销?
  2. 您是否期望结果会显示 c++ 和 python 方法之间存在如此巨大的差异?两者都使用共享对象进行计算。
  3. 由于我更愿意在我的程序中使用 python,所以在调用 BLAS 或 LAPACK 例程时我可以做些什么来提高性能?

下载

完整的基准测试可以在这里下载。(JF Sebastian 使该链接成为可能^^)

0 投票
1 回答
1595 浏览

c++ - 使用 BLAS 将实矩阵与复向量相乘

如何使用 Blas 将实数矩阵与复数向量相乘?当我使用 ccsrgemv() 之类的函数时,会出现类型不匹配错误?

0 投票
4 回答
12383 浏览

c++ - BLAS中的元素向量向量乘法?

有没有办法用 BLAS、GSL 或任何其他高性能库进行元素向量乘法?

0 投票
1 回答
4069 浏览

objective-c - Using BLAS or LAPACK with Xcode

I'm looking for a good guide on how to incorporate BLAS or LAPACK functions into my Objective C Program developed through Xcode. The only sources I can find online of programs in BLAS/LAPACK are written in Fortran - this is confusing. How does one make use of BLAS/LAPACK and still code in Objective C? Are there any online examples/guides? I want to be able to perform matrix operations where elements of the matrix have complex values.

Cheers,

Shaddy

0 投票
2 回答
2302 浏览

python - 在 Python 中使用多线程 blas 实现和多处理是否值得?

假设我有一台 16 核的机器,以及一个令人尴尬的并行程序。我使用了许多 numpy 点积并添加了 numpy 数组,如果我不使用多处理,那将是一件很容易的事:确保 numpy 是针对使用多线程的 blas 版本构建的。但是,我正在使用多处理,并且所有内核一直在努力工作。在这种情况下,使用多线程 blas 有什么好处吗?

大多数操作是(blas)类型 1,有些是类型 2。

0 投票
1 回答
10595 浏览

c - 如何使用 blas 以最佳方式转置矩阵?

我正在做一些计算,并对不同 BLAS 实现的力量和弱点进行一些分析。但是我遇到了一个问题。

我正在测试 cuBlas,在 GPU 上做 linAlg 似乎是个好主意,但有一个问题。

使用列主要格式的 cuBlas 实现,由于这不是我最终需要的,我很好奇是否有一种方法可以使 BLAS 进行矩阵转置?

0 投票
2 回答
632 浏览

lisp - Lapack 通过方案

我正在寻找一种具有合理的 BLAS 和 LAPACK 接口包的方案实现,即支持 Golub 和 Van Loan 的“矩阵计算”中描述的 API 子集的方案实现。这将至少包括所有 BLAS 操作、主要分解(SVD、LU、QR、Cholesky)以及为方便起见,最小二乘。我可以看到 Chicken 和 Racket 有一些东西,但它没有涵盖上述内容。有谁知道实现这一点的可移植库的实现?