[gmx-developers] gmx master: compiling on mac and segfault

Jochen Hub jhub at gwdg.de
Fri Jul 27 11:29:47 CEST 2012



Am 7/27/12 5:30 AM, schrieb Szilárd Páll:
> On Fri, Jul 27, 2012 at 4:34 AM, Roland Schulz <roland at utk.edu
> <mailto:roland at utk.edu>> wrote:
>
>     On Thu, Jul 26, 2012 at 10:26 PM, Szilárd Páll
>     <szilard.pall at cbr.su.se <mailto:szilard.pall at cbr.su.se>> wrote:
>      > On Fri, Jul 27, 2012 at 4:06 AM, Szilárd Páll
>     <szilard.pall at cbr.su.se <mailto:szilard.pall at cbr.su.se>>
>      > wrote:
>      >>
>      >> On Thu, Jul 26, 2012 at 2:09 PM, Jochen Hub <jhub at gwdg.de
>     <mailto:jhub at gwdg.de>> wrote:
>      >>>
>      >>> Hi,
>      >>>
>      >>> I am trying to compile and run the git master on my Macbook air
>     (OS X
>      >>> Lion). Without success. If I compile with a newer gcc (4.5 or
>     newer,
>      >>> installed from Macports), I get errors like (does this have to
>     do with AVX?)
>      >>>
>      >>> [  1%] Building C object
>      >>> src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/add_par.c.o
>      >>>
>     /var/folders/ys/rh9lzqpj7854h34d2__mznph0000gn/T//ccPxJmjg.s:66:no such
>      >>> instruction: `vmovups 0(%r13), %ymm0'
>      >>>
>     /var/folders/ys/rh9lzqpj7854h34d2__mznph0000gn/T//ccPxJmjg.s:69:no such
>      >>> instruction: `vmovups %ymm0, 24(%rdi)'
>      >>>
>     /var/folders/ys/rh9lzqpj7854h34d2__mznph0000gn/T//ccPxJmjg.s:79:no such
>      >>> instruction: `vmovss 0(%r13), %xmm1'
>      >>>
>     /var/folders/ys/rh9lzqpj7854h34d2__mznph0000gn/T//ccPxJmjg.s:83:no such
>      >>> instruction: `vmovss %xmm1, 24(%rdi,%r9,4)'
>      >>>
>     /var/folders/ys/rh9lzqpj7854h34d2__mznph0000gn/T//ccPxJmjg.s:99:no such
>      >>> instruction: `vmovss 0(%r13), %xmm2'
>      >>>
>     /var/folders/ys/rh9lzqpj7854h34d2__mznph0000gn/T//ccPxJmjg.s:102:no such
>      >>> instruction: `vmovss %xmm2, 24(%rdi,%r9,4)'
>      >>
>      >>
>      >> I can confirm this, works on Linux, fails on Mac OS Lion with
>     gcc 4.5 -
>      >> 4.7 with GMX_ACCELERATION=AVX_256. It looks like AVX
>     instructions are
>      >> somehow not recognized, although the aforementioned compilers
>     are supposed
>      >> to have support for it.
>      >>
>      >>>
>      >>> On a gcc 4.4 or earlier, compiling works fine, but mdruns stops
>     with a
>      >>> segfault. A backtrace in gdb
>      >>
>      >>
>      >> That's strange as gcc 4.4 is supposed to have AVX support
>      >> (http://goo.gl/Rt3BM).
>      >
>      >
>      > Just checked and, as expected, the same compiler errors show up
>     with gcc
>      > 4.4.7 as well. I'm not sure what did you change in the
>     configuration to get
>      > the code built, but you must have used GMX_ACCELERATION != AVX_256.
>      >
>      >>
>      >>
>      >>>
>      >>> gives the following. Seems like something goes wrong in FFTW
>     (which was
>      >>> compiled with the same gcc and with --enable-threads --enable-sse
>      >>> --enable-sse2).
>      >>>
>      >>> Program received signal EXC_BAD_ACCESS, Could not access memory.
>      >>> Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000048
>      >>> [Switching to process 44300 thread 0x1b03]
>      >>> 0x0000000100050ebd in gomp_resolve_num_threads ()
>      >>> (gdb) bt
>      >>> #0  0x0000000100050ebd in gomp_resolve_num_threads ()
>      >>> #1  0x0000000100050fc3 in GOMP_parallel_start ()
>      >>> #2  0x00000001004c0bc2 in fft5d_plan_3d ()
>      >>> #3  0x0000000100434a52 in gmx_parallel_3dfft_init ()
>      >>> #4  0x000000010046b6fc in gmx_pme_init ()
>      >>> #5  0x0000000100026ab3 in mdrunner (nthreads_requested=4,
>     fplog=0x0,
>      >>> cr=0x102100b40, nfile=36, fnm=0x103808200, oenv=0x101000c10,
>     bVerbose=0,
>      >>> bCompact=1, nstglobalcomm=-1, ddxyz=0x1013c0e04,
>     dd_node_order=1, rdd=0,
>      >>> rconstr=0, dddlb_opt=0x10002e26a "auto", dlb_scale=0.800000012,
>     ddcsx=0x0,
>      >>> ddcsy=0x0, ddcsz=0x0, nstepout=100, resetstep=-1, nmultisim=0,
>      >>> repl_ex_nst=0, repl_ex_nex=0, repl_ex_seed=-1, pforce=-1,
>     cpt_period=15,
>      >>> max_hours=-1, deviceOptions=0x10002e276 "", Flags=7168) at
>      >>> /Users/jhub/src/gmx/gromacs/src/programs/mdrun/runner.c:844
>      >>> #6  0x0000000100024f2d in mdrunner_start_fn (arg=0x101005d60) at
>      >>> /Users/jhub/src/gmx/gromacs/src/programs/mdrun/runner.c:173
>      >>> #7  0x0000000100242bfb in tMPI_Thread_starter ()
>      >>> #8  0x00007fff9785f8bf in _pthread_start ()
>      >>> #9  0x00007fff97862b75 in thread_start ()
>      >>
>      >>
>      >> Can't confirm this one right now as there's no gcc 4.4 on the
>     Mac OS build
>      >> server. Will check it later. However, it sounds like it's a
>     similar issue to
>      >> the ones we've had with an ordered clause in a #pragma omp statment.
>      >
>      >
>      > Unfortunately, I can confirm this crash. It seems to occur with
>      > OMP_NUM_THREADS=m and -nt n, where m>1 and n >1.
>
>     Could you check whether this the error goes away with a version prior
>     to d75b7537ed4df95fd3796d9432e9c1e64adec26a
>     Maybe the new locking added in that commit is not OK.
>
>
> No, it does not:
>
> $ mdrun -version 2>&1 | tail -n 5
> Version:          VERSION 4.6-dev-20120704-103d98c
> GIT SHA1 hash:    103d98cf31f064cce7c6ec14fcccd081aa2bbfac
> Precision:        single
> Parallellization: thread_mpi
> FFT Library:      fftw3
>
> and in fact it looks like it's a steange tMPI+OpenMP issue because the
> crash happens even with one omp thread:
>
> $ OMP_NUM_THREADS=1 $mdrun -nt 2 -quiet  -stepout 1 2>/dev/null
> [...]
>
> Segmentation fault: 11
>
>

