这个问题可能看起来有些开放式的,但一段时间以来一直困扰着我,所以我想我会在这里发布它,希望讨论或建议。Fortran程序使用相同的输入参数产生不同的错误
我是一名物理博士生,在一个相当复杂的Fortran程序上运行了相当大的计算。该程序涉及大量的粒子(〜1000),它们通过局部电势彼此相互作用,并根据过阻尼langevin动力学进行移动。
最近程序开始表现得很奇怪。我不确定发生了什么变化,但是当程序使用相同的输入参数运行时,似乎发生了不同的事情。有时程序会运行完成。其他时候它会产生一个seg错误 - 在计算中的不同点上。偶尔,它似乎只是简单地停下来而不会产生任何错误,并且有几次导致我的电脑显示关于程序内存不足的警告。
让我困惑的是,为什么程序对同样的输入应该有不同的表现。我真的只是希望对这里可能发生的事情有所建议。目前我唯一的想法是某种内存管理问题。我使用的计算机是2013年iMac,配备8GB内存,2.7GHz四核i5处理器和OSX Mavericks。不是世界上最强大的,但我相当肯定我已经运行了更大的计算,而没有这些问题。
我看不出任何人都可以使用的信息水平有所帮助。你是否能够调试该程序,以找出它开始发愁的地方? – trojanfoe
您希望诊断无视患者!! ??好的,下面是一些猜测:未能向每个范围中插入“隐式无”;未能匹配程序虚拟参数和实际参数;访问数组之外的数组,...可能还有其他一些问题,这些问题可能会导致看起来是非确定性的错误。事实上,他们总是缺陷,只是他们可能并不总是咬你。 –
不期望得到诊断,只是希望能够对可能导致问题的一般想法产生不同的看法,这些问题在看似相同的条件下是不同的,因为我以前从未见过类似的情况。 – crevell