08/01/13 11:21:47
>>235
そうやるんですか
PVMで同じようにする方法がさっぱりわからんもんで
参考になるかな、とは考えたのですが・・・
238:デフォルトの名無しさん
08/01/16 23:13:34
PVMってまだ使われてるのか?
239:デフォルトの名無しさん
08/02/07 17:31:34
おーい、このスレ生きてますか?
質問です。
class base {
...
};
class derived1: base{
...
};
class derived2: base{
...
};
があって、
vector<base*> v;
にノード0で
v.push_back(new derived1());
v.push_back(new derived2());
...
などとして配列を作ります。
で、作った物を他のノードに配信したいのですが、どうやれば良いでしょうか?
newで生成したderived1などのオブジェクトも一緒に配信したいわけで、単純にvのバイト列を送れば良いというわけには行かないわけで。
実際にはderived1等にもnewしたオブジェクトのポインタが存在して、それも他のノードで再現したいわけで...
240:デフォルトの名無しさん
08/02/07 18:19:40
死んでます
241:239
08/02/07 20:05:46
死んでるのかよ!
って、まあ置いといて、STLのstringなんかもオブジェクトのバイナリ丸コピじゃだめなんだよな。
ヒープからバッファ取ってるから。
となると、シリアライズして送信、受信側で再構築なんだろうけど、正直面倒臭いな。
242:デフォルトの名無しさん
08/03/01 05:39:37
MPI_File_xxでテキストファイルは扱えないのでしょうか?
243:デフォルトの名無しさん
08/03/06 23:33:27
学科の演習用端末更新終わった~
Linux / Cele 420 / MEM 2GB / 26台 /hdd less
という構成なんだが、手軽に遊ばせるMPIのサンプルないかな?
ちなみに、午後6時に強制shutdownの設定になってるので、
長くても8時間程度のジョブの奴を頼む。
244:デフォルトの名無しさん
08/03/18 08:12:50
MPIプログラムによってネットワークがどのくらい使用されているかは、どのようにしてわかりますか?
環境はFedora8+Intel C++ 10です。
245:デフォルトの名無しさん
08/03/29 13:32:00
Windows用のものはありませんか?
246:デフォルトの名無しさん
08/04/05 15:00:58
MPICHにWindows版があるyp!
247:デフォルトの名無しさん
08/04/17 17:12:34
プログラムをコンパイルし実行するとsignal 6というエラーが出るのですが、これはどのようなエラーなのでしょうか?
248:デフォルトの名無しさん
08/04/17 18:43:41
どっかでabort()してるんじゃないの
249:デフォルトの名無しさん
08/04/18 21:06:07
MPIにおけるシグナルの使い方は実装依存なのじゃ。
同じエラーが出るミニプログラムを作ってうp汁
250:デフォルトの名無しさん
08/04/22 00:04:00
NPACI Rocksつこうてる人おる?
どこのスレいけばいいか解らんくて
迷子してる
251:デフォルトの名無しさん
08/05/21 23:38:11
計算の進行状況をファイルに書いてたのだが、
ファイルがバッファリングされる関係で
リアルタイムで更新されないので、fflushを
つっこんだら、計算時間が倍になったぞ。
こういうのは難しいなぁ。
252:デフォルトの名無しさん
08/05/22 06:37:45
>>251
NFSとかSambaでリモートのファイルシステムに書いてない?
ローカルの /tmp あたりに書くようにすると速くなるかも。
253:デフォルトの名無しさん
08/05/22 09:17:59
というか、頻繁に確認しない限りそんな遅くならないんじゃないの?
254:251
08/05/23 00:45:22
>>252
リモートファイルシステムです。
多分それで速くなると思いますが/tmpとか勝手に
使ったら怒られそう。大学共同利用のシステムなんで。
>>253
かなり頻繁に更新してますた。数秒に1回ぐらい。
進行状況を書いてただけなので、flush頻度を1/100
にしたら速度がだいたい元に戻りました。
255:デフォルトの名無しさん
08/05/23 01:30:25
>>254
普通の大学の計算機センターならローカルディスクぐらい用意してるよ。
聞いてみな
256:251
08/05/24 18:29:49
計算の進行状況をlogに書くってのも一歩間違うと大変な事になるな。
計算で64bit Intetgerを使って、桁あふれ(2^64)が起きたら
「SKIPしますた」とlogファイルに書いて次ぎのデータ処理に入る
ようにしてたんだ。
今まで深さ4の処理をしてたんだが桁あふれが起きてなかった。
次に深さ5の処理に入ったんだ。とたんに桁あふれが増えて
「SKIPしますた。」でdisk使用制限が超えそうになっちまった。
テラヤバスで、20時間実行したjobを強制停止…
>>255
いや、他大学システムなんで、あまりくだらない質問したく
なくて。利用料金も私が出したんじゃなくて、教授のだし。
257:デフォルトの名無しさん
08/05/26 19:24:36
MPICHのMPI_Finalizeって常時ポーリングしてんのかな?
処理が終ってFinalize待ちのプロセッサの負荷が100%になってやがる。
割り込み使ってくだちゃい。
258:デフォルトの名無しさん
08/05/27 21:52:46
負荷100%といえば、
rank=0のタスクをjobのマネージメントだけにつかって
rank=1以降を計算に使うプログラムを書いた。
rank=0とrank=1以降でも大してCPU使用率がかわらん
かった。rank=0のタスクはMPI_RECVで待機してただけ
なんだがな。
259:デフォルトの名無しさん
08/06/20 22:58:08
MPIで複数のCPUを使って計算させたときに、計算の速さ(結果)を秒数などで表示する
何か良いプログラムは無いでしょうか?
姫野ベンチやHPLだと、結果がFLOPSでしかでないので分かりにくいと言われ
体感的(秒数なもの)にわかるものにしてほしいと(´・ω・`)
思いつく簡単なベンチマークを例であげると、例えばスーパーπの104万桁を2つのCPUで
計算した場合は○○秒かかったけど、4つだと○秒だったよ!という感じです。(ベンチマーク
じゃなくてもいいです。)
よろしくお願いします。
260:デフォルトの名無しさん
08/06/20 23:17:57
>>259
自分で秒数に戻せばいい。そもそも計算速度(flop/sec)というのは
計算速度=計算量÷計算時間
として求めている。
計算量(浮動小数点演算の回数)はプログラムによって決まる。
ベンチマークプログラムなら解説文書に計算量が書いてあるはず。
計算量と計算速度が分かれば当然ながら
計算時間=計算量÷計算速度
で秒数が分かる。
261:デフォルトの名無しさん
08/06/21 01:48:01
>>260
アドバイスありがとうございます!
なるほど!
そういう風に求めるのですね。
助かりましたm(__)m
262:デフォルトの名無しさん
08/06/21 10:55:46
time mpirun -np 3 aho &
でいいじゃん。
各ノードごとの時間を知りたければ
mpirun -np 3 time aho &
でできるぜ
263:259
08/06/26 17:15:29
>>262
timeを使えば計算時間分かりますね!
アドバイスありがとうございますm(__)m
すいません。色々アドバイスを頂いたのですが何かオープンキャンパスで
高校生の方たちにクラスタを使ってもらうらしく姫野ベンチとかだと流体
の計算なので何を計算しているのかイメージが付きにくいんじゃないか?
と、言われまして何かイメージが付きやすいプログラムというのは無い
でしょうかね・・・?
すいません、変な質問をして(汗
264:デフォルトの名無しさん
08/06/26 22:30:47
>>263
計算結果を可視化するところまでやるとか。
でも見た目が楽しい計算結果でないと訴求力がないだろうねえ。
あるいは利用ノード数(並列度)を変えて実行時間の変化をグラフにして
並列度の高いクラスタのありがたみ(速度向上)を訴えるとか。
265:デフォルトの名無しさん
08/06/27 01:51:51
>>263
迷路。
ノードごとに探索経路を色分けすればぐー
266:259
08/06/27 11:53:25
>>264
>計算結果を可視化するところまでやるとか。
>でも見た目が楽しい計算結果でないと訴求力がないだろうねえ。
そうなんですよね~
分子力学のプログラムで計算結果を可視化できるものがあったんですが
リンク切れとソースの名前をググっても出てこなかったので諦めました・・・。
>あるいは利用ノード数(並列度)を変えて実行時間の変化をグラフにして
>並列度の高いクラスタのありがたみ(速度向上)を訴えるとか。
なるほど。理想値と実際に計算にかかった時間をグラフに書いてもらえば
オーバーヘッドの事や何倍速く計算できたかと言う事が分かりやすいですね!
アドバイスありがとうございますm(__)m
>>265
>迷路。
すいません。
迷路というのは迷路を解くと言う事でしょうか?
267:デフォルトの名無しさん
08/08/22 20:08:51
すいません MPI初心者です。
windowsでMPIを実行しようとしているんですけどエラーがでて困っています。
インクルドのパスは切っています。
error C2653: 'MPI' : 識別子がクラス名でも名前空間名でもありません。
error C3861: 'Init': 識別子が見つかりませんでした
というエラーがでます。
なんで何でしょう。いきなり初期設定でつまずいて恥ずかしいのですが
だれかアドバイスしていただけないでしょうか。
268:デフォルトの名無しさん
08/08/23 08:45:51
>>267
それで他人になにか状況が伝わるとでも?
269:デフォルトの名無しさん
08/08/23 18:49:31
C:Program Files\MPICH2\lib
C:Program Files\MPICH2\include
を追加する。
最低これでエラーはなくなるはずのに認識できない。
メッセージは同様。
error C2653: 'MPI' : 識別子がクラス名でも名前空間名でもありません。
error C3861: 'Init': 識別子が見つかりませんでした
絶対windowsで同様なエラーが出ている人がいるはず。
MPICH2はwindowsでは無理なのか?
270:デフォルトの名無しさん
08/08/23 21:20:54
>>269
それで他人になにか状況が伝わるとでも?
ソースくらい出せ。
コンパイルオプションくらい出せ
271:デフォルトの名無しさん
08/08/23 21:22:39
windowsでMPICH2は「余裕で」動いてる。
272:デフォルトの名無しさん
08/08/24 14:46:18
わかりました。
ウィザードで作った雛形をつかってコピしていたからみたいです。
空のディレクトリをしてしてファイル追加してみるとできました。
ご声援ありがとうございました。何の役にもたたなかったけど(w
273:デフォルトの名無しさん
08/08/24 20:32:38
>>272
何の役にも立たないのは、お前がなんら情報を出さないからだろ。
自分の低能を棚上げしてイヤミで〆か。
新打法がいいね。
274:デフォルトの名無しさん
08/08/25 17:29:10
>>273
野球していたが打てなかったので1本足打法に変えました。
するとよく打てるようになりました。
そして解説者に言われました。
新打法がいいね。
275:デフォルトの名無しさん
08/08/25 23:55:04
自分の考えを人間にすら伝えられないバカは
自分の考えをコンピュータに伝えられるわけがない。
プログラムなんてやめた方がいいよ。
276:デフォルトの名無しさん
08/09/16 08:21:40
OpenMPIってVistaじゃ使えないの?
277:デフォルトの名無しさん
08/09/17 03:03:50
なんか荒れてる…w
MPICH2いれてBoostのMPI使おうかと思ったが
うまくいかね
using mpi ; をusr-config.jamに書いたが
パスが通ってないと言われる…
いい解説サイト知っていたら教えてくださいませ
278:デフォルトの名無しさん
08/11/01 04:35:50
MPI対応のFFTで、2次元の場合はタイル状に、3次元の場合はブロック状に、
データ分割可能なもの知りませんか?
fftwやFFTEのMPI版は短冊形(z方向分割)にしか対応していません。
279:デフォルトの名無しさん
08/12/01 12:33:58
ちょっと質問なんですが
MPI_Sendrecvってペアじゃないと使えないですかね?
片方がMPI_Sendrecv
もう一方がMPI_SendだけとかMPI_Recvだけとか。
わかる方いたらご教授願いたいのですが。
280:デフォルトの名無しさん
08/12/04 16:33:04
シングルノードWinXP-Proの環境で、MPICH2に付属ので例題cpi.exeを実行してみたら動きませんでした。
エラーメッセージは特になく、タスクマネージャで確認するとCPUコア数分のcpi.exeが実行中であるのが
確認できるのでが、強制終了する以外コントロールできない状況です。MPICH1ではうまくゆくのですが。
どなたかご教示のほうよろしくお願いします。