Skip to content

Commit

Permalink
CMake: add_tests(): do not oversubscribe mpi/thread tests
Browse files Browse the repository at this point in the history
  • Loading branch information
tamiko committed Jan 24, 2023
1 parent c083d6c commit 553293f
Showing 1 changed file with 3 additions and 18 deletions.
21 changes: 3 additions & 18 deletions cmake/macros/macro_deal_ii_add_test.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -601,25 +601,10 @@ function(deal_ii_add_test _category _test_name _comparison_file)
#
set_tests_properties(${_test_full} PROPERTIES RUN_SERIAL TRUE)

elseif(NOT ENABLE_PERFORMANCE_TESTS)
elseif()
#
# Limit concurrency of mpi tests. We can only set concurrency for
# the entire test, which includes the compiling and linking stages
# that are purely sequential. There is no good way to model this
# without unnecessarily restricting concurrency. Consequently, we
# just choose to model an "average" concurrency as one half of the
# number of MPI jobs.
#
if(_n_cpu GREATER 2)
math(EXPR _slots "${_n_cpu} / 2")
set_tests_properties(${_test_full} PROPERTIES PROCESSORS ${_slots})
endif()

else()
#
# In case ENABLE_PERFORMANCE_TESTS is set we limit the concurrency
# of performance tests to the number of specified mpi ranks times
# the number of specified threads.
# Limit concurrency of tests that run on multiple mpi ranks, or
# that explicitly spawn multiple worker threads.
#
set(_slots 1)
if(_n_cpu GREATER 0)
Expand Down

0 comments on commit 553293f

Please sign in to comment.