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

使用我的研究软件包GROMACS时遇到此错误。我不认为这是GROMACS的错误,而是C的错误,因为GROMACS是用C ++编写的(我一直在使用Google搜索。这就是为什么我在这里提出这个问题。我对C一无所知。是否有可能解决?

最佳答案

您自己编译了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

10-08 07:11