#include #include #include #include int main(int argc, char *argv[]) { int rank, size, len, core, myid, nthreads; char name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Get_processor_name(name, &len); #pragma omp parallel private(myid,nthreads, core) { nthreads = omp_get_num_threads(); myid = omp_get_thread_num(); core= sched_getcpu(); printf("rank %d of %d on %s core %d", rank, size, name, core); printf(" (thread id= %d of %d)\n",myid, nthreads); } MPI_Finalize(); }