[gmx-developers] Error configuring 5.0.5 with GMX_BUILD_OWN_FFTW=yes

Mark Abraham mark.j.abraham at gmail.com
Wed May 13 22:21:15 CEST 2015


Hi,

On Wed, May 13, 2015 at 8:54 PM Berk Hess <hess at kth.se> wrote:

>  Hi,
>
> I had a look at my change to the FFTW checks, but I don't see how
> something can go wrong here. As far as I can see the order and essential
> logic have not changed compared to 5.0.4.
>

The issue is on line 91. The new AND NOT works only under the assumption
that FFTWF_FOUND means that we ran the SIMD-flavour trycompile tests. But
the auto-download sets FFTWF_FOUND *and* FFTWF_HAVE_SIMD (because it will
have SIMD) and runs/fakes none of the tests. The previous logic was
positive, so the issue did not arise. One fix is to change
src/contrib/fftw/CMakeLists.txt to set a fake ${FFTW}_HAVE_SSE2.

Ideally, we could have a sane test that the auto-download works, but even
if we'd had one, the build would have worked and we likely wouldn't have
verified the warning-issuing behaviour :-(

Mark

Cheers,
>
> Berk
>
>
> On 05/13/2015 05:54 PM, Mark Abraham wrote:
>
> Hi,
>
>  Thanks for the email.
>
> On Wed, May 13, 2015 at 5:34 PM Hardy, Adam <ah259 at hw.ac.uk> wrote:
>
>> Dear all,
>>
>> I'm having trouble installing the latest release. Leaving all other
>> options default, but switching GMX_BUILD_OWN_FFTW=yes results in a cmake
>> warning:
>>
>> "
>> CMake Warning at cmake/gmxManageFFTLibraries.cmake:93 (message):
>>    The FFTW library was compiled with neither --enable-sse nor
>> --enable-sse2;
>>    those would have enabled SSE(2) SIMD instructions.  This will give
>>    suboptimal performance.  You should (re)compile the FFTW library with
>> both
>>    SSE2 and AVX instruction support (use both --enable-sse2 and
>> --enable-avx).
>>    The FFTW library will determine at runtime which SIMD instruction set
>> is
>>    fastest for different parts of the FFTs.
>>  Call Stack (most recent call first):
>>    CMakeLists.txt:742 (include)
>
> "
>
>
> That's inconsistent and somewhat embarassing, but not actually a problem.
> FFTW hasn't been downloaded or built by the time that warning is issued, so
> we have some logic that doesn't work correctly in the auto-download case.
>
>  Later on, FFTW is built but is still compiled with only --enable-sse2.
> We may change that behaviour for 5.1, if it is clear that adding
> --enable-avx as well is always neutral-or-useful, but there's nothing wrong
> with the resulting mdrun here.
>
>  This configuration works as expected with 5.0.4.
>>
>> I get the same results with this setting as "no". This message doesn't
>> make much sense in either case as I do not have an FFTW library on my
>> machine.
>
>
>  Hmm that could be a minor problem, but none of us have tried a build on
> a machine without FFTW, for the obvious reason. :-)
>
>
>> The error I get in 5.0.4 for this scenario is:
>>
>> "
>> Could not find fftw3f library named libfftw3f, please specify its
>> location in CMAKE_PREFIX_PATH or FFTWF_LIBRARY by hand (e.g.
>>  -DFFTWF_LIBRARY='/path/to/libfftw3f.so')
>>
>>  CMake Error at cmake/gmxManageFFTLibraries.cmake:76 (MESSAGE):
>>    Cannot find FFTW 3 (with correct precision - libfftw3f for
>> mixed-precision
>>    GROMACS or libfftw3 for double-precision GROMACS).  Either choose the
>> right
>>    precision, choose another FFT(W) library (-DGMX_FFT_LIBRARY), enable
>> the
>>    advanced option to let GROMACS build FFTW 3 for you
>>    (-GMX_BUILD_OWN_FFTW=ON), or use the really slow GROMACS built-in
>> fftpack
>>    library (-DGMX_FFT_LIBRARY=fftpack).
>>  Call Stack (most recent call first):
>>    CMakeLists.txt:738 (include)
>> "
>>
>> I see some in the release notes some changes were made to the cmake
>> warnings for AVX capable processors which I belive mine is
>
> (AMD fx-8350).
>>
>
>  Yes, but we don't expect much/any improvement on AMD cpus from adding
> --enable-avx. Use --enable-sse2 always (which is what the auto-download
> does).
>
>  Mark
>
>  Thanks,
>>
>> Adam Hardy
>> PhD Student
>> School of Engineering and Physical Sciences
>> Heriot-Watt University
>> Edinburgh EH14 4AS, UK
>>
>> -----
>> We invite research leaders and ambitious early career researchers to
>> join us in leading and driving research in key inter-disciplinary themes.
>> Please see www.hw.ac.uk/researchleaders for further information and how
>> to apply.
>>
>> Heriot-Watt University is a Scottish charity
>> registered under charity number SC000278.
>>
>> --
>> Gromacs Developers mailing list
>>
>> * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before
>> posting!
>>
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>
>> * For (un)subscribe requests visit
>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers
>> or send a mail to gmx-developers-request at gromacs.org.
>>
>
>
>
>  --
> Gromacs Developers mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers
> or send a mail to gmx-developers-request at gromacs.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20150513/9578fbf8/attachment-0001.html>


More information about the gromacs.org_gmx-developers mailing list