天天看點

Visual Studio 2010中使用OpenMP

在VS2010中項目的屬性對話框中,左邊框裡的“配置屬性”下的“C/C++”下的“語言”頁裡,将OpenMP支援改為“是/(OpenMP)”就可以支援OpenMP了。

Visual Studio 2010中使用OpenMP

先看一個簡單的使用了OpenMP程式 #include "stdafx.h" #include "omp.h"

#include<cstdlib> int _tmain(int argc, _TCHAR* argv[])

{ omp_set_num_threads(2);

 #pragma omp parallel for

     for (int i = 0; i < 10; i++ )

     {

         printf("i = %d\n", i);

     }

  system("pause");

 return 0;

}

這個程式執行後列印出以下結果: i = 0

i = 1

i = 2

i = 8

i = 9

i = 3

i = 4

i = 5

i = 6

i = 7

請按任意鍵繼續. . .   可見for 循環語句中的内容被并行執行了。(每次運作的列印結果可能會有差別) 這裡要說明一下, #pragma  omp parallel for  這條語句是用來指定後面的for循環語句變成并行執行的,當然for循環裡的内容必須滿足可以并行執行,即每次循環互不相幹,後一次循環不依賴于前面的循環。

繼續閱讀