Skip to content

Commit 28f7957

Browse files
committed
mcf timing
1 parent b28f3c2 commit 28f7957

File tree

2 files changed

+27
-19
lines changed

2 files changed

+27
-19
lines changed

apps/MCF/benchmark.cmd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ rem Flag to indicate whether to start processing files
2121
set start_processing=0
2222

2323
rem Define the file name to start processing from
24-
set start_file=C:\Github\RXMesh\input\SI\bell_x1-complete_with_vane-smooth.obj
24+
set start_file=C:\Github\RXMesh\input\SI\greek-slave-plaster-cast-master-geometry.obj
2525

2626
rem Loop over each directory
27-
for %%d in (%input_dir4% %input_dir1% %input_dir2% %input_dir3%) do (
27+
for %%d in (%input_dir1% %input_dir2% %input_dir3% %input_dir4%) do (
2828
for %%f in (%%d\*.obj) do (
2929
echo %%f
3030
if not "!start_processing!"=="1" (
@@ -34,8 +34,8 @@ for %%d in (%input_dir4% %input_dir1% %input_dir2% %input_dir3%) do (
3434
)
3535
) else (
3636
if exist "%%f" (
37-
echo %exe% -input "%%f" -device_id %device_id% -perm_method symamd
38-
%exe% -input "%%f" -device_id %device_id% -perm_method symamd
37+
echo %exe% -input "%%f" -device_id %device_id% -perm nstdis
38+
%exe% -input "%%f" -device_id %device_id% -perm nstdis
3939
)
4040
)
4141
)

apps/MCF/mcf_cusolver_chol.cuh

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,10 @@ void mcf_cusolver_chol(rxmesh::RXMeshStatic& rx,
224224
RXMESH_INFO("permute_alloc took {} (ms), {} (ms)",
225225
timer.elapsed_millis(),
226226
gtimer.elapsed_millis());
227-
report.add_member("permute_alloc", timer.elapsed_millis());
228-
total_time += timer.elapsed_millis();
227+
report.add_member(
228+
"permute_alloc",
229+
std::max(timer.elapsed_millis(), gtimer.elapsed_millis()));
230+
total_time += std::max(timer.elapsed_millis(), gtimer.elapsed_millis());
229231

230232
timer.start();
231233
gtimer.start();
@@ -235,8 +237,9 @@ void mcf_cusolver_chol(rxmesh::RXMeshStatic& rx,
235237
RXMESH_INFO("permute took {} (ms), {} (ms)",
236238
timer.elapsed_millis(),
237239
gtimer.elapsed_millis());
238-
report.add_member("permute", timer.elapsed_millis());
239-
total_time += timer.elapsed_millis();
240+
report.add_member(
241+
"permute", std::max(timer.elapsed_millis(), gtimer.elapsed_millis()));
242+
total_time += std::max(timer.elapsed_millis(), gtimer.elapsed_millis());
240243

241244

242245
timer.start();
@@ -247,8 +250,10 @@ void mcf_cusolver_chol(rxmesh::RXMeshStatic& rx,
247250
RXMESH_INFO("analyze_pattern took {} (ms), {} (ms)",
248251
timer.elapsed_millis(),
249252
gtimer.elapsed_millis());
250-
report.add_member("analyze_pattern", timer.elapsed_millis());
251-
total_time += timer.elapsed_millis();
253+
report.add_member(
254+
"analyze_pattern",
255+
std::max(timer.elapsed_millis(), gtimer.elapsed_millis()));
256+
total_time += std::max(timer.elapsed_millis(), gtimer.elapsed_millis());
252257

253258

254259
timer.start();
@@ -259,9 +264,10 @@ void mcf_cusolver_chol(rxmesh::RXMeshStatic& rx,
259264
RXMESH_INFO("post_analyze_alloc took {} (ms), {} (ms)",
260265
timer.elapsed_millis(),
261266
gtimer.elapsed_millis());
262-
report.add_member("post_analyze_alloc", timer.elapsed_millis());
263-
total_time += timer.elapsed_millis();
264-
267+
report.add_member(
268+
"post_analyze_alloc",
269+
std::max(timer.elapsed_millis(), gtimer.elapsed_millis()));
270+
total_time += std::max(timer.elapsed_millis(), gtimer.elapsed_millis());
265271

266272
timer.start();
267273
gtimer.start();
@@ -271,8 +277,9 @@ void mcf_cusolver_chol(rxmesh::RXMeshStatic& rx,
271277
RXMESH_INFO("factorize took {} (ms), {} (ms)",
272278
timer.elapsed_millis(),
273279
gtimer.elapsed_millis());
274-
report.add_member("factorize", timer.elapsed_millis());
275-
total_time += timer.elapsed_millis();
280+
report.add_member(
281+
"factorize", std::max(timer.elapsed_millis(), gtimer.elapsed_millis()));
282+
total_time += std::max(timer.elapsed_millis(), gtimer.elapsed_millis());
276283

277284

278285
timer.start();
@@ -283,8 +290,9 @@ void mcf_cusolver_chol(rxmesh::RXMeshStatic& rx,
283290
RXMESH_INFO("solve took {} (ms), {} (ms)",
284291
timer.elapsed_millis(),
285292
gtimer.elapsed_millis());
286-
report.add_member("solve", timer.elapsed_millis());
287-
total_time += timer.elapsed_millis();
293+
report.add_member(
294+
"solve", std::max(timer.elapsed_millis(), gtimer.elapsed_millis()));
295+
total_time += std::max(timer.elapsed_millis(), gtimer.elapsed_millis());
288296

289297
report.add_member("total_time", total_time);
290298

@@ -293,10 +301,10 @@ void mcf_cusolver_chol(rxmesh::RXMeshStatic& rx,
293301
// move the results to the host
294302
// if we use LU, the data will be on the host and we should not move the
295303
// device to the host
296-
//X_mat->move(rxmesh::DEVICE, rxmesh::HOST);
304+
// X_mat->move(rxmesh::DEVICE, rxmesh::HOST);
297305

298306
// copy the results to attributes
299-
//coords->from_matrix(X_mat.get());
307+
// coords->from_matrix(X_mat.get());
300308

301309
#if USE_POLYSCOPE
302310
// rx.get_polyscope_mesh()->updateVertexPositions(*coords);

0 commit comments

Comments
 (0)