[gmx-developers] Compilation issue for 2022.rc1 on MacBookPro M1 Max

Erik Lindahl erik.lindahl at gmail.com
Sat Feb 5 15:50:41 CET 2022


Hi Florian,

This should already be fixed by
https://gitlab.com/gromacs/gromacs/-/merge_requests/2425.

Cheers,

Erik

On Sat, Feb 5, 2022 at 1:20 PM Florian Nachon <mailinglist at nachon.net>
wrote:

>
> Hello,
>
> I tried to compile the rc1 with GCC11 and libomp installed with homebrew.
>
> cmake worked fine with these arguments:
> cmake .. -DGMX_GPU=OpenCL -DGMX_BUILD_OWN_FFTW=ON
> -DCMAKE_C_COMPILER=/opt/homebrew/bin/gcc-11
> -DCMAKE_CXX_COMPILER=/opt/homebrew/bin/g++-11
> -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs
>
> then I got the following error at the make step:
>
> [ 15%] Building CXX object
> src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJEwCombGeom_F.cpp.o
> In file included from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd.h:43
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/simd.h:150,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/nbnxm_simd.h:50
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJCombGeom_F.cpp:49
> :
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:
> In function 'bool gmx::anyTrue(gmx::SimdDBool)':
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:402:24: error:
> invalid 'static_cast' from type 'uint64x2_t' to type 'uint32x4_t'
>   402 |     return (vmaxvq_u32(static_cast<uint32x4_t>(a.simdInternal_))
> != 0);
>       |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd.h:43
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/simd.h:150,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/nbnxm_simd.h:50
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJCombGeom_VF.cpp:49
> :
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:
> In function 'bool gmx::anyTrue(gmx::SimdDBool)':
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:402:24: error:
> invalid 'static_cast' from type 'uint64x2_t' to type 'uint32x4_t'
>   402 |     return (vmaxvq_u32(static_cast<uint32x4_t>(a.simdInternal_))
> != 0);
>       |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd.h:43
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/simd.h:150,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/nbnxm_simd.h:50
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJCombLB_F.cpp:49
> :
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:
> In function 'bool gmx::anyTrue(gmx::SimdDBool)':
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:402:24: error:
> invalid 'static_cast' from type 'uint64x2_t' to type 'uint32x4_t'
>   402 |     return (vmaxvq_u32(static_cast<uint32x4_t>(a.simdInternal_))
> != 0);
>       |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd.h:43
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/simd.h:150,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/nbnxm_simd.h:50
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF.cpp:49
> :
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:
> In function 'bool gmx::anyTrue(gmx::SimdDBool)':
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:402:24: error:
> invalid 'static_cast' from type 'uint64x2_t' to type 'uint32x4_t'
>   402 |     return (vmaxvq_u32(static_cast<uint32x4_t>(a.simdInternal_))
> != 0);
>       |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> make[2]: ***
> [src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJCombGeom_F.cpp.o]
> Error 1
> make[2]: *** Waiting for unfinished jobs....
> In file included from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd.h:43
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/simd.h:150,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/nbnxm_simd.h:50
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJCombLB_VF.cpp:49
> :
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:
> In function 'bool gmx::anyTrue(gmx::SimdDBool)':
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:402:24: error:
> invalid 'static_cast' from type 'uint64x2_t' to type 'uint32x4_t'
>   402 |     return (vmaxvq_u32(static_cast<uint32x4_t>(a.simdInternal_))
> != 0);
>       |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd.h:43
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/simd.h:150,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/nbnxm_simd.h:50
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF.cpp:49
> :
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:
> In function 'bool gmx::anyTrue(gmx::SimdDBool)':
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:402:24: error:
> invalid 'static_cast' from type 'uint64x2_t' to type 'uint32x4_t'
>   402 |     return (vmaxvq_u32(static_cast<uint32x4_t>(a.simdInternal_))
> != 0);
>       |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> make[2]: ***
> [src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJCombGeom_VF.cpp.o]
> Error 1
> make[2]: ***
> [src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJCombLB_F.cpp.o]
> Error 1
> make[2]: ***
> [src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJCombGeom_VgrpF.cpp.o]
> Error 1
> In file included from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd.h:43
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/simd.h:150,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/nbnxm_simd.h:50
> ,
>                  from
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJEwCombGeom_F.cpp:49
> :
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:
> In function 'bool gmx::anyTrue(gmx::SimdDBool)':
>
> /Users/florian/Downloads/gromacs-2022-rc1/src/gromacs/simd/impl_arm_neon_asimd/impl_arm_neon_asimd_simd_double.h:402:24: error:
> invalid 'static_cast' from type 'uint64x2_t' to type 'uint32x4_t'
>   402 |     return (vmaxvq_u32(static_cast<uint32x4_t>(a.simdInternal_))
> != 0);
>       |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> make[2]: ***
> [src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJCombLB_VF.cpp.o]
> Error 1
> make[2]: ***
> [src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJCombLB_VgrpF.cpp.o]
> Error 1
> make[2]: ***
> [src/gromacs/CMakeFiles/libgromacs.dir/nbnxm/kernels_simd_4xm/kernel_ElecEwTwinCut_VdwLJEwCombGeom_F.cpp.o]
> Error 1
> make[1]: *** [src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
> make: *** [all] Error 2
>
>
> Any clues? May be a GCC11 specific requirement?
>
> Florian
> --
> 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.



-- 
Erik Lindahl <erik.lindahl at dbb.su.se>
Professor of Biophysics, Dept. Biochemistry & Biophysics, Stockholm
University
Science for Life Laboratory, Box 1031, 17121 Solna, Sweden

Note: I frequently do email outside office hours because it is a convenient
time for me to write, but please do not interpret that as an expectation
for you to respond outside your work hours.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20220205/0cbad9da/attachment-0003.html>


More information about the gromacs.org_gmx-developers mailing list