我有一個錯誤:非法指令(核心轉儲)。我該怎麼辦?GROMACS:非法指令(核心轉儲)
我在使用GROMACS時遇到了這個錯誤,這是我研究的一個軟件包。我不認爲這是一個GROMACS的錯誤,而是C的一個錯誤,因爲GROMACS是從C++編寫的(我知道這是在Google搜索後)。這就是爲什麼我在這裏提出這個問題。我對C一無所知,難道不能解決嗎?
我有一個錯誤:非法指令(核心轉儲)。我該怎麼辦?GROMACS:非法指令(核心轉儲)
我在使用GROMACS時遇到了這個錯誤,這是我研究的一個軟件包。我不認爲這是一個GROMACS的錯誤,而是C的一個錯誤,因爲GROMACS是從C++編寫的(我知道這是在Google搜索後)。這就是爲什麼我在這裏提出這個問題。我對C一無所知,難道不能解決嗎?
這是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
文件,以便它會在你打開一個新的外殼時自動激活)如果你使用的是舊機器,我想你應該使用舊版本。希望這個幫助:)
你自己編譯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
編譯GROMACS你會在運行它的計算機。在運行它的機器上這樣做很容易。