Skip to content

Commit 9241254

Browse files
committed
Use Adiak. Fix CMake (for external Caliper)
1 parent db920c1 commit 9241254

File tree

2 files changed

+37
-20
lines changed

2 files changed

+37
-20
lines changed

CMakeLists.txt

+5-10
Original file line numberDiff line numberDiff line change
@@ -275,20 +275,15 @@ if (ENABLE_CALIPER)
275275
include_directories(tpl/caliper/include)
276276
else()
277277
find_package(caliper REQUIRED)
278-
278+
find_package(adiak REQUIRED)
279279
endif()
280280

281-
blt_register_library(NAME caliper
282-
INCLUDES ${caliper_INCLUDE_DIR}
283-
LIBRARIES caliper)
281+
# blt_register_library(NAME caliper
282+
# INCLUDES ${caliper_INCLUDE_DIR}
283+
# LIBRARIES caliper)
284284

285285
set(KRIPKE_USE_CALIPER TRUE)
286-
287-
list(APPEND KRIPKE_DEPENDS caliper)
288-
289-
if (ENABLE_MPI)
290-
list(APPEND KRIPKE_DEPENDS caliper-mpi)
291-
endif()
286+
list(APPEND KRIPKE_DEPENDS caliper adiak::adiak)
292287
endif()
293288

294289
message(STATUS "Caliper support is ${KRIPKE_USE_CALIPER}")

src/kripke.cpp

+32-10
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#endif
2626

2727
#ifdef KRIPKE_USE_CALIPER
28+
#include <adiak.hpp>
2829
#include <caliper/cali.h>
2930
#endif
3031

@@ -459,20 +460,33 @@ int main(int argc, char **argv) {
459460
*/
460461

461462
#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);
468482

469483
if (vars.parallel_method == PMETHOD_SWEEP)
470-
cali_set_global_string_byname("kripke.parallel_method", "sweep");
484+
adiak::value("parallel_method", "sweep");
471485
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");
473487

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));
476490
#endif
477491

478492
// Allocate problem
@@ -515,6 +529,14 @@ int main(int argc, char **argv) {
515529
printf(" Number of unknowns: %lu\n", (unsigned long) num_unknowns);
516530
}
517531

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
518540
// Cleanup and exit
519541
Kripke::Core::Comm::finalize();
520542

0 commit comments

Comments
 (0)