Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 6 additions & 9 deletions .github/workflows/push_pull.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,11 @@ jobs:
with_gsl: 'true'
with_walberla: 'true'
with_walberla_avx: 'false'
with_shared_memory_parallelism: 'true'

debian:
runs-on: ubuntu-latest
container:
image: ghcr.io/espressomd/docker/debian:4d3e236db5ae334ddcc9c3c82aae7637faa5dabc-base-layer
image: ghcr.io/espressomd/docker/debian:a55be868226f9b1b313deea773ce01705707a6f1-base-layer
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
Expand Down Expand Up @@ -85,7 +84,6 @@ jobs:
with_gsl: 'false'
with_scafacos: 'false'
with_stokesian_dynamics: 'false'
with_shared_memory_parallelism: 'false'
make_check_unit_tests: 'true'
make_check_python: 'false'
OMPI_ALLOW_RUN_AS_ROOT: 1
Expand All @@ -95,7 +93,7 @@ jobs:
runs-on: ubuntu-latest
if: ${{ github.repository == 'espressomd/espresso' }}
container:
image: ghcr.io/espressomd/docker/ubuntu-wo-dependencies:4d3e236db5ae334ddcc9c3c82aae7637faa5dabc-base-layer
image: ghcr.io/espressomd/docker/ubuntu-wo-dependencies:a55be868226f9b1b313deea773ce01705707a6f1-base-layer
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
Expand Down Expand Up @@ -127,17 +125,17 @@ jobs:
with_gsl: 'false'
with_scafacos: 'false'
with_stokesian_dynamics: 'false'
with_shared_memory_parallelism: 'false'
make_check_unit_tests: 'false'
make_check_python: 'false'
cmake_params: '-D ESPRESSO_TEST_NT=1'
OMPI_ALLOW_RUN_AS_ROOT: 1
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1

fedora:
runs-on: ubuntu-latest
if: ${{ github.repository == 'espressomd/espresso' }}
container:
image: ghcr.io/espressomd/docker/fedora:4d3e236db5ae334ddcc9c3c82aae7637faa5dabc-base-layer
image: ghcr.io/espressomd/docker/fedora:a55be868226f9b1b313deea773ce01705707a6f1-base-layer
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
Expand Down Expand Up @@ -167,10 +165,9 @@ jobs:
with_hdf5: 'true'
with_fftw: 'true'
with_fpe: 'true'
with_gsl: 'false'
with_gsl: 'true'
with_scafacos: 'false'
with_walberla: 'true'
with_walberla_avx: 'false'
with_stokesian_dynamics: 'true'
with_shared_memory_parallelism: 'false'
cmake_params: '-D CMAKE_CXX_STANDARD=23 -D CMAKE_INCLUDE_PATH=/usr/include/mpich-x86_64 -D CMAKE_PREFIX_PATH=/usr/lib64/mpich/lib/'
cmake_params: '-D CMAKE_CXX_STANDARD=23 -D CMAKE_INCLUDE_PATH=/usr/include/mpich-x86_64 -D CMAKE_PREFIX_PATH=/usr/lib64/mpich/lib/ -D ESPRESSO_TEST_NT=1'
10 changes: 3 additions & 7 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
image: ghcr.io/espressomd/docker/ubuntu:4d3e236db5ae334ddcc9c3c82aae7637faa5dabc
image: ghcr.io/espressomd/docker/ubuntu:a55be868226f9b1b313deea773ce01705707a6f1

stages:
- prepare
Expand All @@ -16,7 +16,7 @@ stages:

