マルチコアを有効利用するプログラミングについて
マルチコアを有効に利用するプログラムを作りたいと考えています。
マルチコア、マルチスレッドが、よく理解できていないところもありますが、ご容赦お願いいたします。
OSはWindows XP、開発環境はVisual C++ 6.0です。
1.マルチスレッド対応すれば、マルチコアを有効利用できるのでしょうか?(複数のコアの使用率を均等に上手く割り振ってくれるのでしょうか)
2.Windows APIにSetThreadAffinityMask()、SetThreadIdealProcessor()なるAPIがあるのですが、これらを使用しないと、割り振れないものなのでしょうか?
3.少し調べたのですが、OpenMP、MPIなる技術があるようなのですが、このような特殊な処理を加えないとダメなのでしょうか。
個人的には、マルチスレッド対応さえすれば、あとはOS(Windows)が上手くやってくれれば、、、と思っているのですが。
お礼
ありがとうございました!