1 名前:デフォルトの名無しさん [04/11/07 18:25:56] MPIによる並列プログラミングについて話し合う統合スレッドです。 とりあえず本家 www-unix.mcs.anl.gov/mpi/
48 名前:デフォルトの名無しさん [2005/04/06(水) 15:41:26 ] >>47 Unixは使えないのですか?
49 名前:46 [2005/04/06(水) 16:07:03 ] >>48 使えないです。unixでないとできませんか?
50 名前:デフォルトの名無しさん [2005/04/06(水) 16:30:58 ] G77ってgnuのfortran?
51 名前:46 [2005/04/06(水) 16:33:04 ] そうです。無理ですか?
52 名前:デフォルトの名無しさん [2005/04/06(水) 22:37:29 ] Windows上でのfortranコンパイラは何使ってるの?
53 名前:46 mailto:sage [2005/04/06(水) 23:35:21 ] 主にG77でコンパイルしています。
54 名前:デフォルトの名無しさん [2005/04/07(木) 14:03:18 ] MPIを使ってPDEを解きたいのですが、データはそれぞれのノードがデータの一部分を持つのでしょうか? threadを使ったプログラムは経験があるのですが、MPIでの作成方法がよくわかりません。
55 名前:デフォルトの名無しさん [2005/04/11(月) 00:23:11 ] MPICH2使った人いる?MPICHは普通に動くのだけれどMIPCH2が全然機能してくれない。
56 名前:デフォルトの名無しさん [2005/04/16(土) 01:49:10 ] mpichについていたπの計算するプログラムが理解できません。 なんでwhile(!done){}あたりのギミックが必要なの?
57 名前:デフォルトの名無しさん [2005/04/16(土) 13:14:57 ] _、 _ ∩ ( ∀`) 彡 >>56 教えてやってもいいが ((≡O ⊃ | | おまい!左腕を上下 右腕を前後 し⌒J 同時にやってみろ!話はそれからだ!
58 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 13:52:56 ] CPUは別々に稼動してるだろ。CPU1個が処理終わったからといって 他のn個のCPUが処理が完全同期で終わる保証はどこにもないだろ。 だったら全部の処理が終わるまで待つのは当たり前だろ。 それともそんなことすら解らないのか?プログラム組むの辞めろ。お前は もう、日本から出て行け
59 名前:デフォルトの名無しさん mailto:sage [2005/04/16(土) 16:24:45 ] >>56 > なんでwhile(!done){}あたりのギミックが必要なの? 単にコードの書き方がまずいだけと思われ。 この内容ならもっと見やすくシンプルにできるよね。
60 名前:デフォルトの名無しさん [2005/04/16(土) 21:35:10 ] 56です。 なんかわかったような気がする。 コメントアウトの部分のソースを無視していました。 頭悪くてすみませんでした。 >>58 さん MPI_Reduce()で全プロセスが終わるの待ってるのかと思ってたんですけど 違うんですか?
61 名前:デフォルトの名無しさん [2005/04/30(土) 18:49:38 ] CPUが空いているマシンから優先的にジョブを割り当てるにはどうしたらよいのでしょうか?
62 名前:デフォルトの名無しさん [2005/05/01(日) 01:56:36 ] エラーもなくコンパイルが終わり、プログラムを実行すると、ある時点で p5_30033: p4_error: interrupt SIGSEGV: 11 Broken pipe Broken pipe というエラーが出ます。これは何がいけないのでしょうか? 個人的には、ファイルアクセスで問題が起きていると思っているのですが、エラーの原因が未だつかめません。
63 名前:デフォルトの名無しさん [2005/05/01(日) 02:18:46 ] >>60 >>58 そいつ、単なるバカだから相手にすんな
64 名前:デフォルトの名無しさん [2005/05/03(火) 11:48:06 ] >>62 配列の範囲外にアクセスしているとか MPI以外のエラーを疑え
65 名前:デフォルトの名無しさん [2005/05/05(木) 11:48:10 ] gccのバージョンの違うコンパイラでmakeしたMPIを別のバージョンgccでコンパイルするCプログラムで利用しても問題ないですか? 問題ないと思っていたのですが、gcc4にアップデートして以来、原因不明で0番プロセス以外が実行中に落ちます。
66 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 03:33:52 ] x86 向け gcc4 はまだバグありで危険じゃないのかな。 gcc3 を使ってた方が安全だよ。
67 名前:デフォルトの名無しさん [2005/08/19(金) 18:09:30 ] MPICH2をインストールするのにちょっと苦戦してるんですが mpd.confにsecretwordを書いた後どうすればいいかちょっと分かりません 教えてもらえないでしょうか?
68 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 18:42:55 ] × 教えてもらえないでしょうか? ○ ちょっと教えてもらえないでしょうか?
69 名前:デフォルトの名無しさん [2005/08/22(月) 05:24:37 ] これがちょっち?
70 名前:デフォルトの名無しさん mailto:sage [2005/09/09(金) 19:38:13 ] SCore使って上げてヽ(;´Д`)ノ
71 名前:デフォルトの名無しさん [2005/09/12(月) 22:52:56 ] ググってみましたが、情報が少ないですね。 C++でサーバアプリで計算しながら、クライアントアプリにソケット通信するようなシステムに 適用できますか? サーバー側は1000件/分ぐらいのトランザクションで、クライアント側はサマリー情報を 半リアルで表示させるだけといったかんじです。
72 名前:デフォルトの名無しさん mailto:sage [2005/09/13(火) 07:18:44 ] 余裕
73 名前:デフォルトの名無しさん [2005/11/06(日) 16:40:07 ] mpiプログラミングの前にmpiの勉強をした方が(w
74 名前:デフォルトの名無しさん [2005/11/17(木) 11:20:42 ] 実行時に使用するコンピュータを指定することは出来ないのでしょうか?
75 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 13:12:49 ] できますよ
76 名前:デフォルトの名無しさん [2005/11/17(木) 16:19:52 ] やり方を教えてください
77 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 16:56:14 ] 方法はMPIの実装に依る
78 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 23:26:52 ] >>67 www-lab.imr.tohoku.ac.jp/~t-nissie/computer/wolfchen/doc/HomeWolfchenProject.html
79 名前:デフォルトの名無しさん [2006/01/12(木) 23:20:44 ] お客さんの16CPUマシン(8node, SMP 2way)向けにC言語でMPIプログラムを書いています。単純に差分法で計算するプログラムです。でも私の開発環境は、Pen4の1CPU、fedora3マシンなのです。その1CPUマシンで mpirun -c 16 myprog.exe で実行すると、16個のプロセスが動き始めるのですが、問題があります。 それは、プログラムを実行すると、データファイルを読み込んで、処理が始まるのですが、データファイルはいくつかの大きさのものを用意しているのですが、 あるデータファイルでは、正しく計算が完了するのですが、あるデータファイルでは 計算開始直後にエラーで終了してしまいます。調べたところ、MPI_Bcast()で エラーしていました。 また、正しく計算できるデータファイルを使って、 mpirun -c 8 myprog.exe のように変えるとエラーする場合もあります。 そこで教えていただきたいのですが、そもそも1CPUマシンで、このような並列計算を 実行することは、何か問題がありますでしょうか? よろしく。
80 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 06:41:19 ] 基本的に動かないとまずい。 メモリ不足とかじゃなきゃ、プログラムのバグだろうね
81 名前:デフォルトの名無しさん [2006/01/13(金) 11:50:49 ] アドバイスありがとうございます。 >基本的に動かないとまずい。 >メモリ不足とかじゃなきゃ、プログラムのバグだろうね やはりそうですか。 実際、プログラムを単純化して、単に16プロセスでMPI_Bcast()するだけというプログラムでは、問題なく動きます。 16以外のどんな数字でも問題ありません。なので、プログラムのバグの可能性が高いのですが、一つ気になる点は、 エラーするケースでも、エラーしないケースでも、いずれの場合でもプロセスをps -ef などでモニタしていると、 実行中に16プロセスそれぞれの親プロセスIDがころころ変わっているのが確認できるのですが、何かそのあたり に関係しているのではと思うのですが、どなたか詳しい方、ヒントなどお願いします。
82 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 08:59:30 ] mpichでもlamでも、実機でもなるってんだったら、 プログラムのバグ。 MPI_Barrier()で、きちんと同期とって MPI_Bcast()で起こってるなら MPI実装を疑ってもいい。 まあ、なんだ。 漏れには「FedoraのMPIでエラー終了」じゃ、 どのMPI環境なのかも どんな異常終了かもサパーリですよ。
83 名前:デフォルトの名無しさん [2006/01/15(日) 14:56:36 ] >実際プログラムを単純化して、単に16プロセスでMPI_Bcast()するだけというプログラムでは、問題なく動きます (1) 単純化したプログラムと、エラーが起こる実プログラムで、 送信データの大きさは同じですか? (2)どういうエラーメッセージが出ますか? (3)mpi_bcastの前後にprintfでランクの値を書き出した場合、 どうなりますか? (全プロセスがmpi_bcast前しか表示しないのか、 それともプロセスによってはmpi_bcast後も表示するのか) (4)エラーが起こるデータファイルで、プロセス数が16より少ないときは どうなりますか?
84 名前:デフォルトの名無しさん [2006/01/16(月) 00:57:31 ] 皆さん、アドバイスありがとうございます。 >(1) 単純化したプログラムと、エラーが起こる実プログラムで、 >送信データの大きさは同じですか? はい。MPI_INTを一個です。 >(2)どういうエラーメッセージが出ますか? 今自宅なので、正確には覚えていませんが、英語のメッセージで、 『どれかのプロセスでエラーしました』とか言う感じだったと思います。 >(3)mpi_bcastの前後にprintfでランクの値を書き出した場合、 >どうなりますか? 正しく、自分のランク値が表示されます。 >(全プロセスがmpi_bcast前しか表示しないのか、 >それともプロセスによってはmpi_bcast後も表示するのか) 全プロセスで、MPI_Bcast前に正しいランク値が表示されますが、 MPI_Bcast後には、どのプロセスも何も表示されません。
85 名前:デフォルトの名無しさん [2006/01/16(月) 00:58:31 ] >(4)エラーが起こるデータファイルで、プロセス数が16より少ないときは >どうなりますか? ええっと、その後、いろいろ試してみたら以下のようになりました。 分割数 大きいデータ 小さいデータ 2 OK エラー 4 OK OK 5 エラー エラー 6 エラー エラー 7 エラー エラー 8 エラー OK 9 エラー OK 10 エラー OK 11 エラー OK 12 OK OK 13 エラー OK 14 OK OK 15 エラー OK 16 エラー OK 20 エラー OK というわけで、よく分かりません。 ちなみに、MPI_Barrier同期は、まったく問題なく動きます。 今のところ、MPI_Bcastを使うのをやめて、MPI_Send/MPI_Recvで同等の処理を することで、エラーを回避できたようなのですが、MPI_Bcastがエラーする 原因が分からないので、ちょっと気がかりです。
86 名前:デフォルトの名無しさん [2006/01/16(月) 04:45:45 ] (5) >はい。MPI_INTを一個です。 確認ですが、一個というのは、下記の2つ目の引数が1という意味ですか? MPI_Bcast(a,1,MPI_INT,〜); (6) 上記MPI_BCASTの4つ目の引数(送信元プロセスのランク値)は、 全プロセスで同じ値になっていますか? また、2,3つ目の引数(送受信バッファーの個数と型)も 全プロセスで同じ値になっていますか? (7)下記の表の意味ですが、1CPUで2プロセス(mpirun -np 2)で実行し、 小さいデータを入力させた場合でもエラーになるという意味ですか? またこれは何度やっても同じ結果ですか? (つまり同じケースでもOKになったりエラーになったりすることはないか) 分割数 大きいデータ 小さいデータ 2 OK エラー
87 名前:デフォルトの名無しさん [2006/01/16(月) 04:50:20 ] (8) 問題のMPI_Bcastに到達する前に、MPIの他の通信は行っていますか? (9) 実プログラムが下記のような構成になっているとして (a)の部分をすべてコメントにすれば、 (単純化したプログラムではうまくいくとのことなので) うまく動くと思いますが、 その後で、(a)の部分を前半から少しずつ コメントをはずしてはテストしを繰り返せば、 どこかで再びエラーとなるはずです。 それによって、エラーの原因となっている個所が特定できるかもしれません。 あるいは逆に、(b)と同等の通信を(送信バッファーの中身は空でも可) まず(a)の直前で行い、うまくいったら、 (a)内を少しずつ後ろへずらしていっても同じテストができます。 MPI_Init(); (a) 入力ファイルの読み込み等 (b) MPI_Bcast(a,1,MPI_INT,〜); (c) 計算 MPI_Finalize();
88 名前:デフォルトの名無しさん [2006/01/16(月) 05:13:37 ] (5)の訂正 >はい。MPI_INTを一個です。 確認ですが、一個というのは、下記の2つ目の引数が1という意味ですか? MPI_Bcast(a,1,MPI_INT,〜); また、下記の大きいデータの場合も小さいデータの場合も1ですか? 分割数 大きいデータ 小さいデータ 2 OK エラー
89 名前:デフォルトの名無しさん [2006/01/16(月) 18:19:54 ] 長文のアドバイスありがとうございます。 >(5)の訂正 >確認ですが、一個というのは、下記の2つ目の引数が1という意味ですか? >MPI_Bcast(a,1,MPI_INT,〜); はい、そうです。 >また、下記の大きいデータの場合も小さいデータの場合も1ですか? >分割数 大きいデータ 小さいデータ >2 OK エラー はい。 >(6) 上記MPI_BCASTの4つ目の引数(送信元プロセスのランク値)は、 >全プロセスで同じ値になっていますか? はい、そうなっています。printfで確認しました。 >また、2,3つ目の引数(送受信バッファーの個数と型)も >全プロセスで同じ値になっていますか? はい、同じです。 >(7)下記の表の意味ですが、1CPUで2プロセス(mpirun -np 2)で実行し、 >小さいデータを入力させた場合でもエラーになるという意味ですか? はいそうです。 >またこれは何度やっても同じ結果ですか? >(つまり同じケースでもOKになったりエラーになったりすることはないか) 再現されます。同じデータ、同じ分割数で、数回実験しましたが、その時は再現しました。 でも、何十回も同じ条件でテストしたわけではありません。 >(8) 問題のMPI_Bcastに到達する前に、MPIの他の通信は行っていますか? 他に行っているのは、MPI_Barrierのみです。同期をたくさん入れれば問題が解決するんじゃあ ないかと思って、たくさん入れました。 >(9) 実プログラムが下記のような構成になっているとして >(a)の部分をすべてコメントにすれば、 これらのテスト結果の報告は、後日させていただきます。
90 名前:sage [2006/01/19(木) 03:41:50 ] mpichをインストールをしたいのですがconfigureで指定しなければならない オプションをちょっと教えていただけないでしょうか? osはfedora core4 コンパイラーにintel fortran compilar 9.0 mpich-1.2.7p1 を使用しています。 よろしくおねがいします。
91 名前:デフォルトの名無しさん [2006/01/19(木) 17:54:06 ] こんなふうに、実数型と整数型を一緒にするとエラーがでます。 if ( myid .eq. 0 ) then call MPI_IRecv(retunum,90,MPI_REAL8,1,itag(myid+2),MPI_COMM_WORLD,ireq2,ierr) elseif ( myid .eq. 1 ) then call MPI_ISend(retunum,60,MPI_REAL8,0,itag(myid+1),MPI_COMM_WORLD,ireq2,ierr) end if if ( myid .eq. 0 ) then call MPI_IRecv(iretunum,90,MPI_INTEGER,1,itag(myid+2),MPI_COMM_WORLD,istaus,ierr) elseif ( myid .eq. 1 ) then call MPI_ISend(iretunum,60,MPI_INTEGER,0,itag(myid+1),MPI_COMM_WORLD,ierr) end if 以下のように、何故ですか?わかる人教えて下さい。 test-calcul2.f:99: warning: call MPI_IRecv(retunum,90,MPI_REAL8, 1 test-calcul2.f:106: (continued): call MPI_IRecv(iretunum,90,MPI_INTEGER, 2 Argument #1 of `mpi_irecv' is one type at (2) but is some other type at (1) [info -f g77 M GLOBALS]
92 名前:デフォルトの名無しさん [2006/01/19(木) 17:56:58 ] あ、タイプミスだ。 > if ( myid .eq. 0 ) then > call MPI_IRecv(iretunum,90,MPI_INTEGER,1,itag(myid+2),MPI_COMM_WORLD,istaus,ierr) > elseif ( myid .eq. 1 ) then > call MPI_ISend(iretunum,60,MPI_INTEGER,0,itag(myid+1),MPI_COMM_WORLD,ierr) > end if if ( myid .eq. 0 ) then call MPI_IRecv(iretunum,90,MPI_INTEGER,1,itag(myid+2),MPI_COMM_WORLD,ireq2,ierr) elseif ( myid .eq. 1 ) then call MPI_ISend(iretunum,60,MPI_INTEGER,0,itag(myid+1),MPI_COMM_WORLD,ireq2,ierr) end if です。
93 名前:デフォルトの名無しさん [2006/01/20(金) 00:14:20 ] 下記のプログラムでも同じエラーが出ますか? もし同じエラーが出たとしたら、 同じサブルーチンの同じ引数に異なる型を指定しているという 警告で、MPIとは関係ないと思います。 program test call sub(a) call sub(i) end subroutine sub(a) a=1 end
94 名前:デフォルトの名無しさん [2006/01/20(金) 00:21:15 ] それから念のため補足ですが -2つのif文を1つにまとめた方がすっきりすると思います。 -例えばランク0プロセスが同じireq2を(mpi_waitする前に)2回使うのはまずいです。 片方を例えばireq1にしてください。 また2回のcall mpi_xxxの後でmpi_waitが2回必要となります。 あるいはmpi_sendrecvを使う手もあります。
95 名前:91 [2006/01/23(月) 16:20:18 ] >>93 まさにそれでした。 >>94 なるほど、了解です。 ところで、送信バッファーに3次元の配列を持たせたいのですが 送受信がうまくいきません。何故かわかる方いますか? if ( myid .eq. 0 ) then call MPI_Recv(test(i,j,1),3,MPI_REAL8,1,itag, & MPI_COMM_WORLD,istaus,ierr) else call MPI_Send(test(i,j,1),3,MPI_REAL8,0,itag, & MPI_COMM_WORLD,ierr) endif test(1〜50,1〜100,1〜3)です。
96 名前:デフォルトの名無しさん [2006/01/23(月) 18:40:47 ] (1) test(i,j,1)のiとjには何が指定されてますか? (2) 送る要素数は3個ですか? (3) istatusは大きさmpi_status_sizeで配列宣言してますか? (4) itagには何が指定されてますか? (5) 実行するとどういうエラーになりますか?
97 名前:91 [2006/01/24(火) 11:15:33 ] >>96 (1) test(i,j,1)のiとjには何が指定されてますか? i=1,100とj=1,300です。DOループで指定されます。 (2) 送る要素数は3個ですか? はい、南北方向・東西方向・上下方向の意味なので、3個です。 (3) istatusは大きさmpi_status_sizeで配列宣言してますか? integer istatus(MPI_STATUS_SIZE)で宣言しています。 (4) itagには何が指定されてますか? itag=1です。 (5) 実行するとどういうエラーになりますか? テストプログラムで行った結果、エラー文は出ませんでしたが 入っているはずの値が入っていませんでした。 たとえば、10.5が入るはずなのに、0.0のままであったりします。
98 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 18:43:50 ] 動かない並列プログラムを無料でデバッグしてくれるスレはここですか?
99 名前:デフォルトの名無しさん [2006/01/24(火) 18:46:04 ] 例えばi=1,j=1のとき、送りたいデータは以下(A)(B)のどちらですか? (Fortranの場合は(A)が送られます。) (A) test(1,1,1) test(2,1,1) test(3,1,1) (B) test(1,1,1) test(1,1,2) test(1,1,3) 余談ですが、通信回数が多いと通信時間がかかるので、 普通は送りたいデータをまとめて1回で送るようにします。 従ってループ内で通信を行うということはあまりしません。
100 名前:デフォルトの名無しさん [2006/01/26(木) 13:56:53 ] MPIf77でコンパイルできても MPIf90でコンパイルできねー!! ↓こんな感じのエラーしかでねー!! IPO Error: unresolved : mpi_type_dup_fn_ Referenced in newfile.o IPO Error: unresolved : mpi_win_dup_fn_ Referenced in newfile.o newfile.o(.text+0x20): In function `MAIN__': : undefined reference to `mpi_init_' newfile.o(.text+0x34): In function `MAIN__': : undefined reference to `mpi_comm_rank_' MPIのインストールの時おかしな事したのか?おれ
101 名前:デフォルトの名無しさん [2006/01/31(火) 15:53:13 ] age
102 名前:デフォルトの名無しさん [2006/01/31(火) 19:28:15 ] こんなエラーがでるんだが誰れか原因解かりますか? [root@clust-gri00 test]# mpif90 -o testfile testfile.f /usr/local/mpich-1.2.6/lib/libmpich.a(farg.o)(.text+0x7): In function `mpir_iargc__': : undefined reference to `f__xargc'
103 名前:デフォルトの名無しさん mailto:sage [2006/02/01(水) 06:24:47 ] まあせめて中のコンパイラぐらい書こうな
104 名前:デフォルトの名無しさん mailto:sage [2006/02/01(水) 08:24:55 ] あと大学名と担当教官名も
105 名前:デフォルトの名無しさん [2006/02/01(水) 18:04:38 ] Intel Fortran Compiler 8.1 から Intel Fortran Compiler 9.0に入れ換えたらこんなのがでるようになった. glibcのヴァージョンが古いのか?動くっちゃ動くし結果も間違っていないが、何か気持ちわるい。 誰れか改善方法しりませんか? /opt/intel/fc/9.0/lib/libifcore.a(for_open_proc.o)(.text+0xc14): In function `for__compute_filename.': : warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/local/mpich-1.2.6/lib/libmpich.a(p4_secure.o)(.text+0x87): In function `start_slave': : warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/local/mpich-1.2.6/lib/libmpich.a(chnodename.o)(.text+0x29): In function `MPID_Node_name': : warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
106 名前:デフォルトの名無しさん [2006/02/02(木) 04:11:56 ] めっせーじぱっしんぐってなあに?
107 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 04:29:29 ] 読んで字の如く
108 名前:デフォルトの名無しさん [2006/02/02(木) 05:39:40 ] いじわる><
109 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 19:20:57 ] >>105 >103-104
110 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 13:03:09 ] >>109 ? 何が言いたいの?日本語わかる? せめて会話くらいしろよ。キチガイ
111 名前:デフォルトの名無しさん [2006/02/09(木) 13:02:07 ] age
112 名前:デフォルトの名無しさん [2006/02/09(木) 14:40:46 ] MPICH2のC++バインドのクラス一覧が載ってるサイト知りませんか? ユーザーガイドにも載ってないし。
113 名前:デフォルトの名無しさん mailto:sage [2006/03/01(水) 11:53:27 ] >>105 インテルのサイトにも書いた? softwareforums.intel.com/ids/board/message?board.id=11&message.id=3060
114 名前:デフォルトの名無しさん [2006/03/02(木) 23:48:55 ] MPI初心者なんですけど、 MPICHダウンロードして、一緒についてきたサンプルプログラムを MPICH Configurationで参加するノードを設定してから実行すると Failed to launch the root process: "C:\Documents and Settings\XXXXX\cpi" LaunchProcess failed, LogonUser failed, ログオン失敗: ユーザー名を認識できないか 、またはパスワードが間違っています。 というエラーが返ってきます。 設定しなければローカルで動くんだけど、何でだろう?
115 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 10:12:08 ] www-unix.mcs.anl.gov/mpi/mpich/mpich-nt/mpich.nt.faq.html Q. Why do I get this error, "Logon failure: unknown user name or bad password"? Q. Why do I get this error, "LaunchProcess failed, CreateProcessAsUser failed, The system cannot find the file specified."?
116 名前:114 [2006/03/03(金) 17:57:11 ] >>115 ありがとう! やってみるね!
117 名前:デフォルトの名無しさん [2006/03/07(火) 16:00:54 ] 独学でisend bcastなどの基本的な関数は一通り使い方がわかったのですが、 なんか練習問題みたいなのはないですか? そんな大規模演算をする機会もないし、 練習用に何かお勧めなものはありますか?
118 名前:デフォルトの名無しさん [2006/03/07(火) 17:20:48 ] sendとrecvだけでbcast,scatter,gather,allgatherと同じ機能を作る ヤコビ法の並列化 LU分解の並列化 2次元FFTの並列化
119 名前:デフォルトの名無しさん mailto:sage [2006/03/07(火) 17:27:38 ] π計算の並列化 e計算の並列化
120 名前:デフォルトの名無しさん mailto:sage [2006/03/07(火) 19:24:56 ] 実用的なのは、 コマンド1 コマンド2 . . . コマンドN という独立したジョブが書いてあるテキストファイルを読み込んで、 P個のプロセッサで実行させるプログラム。 コマンドに依存関係つけるとなおよし。
121 名前:デフォルトの名無しさん [2006/03/12(日) 16:05:09 ] MPI_Sendで送る際、相手が受け取るまでプログラムの実行を停止するにはどうしたらよいのでしょうか?
122 名前:デフォルトの名無しさん [2006/03/12(日) 16:09:32 ] synchronous sendにすりゃいいのと違う?
123 名前:デフォルトの名無しさん mailto:sage [2006/03/12(日) 21:03:03 ] MPI_Sendだと送信バッファにコピーした状態で戻る実装が多いっぽいね。 ↓にモードの説明が。 www.mpi-forum.org/docs/mpi-11-html/node40.html MPI_Ssendがない実装もあるようだし、返答をMPI_RecvかMPI_Barrierするのが確実じゃない? バンド幅を測るとかの場合、受信が完全に終了したのを確認するにはこれしか方法がなさげ。
124 名前:http://www.vector.co.jp/soft/win95/util/se072729.html mailto:http://msdn2.microsoft.com/ja-jp/library/h2k70f3s.aspx [2006/03/18(土) 21:10:21 ] TextSS のWindowsXP(Professional)64bit化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか? そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
125 名前:デフォルトの名無しさん mailto:sage [2006/03/19(日) 11:52:28 ] C++BuilderでMPIを使うにはどうしたらよいのでしょうか?
126 名前:デフォルトの名無しさん [2006/03/24(金) 20:00:53 ] MPICH2のWindows版を使っているのですが、 以下のようなプログラムでも時間が3秒かかります。(VC++、IntelC++とも) MPI_Finalizeの終了処理に時間がかかっているようですけど 対策をご存知の方いっらいしゃますすか。 #include "mpi.h" int main(int argc, char **argv) { MPI_Init(&argc, &argv); MPI_Finalize(); return 0; }
127 名前:デフォルトの名無しさん [2006/04/13(木) 06:48:21 ] ノンブロッキング通信というのは、簡単に言うとどういうものなのでしょうか?
128 名前:デフォルトの名無しさん mailto:sage [2006/04/13(木) 08:13:11 ] バックグラウンドで通信処理をさせることで 一度に複数の相手と通信したり、 通信中に別の計算させたりするもの
129 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 21:15:20 ] ほしゅしゅ
130 名前:デフォルトの名無しさん [2006/05/11(木) 15:37:35 ] hoshu
131 名前:デフォルトの名無しさん [2006/06/02(金) 08:31:40 ] あまり大きなサイズで一度に通信しようとすると、デッドロックするのは仕様ですか?
132 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 01:56:38 ] 実装によるだろ そんな仕様はない
133 名前:デフォルトの名無しさん [2006/07/30(日) 21:08:39 ] ちょ・・・こんな有益なスレがあったなんて。。 明日からmpi使うらしいんで勉強してきます
134 名前:・∀・)っ-○◎● ◆R.I.S.K.0. mailto:sage [2006/07/30(日) 22:45:31 ] John the RipperのMPI対応版出たけど アレって単にプロセス間通信やるだけよね? プロセスレベルマルチタスクであってスレッドレベルマルチタスクじゃないよね?
135 名前:デフォルトの名無しさん [2006/09/05(火) 22:49:52 ] Linuxにmpich-1.2.3を突っ込んで int main(int argc, char **argv){ int procs, id; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &id); MPI_Comm_size(MPI_COMM_WORLD, &procs); printf("#### %d, %d ####\n", id, procs); MPI_Finalize(); return 0; } なmain.cソースファイルを生成し, mpicc main.c mpirun -np 1 a.out したところ 0 - <NO ERROR MESSAGE> : Could not convert index 1140850688 into a pointer The index may be an incorrect argument. Possible sources of this problem are a missing "include 'mpif.h'", a misspelled MPI object (e.g., MPI_COM_WORLD instead of MPI_COMM_WORLD) or a misspelled user variable for an MPI object (e.g., com instead of comm). [0] Aborting program ! [0] Aborting program! p0_11706: p4_error: : 9039 と言われてしまいました. fortranプログラムでもないし,COMMをCOMと打ち間違えてもいないし……というわけで,原因・解決方法をご存知の方おりましたらご教授くださいませ.
136 名前:135 mailto:sage [2006/09/05(火) 23:46:15 ] mpich-1.2.7拾ってきてぶっこんだら動きました. 吊ってきます.
137 名前:デフォルトの名無しさん mailto:sage [2006/10/25(水) 11:29:00 ] 保守党
138 名前:デフォルトの名無しさん [2006/11/16(木) 01:19:10 ] MPICH2をFedora Core3にて実行しようとしています。 mpdはローカルであれば、正常に起動してicpiなどきちんつ動いているのですが、 ネットワーク越しのリモートで分散させようとすると(mpdboot, rshに書き換え済み) 動作しません。 failed to ping mpd ...といったエラーがでます。 ちなみにrshは単体ではパスワードなしで動作しています。 Fedoreの設定はファイヤーウォールはインストールしていますが、 「ファイヤーウォールは無効」でやっています。 むしろmpdというよりもFedoraの設定のような気がしますが、同様な症状を 経験された方はおられますでしょうか?
139 名前:デフォルトの名無しさん [2006/11/28(火) 16:48:25 ] WindowsXPのVC環境で、3次元空間内におけるある種のシミュレーションプログラムを作って、 それをLinux fedora3のgccとMPI環境で並列化しました。 いまのところWin1CPU版とFedoraMPI版は同じ結果を出してくれるので、いいのですが、 ソースをメンテナンスするときに、まず1CPU版で試して、それをMPI版に移植する作業 が結構わずらわしいので困っています。 MPI版はシミュレーション空間をn分割(n≧2)する仕様になっているので、n=1として Windows上で動かすことはできません。 そこで思ったのですが、DUAL COREのWindowsマシンならば、そこにMPICH2をインストールして、 n=2で動かせば、CPUも2個使えるし、今後、MPI版のみメンテナンスすれば、fedoraでも Windowsでもソースを共通化できるので、楽になると思ったのですが、この作戦、 どうでしょうか?何か注意すべき点などありましたら、アドバイス御願いします。
140 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 18:55:13 ] >>139 mpi詳しくないけど CPU二個とnode二個はぜんぜん違うからできないんじゃないの?
141 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 20:04:15 ] 例え、1CPUでもたいがいのMPI実装は2プロセスで並列実行できる
142 名前:デフォルトの名無しさん [2006/11/30(木) 10:50:29 ] >141 ありがとございます。やってみます。 ところで、MPIプログラムのデバッグって、皆さんどういうふうにやっていますか? 私にはとても難しいです。というのは、エラー発生しても、どこかのnodeでエラーが 起こった程度のことしかわからないので、怪しげなところにprintfを沢山いれて探し 出すという泥臭い方法でやっています。 一方WindowsのVCの環境だとDebuggerでSTEPで一行ずつ実行できるので、便利なのですが、 MPIプログラム開発でも、でも何かそういう統合的な開発環境や高性能なDebuggerって あるのでしょうか?
143 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 00:13:29 ] VCってMPIサポートしてたよね?確か
144 名前:デフォルトの名無しさん [2006/12/02(土) 21:56:05 ] >143 ほんまかいな?
145 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2006/12/02(土) 22:26:17 ] MPICH2のWin32バイナリってVC++で使えるんじゃなかったっけ
146 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 19:00:27 ] Windows Compute Cluster Server 2003 MS MPI あたりでぐぐりぇ
147 名前:・∀・)っ-○◎● ◆R.I.S.K.0. mailto:sage [2006/12/03(日) 19:07:05 ] 38度の熱が出てるのに俺元気だよなwwww
148 名前:・∀・)っ-○◎● ◆R.I.S.K.0. mailto:sage [2006/12/03(日) 19:07:20 ] 誤爆しますた><