簡體   English   中英

openMP VS2017 不起作用

[英]openMP VS2017 doesn't work

當我嘗試在我的 VS 2017 c++ 程序中使用 openMP 時,我去

屬性 -> C/C++ -> 允許 OpenMP(或類似的東西):是的。

但是,我轉到我的主要內容,只寫:

void main(){
   #pragma omp parallel for
   for (int n = 0; n<10; ++n)
   {
        printf(" %d", n);
   }
   printf(".\n");
 }

如在此處找到的示例。

預期結果是(在示例中): 0 5 6 7 1 8 2 3 4 9. 意味着使用了並行性。 就我而言,它每次都打印 0 1 2 3 4 5 6 7 8 9.(即使我使用#pragma omp parallel num_threads(8) ),這意味着沒有使用並行性。 有什么我想念的嗎?

前導括號{不能位於#pragma omp parallel行上,這是一個預處理器指令。

#pragma omp parallel
{
   std::cout << "Hello World\n";
}

反而。


請注意,如果沒有此語法,則在沒有 OpenMP 支持(忽略#pragma omp指令)的情況下編譯時,程序將無效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM