我是Fortran的新手,我正试图让别人的代码运行以获得更大的输入。我不断在代码的这个区域中遇到分段错误,(惊讶,惊讶!!)取决于输入的大小。我将调试输出发送到一个文件并在每次写入后刷新,所以我确定它在这里,而不是在其他地方。
integer npoints, nv1(maxstrucs),ind1,ind2,window
integer*2 smapall
real*8 xre(0:maxres),xrp(0:maxres)
real*8 xse(3,0:maxres),xsp(3,0:maxres)
real*8 xm(3,3,0:maxres)
real*8 rms2_fast3, urms
real*8 xp(3,maxres),xe(3,maxres)
real smap,v1
common /vectors/ v1(maxstrucs,maxres,3)
common/allall/ smap(maxres,maxres),smapall(numcol,maxres,maxres),
& nstrucs
maxstrucs为500,maxres为150,numcol为124750。 我知道常见字段存在问题,但我正在使用标志-mcmodel = medium
进行编译作为参考,编译语句是
g77 -mcmodel=medium -fno-automatic -ffixed-line-length-none -c -o mmult.o mmult.fr code here
我还使用
将堆栈大小设置为无限制ulimit -s unlimited
我有一台免费提供94Gbs内存的服务器。所以在理论上它应该有效,除非我不知道某种限制。请帮忙