Re: [gmx-users] How can Build gromacs using MSVC on Win64 with AVX2?
On Thu, Sep 12, 2019 at 9:29 AM Tatsuro MATSUOKA 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 > >To: Discussion list for GROMACS users ; Tatsuro > >MATSUOKA > >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, > >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-requ...@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-requ...@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-requ...@gromacs.org.
Re: [gmx-users] How can Build gromacs using MSVC on Win64 with AVX2?
>Those are kernels for legacy code that never use such simd anywhere Doy you mean that gmxSimdFlags.cmake is not used for simd detection ? Tatsuro - Original Message - >From: Mark Abraham >To: Discussion list for GROMACS users ; Tatsuro >MATSUOKA >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, 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-requ...@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-requ...@gromacs.org.
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, 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-requ...@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-requ...@gromacs.org.
[gmx-users] How can Build gromacs using MSVC on Win64 with AVX2?
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-requ...@gromacs.org.