• 締切済み

パソコンの処理についての質問です

C言語で画像処理のプログラムを作成し実行したところ、一向に終わらないので、タスクマネージャで処理に使用しているCPUコアを調べてみたところ、コアが複数あるにも関わらず1つのコアでのみ処理を行っていて、時折別のコアに処理が全て移動している状態でした。 この状態から、全てのコアで同時に処理を行わせて処理速度を向上させることは出来ないのでしょうか? 質問がわかりにくいかもしれませんがよろしくお願いします。 スペックはwindows8 Intel(R)Core(TM)i7 CPU@3.85GHzでメモリは8GBです。

みんなの回答

  • wormhole
  • ベストアンサー率28% (1621/5657)
回答No.5

他の回答者の方々も書かれていますがマルチスレッドなりマルチプロセスなりで動作するようにプログラムを組む必要があります。また処理の内容によってはマルチスレッドやマルチプロセスにしても意味がない場合もあります(シーケンシャルに処理する必要があるものなど)。 で、一向に終わらないのは無限ループになってるとかそういうことはありませんか?

  • yakan9
  • ベストアンサー率54% (2202/4052)
回答No.4

> この状態から、全てのコアで同時に処理を行わせて処理速度を向上させることは出来ないのでしょうか? できないと思いますよ。 マルチタスク処理用にプログラムを作る必要があることをまず理解してください。 マルチタスク処理とは、並行処理ともよく言います。 スーパーコンピュータを効率よく処理するために、並行処理を利用します。 分かりやすくいえば、同じような式が10個あり、全てを解いた後、10個の答えから、また問題を解いていくといった複雑な処理過程を想像してください。 この10個の問題を解かせるのを並行処理せよという指令を出すようにプログラムを作らないとだめということです。 一般のプログラムは、10個の式を並べ、解けた答えのa~jの変数で再度式を組み立てて問題を解かせます。 この10個式を並べた後、これらは並行処理してよいという指令を出し、10個全ての答えが出揃うまで完了待ち合わせという処置をしないといけません。 一般には、シリアルユーザブルルーチンでプログラミングされています。 これは、CPU一台で順序良く処理していくことです。 OSのマルチタスク処理では、並行処理をかけられるように、タスク完了待ち合わせキューを作り、リエントラントルーチンにより制御できるような特殊なプログラム技術を使います。 分かりやすく言えば、各仕事毎にCPUを割り当てられるようにしておき、終り次第、その後処理をして、次の仕事にとりかかるといったことです。 よって、CPUが多いほど独立した処理を同時にやっていけ、全体的に効率よく仕事を処理できることになります。 これに準じた手法を導入し、完了待ち合わせの手法を取り入れたプログラムを作ることです。 コンピュータをある程度理解しておく必要がある技術を使います。

  • bardfish
  • ベストアンサー率28% (5029/17765)
回答No.3

処理を複数のコアに分散させて処理効率をあげるためにはそういうコーディングをする必要があります。 あなたが書いたコードを見ていないのでなんとも言えませんが、マルチコア対応にするためには一から書きなおしになるでしょう。 使用しているコンパイラもわかんないし… フリー版を使っているとしたらマルチスレッドはダメかもしんないし。

回答No.2

Intel(R)Core(TM)i7 CPU@3.85GHz そんなCPUがあるのでしょうか、ソフト開発するのにオーバークロックは?? >一向に終わらないので ブレークポイントは設定しないのでしょうか? マルチスレッド用にプログラムが記述されているのでしょうか? http://www.ncad.co.jp/~komata/c-kouza28.htm

回答No.1

マルチスレッドで処理をするようにプログラムは作ってあるの?