.notification_job_template: &notification_job_definition
<<: *global_job_definition
image: ghcr.io/espressomd/docker/alpine:4d3e236db5ae334ddcc9c3c82aae7637faa5dabc
image: ghcr.io/espressomd/docker/alpine:a55be868226f9b1b313deea773ce01705707a6f1
variables:
GET_SOURCES_ATTEMPTS: 3
dependencies: []
Expand Down Expand Up @@ -47,7 +47,7 @@ style:
- cd build
- cp ../style.patch .
- cp ../maintainer/configs/maxset.hpp myconfig.hpp
- cmake .. -D ESPRESSO_BUILD_WITH_CUDA=ON -D ESPRESSO_BUILD_WITH_FFTW=ON -D ESPRESSO_BUILD_WITH_GSL=ON -D ESPRESSO_BUILD_WITH_HDF5=ON -D ESPRESSO_BUILD_WITH_SCAFACOS=ON -D ESPRESSO_BUILD_WITH_WALBERLA=ON -D ESPRESSO_BUILD_WITH_STOKESIAN_DYNAMICS=ON -D ESPRESSO_BUILD_WITH_CALIPER=ON -D ESPRESSO_BUILD_WITH_FPE=ON -D ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM=ON -D ESPRESSO_BUILD_WITH_NLOPT=ON
- cmake .. -D ESPRESSO_BUILD_WITH_CUDA=ON -D ESPRESSO_BUILD_WITH_FFTW=ON -D ESPRESSO_BUILD_WITH_GSL=ON -D ESPRESSO_BUILD_WITH_HDF5=ON -D ESPRESSO_BUILD_WITH_SCAFACOS=ON -D ESPRESSO_BUILD_WITH_WALBERLA=ON -D ESPRESSO_BUILD_WITH_STOKESIAN_DYNAMICS=ON -D ESPRESSO_BUILD_WITH_CALIPER=ON -D ESPRESSO_BUILD_WITH_FPE=ON -D ESPRESSO_BUILD_WITH_NLOPT=ON
- sh ../maintainer/CI/dox_warnings.sh
tags:
- espresso
Expand Down Expand Up @@ -146,7 +146,6 @@ clang-sanitizer:
with_scafacos: 'true'
with_walberla: 'true'
with_stokesian_dynamics: 'true'
with_shared_memory_parallelism: 'true'
with_nlopt: 'true'
with_coverage: 'false'
with_coverage_python: 'false'
Expand Down Expand Up @@ -193,7 +192,6 @@ cuda12-coverage:
with_scafacos: 'true'
with_walberla: 'true'
with_stokesian_dynamics: 'true'
with_shared_memory_parallelism: 'true'
with_nlopt: 'true'
script:
- bash maintainer/CI/build_cmake.sh
Expand Down Expand Up @@ -221,7 +219,6 @@ cuda12-maxset:
with_walberla: 'true'
with_walberla_avx: 'true'
with_stokesian_dynamics: 'true'
with_shared_memory_parallelism: 'true'
with_nlopt: 'true'
script:
- bash maintainer/CI/build_cmake.sh
Expand Down Expand Up @@ -367,7 +364,6 @@ installation:
with_walberla: 'true'
with_walberla_avx: 'true'
with_stokesian_dynamics: 'true'
with_shared_memory_parallelism: 'true'
with_nlopt: 'true'
srcdir: '${CI_PROJECT_DIR}'
build_type: 'Release'
Expand Down
151 changes: 81 additions & 70 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,6 @@ option(ESPRESSO_BUILD_WITH_WALBERLA "Build with waLBerla support" ON)
option(ESPRESSO_BUILD_WITH_WALBERLA_AVX
"Build waLBerla kernels with AVX2 vectorization"
${ESPRESSO_BUILD_WITH_WALBERLA_AVX_DEFAULT})
option(ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM
"Build with shared memory parallelism support" OFF)
option(ESPRESSO_BUILD_BENCHMARKS "Enable benchmarks" OFF)
option(ESPRESSO_BUILD_WITH_VALGRIND "Build with Valgrind instrumentation" OFF)
option(ESPRESSO_BUILD_WITH_CALIPER "Build with Caliper instrumentation" OFF)
Expand Down Expand Up @@ -438,13 +436,6 @@ target_compile_options(
$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wno-cast-function-type>
$<$<COMPILE_LANG_AND_ID:CXX,IntelLLVM>:-diag-disable=592>
$<$<COMPILE_LANG_AND_ID:CXX,Clang,AppleClang,IntelLLVM>:-Wno-global-constructors>
$<$<AND:$<BOOL:${ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM}>,$<COMPILE_LANG_AND_ID:CXX,GNU,Clang,CrayClang,AppleClang,IntelLLVM>>:-Wno-format-nonliteral>
$<$<AND:$<BOOL:${ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM}>,$<COMPILE_LANG_AND_ID:CXX,GNU,Clang,CrayClang,AppleClang,IntelLLVM>>:-Wno-float-conversion>
$<$<AND:$<BOOL:${ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM}>,$<COMPILE_LANG_AND_ID:CXX,Clang,AppleClang,IntelLLVM>>:-Wno-implicit-int-float-conversion>
$<$<AND:$<BOOL:${ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM}>,$<COMPILE_LANG_AND_ID:CXX,Clang,AppleClang,IntelLLVM>>:-Wno-implicit-float-conversion>
$<$<AND:$<BOOL:${ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM}>,$<COMPILE_LANG_AND_ID:CXX,Clang,AppleClang,IntelLLVM>>:-Wno-tautological-constant-compare>
$<$<AND:$<BOOL:${ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM}>,$<COMPILE_LANG_AND_ID:CXX,Clang,AppleClang,IntelLLVM,GNU>>:-Wno-ctad-maybe-unsupported>
$<$<AND:$<BOOL:${ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM}>,$<COMPILE_LANG_AND_ID:CXX,GNU,Clang>>:-Wno-extra-semi>
$<$<AND:$<BOOL:${ESPRESSO_BUILD_WITH_FFTW}>,$<COMPILE_LANG_AND_ID:CXX,GNU,Clang>>:-Wno-extra-semi>
$<$<AND:$<BOOL:${ESPRESSO_BUILD_WITH_HDF5}>,$<COMPILE_LANG_AND_ID:CXX,GNU,Clang>>:-Wno-extra-semi>
$<$<AND:$<BOOL:${ESPRESSO_BUILD_WITH_HDF5}>,$<COMPILE_LANGUAGE:CXX>>:-Wno-cast-qual>
Expand All @@ -459,6 +450,23 @@ target_compile_options(
$<$<AND:$<BOOL:${ESPRESSO_WARNINGS_ARE_ERRORS}>,$<COMPILE_LANGUAGE:CXX>>:-Werror>
$<$<AND:$<BOOL:${ESPRESSO_WARNINGS_ARE_ERRORS}>,$<COMPILE_LANG_AND_ID:CUDA,NVIDIA>>:--Werror=all-warnings>
$<$<AND:$<BOOL:${ESPRESSO_WARNINGS_ARE_ERRORS}>,$<COMPILE_LANG_AND_ID:CUDA,Clang,IntelLLVM>>:-Werror>
)
# cmake-format: on

#
# Compiler optimizations
#

# cmake-format: off
target_compile_options(
espresso_compiler_flags
INTERFACE
# prevent loop auto-vectorization when doing so can introduce invalid math;
# for example, when a loop body contains a conditional to skip divisions by
# zero, the conditional can be ignored (speculative execution) to get better
# performance with SIMD types, and the invalid values are masked afterwards
# (but the SIGFPE signal is still sent as a side effect)
$<$<AND:$<BOOL:${ESPRESSO_BUILD_WITH_FPE}>,$<COMPILE_LANG_AND_ID:CXX,GNU,Clang>>:-ftrapping-math>
# configurations for NVCC
$<$<AND:$<COMPILE_LANG_AND_ID:CUDA,NVIDIA>,$<CONFIG:Debug>>:-g -G>
$<$<AND:$<COMPILE_LANG_AND_ID:CUDA,NVIDIA>,$<CONFIG:Release>>:-Xptxas=-O3 -Xcompiler=-O3 -DNDEBUG>
Expand Down Expand Up @@ -613,10 +621,7 @@ endif()
#

if(ESPRESSO_BUILD_WITH_FFTW)
if(ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM)
list(APPEND FFTW3_COMPONENTS omp)
endif()
find_package(fftw3 REQUIRED COMPONENTS ${FFTW3_COMPONENTS})
find_package(fftw3 REQUIRED COMPONENTS omp)

if(NOT EXISTS ${FETCHCONTENT_BASE_DIR}/heffte-src)
find_package(Heffte 2.4.1 QUIET)
Expand Down Expand Up @@ -649,62 +654,70 @@ if(ESPRESSO_BUILD_WITH_FFTW)
endif()
endif()

if(ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM)
find_package(OpenMP REQUIRED COMPONENTS CXX)
find_package(OpenMP 4.5 REQUIRED COMPONENTS CXX)

if(NOT EXISTS ${FETCHCONTENT_BASE_DIR}/kokkos-src)
find_package(Kokkos 4.6 QUIET)
endif()
if(NOT DEFINED Kokkos_FOUND OR NOT ${Kokkos_FOUND})
# cmake-format: off
FetchContent_Declare(
kokkos
GIT_REPOSITORY https://github.com/kokkos/kokkos.git
GIT_TAG 5.0.2
OVERRIDE_FIND_PACKAGE
)
# cmake-format: on
set(BUILD_SHARED_LIBS ON)
set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "")
set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "")
set(Kokkos_ENABLE_IMPL_VIEW_LEGACY ON CACHE BOOL "")
set(Kokkos_ENABLE_COMPLEX_ALIGN ON CACHE BOOL "")
set(Kokkos_ENABLE_AGGRESSIVE_VECTORIZATION ON CACHE BOOL "")
set(Kokkos_ENABLE_HWLOC ON CACHE BOOL "")
set(Kokkos_ENABLE_DEPRECATED_CODE_5 OFF CACHE BOOL "")
set(Kokkos_ARCH_NATIVE ON CACHE BOOL "")
FetchContent_MakeAvailable(kokkos)
set(BUILD_SHARED_LIBS ${ESPRESSO_BUILD_SHARED_LIBS_DEFAULT})
set(CMAKE_SHARED_LIBRARY_PREFIX "${ESPRESSO_SHARED_LIBRARY_PREFIX}")
install(TARGETS kokkos LIBRARY DESTINATION "${ESPRESSO_INSTALL_LIBDIR}")
# install all kokkos shared objects
get_target_property(ESPRESSO_KOKKOS_LIBS kokkos INTERFACE_LINK_LIBRARIES)
foreach(target_name IN LISTS ESPRESSO_KOKKOS_LIBS)
get_target_property(target_type ${target_name} TYPE)
if(${target_type} STREQUAL "SHARED_LIBRARY" AND ${target_name} MATCHES
"^kokkos[a-zA-Z0-9_]+$")
install(TARGETS ${target_name}
LIBRARY DESTINATION "${ESPRESSO_INSTALL_LIBDIR}")
endif()
endforeach()
endif()
if(NOT EXISTS ${FETCHCONTENT_BASE_DIR}/kokkos-src)
find_package(Kokkos 4.6 QUIET)
endif()
if(NOT DEFINED Kokkos_FOUND OR NOT ${Kokkos_FOUND})
# cmake-format: off
FetchContent_Declare(
kokkos
GIT_REPOSITORY https://github.com/kokkos/kokkos.git
GIT_TAG 5.0.2
OVERRIDE_FIND_PACKAGE
)
# cmake-format: on
set(BUILD_SHARED_LIBS ON)
set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "")
set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "")
set(Kokkos_ENABLE_IMPL_VIEW_LEGACY ON CACHE BOOL "")
set(Kokkos_ENABLE_COMPLEX_ALIGN ON CACHE BOOL "")
set(Kokkos_ENABLE_AGGRESSIVE_VECTORIZATION ON CACHE BOOL "")
set(Kokkos_ENABLE_HWLOC ON CACHE BOOL "")
set(Kokkos_ENABLE_DEPRECATED_CODE_5 OFF CACHE BOOL "")
set(Kokkos_ARCH_NATIVE ON CACHE BOOL "")
FetchContent_MakeAvailable(kokkos)
set(BUILD_SHARED_LIBS ${ESPRESSO_BUILD_SHARED_LIBS_DEFAULT})
set(CMAKE_SHARED_LIBRARY_PREFIX "${ESPRESSO_SHARED_LIBRARY_PREFIX}")
install(TARGETS kokkos LIBRARY DESTINATION "${ESPRESSO_INSTALL_LIBDIR}")
# install all kokkos shared objects
get_target_property(ESPRESSO_KOKKOS_LIBS kokkos INTERFACE_LINK_LIBRARIES)
foreach(target_name IN LISTS ESPRESSO_KOKKOS_LIBS)
get_target_property(target_type ${target_name} TYPE)
if(${target_type} STREQUAL "SHARED_LIBRARY" AND ${target_name} MATCHES
"^kokkos[a-zA-Z0-9_]+$")
install(TARGETS ${target_name}
LIBRARY DESTINATION "${ESPRESSO_INSTALL_LIBDIR}")
endif()
endforeach()
# mark kokkos headers as system headers to disable compiler diagnostics
set_property(
TARGET kokkos APPEND
PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
$<TARGET_PROPERTY:kokkos,INTERFACE_INCLUDE_DIRECTORIES>)
endif()

