【问题标题】:Using OpenBLAS with GSL将 OpenBLAS 与 GSL 一起使用
【发布时间】:2016-03-25 08:58:44
【问题描述】:

我在两种情况下都使用所有默认选项从源代码编译 GSL 和 OpenBLAS。我的 GSL 库安装在 /usr/local/lib 中,OpenBLAS 安装在 /opt/OpenBLAS/lib 中。如何在 C++ 中将 OpenBLAS 与 GSL 一起使用?

我这样做的主要原因是因为 OpenBLAS 使用了 Atlas 在默认配置中没有的所有内核。我的主要目标是将两个大矩阵 (10000 x 10000) 相乘并执行 2D 卷积。有没有比 OpenBLAS 或 GS​​L 更好的替代品?

我正在使用:

  • Linux Mint 17.2
  • GCC 版本 4.8.4
  • 20 核英特尔 CPU

我一直在用 OpenBLAS 在 Octave 中做同样的事情。使用 C++ 会显着提高性能吗?

【问题讨论】:

    标签: c++ parallel-processing blas gsl openblas


    【解决方案1】:

    我会使用现有的线性代数库,例如 Armadillo。 AFAIK 它为矩阵乘法包装了您的 BLAS 实现。我喜欢它,因为它为您提供了与 Matlab 或 Octave 中的语法非常相似的语法。

    Eigen 等其他线性代数库也可以完成这项工作。

    但只要对底层库的调用保持不变,我预计它们的性能不会比 Octave 或 Matlab 好(很多)。另请查看why matlab is so fasthow armadillo is parallelized

    【讨论】:

      猜你喜欢
      • 2019-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      相关资源
      最近更新 更多