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

Berk Hess hess at kth.se
Wed May 13 22:24:26 CEST 2015


Hi,

I also noticed only now that there is more logic on line 158 of 
FindFFTW.cmake that probably should have been updated (as well as the 
documentation at the top). I should have stayed out of the business of 
editing cmake files :-(

Berk

On 05/13/2015 10:21 PM, Mark Abraham wrote:
> Hi,
>
> On Wed, May 13, 2015 at 8:54 PM Berk Hess <hess at kth.se 
> <mailto: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
>>     <mailto: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
>>         <http://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
>>         <mailto: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
>     <mailto: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/8355ab79/attachment.html>


More information about the gromacs.org_gmx-developers mailing list