My gcc 4.4 compiler did indeed not invoke AVX. Also, (I guess that's 
what you observed as well), gcc >=4.5 compiles the code with 
accelarations turned off or with SSE4.1.


>
>     Roland
>
>      >
>      >>
>      >>
>      >>>
>      >>>
>      >>> Can anyone give me a hint how to fix this? Or is the master so
>      >>> experimental that it is not interned to be used at all right now?
>      >>
>      >>
>      >> Unfortunately, this affects the release-4-6 branch as well.
>     Could you
>      >> please file a bug on Redmine on the first issue and have a look
>     at the
>      >> related issue on the second.
>      >>
>      >> Cheers,
>      >> --
>      >> Sz.
>      >>
>      >>>
>      >>> Many thanks,
>      >>> Jochen
>      >>>
>      >>>
>      >>> --
>      >>> ---------------------------------------------------
>      >>> Dr. Jochen Hub
>      >>> Computational Molecular Biophysics Group
>      >>> Institute for Microbiology and Genetics
>      >>> Georg-August-University of Göttingen
>      >>> Justus-von-Liebig-Weg 11, 37077 Göttingen, Germany.
>      >>> Phone: +49-551-39-14189 <tel:%2B49-551-39-14189>
>      >>> http://cmb.bio.uni-goettingen.de/
>      >>> ---------------------------------------------------
>      >>> --
>      >>> gmx-developers mailing list
>      >>> gmx-developers at gromacs.org <mailto:gmx-developers at gromacs.org>
>      >>> http://lists.gromacs.org/mailman/listinfo/gmx-developers
>      >>> Please don't post (un)subscribe requests to the list. Use the www
>      >>> interface or send it to gmx-developers-request at gromacs.org
>     <mailto:gmx-developers-request at gromacs.org>.
>      >>
>      >>
>      >
>
>
>
>     --
>     ORNL/UT Center for Molecular Biophysics cmb.ornl.gov
>     <http://cmb.ornl.gov>
>     865-241-1537, ORNL PO BOX 2008 MS6309
>     --
>     gmx-developers mailing list
>     gmx-developers at gromacs.org <mailto:gmx-developers at gromacs.org>
>     http://lists.gromacs.org/mailman/listinfo/gmx-developers
>     Please don't post (un)subscribe requests to the list. Use the
>     www interface or send it to gmx-developers-request at gromacs.org
>     <mailto:gmx-developers-request at gromacs.org>.
>
>
>
>

-- 
---------------------------------------------------
Dr. Jochen Hub
Computational Molecular Biophysics Group
Institute for Microbiology and Genetics
Georg-August-University of Göttingen
Justus-von-Liebig-Weg 11, 37077 Göttingen, Germany.
Phone: +49-551-39-14189
http://cmb.bio.uni-goettingen.de/
---------------------------------------------------



More information about the gromacs.org_gmx-developers mailing list