[英]Change value of a variable in makefile
因此,我嘗試使用OMP_NUM_THREADS更改 openMP 中線程的值。 當我在提示中鍵入export OMP_NUM_THREADS=value 時,它工作正常,它會更改線程數,但是當我嘗試在 makefile 中執行此操作時,它不起作用。 我的生成文件:
run:
export OMP_NUM_THREADS=4
./cowichan_openmp vecdiff >> out
配方的每一行都在單獨的 shell 中運行。 因此,在這種情況下,您正在運行一個 shell,設置OMP_NUM_THREADS
,然后退出該 shell 並運行另一個 shell(沒有該變量)。
您可以將變量定義和對cowichan_openmp
的調用放在同一行:
run:
OMP_NUM_THREADS=4 ./cowichan_openmp vecdiff >> out
原因是,每一行都在一個新的子 shell 中執行。 另請參閱此處。
你可以試試:
run: export OMP_NUM_THREADS=4 ./cowichan_openmp vecdiff >> out
或在另一個答案中:
run: OMP_NUM_THREADS=4 ./cowichan_openmp vecdiff >> out
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.