回 帖 发 新 帖 刷新版面

主题:SuperLU 软件如何使用?

Super LU好像是C写的,怎么在fortran调用呢?

回复列表 (共9个回复)

沙发


先把superlu编译成库,再参照其提供的例子修改成适合自己使用的c接口并把其编译成目标文件,然后连接进Fortran程序并调用就可以了。

板凳

[quote]
先把superlu编译成库,再参照其提供的例子修改成适合自己使用的c接口并把其编译成目标文件,然后连接进Fortran程序并调用就可以了。[/quote]
请问怎么才能把superlu编译成库呢?

3 楼

[quote]
先把superlu编译成库,再参照其提供的例子修改成适合自己使用的c接口并把其编译成目标文件,然后连接进Fortran程序并调用就可以了。[/quote]
superlu是否可以在个人电脑上运行?

4 楼


superlu有三个不同版本,其中串行版本可以直接用于pc机。
superlu源代码附带了相应的makefile文件,经过简单修改可用于库的编译。本人采用gcc、gfortran编译过。
gcc、gfortran在很多linux系统下都直接提供,在windows系统下可通过cygwin或mingw使用。

5 楼

[quote]
superlu有三个不同版本,其中串行版本可以直接用于pc机。
superlu源代码附带了相应的makefile文件,经过简单修改可用于库的编译。本人采用gcc、gfortran编译过。
gcc、gfortran在很多linux系统下都直接提供,在windows系统下可通过cygwin或mingw使用。
[/quote]

我使用的CVF,这样怎么修改makefile。我不太懂怎么使用makefile。

6 楼


superlu是用c写成的,其编译需要c编译器,仅用cvf是不行的。
superlu需要系统相关的时间函数,因此能否在windows下用vc编译不太清楚,但在cygwin下用gcc编译肯定没问题。

7 楼

[quote]
superlu是用c写成的,其编译需要c编译器,仅用cvf是不行的。
superlu需要系统相关的时间函数,因此能否在windows下用vc编译不太清楚,但在cygwin下用gcc编译肯定没问题。[/quote]

能够是CVF中运行,需要对源文件进行简单的修改,IVF中可以直接编译通过,但是需要修改MAKEFILE文件

8 楼


http://www.sciencenet.cn/blog/Econtent.aspx?id=250964

这个是我师兄做的,其中的MAKEFILE有些问题,不该优化的地方他优化了,精度有点影像。自己把其注释的MAKEFILE格式改好就好了,本人已测试

9 楼

superlu本身不怎么样,它的优势在于他的开源,跟MUMPS一比没优势了,跟PARDISO求解器(INTEL_MKL)比,效率没那么高,而且PARDISO提供更多矩阵格式及分部计算。

我来回复

您尚未登录,请登录后再回复。点此登录或注册