如何在 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
.
之后
我正在尝试通过为两个不同的项目使用 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
.