如何在 Makefiles / GCC 中启用 OpenMP 支持

How to enable OpenMP support in the Makefiles / GCC

我正在尝试通过为两个不同的项目使用 OpenMP 来并行化 for 循环,但 OpenMP 的 Makefile 存在问题:ignoring #pragma omp parallelize for。所以我需要更改 Makefile 以便它可以支持 OpenMP 但我不知道如何。

all: lbm 

lbm: lbm.c main.c 
    gcc -o lbm lbm.c main.c -lm
clean:
    rm -f lbm *.o

all: mcf 

mcf: implicit.c  mcfutil.c  pbeampp.c  pflowup.c   pstart.c   treeup.c mcf.c       output.c   pbla.c     psimplex.c  readmin.c
    gcc -o mcf *.c 
clean:
    rm -f mcf *.o

gcc 的每个调用添加 -fopenmp 选项。

对于 gcc,OpenMP 是通过 -fopenmp 标志启用的。将此添加到 gcc 的每次调用中。不同的编译器可能使用不同的标志,在这些情况下请查阅编译器手册。为确保更改有效,运行 make clean && make all 在编辑 Makefile.

之后