首页 > 解决方案 > 更改makefile中变量的值

问题描述

因此,我尝试使用OMP_NUM_THREADS更改 openMP 中线程的值。当我在提示中键入export OMP_NUM_THREADS=value时,它​​工作正常,它会更改线程数,但是当我尝试在 makefile 中执行此操作时,它不起作用。我的生成文件:

run:
export OMP_NUM_THREADS=4
./cowichan_openmp vecdiff >> out

标签: c++makefileopenmp

解决方案


配方的每一行都在一个单独的 shell 中运行。因此,在这种情况下,您正在运行一个 shell,设置OMP_NUM_THREADS,然后退出该 shell 并运行另一个(没有该变量)。

您可以将变量定义和调用cowichan_openmp放在同一行:

run:
  OMP_NUM_THREADS=4 ./cowichan_openmp vecdiff >> out

推荐阅读