現在地 >> メニュー >> OpenMP >> OMP::HelloWorld >> OMP::HelloWorld2

問題


OMP::HelloWorldのプログラムを修正して、スレッド数を変更せよ。

答え


#include <omp.h>
#include <cstdio>

int main()
{

#pragma omp parallel num_threads(10)
{
printf("hello, OpenMP from %d of %d\n",
omp_get_thread_num(), omp_get_num_threads());
}


return 0;

}

メモ


スレッド数は実際のCPUの数よりも多くても少なくてもよい。

CPUの数よりも...

■ 少ないスレッド数 → 一部のCPUしか使われない。
■ 多いスレッド数 → 空いたCPUから適当に割り当ててゆく。


※注意
スレッドの数をCPUの数よりも増やしたからといって、
実行速度が速くなるわけではない。


なお、スレッド数の変更は
omp_set_num_threads(8);
#pragma omp parallel
{
 ・・・ ・・・
}

のように関数でも変更可能。

目次

― その他 ―

Wiki内検索

計測中...(07.10.8〜)

Save The World






▲よろしければ広告のクリックもお願いします


▲ランキングに参加しました

管理人/副管理人のみ編集できます