[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