<div class="gmail_quote">On Fri, Jul 27, 2012 at 4:26 AM, Roland Schulz <span dir="ltr">&lt;<a href="mailto:roland@utk.edu" target="_blank">roland@utk.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Thu, Jul 26, 2012 at 10:12 PM, Szilárd Páll &lt;<a href="mailto:szilard.pall@cbr.su.se">szilard.pall@cbr.su.se</a>&gt; wrote:<br>
&gt; On Fri, Jul 27, 2012 at 12:07 AM, Roland Schulz &lt;<a href="mailto:roland@utk.edu">roland@utk.edu</a>&gt; wrote:<br>
&gt;&gt;<br>
</div><div><div class="h5">&gt;&gt; On Thu, Jul 26, 2012 at 8:09 AM, Jochen Hub &lt;<a href="mailto:jhub@gwdg.de">jhub@gwdg.de</a>&gt; wrote:<br>
&gt;&gt; &gt; Hi,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I am trying to compile and run the git master on my Macbook air (OS X<br>
&gt;&gt; &gt; Lion). Without success. If I compile with a newer gcc (4.5 or newer,<br>
&gt;&gt; &gt; installed from Macports), I get errors like (does this have to do with<br>
&gt;&gt; &gt; AVX?)<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; [  1%] Building C object<br>
&gt;&gt; &gt; src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/add_par.c.o<br>
&gt;&gt; &gt; /var/folders/ys/rh9lzqpj7854h34d2__mznph0000gn/T//ccPxJmjg.s:66:no such<br>
&gt;&gt; &gt; instruction: `vmovups 0(%r13), %ymm0&#39;<br>
&gt;&gt; &gt; /var/folders/ys/rh9lzqpj7854h34d2__mznph0000gn/T//ccPxJmjg.s:69:no such<br>
&gt;&gt; &gt; instruction: `vmovups %ymm0, 24(%rdi)&#39;<br>
&gt;&gt; &gt; /var/folders/ys/rh9lzqpj7854h34d2__mznph0000gn/T//ccPxJmjg.s:79:no such<br>
&gt;&gt; &gt; instruction: `vmovss 0(%r13), %xmm1&#39;<br>
&gt;&gt; &gt; /var/folders/ys/rh9lzqpj7854h34d2__mznph0000gn/T//ccPxJmjg.s:83:no such<br>
&gt;&gt; &gt; instruction: `vmovss %xmm1, 24(%rdi,%r9,4)&#39;<br>
&gt;&gt; &gt; /var/folders/ys/rh9lzqpj7854h34d2__mznph0000gn/T//ccPxJmjg.s:99:no such<br>
&gt;&gt; &gt; instruction: `vmovss 0(%r13), %xmm2&#39;<br>
&gt;&gt; &gt; /var/folders/ys/rh9lzqpj7854h34d2__mznph0000gn/T//ccPxJmjg.s:102:no such<br>
&gt;&gt; &gt; instruction: `vmovss %xmm2, 24(%rdi,%r9,4)&#39;<br>
&gt;&gt;<br>
&gt;&gt; What is GMX_ACCELERATION set to? Make sure it isn&#39;t set to AVX or that<br>
&gt;&gt; if it is that your cflags contain -mavx.<br>
&gt;&gt;<br>
&gt;&gt; &gt; On a gcc 4.4 or earlier, compiling works fine, but mdruns stops with a<br>
&gt;&gt; &gt; segfault. A backtrace in gdb gives the following. Seems like something<br>
&gt;&gt; &gt; goes wrong in FFTW (which was compiled with the same gcc and with<br>
&gt;&gt; &gt; --enable-threads --enable-sse --enable-sse2).<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Program received signal EXC_BAD_ACCESS, Could not access memory.<br>
&gt;&gt; &gt; Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000048<br>
&gt;&gt; &gt; [Switching to process 44300 thread 0x1b03]<br>
&gt;&gt; &gt; 0x0000000100050ebd in gomp_resolve_num_threads ()<br>
&gt;&gt; &gt; (gdb) bt<br>
&gt;&gt; &gt; #0  0x0000000100050ebd in gomp_resolve_num_threads ()<br>
&gt;&gt; &gt; #1  0x0000000100050fc3 in GOMP_parallel_start ()<br>
&gt;&gt; &gt; #2  0x00000001004c0bc2 in fft5d_plan_3d ()<br>
&gt;&gt; &gt; #3  0x0000000100434a52 in gmx_parallel_3dfft_init ()<br>
&gt;&gt; &gt; #4  0x000000010046b6fc in gmx_pme_init ()<br>
&gt;&gt; &gt; #5  0x0000000100026ab3 in mdrunner (nthreads_requested=4, fplog=0x0,<br>
&gt;&gt; &gt; cr=0x102100b40, nfile=36, fnm=0x103808200, oenv=0x101000c10, bVerbose=0,<br>
&gt;&gt; &gt; bCompact=1, nstglobalcomm=-1, ddxyz=0x1013c0e04, dd_node_order=1, rdd=0,<br>
&gt;&gt; &gt; rconstr=0, dddlb_opt=0x10002e26a &quot;auto&quot;, dlb_scale=0.800000012,<br>
&gt;&gt; &gt; ddcsx=0x0, ddcsy=0x0, ddcsz=0x0, nstepout=100, resetstep=-1,<br>
&gt;&gt; &gt; nmultisim=0, repl_ex_nst=0, repl_ex_nex=0, repl_ex_seed=-1, pforce=-1,<br>
&gt;&gt; &gt; cpt_period=15, max_hours=-1, deviceOptions=0x10002e276 &quot;&quot;, Flags=7168)<br>
&gt;&gt; &gt; at /Users/jhub/src/gmx/gromacs/src/programs/mdrun/runner.c:844<br>
&gt;&gt; &gt; #6  0x0000000100024f2d in mdrunner_start_fn (arg=0x101005d60) at<br>
&gt;&gt; &gt; /Users/jhub/src/gmx/gromacs/src/programs/mdrun/runner.c:173<br>
&gt;&gt; &gt; #7  0x0000000100242bfb in tMPI_Thread_starter ()<br>
&gt;&gt; &gt; #8  0x00007fff9785f8bf in _pthread_start ()<br>
&gt;&gt; &gt; #9  0x00007fff97862b75 in thread_start ()<br>
&gt;&gt;<br>
&gt;&gt; Did you try a version which included the bugfix for issue 900<br>
&gt;&gt; (002c4985c1d839810816b5c1ba347634b7d7cabb)?<br>
&gt;&gt; What exact compiler did you try? Is it LLVM-gcc or gcc with gcc<br>
&gt;&gt; backend (not llvm)? Also so far we only saw OpenMP problems with<br>
&gt;&gt; llvm-gcc 4.2 not 4.4. So more details would be useful to know.<br>
&gt;&gt;<br>
&gt;&gt; &gt; Can anyone give me a hint how to fix this? Or is the master so<br>
&gt;&gt; &gt; experimental that it is not interned to be used at all right now?<br>
&gt;&gt; No it should work pretty well and the testsuite is run before any<br>
&gt;&gt; commit. And the Jenkins configuration does include gcc 4.2 and 4.6 on<br>
&gt;<br>
&gt;<br>
</div></div><div class="im">&gt; It does, but it uses only the auto-detected GMX_ACCELERATION which gets set<br>
&gt; to SSE4.1 (as the CPUs in the machine don&#39;t support AVX).<br>
&gt;<br>
&gt; This does suggest to me that we might want to have more thorough (probably<br>
&gt; nightly) builds with virtually all-vs-all important settings (compilers,<br>
&gt; platforms, mandatory libraries, etc.).<br>
<br>
</div>anywhere close to all-vs-all will never be possible unless we<br>
drastically reduce the possible compile time options.<br>
10 compilers (including different versions) * 3 parallelization * gsl<br>
on/off * xml on/off * 3 different FFT * double on/off * 5<br>
accelerations * openmp on/off * 5 os (including version)</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
is over 30,000 possible configurations and this doesn&#39;t even include<br>
yet (gpu, different library versions, more exotic os, older os<br>
versions, cmake versions, ....)<br>
<br>
Of course that doesn&#39;t mean it wouldn&#39;t be useful to have more<br>
different options (or better combinations) and that nightly tests<br>
might help with that.</blockquote><div><br></div><div><div>Note the *important* adjective above ;) </div><div><br></div><div>XML and GSL is irrelevant and I think we can be a bit smart and prune some configs that we can be fairly confident that they&#39;re more or less equivalent. </div>
<div><br></div><div>Not sure what you mean by &quot;3 parallelization&quot;; if it&#39;s MPI, tMPI, and OpenMP than it&#39;s two or four (depending on weather we want to test both MPI/tMPI + OpenMP on/off). The number of (CPU) acceleration types can be slightly reduced as I wouldn&#39;t consider anything but SSE/AVX that highly important. Also, I&#39;d consider only three OS-es and on some of them not all compilers are available.</div>
<div><br></div><div>So we&#39;re left with ~ 10x2x3x2x4 = 480 configs per OS (and less on Win). Assuming that each build takes ~3 min which is the case on 2-3 cores (note that I mean build only!), all builds would take 24h per OS. Now, we&#39;ll have to dedicate a few cores on a Mac to the task (as it can&#39;t be easily virtualized), so the rest, Linux + Win, we can easily run on half of a build server (8 out of 16 cores) in 24h or so. So I don&#39;t think it&#39;s really unfeasible, even if we&#39;d run such thorough tests for two branches. </div>
</div><div><br></div><div>Even if we multiply the above 24h/4cores/OS with 3-4, it&#39;s still a rather manageable number especially that AFAIK hardware resources are not the biggest issue.</div><div><br></div><div>Of course if we want to be strict about all-vs-all we&#39;ll lose quickly against the sheer number of combinations. The above exercise was only meant to show that even a *very* extensive weekly building can be feasible.  Also note that IMO we should separate builds and tests for everything but gerrit auto-triggered stuff which should be kept at the necessary minimum.</div>
<div><br></div><div>Cheers,</div><div>Sz.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888"><br>
Roland<br>
<br>
<br>
<br>
&gt;<br>
&gt; --<br>
&gt; Szilárd<br>
</font></span><div class="HOEnZb"><div class="h5">&gt;<br>
&gt;&gt;<br>
&gt;&gt; Mac. So it is somewhat surprising that you have 2 independent<br>
&gt;&gt; problems.<br>
&gt;&gt;<br>
&gt;&gt; Roland<br>
&gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Many thanks,<br>
&gt;&gt; &gt; Jochen<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; ---------------------------------------------------<br>
&gt;&gt; &gt; Dr. Jochen Hub<br>
&gt;&gt; &gt; Computational Molecular Biophysics Group<br>
&gt;&gt; &gt; Institute for Microbiology and Genetics<br>
&gt;&gt; &gt; Georg-August-University of Göttingen<br>
&gt;&gt; &gt; Justus-von-Liebig-Weg 11, 37077 Göttingen, Germany.<br>
&gt;&gt; &gt; Phone: <a href="tel:%2B49-551-39-14189" value="+495513914189">+49-551-39-14189</a><br>
&gt;&gt; &gt; <a href="http://cmb.bio.uni-goettingen.de/" target="_blank">http://cmb.bio.uni-goettingen.de/</a><br>
&gt;&gt; &gt; ---------------------------------------------------<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; gmx-developers mailing list<br>
&gt;&gt; &gt; <a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
&gt;&gt; &gt; <a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
&gt;&gt; &gt; Please don&#39;t post (un)subscribe requests to the list. Use the<br>
&gt;&gt; &gt; www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; ORNL/UT Center for Molecular Biophysics <a href="http://cmb.ornl.gov" target="_blank">cmb.ornl.gov</a><br>
&gt;&gt; 865-241-1537, ORNL PO BOX 2008 MS6309<br>
&gt;&gt; --<br>
&gt;&gt; gmx-developers mailing list<br>
&gt;&gt; <a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
&gt;&gt; <a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
&gt;&gt; Please don&#39;t post (un)subscribe requests to the list. Use the<br>
&gt;&gt; www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
--<br>
ORNL/UT Center for Molecular Biophysics <a href="http://cmb.ornl.gov" target="_blank">cmb.ornl.gov</a><br>
865-241-1537, ORNL PO BOX 2008 MS6309<br>
--<br>
gmx-developers mailing list<br>
<a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
<a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
Please don&#39;t post (un)subscribe requests to the list. Use the<br>
www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
</div></div></blockquote></div><br>