diff --git a/python/loadleveller/jobstatus.py b/python/loadleveller/jobstatus.py index bfbea0ee0af3fff1e8a2fc63c152cfc7ad0947ab..7391bd022cbb55565d1e9aad236216ef93c6089c 100644 --- a/python/loadleveller/jobstatus.py +++ b/python/loadleveller/jobstatus.py @@ -41,7 +41,7 @@ class JobProgress: tp.sweeps += max(0,sweeps - tp.target_therm) - if tp.sweeps < tp.target_sweeps: + if tp.therm_sweeps < tp.target_therm or tp.sweeps < tp.target_sweeps: self.restart = True self.progress.append(tp) diff --git a/src/runner_pt.cpp b/src/runner_pt.cpp index e4502b7639bcb44f033adaaf92ef3ae61eec6bc4..215b806bf112a3039307c4f2a92cd5a669d42eb0 100644 --- a/src/runner_pt.cpp +++ b/src/runner_pt.cpp @@ -516,6 +516,7 @@ void runner_pt_master::react() { pt_param_optimization(chain, chain_run); } + std::fill(chain_run.weight_ratios.begin(), chain_run.weight_ratios.end(), -1); for(int target = 0; target < chain_len_; target++) { int target_rank = rank_section * chain_len_ + target + 1; int pos = chain_run.rank_to_pos[target]; @@ -545,7 +546,6 @@ void runner_pt_master::react() { } pt_global_update(chain, chain_run); - std::fill(chain_run.weight_ratios.begin(), chain_run.weight_ratios.end(), -1); for(int target = 0; target < chain_len_; target++) { int new_task_id = chain.task_ids[chain_run.rank_to_pos[target]]; diff --git a/src/runner_pt.h b/src/runner_pt.h index 658aaca5f141b88f7f90914f276c107a5ad977c8..67fb3bf8d0c8246c34174ebf71e085cb3a05cba6 100644 --- a/src/runner_pt.h +++ b/src/runner_pt.h @@ -28,7 +28,6 @@ struct pt_chain { void checkpoint_write(const iodump::group &g); void clear_histograms(); - int histogram_entries(); std::tuple optimize_params(); };