关于mpiswgfortran编译器Fortran语言的profile求解
-
最近在使用mpiswgfortran 编译Fortran的时候想profile下应用,发现使用了很多方法都没有生成gmon.out文件,但测试的时候发现使用sw5f90编译器能够生成相应文件。但应用需要使用mpiswgfortran编译器编译,想请问下sw上怎么解决profile问题,或者有没有可行的解决方案?求告知
-
-
您好,我尝试了一下swlu,使用方法为在main函数中调用了sw_prof_init、sw_prof_start、sw_prof_print、sw_prof_stop;
然后编译连接时使用下面的命令:
mpiswgfortran -L/home/export/online1/swmore/opensource/swlu/lib -lswlu -o test main.o sub.o但出现了如下的错误;
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.Backtrace for this error:
#0 0x4ff0680c27
#1 0x4ff06802af
#2 0x4ff067b90f
#3 0x4ff044f480不知是否我的使用方法存在问题?
-
@ted 我忘了swlu也是基于sw5f90做的了...你可以先试试在程序没有IO的小范围能不能用, 如果不能用那么可能就没有什么好办法了...
以及看上去你只有两个文件的话能不能缩小一下现场贴代码上来?
-
我没有在大应用上采用这个,只是自己写了个小程序看看该方法是否可行?
我的测试主要代码如下:
![0_1552976735326_VG3YG%ZLE}CHNS3WBNUIKL.png
其中sub_c和func_c函数在其他文件中实现,只是实现一些小数的运算;
但是运行的时候出现了如下错误;
![0_1552976929110_VG3YG%ZLE}CHNS3WBNUIKL.png
通过printf发现swlu_prof_init就没执行成功。
不知道是否我的使用方法不正确还是?
-
@ted 看上去像是栈帧不兼容导致的...我写个试试...