私は、次のコードを使用してC++プログラムでの並列効果を取得しようとしています:C++ OpenMPプログラム
#include<iostream>
using namespace std;
int main()
{
#pragma omp parallel sections
{
#pragma omp section
{
cout<<"Hello";
cout<<" ";
cout<<"World";
cout<<endl;
}
#pragma omp section
{
cout<<"H";
cout<<"ello";
cout<<" W";
cout<<"orld";
cout<<endl;
}
#pragma omp section
cout<<"Hello"<<" "<<"World"<<endl;
#pragma omp section
{ cout<<"Hello ";
cout<<"World"<<endl;
}
}
return 0;
}
を私はこのプログラムを何度も実行していた。私が原因並列処理にインターリーブされた出力を期待していた。..
はしかし、私は実行するたびに、このプログラムは、出力は次のとおりです。
Hello World
Hello World
Hello World
Hello World
私が何か間違ったことをやっていますか?
おかげ
どのように多くのコア/プロセッサ? –
4つのコア...そして、1つのコアだけにその効果を見たいのですが? – Betamoo
あなたのCPUがハイパースレッディングしない限り、* 1つのコアには効果がありません。 –