1

我刚刚使用本指南在 Visual Studio 2010 上成功安装了 GSL 和 BLAS :

然而,使用 cblas 的矩阵乘法非常慢。Linux 上的一位朋友也遇到了同样的问题。他没有通过 GSL 链接到 BLAS,而是直接链接到 cBLAS(我不完全理解这意味着什么,但也许你知道?)它的速度大约快了十倍。

如何在 Visual Studio 中执行此操作?在我下载的文件中,我找不到更多可以使用 Visual Studio 构建的文件。

4

1 回答 1

1

BLAS 是简单运算的 fortran 数学库,例如向量和矩阵的相乘或相加。它实现了向量-向量、向量-矩阵和矩阵-矩阵运算。

后来,创建了与原始 BLAS 相同但性能更高的不同库。界面已保存,因此您可以使用任何与 BLAS 兼容的库,例如来自您的 CPU 供应商的库。

此常见问题解答http://www.netlib.org/blas/faq.html列出了一些库;维基百科有另一个列表:http ://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms

GSL 的唯一问题是使用 C 语言。BLAS 的接口可以通过各种方式转换为C(问题在于fortran 函数名称转换为c 函数名称,例如fortran DGEMM 在C 中可能称为DGEMM 或DGEMM)。GSL 使用 CBLAS 约定:cblas_前缀,例如 GEMM 将被命名为cblas_gemm.

因此,从列表中尝试一些库,并检查cblas_库中是否有函数别名。如果是,gsl 可能会使用这个库。

于 2011-08-29T11:17:49.823 回答