小编j s*_*erg的帖子

使用 OpenMP 和 MPI 混合的“hello world”C 程序

我正在尝试创建一个同时使用 OpenMP 和 MPI 的“hello world”程序。我从这里的例子开始

http://www.slac.stanford.edu/comp/unix/farm/mpi_and_openmp.html

但我无法重现输出。这是我正在使用的确切来源:

#include <stdio.h>
#include <mpi.h>
#include <omp.h>

int main(int argc, char *argv[]) {
  int numprocs, rank, namelen;
  char processor_name[MPI_MAX_PROCESSOR_NAME];
  int iam = 0, np = 1;

  MPI_Init(&argc, &argv);
  MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
  MPI_Comm_rank(MPI_COMM_WORLD, &rank);
  MPI_Get_processor_name(processor_name, &namelen);

  //omp_set_num_threads(4);

#pragma omp parallel default(shared) private(iam, np)
  {
    np = omp_get_num_threads();
    iam = omp_get_thread_num();
    printf("Hello from thread %d out of %d from process %d out of %d on %s\n",
           iam, np, rank, numprocs, processor_name);
  }

  MPI_Finalize();
}
Run Code Online (Sandbox Code Playgroud)

我使用的是运行 Ubuntu …

c mpi openmp

5
推荐指数
1
解决办法
3701
查看次数

标签 统计

c ×1

mpi ×1

openmp ×1