From 1bbdf23c25bcd4d59f6419b83d91711a89c26245 Mon Sep 17 00:00:00 2001 From: Jonathan Lifflander Date: Tue, 5 Dec 2023 12:16:57 -0800 Subject: [PATCH] #2201: temperedlb: fix bug where some ranks don't participate if they don't have user-defined blocks --- src/vt/vrt/collection/balance/temperedlb/temperedlb.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/vt/vrt/collection/balance/temperedlb/temperedlb.cc b/src/vt/vrt/collection/balance/temperedlb/temperedlb.cc index 3c09c07f4b..42a95a4a15 100644 --- a/src/vt/vrt/collection/balance/temperedlb/temperedlb.cc +++ b/src/vt/vrt/collection/balance/temperedlb/temperedlb.cc @@ -571,7 +571,6 @@ void TemperedLB::readClustersMemoryData() { obj, shared_id, shared_bytes ); - has_memory_data_ = true; obj_shared_block_[obj] = shared_id; obj_working_bytes_[obj] = working_bytes; shared_block_size_[shared_id] = shared_bytes; @@ -647,6 +646,10 @@ void TemperedLB::doLBStages(LoadType start_imb) { // Read in memory information if it's available before be do any trials readClustersMemoryData(); + if (transfer_type_ == TransferTypeEnum::SwapClusters) { + has_memory_data_ = true; + } + for (trial_ = 0; trial_ < num_trials_; ++trial_) { // Clear out data structures selected_.clear();