[gmx-developers] Re: Fortran acceleration + OpenMP strangeness

Erik Lindahl erik at kth.se
Thu May 31 17:26:11 CEST 2012


Hi,

Formally the Fortran77 standard specifies that all variables should be static, which of course interferes in bad ways with threads. 

While there are some fortran compilers that require flags to deviate from this, I don't think GNU is one of them.

I was anyway contemplating whether to disable them (temporarily) and add back together with the other kernels in a few days, so I suggest I do that in the detection patch.

Cheers,

Erik

--
Erik Lindahl <erik at kth.se> <lindahl at cbr.su.se>
Professor of Theoretical & Computational Biophysics, KTH
Professor of Computational Structural Biology, Stockholm University
Tel (KTH): +46 8 55378029  Tel (SU): +46 8 164675
Cell (Sweden): +46 73 4618050. Cell (US): +1 206 457 7887

On 31 maj 2012, at 17:09, Szilárd Páll <szilard.pall at cbr.su.se> wrote:

> Hi,
> 
> I bumped into a strange issue when verifying the nbnxn code with
> Jenkins. Using the Fortran kernels, while the appropriate OpenMP flag
> is used and mdrun compiles fine, some tools fail to compile with a
> weird message complaining about missing symbols:
> 
> ../gmxlib/libgmx.so.6: undefined reference to `omp_get_thread_num'
> ../gmxlib/libgmx.so.6: undefined reference to `GOMP_parallel_end'
> ../gmxlib/libgmx.so.6: undefined reference to `omp_get_num_threads'
> ../gmxlib/libgmx.so.6: undefined reference to `omp_set_num_threads'
> ../gmxlib/libgmx.so.6: undefined reference to `GOMP_parallel_start'
> ../gmxlib/libgmx.so.6: undefined reference to `omp_get_max_threads'
> 
> i) Does anybody have an idea what could be wrong?
> 
> ii) For what platforms are the fortran kernels still useful? If there
> is any platform where they provide a faster alternative to the plain C
> kernels, we should definitely keep them. Otherwise, deprecating them
> is an option.
> 
> Cheers,
> --
> Szilárd
> 



More information about the gromacs.org_gmx-developers mailing list