1*9ba83ac0SJeremy L Thompson# Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors. 25aed82e4SJeremy L Thompson# All Rights Reserved. See the top-level LICENSE and NOTICE files for details. 3cb32e2e7SValeria Barra# 45aed82e4SJeremy L Thompson# SPDX-License-Identifier: BSD-2-Clause 5cb32e2e7SValeria Barra# 65aed82e4SJeremy L Thompson# This file is part of CEED: http://github.com/ceed 7cb32e2e7SValeria Barra 8cb32e2e7SValeria Barrafunction run_tests() 9cb32e2e7SValeria Barra{ 10cb32e2e7SValeria Barra $dry_run cd "$test_exe_dir" 11cb32e2e7SValeria Barra 12cb32e2e7SValeria Barra # Some of the available options are: 13cb32e2e7SValeria Barra # -degree <1>: Polynomial degree of tensor product basis 142288fb52SJeremy L Thompson # -q_extra <1>: Number of extra quadrature points 15cb32e2e7SValeria Barra # -ceed </cpu/self>: CEED resource specifier 16304dbc33Svaleriabarra # -local <1000>: Target number of locally (per rank) owned nodes 17cb32e2e7SValeria Barra 18cb32e2e7SValeria Barra # The variables 'max_dofs_node', and 'max_p' can be set on the command line 19cb32e2e7SValeria Barra # invoking the 'benchmark.sh' script. 20cb32e2e7SValeria Barra local ceed="${ceed:-/cpu/self}" 21cb32e2e7SValeria Barra local common_args=(-ceed $ceed -pc_type none -benchmark) 22cb32e2e7SValeria Barra local max_dofs_node_def=$((3*2**20)) 23cb32e2e7SValeria Barra local max_dofs_node=${max_dofs_node:-$max_dofs_node_def} 24304dbc33Svaleriabarra local max_loc_nodes=$((max_dofs_node/num_proc_node)) 25cb32e2e7SValeria Barra local max_p=${max_p:-8} 26cb32e2e7SValeria Barra local sol_p= 27cb32e2e7SValeria Barra for ((sol_p = 1; sol_p <= max_p; sol_p++)); do 28cb32e2e7SValeria Barra local loc_el= 29304dbc33Svaleriabarra for ((loc_el = 1; loc_el*sol_p**3 <= max_loc_nodes; loc_el = 2*loc_el)); do 30cb32e2e7SValeria Barra local loc_dofs=$((loc_el*sol_p**3)) 31cb32e2e7SValeria Barra local all_args=("${common_args[@]}" -degree $sol_p -local $loc_dofs -problem $bp) 32cb32e2e7SValeria Barra if [ -z "$dry_run" ]; then 33cb32e2e7SValeria Barra echo 34cb32e2e7SValeria Barra echo "Running test:" 35cb32e2e7SValeria Barra quoted_echo $mpi_run ./petsc-bpsraw "${all_args[@]}" 36cb32e2e7SValeria Barra $mpi_run ./petsc-bpsraw "${all_args[@]}" || \ 37cb32e2e7SValeria Barra printf "\nError in the test, error code: $?\n\n" 38cb32e2e7SValeria Barra else 39cb32e2e7SValeria Barra $dry_run $mpi_run ./petsc-bpsraw "${all_args[@]}" 40cb32e2e7SValeria Barra fi 41cb32e2e7SValeria Barra done 42cb32e2e7SValeria Barra done 43cb32e2e7SValeria Barra} 44cb32e2e7SValeria Barra 45cb32e2e7SValeria Barratest_required_examples="petsc-bpsraw" 46