- - PR -
マルチプロセッサ対応にしたい・・・
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-04 18:16
VC++でプログラミングし、それをマルチプロセッサのマシンで動かすと
CPUの使用率が25%までしかあがりません。 100%フルで動かしたいのですがどうすれば良いかご存知の方はいませんか? Visual C++の設定なのでしょうか? プログラムの組み方なのでしょうか? ちなみに「午後のこ〜だ」などマルチプロセッサ対応のアプリを動かすと ちゃんとCPU100%使用します。 このようにしたいのです・・・。 よろしくお願いします。 | ||||
|
投稿日時: 2004-10-04 20:29
プログラムの組み方の問題。ひとつのスレッドが同時に二つのCPUで実行されることは無い。したがって2以上のCPUを持つPCで100%処理能力を使い切りたければ、最低限CPUの数よりも多いスレッドに並列して処理を行う必要がある。 もちろん闇雲にスレッドを増やせばよい言うものでもない。Aスレッドの処理結果をBスレッドが待っていては実行効率が落ちる。Aスレッドが参照するメモリ領域を、Bスレッドが書き換えたりすると、メモリキャッシュヒット率が下がってパフォーマンスが落ちる。それぞれのスレッドはお互いにできるだけ干渉しないのが望ましい。 |
1