|
25 | 25 | #endif
|
26 | 26 |
|
27 | 27 | #ifdef KRIPKE_USE_CALIPER
|
| 28 | +#include <adiak.hpp> |
28 | 29 | #include <caliper/cali.h>
|
29 | 30 | #endif
|
30 | 31 |
|
@@ -459,20 +460,33 @@ int main(int argc, char **argv) {
|
459 | 460 | */
|
460 | 461 |
|
461 | 462 | #ifdef KRIPKE_USE_CALIPER
|
462 |
| - cali_set_global_int_byname("kripke.nx", vars.nx); |
463 |
| - cali_set_global_int_byname("kripke.ny", vars.ny); |
464 |
| - cali_set_global_int_byname("kripke.nz", vars.nz); |
465 |
| - |
466 |
| - cali_set_global_int_byname("kripke.groups", vars.num_groups); |
467 |
| - cali_set_global_int_byname("kripke.legendre_order", vars.legendre_order); |
| 463 | + void* adiak_mpi_comm_ptr = nullptr; |
| 464 | +#ifdef KRIPKE_USE_MPI |
| 465 | + MPI_Comm adiak_mpi_comm = MPI_COMM_WORLD; |
| 466 | + adiak_mpi_comm_ptr = &adiak_mpi_comm; |
| 467 | +#endif |
| 468 | + |
| 469 | + adiak::init(adiak_mpi_comm_ptr); |
| 470 | + |
| 471 | + adiak::collect_all(); |
| 472 | + |
| 473 | + adiak::value("compiler", KRIPKE_CXX_COMPILER); |
| 474 | + adiak::value("compiler_flags", KRIPKE_CXX_FLAGS); |
| 475 | + |
| 476 | + adiak::value("zones", std::array<int,3> { vars.nx, vars.ny, vars.nz }); |
| 477 | + adiak::value("procs", std::array<int,3> { vars.npx, vars.npy, vars.npz }); |
| 478 | + |
| 479 | + adiak::value("iterations", vars.niter); |
| 480 | + adiak::value("groups", vars.num_groups); |
| 481 | + adiak::value("legendre_order", vars.legendre_order); |
468 | 482 |
|
469 | 483 | if (vars.parallel_method == PMETHOD_SWEEP)
|
470 |
| - cali_set_global_string_byname("kripke.parallel_method", "sweep"); |
| 484 | + adiak::value("parallel_method", "sweep"); |
471 | 485 | else if (vars.parallel_method == PMETHOD_BJ)
|
472 |
| - cali_set_global_string_byname("kripke.parallel_method", "block jacobi"); |
| 486 | + adiak::value("parallel_method", "block jacobi"); |
473 | 487 |
|
474 |
| - cali_set_global_string_byname("kripke.architecture", archToString(vars.al_v.arch_v).c_str()); |
475 |
| - cali_set_global_string_byname("kripke.layout", layoutToString(vars.al_v.layout_v).c_str()); |
| 488 | + adiak::value("architecture", archToString(vars.al_v.arch_v)); |
| 489 | + adiak::value("layout", layoutToString(vars.al_v.layout_v)); |
476 | 490 | #endif
|
477 | 491 |
|
478 | 492 | // Allocate problem
|
@@ -515,6 +529,14 @@ int main(int argc, char **argv) {
|
515 | 529 | printf(" Number of unknowns: %lu\n", (unsigned long) num_unknowns);
|
516 | 530 | }
|
517 | 531 |
|
| 532 | +#ifdef KRIPKE_USE_CALIPER |
| 533 | + adiak::value("throughput", throughput); |
| 534 | + adiak::value("grind_time", grind_time); |
| 535 | + adiak::value("sweep_eff", sweep_eff); |
| 536 | + adiak::value("num_unknowns", num_unknowns); |
| 537 | + |
| 538 | + adiak::fini(); |
| 539 | +#endif |
518 | 540 | // Cleanup and exit
|
519 | 541 | Kripke::Core::Comm::finalize();
|
520 | 542 |
|
|
0 commit comments