[gmx-users] How can Build gromacs using MSVC on Win64 with AVX2?
Szilárd Páll
pall.szilard at gmail.com
Thu Sep 12 14:18:08 CEST 2019
On Thu, Sep 12, 2019 at 9:29 AM Tatsuro MATSUOKA <tmacchant3 at yahoo.co.jp> wrote:
>
> >Those are kernels for legacy code that never use such simd anywhere
> Doy you mean that gmxSimdFlags.cmake is not used for simd detection ?
gmxSimdFlags.cmake detects the _flags_ necessary for a SIMD build. It
is gmxDetectSimd.cmake / gmxDetectCpu.cmake that do the CPU detection.
All CPU/SIMD detection is orchestrated from gmxManageSimd.cmake where,
first the target SIMD is detected here:
https://redmine.gromacs.org/projects/gromacs/repository/revisions/master/entry/cmake/gmxManageSimd.cmake#L89
then the corresponding require compiler flags are detected.
Let us know if you have further questions!
Cheers,
--
Szilárd
>
> Tatsuro
>
>
>
> ----- Original Message -----
> >From: Mark Abraham <mark.j.abraham at gmail.com>
> >To: Discussion list for GROMACS users <gmx-users at gromacs.org>; Tatsuro MATSUOKA <tmacchant3 at yahoo.co.jp>
> >Date: 2019/9/12, Thu 14:39
> >Subject: Re: [gmx-users] How can Build gromacs using MSVC on Win64 with AVX2?
> >
> >
> >Hi,
> >
> >
> >Those are kernels for legacy code that never use such simd anywhere
> >
> >
> >Mark
> >
> >On Thu., 12 Sep. 2019, 07:16 Tatsuro MATSUOKA, <tmacchant3 at yahoo.co.jp> wrote:
> >
> >On GROMACS 2019.3, GROMACS cannot be built with AVX2.
> >>
> >>In gmxSimdFlags.cmake
> >>
> >> SIMD_AVX2_C_FLAGS SIMD_AVX2_CXX_FLAGS
> >> "${TOOLCHAIN_FLAG_FOR_AVX2}" "-mavx2" "/arch:AVX" "-hgnu") # no AVX2-specific flag for MSVC yet
> >>
> >>If I modify the above, "/arch:AVX" => "/arch:AVX" ,
> >>
> >>-- Performing Test C_mavx2_mfma_FLAG_ACCEPTED
> >>-- Performing Test C_mavx2_mfma_FLAG_ACCEPTED - Failed
> >>-- Performing Test C_mavx2_FLAG_ACCEPTED
> >>-- Performing Test C_mavx2_FLAG_ACCEPTED - Failed
> >>-- Performing Test C_arch_AVX2_FLAG_ACCEPTED
> >>-- Performing Test C_arch_AVX2_FLAG_ACCEPTED - Success
> >>-- Performing Test C_arch_AVX2_COMPILE_WORKS
> >>-- Performing Test C_arch_AVX2_COMPILE_WORKS - Success
> >>-- Performing Test CXX_mavx2_mfma_FLAG_ACCEPTED
> >>-- Performing Test CXX_mavx2_mfma_FLAG_ACCEPTED - Failed
> >>-- Performing Test CXX_mavx2_FLAG_ACCEPTED
> >>-- Performing Test CXX_mavx2_FLAG_ACCEPTED - Failed
> >>-- Performing Test CXX_arch_AVX2_FLAG_ACCEPTED
> >>-- Performing Test CXX_arch_AVX2_FLAG_ACCEPTED - Success
> >>-- Performing Test CXX_arch_AVX2_COMPILE_WORKS
> >>-- Performing Test CXX_arch_AVX2_COMPILE_WORKS - Success
> >>-- Enabling 256-bit AVX2 SIMD instructions using CXX flags: /arch:AVX2
> >>
> >>
> >>But avx components
> >>
> >> nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_avx_256_single.cpp
> >> nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_avx_256_single.cpp
> >> nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_avx_256_single.cpp
> >> nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_avx_256_single.cpp
> >> nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_avx_256_single.cpp
> >> nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_avx_256_single.cpp
> >> nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_avx_256_single.cpp
> >>are complied.
> >>
> >>How can I compile "avx2_256" files?
> >>
> >>Tatsuro
> >>
> >>--
> >>Gromacs Users mailing list
> >>
> >>* Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_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-users or send a mail to gmx-users-request at gromacs.org.
> >
> >
>
> --
> Gromacs Users mailing list
>
> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_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-users or send a mail to gmx-users-request at gromacs.org.
More information about the gromacs.org_gmx-users
mailing list