if(NOT EXISTS ${FETCHCONTENT_BASE_DIR}/cabana-src)
find_package(Cabana 0.7.0 QUIET)
endif()
if(NOT DEFINED Cabana_FOUND OR NOT ${Cabana_FOUND})
# cmake-format: off
FetchContent_Declare(
cabana
GIT_REPOSITORY https://github.com/ECP-copa/Cabana.git
GIT_TAG e76c1a1 # 0.7.0 with patches
PATCH_COMMAND patch -p0 < ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cabana.patch
)
# cmake-format: on
set(Cabana_REQUIRE_HEFFTE ${ESPRESSO_BUILD_WITH_FFTW} CACHE BOOL "")
FetchContent_MakeAvailable(cabana)
endif()
if(NOT EXISTS ${FETCHCONTENT_BASE_DIR}/cabana-src)
find_package(Cabana 0.7.0 QUIET)
endif()
if(NOT DEFINED Cabana_FOUND OR NOT ${Cabana_FOUND})
# cmake-format: off
FetchContent_Declare(
cabana
GIT_REPOSITORY https://github.com/ECP-copa/Cabana.git
GIT_TAG e76c1a1 # 0.7.0 with patches
PATCH_COMMAND patch -p0 < ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cabana.patch
)
# cmake-format: on
set(Cabana_REQUIRE_HEFFTE ${ESPRESSO_BUILD_WITH_FFTW} CACHE BOOL "")
FetchContent_MakeAvailable(cabana)
# mark Cabana headers as system headers to disable compiler diagnostics
set_property(
TARGET Core APPEND
PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
$<TARGET_PROPERTY:Core,INTERFACE_INCLUDE_DIRECTORIES>)
endif()