関連するQ&A

  • インテル製CPUの処理速度について。。。

    CPUの処理速度について教えてください。小生の理解ではCPUの処理速度 はクロック数で比較すればいいと理解しています。そこでなのですが 以下はインテル製の2つのCPUです。処理速度はどちらが速いの でしょうか?それともほぼ同等の処理速度なのでしょうか? (1)インテルCORE TM 2 QUAD Q9650 3GHz (2)インテルCORE TM 2 DUO E8400 3GHz 同じクロック数なので、同じ処理速度と思ったのですが、コア数が多い (1)の方がなんとなく処理速度が早いように思ったので、どなかたお詳しい方、教えて下さい。

  • 搭載されているCPUの調べ方

    Windows Server 2008 です。 このサーバのCPUの個数を教えて下さい。 「コンピュータ」アイコン右クリックで表示されるサーバのスペックの画面で プロセッサ: Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz 3.06GHz となってます。 このCPUのスペックを調べてみますと「2CPU」という事なんですが、タスクマネージャ → パフォーマンス の「CPU 使用率の履歴」を見るとグラフが4つ出ています。 という事は、2コア × 2CPU = 4 という事でCPUは2つ入っているのでは?と思うのですが、間違ってますか?

  • xeonのスレッド数

    使用しているPCのCPUがIntel(R) Xeon(TM) 3.00GHzらしいんですが,スレッド数・コア数はいくつなんでしょうか?Intelのホームページを見てもよくわかりませんでした. タスクマネージャからはCPUは2つみえます. よろしくお願いします.

  • CPUの処理能力について教えてください。

    CPUの処理能力について教えてください。 今現在使用しているノートパソコンのCPUは、 「Intel(R)Core(TM)2 Duo CPU P8600 @2.40GHz 2.40GHz」です。 新しくノートパソコンを買う予定なのですが、そのパソコンのCPUが「Intel(R)Core(TM)i3-380M」です。 どちらのCPUの処理能力が高いのでしょうか。 違うとしたら、どの程度違うのか教えて頂きたいのですが?

  • パソコンの処理を早くしたい

    こんにちは パソコンの処理速度を上げたいのでメモリを増幅しようと思っているのですが そこまでパソコンに詳しいわけではないので意見を聞かせてください。 現在のスペックが windows7 intel corei3 1.33GHz メモリが2G 64ビット タスクマネージャーでは CPUの使用率が40% メモリの使用率が1.60G となっているのですが これはメモリを増やせば多少は早くなるのでしょうか メモリは最大で8Gまで搭載できます。

  • インテルCPU性能比較

    現在、10年?ほど前より使用しているPCのCPUは ⓪Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz(PCの詳細情報)が入っています。 古くなってきたため、下記CPU内臓のPCを検討していますが、 ①②③は⓪と比べてどうでしょうか? ①インテル Core i3-12100 (3.3GHz-4.3GHz/4コア/8スレッド) ②インテル Core i5-12400 (2.5GHz-4.4GHz/6コア/12スレッド) ③インテル Core i7-12700 (2.10GHz-4.80GHz/12コア/20スレッド) 素人的には①②はコア数が減って遅くなったりするのかなと思ってしまいます。。 宜しくお願い致します。

  • マルチコアCPUにおける周波数とは

    お世話になります。 マルチコアCPUのスペックに記載されている周波数はコア1つに対するものか、すべてのコアの合計値なのかどちらでしょうか? 例えば1つだけのタスクにCPUを100%した場合、 2コア1GHzのCPUと同等の処理速度を示すのは1コア2GHzか1コア1GHzどちらでしょうか? もしくはどちらも間違っているのでしょうか? どなたかご教示お願いします。

  • CPUの処理能力の比較

    今度新しいPCを購入しようとしています。 現在のPCは、「Windows7 Pro 32bit」で CPUは「Intel Core i3-2120(3.3GHz 2コア)」です。 M社のパソコンが値下げして販売しているのですが、 そのPCのCPUは「AMD A4-4020(3.2GHz 2コア)」です。 5万円を切る価格なので購入対象にしているのですが、 AMDのほうがL2キャッシュが少ない(1MB、intelは3MB)のです。 性能はどのくらい落ちるのでしょうか。 また6万円弱で、Intel Core i3-4130(3.4GHz 2コア)、AMD A10-6790K(4GHz 4コア)のPCもあります。 この2つのCPUですと、i3-2120よりどのくらい性能がいいのでしょうか。

  • パソコンの処理速度についておたずねします。

    パソコンの処理速度についておたずねします。 パソコンの処理速度についておたずねします。 ●CPUとメモリーですが、どう処理速度に大きく影響しますか。 例えば、CPUが1.8GHzで メモリーが 1024MHz     CPUが2.0GHzで メモリーが 512MHz のように、上位パーツが異なる2機種で比較するとします。 それぞれどんな処理をするときにどんな差が出やすいですとか経験(体感)談とか理論とかありましたら 教えてください。 ●また同じCPU速度とメモリーならば、CPUのメーカー(インテルのコア~とセレロンやAMD) 間で大きな特徴は出ますか? いつか買い換えるときの参考にしたいと思いますので、こちらもお願いします。

  • パソコンのスペックを教えてください

    近頃,パソコンの動作が遅く感じます。 買い換えた方がいいのでしょうか? それとも,メモリを拡張すると,まだ,さくさく動くのでしょうか? あまり,最近のパソコンのスペックを知りません。 どうすべきか,教えてください。 現在のスペックは, Intel(R) core(TM)2 Duo CPU E8500 @3.16GHz 3.17GHz 3.18GB RAM 物理アドレス拡張 となっております。