作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 MPI 和 OpenMP 的 C 程序。为了在Windows系统上编译这样的程序,我下载并安装了MinGW提供的gcc编译器。使用这个编译器,我可以使用 gcc 的关键 -fopenmp
来使用 OpenMP 编译和执行 C 程序。这样的程序运行起来没有问题。为了使用 MPI 编译和执行 C 程序,我下载并安装了 MPICH2。现在我可以毫无问题地编译和运行这样的程序,为 MinGW 提供的 gcc 指定附加参数。但是当我想编译并运行一个同时使用 OpenMP 和 MPI 的程序时,我遇到了问题。我为 gcc 编译器指定了键 -fopenmp
和 MPI 程序的键。编译器没有给我任何错误。我尝试通过 MPICH2 提供的 mpiexec
启动我的程序。我的程序不想工作(这是一个 HelloWorld 程序,它没有打印任何内容)。请帮助我正确编译和启动此类程序。
这是我的 HelloWorld 程序,它不会产生任何输出。
#include <stdio.h>
#include <mpi.h>
int main(int argc, char ** argv)
{
int thnum, thtotal;
int pid, np;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&pid);
MPI_Comm_size(MPI_COMM_WORLD,&np);
printf("Sequental %d out of %d!\n",pid,np);
MPI_Barrier(MPI_COMM_WORLD);
#pragma omp parallel private(thnum,thtotal)
{
thnum = omp_get_thread_num();
thtotal = omp_get_num_threads();
printf("parallel: %d out of %d from proc %d out of %d\n",thnum,thtotal,pid,np);
}
MPI_Barrier(MPI_COMM_WORLD);
MPI_Finalize();
return 0;
}
最佳答案
您可以使用带有 -openmp
选项的 mpicc
编译器。例如,
mpicc -openmp hello.c -o hello
关于c - 如何在 Windows 上使用 MPI 和 OpenMP 编译和执行 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12795548/
我是一名优秀的程序员,十分优秀!