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