我有一个错误:非法指令(核心转储)。我该怎么办?
使用GROMACS时,我遇到了这个错误,这是我研究的一个软件包。我不认为这是GROMACS的错误,而是C的错误,因为GROMACS是用C ++编写的(我知道这是在谷歌搜索后)。这就是我把这个问题放在这里的原因。我对C一无所知。难道无法解决吗?
答案 0 :(得分:2)
你自己编译GROMACS
了吗?最重要的是,您是否在编译它的同一台机器上执行该软件?
在计算机(群集的登录节点)上编译GROMACS
并尝试在另一台计算机(群集的计算节点)上使用可执行文件并使用较差的指令集时,我遇到了同样的问题。
如果是这样,请查看this page of the GROMACS manual (this depends on the version you are trying to compile)以确定不同计算机的最高公共指令集,并使用-DGMX_SIMD
的适当值重新编译gromacs。就我而言,它看起来像:
cmake .. -DGMX_SIMD=SSE4.1
答案 1 :(得分:1)
这是my conversation to GROMACS team。简而言之:
fftw3 by ./configure --enable-float
,make
,make install
cmake .. -DCMAKE_PREFIX_PATH=/usr/local
,make
和make install
source /usr/local/gromacs/bin/GMXRC
(您可能需要将此行添加到~/.bashrc
文件中,以便在您打开新shell时自动激活<) / LI>
如果您使用旧机器,我认为您应该使用旧版本。希望这有帮助:)
答案 2 :(得分:0)
为要运行它的机器编译GROMACS。最容易在您运行它的机器上完成。