1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
// SPDX-FileCopyrightText: Copyright Contributors to the Kokkos project
#include <iostream>
#include <sstream>
#include <Kokkos_Macros.hpp>
// #define USE_MPI
#if defined(USE_MPI)
#include <mpi.h>
#endif
#include <Kokkos_Core.hpp>
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
int main(int argc, char** argv) {
std::ostringstream msg;
(void)argc;
(void)argv;
#if defined(USE_MPI)
MPI_Init(&argc, &argv);
int mpi_rank = 0;
MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank);
msg << "MPI rank(" << mpi_rank << ") ";
#endif
Kokkos::initialize(argc, argv);
msg << "{" << std::endl;
if (Kokkos::hwloc::available()) {
msg << "hwloc( NUMA[" << Kokkos::hwloc::get_available_numa_count()
<< "] x CORE[" << Kokkos::hwloc::get_available_cores_per_numa()
<< "] x HT[" << Kokkos::hwloc::get_available_threads_per_core() << "] )"
<< std::endl;
}
Kokkos::print_configuration(msg);
msg << "}" << std::endl;
std::cout << msg.str();
Kokkos::finalize();
#if defined(USE_MPI)
MPI_Finalize();
#endif
return 0;
}
|