• 締切済み

PCの並列化

Quantの回答

  • Quant
  • ベストアンサー率18% (23/122)
回答No.1

並列化ができるかどうかはわかりませんが、私は、パソコン4台で小規模cellコンピューティングを行っています。 単に、ひとつの数値計算プログラムを4つの範囲に分割してそれぞれやらせているだけですが。もうすぐ最速の一台が2ヶ月間の計算を終了して結果を出そうとしています。

関連するQ&A

  • PC(並列化)の処理能力について

    現在、linux環境下で並列計算機を用いて、電子状態計算等の並列処理を行っています。 処理速度、処理能力についてですが、 計算ホストを1台から2台に増やすと、倍の処理能力を持つようになりました。 しかし2から3、3から4台にしていくと、今度は比例的にではなく、 ある処理速度に収束するような結果となりました。 これは、何が原因と考えられるのでしょうか? もしくは計算規模が小さいために、このような結果となるのでしょうか? 例えば、計算する空間を増大すると比例的に処理能力が 向上するのでしょうか? ご面倒かと思いますが、回答お願いします。

  • 個人PCで並列計算ができるか?速くなるか?

    並列計算を個人のPCで行って計算速度が上昇するか、また容易に並列計算ができるかについて伺いたいです。特に知りたいことは (1)プロセッサによらず並列計算をすると速くなるものか?どのプロセッサが速くなりやすいとかありますか? (2)初心者でもとっつきやすい並列計算ができるソフト、ライブラリは何か?(いくつか候補をあげてそれぞれの利点を説明して下さると有り難いです) (3)計算がどれくらい速くなるか? 以下状況と質問内容を具体的に説明します。 現在私の利用可能なプロセッサがCoreDuoのノートPC1つ、Core2Duoのデスクトップが1つです。(後者は学校にあるものなので、勝手にノートとつないで両方で計算させることができるかは不明ですが。。。)(1)についてはこのプロセッサではどうかを特に教えて頂きたいです。 今現在数値的にやらなくていはいけない処理は、行列の積、逆行列、および固有値を求めることです。行列が複素数であり、疎でもないですし、かなり行列のサイズが大きい(100×100以上にはなる)ので困ってます。 将来的にはモンテカルロ法にもお世話になるので、「行列演算」「モンテカルロ」について並列計算でどれくらい速くなるか(3)で教えて下さると助かります。 何卒よろしくお願い致します。

  • Javaで並列計算

    並列計算クラスタの購入を勧められられています。 ところで、Javaで並列計算をやる方法ってあるのでしょうか?簡単でしょうか? 今のところ、シリアルの計算を複数流す、くらいしか使う方法が思いつかないのですが、並列計算がJavaで簡単に出来るのなら、ソースコードを作り直そうと思っています。 経験者の方か、知識がある方ががいらっしゃったらうれしいです。

  • 並列計算について

    あまりパソコンに詳しい方ではありません。 今、linuxが入ったパソコン(CPU:Intel(R)Core(TM)i7 CPU970@3.20GHz,コア数12, メモリ:5.8GiB)で数値計算をしています。コンパイラはgfortranです。OpenMPを使って、並列計算をしています。 例えば、スレッドを5使って一つのプログラムの計算したとします。次に別のプログラムをスレッドを5使って同時に計算したとします。 CPUモニタで確認すると、合計12スレッド中、10スレッドが使用率100%になります。 しかし、計算時間はそれぞれ倍ぐらいになってしまいます。結局、プログラムを1 つずつ計算するのと同じ時間がかかります。また、使用するスレッドは5ぐらいが最適であることがわかっています。(それ以上多くしても計算時間が多くなるだけ)。つまり、12スレッド中7スレッドは常に仕事をしていません。 原因、及び解決方法はあるでしょうか?

  • 並列処理についてですが、

    並列処理についてですが、 SCOREという並列環境を構築するソフトで、4つのPC(CPU:Quad Core)を、並列化させ、 ある逐次プログラム(C言語、ラプラス方程式を差分法で解くプログラムですがプログラム内容はあまり関係ないので、あるプログラムとさせていただきます)を並列処理させたところ、 1つのPCで、4つのプロセッサを使用し、合計4ノードで並列処理を行った場合と、・・・(1) 4つのPCで各PC1台につき1つのプロセッサずつ、合計4ノードで並列処理を行った場合では、・・・(2) 同じ4ノードであるにかかわらず、 (2)がノード数に比例的に演算性能が良くなることに対して、 (1)の場合、ノード数が増えても関数log(x)(雰囲気です)をグラフにしたような形で、演算性能がうまく良くなりません このような質問を以前したところ、 ・スレッド切り替えのオーバーヘッドが影響しているのではないか ・実行環境が違うことと、ひとつのプロセスですべてのコアを占有する thread はコアを2個使えば2倍、3個使えば3倍それぞれ速くはならない。一方、PCを組み合わせて使う場合、それは完全に独立しており、データ並列のために分割されて計算量が縮小された分、PC組み合わせ数にほぼ比例して速くなる。 という回答をいただくことができました。 なんとなくで意味は分かるのですが、何卒PC初心者なもので、あまり理解することができません。 ここからが質問です。 ・「スレッド切り替え」とは一体どういったものなんでしょうか ・いただいた回答で、「ひとつのプロセスですべてのコアを占有するスレッド」とはどういうことでしょうか このことについて教えていただきたいです。スレッドとは、など部分部分での単語は調べてみましたが、 どういったように動いているのかが分かっていないせいか、上記質問のようなことが分かりません。 回答をせっかくいただいたのに自分の語彙力のせいで度重なる質問をさせていただくことを申し訳なく思いますが、みなさん回答の方よろしくおねがいします。

  • 並列計算の並列性がCPUの数が増えるほど上がる?

    並列計算をMPIを用いて行っているのですが、 CPUを2個使ったの時に掛かった計算時間を1として、 4、8、16  と使用CPU数を増やしていくと、計算速度が 1.5、10、20 と、CPU数以上に伸びていきます。 普通、CPU数以上に早くなる事は無いと思っていたのですが、1つ当たりのCPUで使用するメモリ、配列サイズが少なくなったせいで計算速度が上がることがあった、あり得る事なのかな?と思ったのですが・・・実際にCPU数よりも計算速度の速度比が上がる事はあり得るのでしょうか? 計算結果をみると、正しいです。

  • 新しいPC本体と古いPC本体の接続

    質問させてください。 この度、新しいPCを購入しました。古いPCは画面が故障してきたため、その古いPCのHDD本体を新しいPCの外付けHDDのように使いたいのですが、可能でしょうか? 新しいPC本体へのデータ移行ではなく外付けHDDとして使用し、データを保存したり読み込んだりしたいです。各PCの情報は以下、 ・古いPC OS:WindowsXP メーカー:SOTEC ・新しいPC OS:WindowsVista(16bit) メーカー:HP です。宜しくお願いします。

  • 並列化プログラムのコンパイル環境と実行環境が違う

    fortran77で物理計算をしています。 パソコンが2つあって、一つは個人で使うもので、もうひとつはスパコンです。 個人PCのコンパイラはifort、スパコンはfrtが入っています。 普段は個人PCのifortでコンパイルしてからスパコンに実行ファイルを転送して走らせています。 今のところこれで問題ありません。 このプログラムを並列化して計算時間を短縮しようかなとおもっています。 mpiなりopenMPなりでプログラミングして、(もしくはifortの自動並列化コマンドを使う) (1)ifortでコンパイルしたものをスパコンに送って走らせる方法 と、 (2)スパコン内のfrtでコンパイルして走らせる方法 では 実行速度は劇的に変わるものでしょうか? frtの使い方がイマイチわからずmakeが通らないので出来れば避けたいなと思って質問させていただきました。 勉強不足な点があると思いますが、よろしくお願いします。

  • 複数のマックPCによる数値計算の並列処理

    パソコンを複数台つないで並列処理を勉強するためのシステムを考えています。複雑な物理計算をゴリゴリやるというよりも練習用というところがポイントです。最近、マックでやるのが一番簡単と聞きました。Linuxと違ってディストリビューションとか、マシンの個性とかがマチマチでなく、規格が同じなので前提となる条件が常に一定のはずです。 しかし、まだ、マシン本体すらありません。 場所を取らないMACminiを5台ぐらい購入してスイッチングハブで接続すればできるのでしょうか。 gcc44、OpenMPなどを実装すればできるとのことでしたが、このようなことが解説されているサイトをご紹介いただけると助かりますが。一応、マックのターミナルからいろいろ取り寄せてやるのだろうと思いますが、その部分だけ見たら操作はLinuxと同じようなので馴染みがあるのですが。 ただ、できればFortranでやれるようにしたいです。 また、マックはサーバー的なことができるのでしょうか。すなわち、ネット上の別のPCからtelnet, sshなどの端末のサービス、ftpのようなファイル転送です。マックは通常のPCとして使ったことがありますが、そのような目的で使ったことがありません。 話題が飛びますが、複数台のPCを1つのディスプレイ、キーボード、マウスで操作する切替器にはどのようなものがあるでしょうか。 以上、よろしくお願いします。

    • ベストアンサー
    • Mac
  • 抵抗,コンデンサの並列記号

    抵抗の並列を表す時,よくRa//Rbと表記することがあるのですが,いくつか疑問点が出てきました。 1)並列を//で表すのは学術的に定義されているのか?   一般的に使用されているだけなのか? 2)抵抗とコンデンサでは並列時の計算方法が異なるが,   コンデンサの並列時もCa//Cbと表記しても良いのか? 3)//に対して直列を表す記号はあるのか?  (どこかで||を見たこともあるのですが,ほとんどみたことないです) 回答の程,よろしくお願いします。 また,参考HPがあればご紹介お願いします。