Skip to content

Commit 35a2fc2

Browse files
committed
Added more clocks
1 parent c007739 commit 35a2fc2

File tree

6 files changed

+118
-100
lines changed

6 files changed

+118
-100
lines changed

check/TestPdlp.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,11 +392,11 @@ TEST_CASE("hi-pdlp", "[pdlp]") {
392392
}
393393

394394
TEST_CASE("hi-pdlp-timer", "[pdlp]") {
395-
std::string model = "adlittle";
395+
std::string model = "shell";
396396
std::string model_file =
397397
std::string(HIGHS_DIR) + "/check/instances/" + model + ".mps";
398398
Highs h;
399-
// h.setOptionValue("output_flag", dev_run);
399+
// h.setOptionValue("output_flag", dev_run);
400400
REQUIRE(h.readModel(model_file) == HighsStatus::kOk);
401401
REQUIRE(h.setOptionValue("solver", kHiPdlpString) == HighsStatus::kOk);
402402
HighsInt pdlp_features_off =

cmake/sources-python.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,7 @@ set(highs_headers_python
372372
highs/parallel/HighsTask.h
373373
highs/parallel/HighsTaskExecutor.h
374374
highs/pdlp/CupdlpWrapper.h
375+
highs/pdlp/HiPdlpTimer.h
375376
highs/pdlp/HiPdlpWrapper.h
376377
highs/pdlp/hipdlp/defs.hpp
377378
highs/pdlp/hipdlp/linalg.hpp

highs/pdlp/HiPdlpTimer.h

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,14 @@ enum iClockHipdlp {
2525
// IterateUpdate clocks
2626
kHipdlpClockMatrixMultiply,
2727
kHipdlpClockMatrixTransposeMultiply,
28-
kHipdlpClockProjection,
28+
kHipdlpClockProjectX,
29+
kHipdlpClockProjectY,
2930
kHipdlpClockStepSizeAdjustment,
3031
// AverageIterate clocks
32+
kHipdlpClockAverageIterateUpdateX,
33+
kHipdlpClockAverageIterateUpdateY,
34+
kHipdlpClockAverageIterateComputeX,
35+
kHipdlpClockAverageIterateComputeY,
3136
kHipdlpClockAverageIterateMatrixMultiply,
3237
kHipdlpClockAverageIterateMatrixTransposeMultiply,
3338

@@ -56,8 +61,10 @@ class HipdlpTimer {
5661
timer_pointer->clock_def("Ax");
5762
clock[kHipdlpClockMatrixTransposeMultiply] =
5863
timer_pointer->clock_def("Aty");
59-
clock[kHipdlpClockProjection] =
60-
timer_pointer->clock_def("Projection");
64+
clock[kHipdlpClockProjectX] =
65+
timer_pointer->clock_def("Project X");
66+
clock[kHipdlpClockProjectY] =
67+
timer_pointer->clock_def("Project Y");
6168
clock[kHipdlpClockStepSizeAdjustment] =
6269
timer_pointer->clock_def("Step size adjustment");
6370
clock[kHipdlpClockConvergenceCheck] =
@@ -66,6 +73,14 @@ class HipdlpTimer {
6673
timer_pointer->clock_def("Restart check");
6774
clock[kHipdlpClockAverageIterate] =
6875
timer_pointer->clock_def("Average iterate");
76+
clock[kHipdlpClockAverageIterateUpdateX] =
77+
timer_pointer->clock_def("Average iterate update X");
78+
clock[kHipdlpClockAverageIterateUpdateY] =
79+
timer_pointer->clock_def("Average iterate update Y");
80+
clock[kHipdlpClockAverageIterateComputeX] =
81+
timer_pointer->clock_def("Average iterate compute X");
82+
clock[kHipdlpClockAverageIterateComputeY] =
83+
timer_pointer->clock_def("Average iterate compute Y");
6984
clock[kHipdlpClockAverageIterateMatrixMultiply] =
7085
timer_pointer->clock_def("Average iterate Ax");
7186
clock[kHipdlpClockAverageIterateMatrixTransposeMultiply] =
@@ -113,14 +128,18 @@ class HipdlpTimer {
113128
void reportHipdlpIterateUpdateClock(const HighsTimerClock& hipdlp_timer_clock) {
114129
const std::vector<HighsInt> hipdlp_clock_list{
115130
kHipdlpClockMatrixMultiply, kHipdlpClockMatrixTransposeMultiply,
116-
kHipdlpClockProjection, kHipdlpClockStepSizeAdjustment
131+
kHipdlpClockProjectX, kHipdlpClockProjectY, kHipdlpClockStepSizeAdjustment
117132
};
118133
reportHipdlpClockList("HipdlpIterUpd", hipdlp_clock_list, hipdlp_timer_clock,
119134
kHipdlpClockIterateUpdate);
120135
};
121136

122137
void reportHipdlpAverageIterateClock(const HighsTimerClock& hipdlp_timer_clock) {
123138
const std::vector<HighsInt> hipdlp_clock_list{
139+
kHipdlpClockAverageIterateUpdateX,
140+
kHipdlpClockAverageIterateUpdateY,
141+
kHipdlpClockAverageIterateComputeX,
142+
kHipdlpClockAverageIterateComputeY,
124143
kHipdlpClockAverageIterateMatrixMultiply,
125144
kHipdlpClockAverageIterateMatrixTransposeMultiply
126145
};

highs/pdlp/HiPdlpWrapper.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ HighsStatus solveLpHiPdlp(const HighsOptions& options, HighsTimer& timer,
7979
pdlp_solution.row_dual.data(), lp.num_row_);
8080
pdlp.reportHipdlpTimer();
8181

82-
pdlp.solveReturn();
8382
// --- Print Summary ---
8483
pdlp.logSummary();
8584

0 commit comments

Comments
 (0)