首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我在使用MTJ时是否使用BLAS/LAPACK库?

我在使用MTJ时是否使用BLAS/LAPACK库?
EN

Stack Overflow用户
提问于 2014-03-11 08:56:33
回答 2查看 895关注 0票数 1

我不确定这里是否适合问我的问题,所以如果不是,我道歉。

我正在编写一个Java程序,它可以执行很多稀疏矩阵乘法。经过一些研究后,我发现矩阵工具包Java提供了一些最好的性能,但只有在为BLAS/LAPACK库使用netlib-java包装时才能提供最好的性能。

现在,我已经尝试遵循这些github页面上的说明,并从Arch存储库安装了BLAS和LAPACK:

代码语言:javascript
复制
$ pacman -Ss lapack
extra/lapack 3.5.0-1 [installed]
    Linear Algebra PACKage
$ pacman -Ss blas
extra/blas 3.5.0-1 [installed]
    Basic Linear Algebra Subprograms

在检查/usr/lib/时,它确实包含

代码语言:javascript
复制
-rwxr-xr-x 1 root root 1866088 Jan 27 21:46 liblapacke.so
lrwxrwxrwx 1 root root      13 Jan 27 21:46 liblapacke.so.3 -> liblapacke.so 
lrwxrwxrwx 1 root root      13 Jan 27 21:46 liblapacke.so.3.5.0 -> liblapacke.so
-rwxr-xr-x 1 root root 5878120 Jan 27 21:46 liblapack.so 
lrwxrwxrwx 1 root root      12 Jan 27 21:46 liblapack.so.3 -> liblapack.so
lrwxrwxrwx 1 root root      12 Jan 27 21:46 liblapack.so.3.5.0 -> liblapack.so

代码语言:javascript
复制
-rwxr-xr-x 1 root root 358448 Jan 27 21:46 libblas.so
lrwxrwxrwx 1 root root     10 Jan 27 21:46 libblas.so.3 -> libblas.so
lrwxrwxrwx 1 root root     10 Jan 27 21:46 libblas.so.3.5.0 -> libblas.so

现在,我的程序将约450,000×450,000元素的稀疏矩阵与向量相乘。这大约需要一秒钟。我运行的英特尔核心2二重奏@ 2.53GHz。

我的问题是,我是真的使用了Fortran后端,还是仍然使用了这些函数的Java实现?我知道我的计算很大,但我还是觉得它们可以更快.是否有任何方法检查在运行时使用了哪些库?

提前感谢!致以敬意,

莱纳斯

编辑:

我刚刚尝试了一些东西,对我来说,这表明我实际上没有使用库。我重新命名了liblapack和libblas,假设这会使Java无法找到它们。我的程序在重命名库之后还在运行,更重要的是,花了同样长的时间.我想我现在要找的是如何确保库被加载并被使用!

EN

回答 2

Stack Overflow用户

发布于 2014-03-11 09:00:39

您使用的是共享库,应该用Fortran编写。

请记住,对于一个大的矩阵,它不是不合理的乘法需要时间。

票数 0
EN

Stack Overflow用户

发布于 2015-06-04 06:53:22

有一种检查在代码中使用的BLAS库版本的简单方法:

代码语言:javascript
复制
System.out.println(BLAS.getInstance().getClass().getName());

如果您正在运行本机库,您应该会看到如下内容:

代码语言:javascript
复制
com.github.fommil.netlib.NativeSystemBLAS

相反,如果您仍然链接到JBLAS,则应该看到对F2jBLASJBLAS的引用。

尽管如此,您仍然需要确保您的sysmtem BLAS库链接到正确的实现(定制编译的OpenBLAS、Intel等)。如果你想要最好的表演。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22320733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档