mirror of
https://git.gfz-potsdam.de/naaice/poet.git
synced 2025-12-13 03:18:23 +01:00
Disabled needsFlagBcast
This commit is contained in:
parent
cf64110dee
commit
f470c7ad3c
@ -2,14 +2,14 @@ iterations <- 10000
|
||||
dt <- 200
|
||||
chkpt_interval <- 100
|
||||
stab_interval <- 100
|
||||
mape_threshold <- rep(0.0035, 13)
|
||||
mape_threshold <- rep(0.01, 13)
|
||||
mape_threshold[5] <- 1 #Charge
|
||||
zero_abs <- 1e-13
|
||||
rb_limit <- 3
|
||||
rb_interval_limit <- 100
|
||||
rb_interval_limit <- 300
|
||||
ctrl_cell_ids <- seq(0, (400*400)/2 - 1, by = 401)
|
||||
#out_save <- seq(500, iterations, by = 500)
|
||||
out_save = c(seq(1, 10), seq(10, 100, by= 10), seq(200, iterations, by=100))
|
||||
out_save <- seq(500, iterations, by = 500)
|
||||
#out_save = c(seq(1, 10), seq(10, 100, by= 10), seq(200, iterations, by=100))
|
||||
|
||||
|
||||
list(
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
#SBATCH --job-name=p2_eps0035_v3
|
||||
#SBATCH --output=p2_eps0035_v3_%j.out
|
||||
#SBATCH --error=p2_eps0035_v3_%j.err
|
||||
#SBATCH --job-name=p2_eps01_300
|
||||
#SBATCH --output=p2_eps01_300_%j.out
|
||||
#SBATCH --error=p2_eps01_300_%j.err
|
||||
#SBATCH --partition=long
|
||||
#SBATCH --nodes=6
|
||||
#SBATCH --ntasks-per-node=24
|
||||
@ -15,5 +15,5 @@ module purge
|
||||
module load cmake gcc openmpi
|
||||
|
||||
#mpirun -n 144 ./poet dolo_fgcs_3.R dolo_fgcs_3.qs2 dolo_only_pqc
|
||||
mpirun -n 144 ./poet --interp --rds dolo_fgcs_3_rt.R dolo_fgcs_3.qs2 p2_eps0035_v3
|
||||
mpirun -n 144 ./poet --interp dolo_fgcs_3_rt.R dolo_fgcs_3.qs2 p2_eps01_300
|
||||
#mpirun -n 144 ./poet --interp barite_fgcs_4_new/barite_fgcs_4_new_rt.R barite_fgcs_4_new/barite_fgcs_4_new.qs2 barite
|
||||
Binary file not shown.
Binary file not shown.
@ -457,13 +457,13 @@ void poet::ChemistryModule::MasterRunParallel(double dt) {
|
||||
ChemBCast(&this->ai_surrogate_validity_vector.front(), this->n_cells, MPI_INT);
|
||||
}
|
||||
|
||||
if (control->needsFlagBcast()) {
|
||||
//if (control->needsFlagBcast()) {
|
||||
ftype = CHEM_CTRL_FLAGS;
|
||||
PropagateFunctionType(ftype);
|
||||
uint32_t ctrl_flags =
|
||||
buildCtrlFlags(this->dht_enabled, this->interp_enabled, this->stab_enabled);
|
||||
ChemBCast(&ctrl_flags, 1, MPI_UINT32_T);
|
||||
}
|
||||
//}
|
||||
this->ctrl_batch.clear();
|
||||
|
||||
ftype = CHEM_WORK_LOOP;
|
||||
|
||||
@ -49,6 +49,8 @@ void poet::ControlModule::updateSurrState(bool dht_enabled, bool interp_enabled)
|
||||
if (surr_active > config.rb_interval_limit) {
|
||||
surr_active = 0;
|
||||
rb_count -= 1;
|
||||
std::cout << "Surr active counter: " << surr_active
|
||||
<< ", rb interval limit: " << config.rb_interval_limit << std::endl;
|
||||
std::cout << "Rollback count reset to: " << rb_count << "." << std::endl;
|
||||
}
|
||||
}
|
||||
@ -103,6 +105,10 @@ uint32_t poet::ControlModule::calcRbIter() {
|
||||
std::optional<uint32_t>
|
||||
poet::ControlModule::findRbTarget(const std::vector<std::string> &species) {
|
||||
|
||||
if (rbLimitReached()) {
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
/* Skip threshold checking if already in stabilization phase*/
|
||||
if (s_history.empty() || rb_enabled) {
|
||||
return std::nullopt;
|
||||
@ -270,6 +276,8 @@ void poet::ControlModule::processCheckpoint(uint32_t ¤t_iter,
|
||||
}
|
||||
|
||||
bool poet::ControlModule::needsFlagBcast() const {
|
||||
// Keep broadcasting flags so all ranks disable interpolation even after rb_limit is
|
||||
// reached
|
||||
return (config.rb_limit > 0) && !rbLimitReached();
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user