如何使用 openMP 为 MPI 程序制作 makefile?

How to make makefile for MPI program with openMP?

我完全没有使用 OpenMP 为 MPI 程序生成文件的经验。我通常在命令提示符下 运行 为

mpicc main.c -fopenmp -o Out
mpirun -np 4 Out

所以现在我需要使用 makefile,我的理解是我们使用 makefile 以更方便的方式 运行 命令,所以逻辑上我们应该在 makefile 中键入相同的命令,对吗?所以我的 makefile 现在看起来像这样

all: 
    mpicc main.c -fopenmp -o Out
    mpirun -np 4 Out

是否有关于如何为初学者创建 makefile 的分步指南?

Makefile 通常用于 build/compile、测试、安装和卸载程序和代码片段。使用它来实际 运行 程序并不常见,但是是的,您可以做到。您可以为其创建特定规则,例如 run

CC=mpicc
CFLAGS=-fopenmp
EXE=./Out
SRCS=main.c

all:
    $(CC) $(CFLAGS) $(SRCS) -o $(EXE)

run:
    mpirun -np 4 $(EXE)

所以你可以只用 make 编译它,然后用 make run

调用它

注意: 规则中命令前面的 space 必须是制表符

Is there a step by step guide on how to create a makefile for absolute beginner?

你可以看看this page from University of Oxford