diff --git a/laghos.cpp b/laghos.cpp index a73d4b9c..78208376 100644 --- a/laghos.cpp +++ b/laghos.cpp @@ -139,6 +139,16 @@ int main(int argc, char *argv[]) bool enable_nc = true; + #ifdef LAGHOS_USE_CALIPER + cali_config_set("CALI_CALIPER_ATTRIBUTE_DEFAULT_SCOPE", "process"); + CALI_CXX_MARK_FUNCTION; + + MPI_Comm adiak_mpi_comm = MPI_COMM_WORLD; + void* adiak_mpi_comm_ptr = &adiak_mpi_comm; + adiak::init(adiak_mpi_comm_ptr); + adiak::collect_all(); + #endif + OptionsParser args(argc, argv); args.AddOption(&dim, "-dim", "--dimension", "Dimension of the problem."); args.AddOption(&mesh_file, "-m", "--mesh", "Mesh file to use."); @@ -237,7 +247,54 @@ int main(int argc, char *argv[]) if (Mpi::Root()) { args.PrintUsage(cout); } return 1; } - if (Mpi::Root()) { args.PrintOptions(cout); } + + if (Mpi::Root()) + { + args.PrintOptions(cout); + + #ifdef LAGHOS_USE_CALIPER + adiak::value("dimension", dim); + adiak::value("mesh", std::string(mesh_file)); + adiak::value("elem-per-mpi", elem_per_mpi); + adiak::value("xelems", nx); + adiak::value("yelems", ny); + adiak::value("zelems", nz); + adiak::value("blast-energy", blast_energy); + adiak::value("xwidth", (double)Sx); + adiak::value("ywidth", (double)Sy); + adiak::value("zwidth", (double)Sz); + adiak::value("refine-serial", rs_levels); + adiak::value("refine-parallel", rp_levels); + adiak::value("problem", problem); + adiak::value("order-kinematic", order_v); + adiak::value("order-thermo", order_e); + adiak::value("order-intrule", order_q); + adiak::value("ode-solver", ode_solver_type); + adiak::value("t-final", t_final); + adiak::value("cfl", cfl); + adiak::value("cg-tol", cg_tol); + adiak::value("ftz-tol", ftz_tol); + adiak::value("delta-tol", delta_tol); + adiak::value("cg-max-steps", cg_max_iter); + adiak::value("max-steps", max_tsteps); + adiak::value("partial-assembly", (int)p_assembly); + adiak::value("impose-viscosity", (int)impose_visc); + adiak::value("visualization", (int)visualization); + adiak::value("visualization-steps", vis_steps); + adiak::value("visit", (int)visit); + adiak::value("print", (int)gfprint); + adiak::value("outputfilename", std::string(basename)); + adiak::value("device", std::string(device)); + adiak::value("checks", (int)check); + adiak::value("exact-error", (int)check_exact_sedov); + adiak::value("mem", (int)mem_usage); + adiak::value("fom", (int)fom); + adiak::value("gpu-aware-mpi", (int)gpu_aware_mpi); + adiak::value("dev-pool-size", dev_pool_size); + adiak::value("conforming", (int)enable_nc); + adiak::value("dev", dev); + #endif + } if (check_exact_sedov) { @@ -247,16 +304,6 @@ int main(int argc, char *argv[]) MFEM_VERIFY(strncmp(mesh_file, "default", 7) == 0, "check: mesh_file"); } -#ifdef LAGHOS_USE_CALIPER - cali_config_set("CALI_CALIPER_ATTRIBUTE_DEFAULT_SCOPE", "process"); - CALI_CXX_MARK_FUNCTION; - - MPI_Comm adiak_mpi_comm = MPI_COMM_WORLD; - void* adiak_mpi_comm_ptr = &adiak_mpi_comm; - adiak::init(adiak_mpi_comm_ptr); - adiak::launchdate(); - adiak::jobsize(); -#endif #ifdef LAGHOS_USE_DEVICE_UMPIRE auto &rm = umpire::ResourceManager::getInstance();