# We need the parallel hdf5 version!
Expand Down Expand Up @@ -980,9 +993,7 @@ if(ESPRESSO_BUILD_WITH_WALBERLA)
endif()
endif()
set(WALBERLA_BUILD_WITH_FFTW off CACHE BOOL "")
if(ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM)
set(WALBERLA_BUILD_WITH_OPENMP on CACHE BOOL "")
endif()
set(WALBERLA_BUILD_WITH_OPENMP on CACHE BOOL "")
set(WALBERLA_BUILD_WITH_FASTMATH off CACHE BOOL "")
set(BUILD_SHARED_LIBS OFF)
FetchContent_MakeAvailable(walberla)
Expand Down
2 changes: 0 additions & 2 deletions cmake/espresso_cmake_config.cmakein
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@

#cmakedefine ESPRESSO_BUILD_WITH_FPE

#cmakedefine ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM

#define PACKAGE_NAME "${PROJECT_NAME}"

/**
Expand Down
21 changes: 7 additions & 14 deletions cmake/espresso_unit_test.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,10 @@ function(espresso_unit_test_register)
if(NOT DEFINED TEST_TARGET)
set(TEST_TARGET ${TEST_NAME})
endif()
if(NOT DEFINED TEST_NUM_PROC AND "${TEST_DEPENDS}" MATCHES "(^|;)([Bb]oost::mpi|MPI::MPI_CXX)($|;)")
if(NOT DEFINED TEST_NUM_PROC)
set(TEST_NUM_PROC 1)
endif()
# If NUM_PROC is given, set up MPI parallel test case
if(TEST_NUM_PROC)
if(TEST_NUM_PROC GREATER 1)
if(${TEST_NUM_PROC} GREATER ${ESPRESSO_TEST_NP})
set(TEST_NUM_PROC ${ESPRESSO_TEST_NP})
endif()
Expand All @@ -79,13 +78,17 @@ function(espresso_unit_test_register)
${MPIEXEC_POSTFLAGS})
else()
add_test(NAME ${TEST_NAME} COMMAND ${TEST_TARGET})
if(ESPRESSO_MPIEXEC_GUARD_SINGLETON_NUMA)
list(APPEND TEST_ENV_VARIABLES "OMPI_MCA_hwloc_base_binding_policy=none")
endif()
endif()
if(NOT DEFINED TEST_NUM_THREADS)
set(TEST_NUM_THREADS 2)
endif()
if(${TEST_NUM_THREADS} GREATER ${ESPRESSO_TEST_NT})
set(TEST_NUM_THREADS ${ESPRESSO_TEST_NT})
endif()
list(APPEND TEST_ENV_VARIABLES "OMP_PROC_BIND=false" "OMP_NUM_THREADS=${TEST_NUM_THREADS}")

if(ESPRESSO_WARNINGS_ARE_ERRORS)
set(SANITIZERS_HALT_ON_ERROR "halt_on_error=1")
Expand All @@ -95,17 +98,7 @@ function(espresso_unit_test_register)
list(APPEND TEST_ENV_VARIABLES "UBSAN_OPTIONS=suppressions=${CMAKE_SOURCE_DIR}/maintainer/CI/ubsan.supp:${SANITIZERS_HALT_ON_ERROR}:print_stacktrace=1")
list(APPEND TEST_ENV_VARIABLES "ASAN_OPTIONS=${SANITIZERS_HALT_ON_ERROR}:detect_leaks=0:allocator_may_return_null=1")
list(APPEND TEST_ENV_VARIABLES "MSAN_OPTIONS=${SANITIZERS_HALT_ON_ERROR}")
if(NOT DEFINED TEST_NUM_PROC AND ESPRESSO_MPIEXEC_GUARD_SINGLETON_NUMA)
list(APPEND TEST_ENV_VARIABLES "OMPI_MCA_hwloc_base_binding_policy=none")
endif()
list(APPEND TEST_ENV_VARIABLES "OMP_PROC_BIND=false" "OMP_NUM_THREADS=${TEST_NUM_THREADS}")
set(TEST_NUM_CORES 1)
if(DEFINED TEST_NUM_PROC)
set(TEST_NUM_CORES ${TEST_NUM_PROC})
endif()
if(ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM)
math(EXPR TEST_NUM_CORES "${TEST_NUM_CORES} * ${TEST_NUM_THREADS}")
endif()
math(EXPR TEST_NUM_CORES "${TEST_NUM_PROC} * ${TEST_NUM_THREADS}")
set_tests_properties(
${TEST_NAME} PROPERTIES ENVIRONMENT "${TEST_ENV_VARIABLES}"
PROCESSORS ${TEST_NUM_CORES}
Expand Down
4 changes: 0 additions & 4 deletions doc/sphinx/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -791,9 +791,6 @@ using a CMake flag (see :ref:`Options and Variables`).
- ``STOKESIAN_DYNAMICS``: enable the Stokesian Dynamics propagator
(see :ref:`Stokesian Dynamics`). Requires BLAS and LAPACK.

- ``SHARED_MEMORY_PARALLELISM``: enable shared-memory parallelism
(OpenMP, Kokkos, Cabana)

- ``CALIPER``, ``VALGRIND``, ``FPE``: enable various instrumentation tools
(see :ref:`Instrumentation`)

Expand Down Expand Up @@ -957,7 +954,6 @@ The following options control features from external libraries:
* ``ESPRESSO_BUILD_WITH_SCAFACOS``: Build with ScaFaCoS support.
* ``ESPRESSO_BUILD_WITH_GSL``: Build with GSL support.
* ``ESPRESSO_BUILD_WITH_STOKESIAN_DYNAMICS`` Build with Stokesian Dynamics support.
* ``ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM``: Build with shared-memory parallelism support (OpenMP, Cabana, Kokkos, etc.)
* ``ESPRESSO_BUILD_WITH_WALBERLA``: Build with waLBerla support.
* ``ESPRESSO_BUILD_WITH_WALBERLA_AVX``: Build waLBerla with AVX kernels instead of regular kernels.
* ``ESPRESSO_BUILD_WITH_PYTHON``: Build with the Python interface.
Expand Down
Loading
Loading