- "Setting CP2K_BLAS_VENDOR=CUSTOM imply setting CP2K_BLAS_LINK_LIBRARIES\n and CP2K_LAPACK_LINK_LIBRARIES to the right libraries. See the README_cmake.md for more details"
+ "Invalid parameters. Blas and lapack can exist in two flavors 32 or 64 bits interfaces (relevant mostly for mkl)"
)
endif()
- if(DEFINED CP2K_BLAS_LINK_LIBRARIES)
- set(CP2K_BLAS_FOUND TRUE)
+ set(CP2K_BLAS_FOUND FALSE)
+
+ # first check for a specific implementation if requested
+ if(CP2K_BLAS_VENDOR MATCHES "CUSTOM" AND NOT DEFINED
+ CP2K_BLAS_LINK_LIBRARIES)
+ message(
+ FATAL_ERROR
+ "Setting CP2K_BLAS_VENDOR=CUSTOM imply setting CP2K_BLAS_LINK_LIBRARIES\n and CP2K_LAPACK_LINK_LIBRARIES to the right libraries. See the README_cmake.md for more details"
+ )
+ endif()
+
+ if(DEFINED CP2K_BLAS_LINK_LIBRARIES)
+ set(CP2K_BLAS_FOUND TRUE)
+ else()
+ # search for any blas implementation and exit immediately if one is found.
+ # we could also give a full list of found implementation and let the user
"sve",default=True,description="Enable SVE on aarch64 if available",when="target=a64fx"
)
conflicts(
"+sve",
when="%clang@20",
msg="There is a severe performance regression in GROMACS with SVE and Clang 20; disable SVE (~sve) or use a different compiler. See https://gitlab.com/gromacs/gromacs/-/issues/5390",
)
variant(
"relaxed_double_precision",
default=False,
description="GMX_RELAXED_DOUBLE_PRECISION, use only for Fujitsu PRIMEHPC",
)
conflicts(
"+relaxed_double_precision",
when="@2021:",
msg="GMX_RELAXED_DOUBLE_PRECISION option removed for GROMACS 2021.",
)
variant("hwloc",default=True,description="Use the hwloc portable hardware locality library")