GROMACS:非法指令(核心转储)

GROMACS: Illegal instruction (core dumped)

本文关键字:核心 转储 指令 非法 GROMACS      更新时间:2023-10-16

我有一个错误:非法指令(核心转储)。我该怎么办?

我在使用GROMACS时遇到这个错误,GROMACS是我研究的一个包。我不认为这是GROMACS的错误,而是C的错误,因为GROMACS是用c++编写的(我在谷歌搜索后知道了这一点)。这就是为什么我在这里提出这个问题。我对c一无所知,这是不可能解决的吗?

您自己编译GROMACS吗?最重要的是,你是在编译软件的同一台机器上执行软件吗?

在一台计算机(集群的登录节点)上编译GROMACS后,我遇到了同样的问题,并试图在另一台计算机(集群的计算节点)上使用一组较差的指令使用可执行文件。

如果是这样,请查看GROMACS手册的这一页(这取决于您试图编译的版本),以确定不同机器的最高通用指令集,并使用适当的-DGMX_SIMD值重新编译GROMACS。在我的例子中,它看起来像:

cmake .. -DGMX_SIMD=SSE4.1

这是我与GROMACS团队的对话。总之:

  • 安装fftw3 by ./configure --enable-float, make, make install
  • 安装cmake .. -DCMAKE_PREFIX_PATH=/usr/local, makemake install的gromac
  • 如果它说GROMACS没有安装,那么使用source /usr/local/gromacs/bin/GMXRC(您可能需要将这一行添加到您的~/.bashrc文件中,以便它在您打开新shell时自动激活)

如果你用的是旧机器,我认为你应该用旧版本。希望有帮助

为运行GROMACS的机器编译GROMACS。最简单的方法是在运行它的机器上执行此操作。