C で基本的な OpenMP 機能の使用を開始しようとしています。「omp parallel for」の基本的な理解から、次のループの反復をスレッド間で分散し、同時に実行する必要があると思います。私が得ている出力は次のとおりです。以下のコード。私のハローワールドの例に欠けている微妙なものはありますか?
omp スレッド 0 からの Hello World omp スレッド 0 からの Hello World omp スレッド 0 からの Hello World omp スレッド 0 からの Hello World omp スレッド 0 からの Hello World omp スレッド 0 からの Hello World など.
int HelloFunc()
{
int i;
int numthreads = 8;
#pragma omp parallel for default(none) num_threads(numthreads) private(i)
for (i = 0; i < 100; i++)
{
int tid = omp_get_thread_num();
printf("Hello world from omp thread %d\n", tid);
}
return -1;
}
int main()
{
int result = HelloFunc();
}