gpt4 book ai didi

c++ - Makefile 忽略命令 export OMP_NUM_THREADS

转载 作者:行者123 更新时间:2023-11-28 05:55:47 32 4
gpt4 key购买 nike

我正在使用 openMP 编译并运行一个 C++ 程序,生成文件如下

all:        
g++ -std=c++0x -O2 -fopenmp main.cpp body.cpp -o test
export OMP_NUM_THREADS=4
./test

变量 OMP_NUM_THREADS 被忽略,而如果我在终端中手动给出三个命令(以相同的顺序),变量被考虑在内并且程序以所需的节点数运行。从终端运行所有内容的效果是 OMP_NUM_THREAD 变量是之前手动设置的任何值。在程序本身中,该变量未被修改,因此程序仅以可用节点数运行。

非常感谢您的帮助!

附言。有人在链接/文档/视频上有关于 bash 编程的新手介绍的好提示吗?

最佳答案

将您的变量赋值和导出指令从目标部分(“全部”)移动到定义部分,如下所示:

OMP_NUM_THREADS=4
export OMP_NUM_THREADS

all:
g++ -std=c++0x -O2 -fopenmp main.cpp body.cpp -o test
./test

关于c++ - Makefile 忽略命令 export OMP_NUM_THREADS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34177010/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com