我刚刚使用本指南在 Visual Studio 2010 上成功安装了 GSL 和 BLAS :
然而,使用 cblas 的矩阵乘法非常慢。Linux 上的一位朋友也遇到了同样的问题。他没有通过 GSL 链接到 BLAS,而是直接链接到 cBLAS(我不完全理解这意味着什么,但也许你知道?)它的速度大约快了十倍。
如何在 Visual Studio 中执行此操作?在我下载的文件中,我找不到更多可以使用 Visual Studio 构建的文件。
我刚刚使用本指南在 Visual Studio 2010 上成功安装了 GSL 和 BLAS :
然而,使用 cblas 的矩阵乘法非常慢。Linux 上的一位朋友也遇到了同样的问题。他没有通过 GSL 链接到 BLAS,而是直接链接到 cBLAS(我不完全理解这意味着什么,但也许你知道?)它的速度大约快了十倍。
如何在 Visual Studio 中执行此操作?在我下载的文件中,我找不到更多可以使用 Visual Studio 构建的文件。
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 可能会使用这个库。