@@ -133,32 +133,37 @@ void Replace::doIncrementalPlace(int threads)
133133 }
134134
135135 // Lock down already placed objects
136- int locked_cnt = 0 ;
136+ int placed_cnt = 0 ;
137137 int unplaced_cnt = 0 ;
138138 auto block = db_->getChip ()->getBlock ();
139139 for (auto inst : block->getInsts ()) {
140140 auto status = inst->getPlacementStatus ();
141141 if (status == odb::dbPlacementStatus::PLACED) {
142142 pbc_->dbToPb (inst)->lock ();
143- ++locked_cnt ;
143+ ++placed_cnt ;
144144 } else if (!status.isPlaced ()) {
145145 ++unplaced_cnt;
146146 }
147147 }
148148
149+ log_->info (GPL, 154 , " Identified {} placed instances" , placed_cnt);
150+ log_->info (GPL, 155 , " Identified {} not placed instances" , unplaced_cnt);
151+
149152 if (unplaced_cnt == 0 ) {
150153 // Everything was already placed so we do the old incremental mode
151154 // which just skips initial placement and runs nesterov.
155+ log_->info (GPL,
156+ 156 ,
157+ " Identified all instances as placed. Unlocking all instances "
158+ " and running nesterov from scratch." );
152159 for (auto & pb : pbVec_) {
153160 pb->unlockAll ();
154161 }
155- // pbc_->unlockAll();
162+
156163 doNesterovPlace (threads);
157164 return ;
158165 }
159166
160- log_->info (GPL, 132 , " Locked {} instances" , locked_cnt);
161-
162167 // Roughly place the unplaced objects (allow more overflow).
163168 // Limit iterations to prevent objects drifting too far or
164169 // non-convergence.
@@ -174,7 +179,7 @@ void Replace::doIncrementalPlace(int threads)
174179 setNesterovPlaceMaxIter (previous_max_iter);
175180
176181 // Finish the overflow resolution from the rough placement
177- log_->info (GPL, 133 , " Unlocked instances" );
182+ log_->info (GPL, 133 , " Unlocking all instances" );
178183 for (auto & pb : pbVec_) {
179184 pb->unlockAll ();
180185 }
@@ -422,6 +427,7 @@ void Replace::setInitialPlaceNetWeightScale(float scale)
422427
423428void Replace::setNesterovPlaceMaxIter (int iter)
424429{
430+ log_->info (GPL, 158 , " Setting nesterov max iterations to {}" , iter);
425431 nesterovPlaceMaxIter_ = iter;
426432 if (np_) {
427433 np_->setMaxIters (iter);
@@ -436,6 +442,7 @@ void Replace::setBinGridCnt(int binGridCntX, int binGridCntY)
436442
437443void Replace::setTargetOverflow (float overflow)
438444{
445+ log_->info (GPL, 157 , " Setting target overflow to {}" , overflow);
439446 overflow_ = overflow;
440447 if (np_) {
441448 np_->setTargetOverflow (overflow);
0 commit comments