我有如下一個C程序:如何使用openmp在c中執行一些for循環的任務並行化?
int a[10];
int b;
for(int i = 0; i < 10; i++)
function1(a[i]);
function1(b);
現在我想並行功能功能1,所有這些11層()的調用。我如何使用openmp來做到這一點?
我已經試過
#pragma omp parallel sections
{
#pragma omp section
#pragmal omp parallel for
for(int i = 0; i < 10; i++)
function1(a[i]);
#pragma omp section
function1(b);
}
但上面的代碼似乎並沒有工作。 編輯:請閱讀function1(b)作爲一些不同的功能,即功能2(b)。
你至少可以告訴我們你嘗試過什麼,它是如何失敗:) – ScarletAmaranth
@ScarletAmaranth,謝謝,我已經加了我的問題的努力。 – quartz
「似乎不起作用」是什麼意思?發生了什麼/沒有發生?你如何編寫代碼? – Mat