OpenMPはどのように並列セクション内で宣言されたデータを扱うのですか? C99の前に私はprivate()節を使ってスレッドローカルデータを指定します。 int i, x;
#pragma omp parallel for private(x)
for (i=0; i<n; i++) {
x=i;
}
C99ではデータとコードを混在させることができましたので、変数を使用する
なぜこのエラーが発生しますか?何をすればよいですか? error: firstprivate variable 'j' is private in outer context
void foo() {
int i;
int j = 10;
#pragma omp for firstprivate(j)
for (i = 0; i < 10; i++)
はコードです。並列領域の開始時に、myIdはプライベートに設定され、すべてのスレッドが正しいスレッドIDを持つようにします。 set_affinity()は、どのスレッドがどのコアで動作するかを制御します。私が持っている問題は、#pragma omp for schedule(static、1)です。 ブロック: if (myId<myConstant)
{
#pragma o