[Debichem-devel] Bug#732400: Bug#732400: gromacs: Illegal instruction in all programs on Intel Core 2 CPU
Christoph Junghans
junghans at votca.org
Tue Dec 17 23:09:15 UTC 2013
2013/12/17 Andras Szilagyi <sziami at gmail.com>:
> I may not have been clear enough here. My bug report was intended for
> the debian binary package, not Gromacs itself. The binary package
> cannot be "configured", it's already compiled, there is nothing you
> can configure about it. Also, I'm not asking for support, I'm filing a
> bug report. I can compile Gromacs from source, that is not the issue.
Clear and I meant to configure Gromacs inside debian/rules with
-DGMX_CPU_ACCELERATION=SSE2 so that the binary package only uses sse2
instructions.
>
> No, this bug is not fixed in #725013. I reported the bug for the
> latest debian binary package, 4.6.5-1.
And the fix for #725013 ended in 4.6.5-1.
>
> I guess the package maintainer should decide which processors the
> binary package is intended to support. If only certain CPUs are
> supported then this should be indicated in the package name or title.
> Or if the purpose is to provide a generic version that will run on
> most processors then it should not depend on AVX.
The maintainer already did that or at least the debian changelog claims so:
* rules: Override autodetection of CPU extensions on amd64 and i386;
force to SSE2 only, and provide new DEB_BUILD_OPTIONS=cpuopt flag to
re-enable autodetection for local builds. (Closes: #725013)
Also debian/rules contains:
ifneq (,$(findstring cpuopt,$(DEB_BUILD_OPTIONS)))
ifneq (,$(findstring $(DEB_HOST_ARCH),i386 amd64))
COMMON_CONFIG_PARAMS += -DGMX_CPU_ACCELERATION=SSE2
endif
endif
>
> Andras
>
> On Tue, Dec 17, 2013 at 11:27 PM, Christoph Junghans <junghans at votca.org> wrote:
>> 2013/12/17 Andras Szilagyi <sziami at gmail.com>:
>>> Unfortunately, mdrun crashes before it could create an md.log file.
>>> All programs, including mdrun, crash while reporting the command line
>>> arguments (all programs start with this).
>>> I noticed the crash always occurs before reporting the first command
>>> line argument (option) with a value that is not an integer or boolean.
>>> That is, when the type of the next command line argument to be printed
>>> is real, vector, or time.
>>>
>>> If this version is not supposed to run on pre-Sandy Bridge processors,
>>> maybe this should be indicated in the description.
>> Gromacs can run on pre-Sandy Bridge processors, but you have to
>> configure it with
>> -DGMX_CPU_ACCELERATION=SSE2. Anyhow, this issue seems to be fixed in
>> bug #725013 already.
>>
>>>
>>> Andras
>>>
>>> On Tue, Dec 17, 2013 at 10:02 PM, Christoph Junghans <junghans at votca.org> wrote:
>>>> 2013/12/17 Andras Szilagyi <sziami at gmail.com>:
>>>>> Package: gromacs
>>>>> Version: 4.6.5-1
>>>>> Severity: important
>>>>>
>>>>> All gromacs programs crash right at the start, reporting an illegal hardware
>>>>> instruction while printing the program options.
>>>> My guess is that the deb package is compiled with some hardware
>>>> acceleration, which is not available on your machine.
>>>>
>>>> To check, could you run:
>>>> $ grep "CPU acceleration" md.log
>>>> on some md.log file?
>>>>
>>>> If it says something like:
>>>> CPU acceleration: AVX_256
>>>> we know why.
>>>>
>>>>> E.g. "g_angle -h" results in the following output:
>>>>>
>>>>> ::::::
>>>>> :-) G R O M A C S (-:
>>>>>
>>>>> Groningen Machine for Chemical Simulation
>>>>>
>>>>> :-) VERSION 4.6.5 (-:
>>>>>
>>>>> (lots of text omitted)
>>>>>
>>>>> Option Filename Type Description
>>>>> ------------------------------------------------------------
>>>>> -f traj.xtc Input Trajectory: xtc trr trj gro g96 pdb cpt
>>>>> -n angle.ndx Input Index file
>>>>> -od angdist.xvg Output xvgr/xmgr file
>>>>> -ov angaver.xvg Output, Opt. xvgr/xmgr file
>>>>> -of dihfrac.xvg Output, Opt. xvgr/xmgr file
>>>>> -ot dihtrans.xvg Output, Opt. xvgr/xmgr file
>>>>> -oh trhisto.xvg Output, Opt. xvgr/xmgr file
>>>>> -oc dihcorr.xvg Output, Opt. xvgr/xmgr file
>>>>> -or traj.trr Output, Opt. Trajectory in portable xdr format
>>>>>
>>>>> Option Type Value Description
>>>>> ------------------------------------------------------
>>>>> -[no]h bool yes Print help info and quit
>>>>> -[no]version bool no Print version info and quit
>>>>> -nice int 19 Set the nicelevel
>>>>> zsh: illegal hardware instruction g_angle -h
>>>>> :::::::
>>>>>
>>>>> Debugging with gdb indicates that the error occurs in pa_val() in
>>>>> libgmx.so.8:
>>>>>
>>>>> :::::::
>>>>> Program received signal SIGILL, Illegal instruction.
>>>>> 0x00007ffff6801d8e in pa_val () from /usr/lib/libgmx.so.8
>>>>> (gdb) bt
>>>>> #0 0x00007ffff6801d8e in pa_val () from /usr/lib/libgmx.so.8
>>>>> #1 0x00007ffff6802020 in pargs_print_line () from /usr/lib/libgmx.so.8
>>>>> #2 0x00007ffff680251a in print_pargs () from /usr/lib/libgmx.so.8
>>>>> #3 0x00007ffff67cc143 in ?? () from /usr/lib/libgmx.so.8
>>>>> #4 0x00007ffff67ce71f in write_man () from /usr/lib/libgmx.so.8
>>>>> #5 0x00007ffff67720b8 in parse_common_args () from /usr/lib/libgmx.so.8
>>>>> #6 0x00007ffff79ccd43 in gmx_g_angle () from /usr/lib/libgmxana.so.8
>>>>> #7 0x00007ffff7ffe7e9 in main ()
>>>>> :::::::
>>>>>
>>>>> This occurs on an Intel Core 2 Quad Q6600 CPU. /proc/cpuinfo gives this for
>>>>> each core:
>>>>>
>>>>> :::::::
>>>>> processor : 0
>>>>> vendor_id : GenuineIntel
>>>>> cpu family : 6
>>>>> model : 15
>>>>> model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
>>>>> stepping : 11
>>>>> cpu MHz : 1600.000
>>>>> cache size : 4096 KB
>>>>> physical id : 0
>>>>> siblings : 4
>>>>> core id : 0
>>>>> cpu cores : 4
>>>>> apicid : 0
>>>>> initial apicid : 0
>>>>> fpu : yes
>>>>> fpu_exception : yes
>>>>> cpuid level : 10
>>>>> wp : yes
>>>>> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
>>>>> cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm
>>>>> constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor
>>>>> ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority
>>>>> bogomips : 4799.50
>>>>> clflush size : 64
>>>>> cache_alignment : 64
>>>>> address sizes : 36 bits physical, 48 bits virtual
>>>>> power management:
>>>>> ::::::
>>>>>
>>>>>
>>>>> -- System Information:
>>>>> Debian Release: 6.0.8
>>>>> APT prefers oldstable
>>>>> APT policy: (990, 'oldstable'), (500, 'unstable'), (500, 'testing'), (500, 'stable')
>>>>> Architecture: amd64 (x86_64)
>>>>>
>>>>> Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores)
>>>>> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
>>>>> Shell: /bin/sh linked to /bin/bash
>>>>>
>>>>> Versions of packages gromacs depends on:
>>>>> ii atlas3-base [liblapack.s 3.6.0-20.6 Automatically Tuned Linear Algebra
>>>>> ii gromacs-data 4.6.5-1 GROMACS molecular dynamics sim, da
>>>>> ii lapack3 [liblapack.so.3] 3.0.20000531a-6 library of linear algebra routines
>>>>> ii libatlas3-base [liblapac 3.8.4-9.1 Automatically Tuned Linear Algebra
>>>>> ii libblas3 [libblas.so.3] 1.2.20110419-5 Basic Linear Algebra Reference imp
>>>>> ii libc6 2.17-5 Embedded GNU C Library: Shared lib
>>>>> ii libfftw3-double3 3.3.3-3 Library for computing Fast Fourier
>>>>> ii libfftw3-single3 3.3.3-3 Library for computing Fast Fourier
>>>>> ii libgomp1 4.8.0-7 GCC OpenMP (GOMP) support library
>>>>> ii liblapack3 [liblapack.so 3.4.2+dfsg-1 Library of linear algebra routines
>>>>> ii libx11-6 2:1.5.0-1 X11 client-side library
>>>>> ii refblas3 [libblas.so.3] 1.2-8 Basic Linear Algebra Subroutines 3
>>>>>
>>>>> Versions of packages gromacs recommends:
>>>>> ii cpp 4:4.4.5-1 The GNU C preprocessor (cpp)
>>>>>
>>>>> Versions of packages gromacs suggests:
>>>>> ii pymol 1.5.0.1-2 Molecular Graphics System
>>>>>
>>>>> -- no debconf information
>>>>>
>>>>> _______________________________________________
>>>>> Debichem-devel mailing list
>>>>> Debichem-devel at lists.alioth.debian.org
>>>>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debichem-devel
>>>>
>>>>
>>>>
>>>> --
>>>> Christoph Junghans
>>>> Web: http://www.compphys.de
>>
>>
>>
>> --
>> Christoph Junghans
>> Web: http://www.compphys.de
--
Christoph Junghans
Web: http://www.compphys.de
More information about the Debichem-devel
mailing list