@@ -635,8 +635,12 @@ void PDLPSolver::solve(std::vector<double>& x, std::vector<double>& y) {
635635
636636 restart_scheme_.last_restart_iter_ = iter;
637637 // Recompute Ax and ATy for the restarted iterates
638+ hipdlpTimerStart (kHipdlpClockMatrixMultiply );
638639 linalg::Ax (lp, x_current_, Ax_cache_);
640+ hipdlpTimerStop (kHipdlpClockMatrixMultiply );
641+ hipdlpTimerStart (kHipdlpClockMatrixTransposeMultiply );
639642 linalg::ATy (lp, y_current_, ATy_cache_);
643+ hipdlpTimerStop (kHipdlpClockMatrixTransposeMultiply );
640644
641645 restart_scheme_.SetLastRestartIter (iter);
642646 }
@@ -679,9 +683,12 @@ void PDLPSolver::solve(std::vector<double>& x, std::vector<double>& y) {
679683
680684 // Compute ATy for the new iterate
681685 Ax_cache_ = Ax_next_;
686+ /*
682687 hipdlpTimerStart(kHipdlpClockMatrixTransposeMultiply);
683688 linalg::ATy(lp, y_next_, ATy_cache_);
684689 hipdlpTimerStop(kHipdlpClockMatrixTransposeMultiply);
690+ */
691+ ATy_cache_ = ATy_next_;
685692
686693 hipdlpTimerStop (kHipdlpClockIterateUpdate );
687694
@@ -1400,6 +1407,10 @@ void PDLPSolver::updateIteratesFixed() {
14001407 hipdlpTimerStart (kHipdlpClockProjectY );
14011408 y_next_ = updateY (y_current_, Ax_cache_, Ax_next_, stepsize_.dual_step );
14021409 hipdlpTimerStop (kHipdlpClockProjectY );
1410+
1411+ hipdlpTimerStart (kHipdlpClockMatrixTransposeMultiply );
1412+ linalg::ATy (lp_, y_next_, ATy_next_);
1413+ hipdlpTimerStop (kHipdlpClockMatrixTransposeMultiply );
14031414}
14041415
14051416void PDLPSolver::updateIteratesAdaptive () {
0 commit comments