【发布时间】:2021-07-10 04:04:36
【问题描述】:
对于包括 openmp,这很有效:
#ifdef _OPENMP
#include <omp.h>
#endif
我也希望以这种方式包含 MPI;所以我写了这个:
#ifdef MPI
#include <mpi.h>
#endif
但这不起作用。不能以同样的方式包含 MPI 吗?
【问题讨论】:
-
OpenMP 是该语言的扩展(它通常需要一个额外的标志,例如
-fopenmp),因此编译器会意识到它并定义了_OPENMP宏等。 MPI 只是一个库,编译器不知道它,因此它无法定义临时宏。您可能可以通过破解 MPI 包装器(mpicc和朋友)来实现这一点,但这不是可移植的。
标签: mpi