我嘗試在 openmp 中運行用于調度的示例,但它是按順序作業的。
omp_set_num_threads(4);
#pragma omp parallel for schedule(static, 3)
for (int i = 0; i < 20; i )
{
printf("Thread %d is running number %d\n", omp_get_thread_num(), i);
}
結果:
Thread 0 is running number 0
Thread 0 is running number 1
Thread 0 is running number 2
Thread 0 is running number 3
Thread 0 is running number 4
Thread 0 is running number 5
Thread 0 is running number 6
Thread 0 is running number 7
Thread 0 is running number 8
Thread 0 is running number 9
Thread 0 is running number 10
Thread 0 is running number 11
Thread 0 is running number 12
Thread 0 is running number 13
Thread 0 is running number 14
Thread 0 is running number 15
Thread 0 is running number 16
Thread 0 is running number 17
Thread 0 is running number 18
Thread 0 is running number 19
如何讓代碼并行作業?
我正在使用 Microsoft Visual Studio 2017。
uj5u.com熱心網友回復:
在 Microsoft Visual Studio 中,默認情況下禁用 OpenMP 支持。您可以使用/openmp編譯器選項啟用它。
可以在專案屬性中啟用此選項,在C/C -> Language-> 下Open MP Support。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/336687.html
上一篇:for回圈創建額外的陣列作為回報
下一篇:從組合框類中按索引獲取值
