私はopenMPを使用する同様のC++プログラムを持っています
#pragma omp parallel for private(i)
for (j=0;j<NUM_STEPS_J) {
for (i=0;i<NUM_STEPS_I;i++) {
std::cout << "Print some information about step i" << std::endl;
}
std::cout << "Check of item " << j << " finished" << std::endl;
}
私の場合、正しい出力を提供する最良の方法は何ですか?
「cout」の代わりに「printf」を使用すると、この問題が解決することはわかっています。
しかし、「cout」を「printf」に変更すると、プログラムの実行時間が約 80 秒から約 120 秒に増加しました。プログラムの生産性に十分な影響を与えていると思います。
「printf」なしでこの問題を解決する最良の方法は何ですか?
出力中に何らかの方法で「cout」機能をロックすることは可能ですか?