Message Passing Interface (MPI) 統合スレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGとりあえず本家
http://www-unix.mcs.anl.gov/mpi/
0478デフォルトの名無しさん
2010/11/12(金) 14:02:34すみません質問がいい加減すぎました。
ノード1がCygwinでgcc_4.3.4を使っていて、
ノード2がUbuntuでgcc_4.4.4を使っています。
CPUはともにx86系です。
このようなときに、
MPIはコンパイラが異なることを気にせずにプログラムを動作させることができるかどうか知りたいです。
よろしくお願いします。
0479デフォルトの名無しさん
2010/11/12(金) 15:38:08まあ、動くかと。
gcc と intel は割と相性イイから
インテルも混ぜてあげよう
0480デフォルトの名無しさん
2010/11/15(月) 18:12:22のですが、どうすればよいでしょうか。
Windows版の場合には、mpiexec(のみ)が提供されていて、
mpiexec -env HOME <somewhere> -np ...
とすればできますが、
Linux版では、mpirunが提供されているが、mpirunには環境変数を指定する
オプションがないので、できなくて困っています。なお、インストールには
YaSTを使い、
mpich-1.2.7p1-214.3.i586
mpich-devel-1.2.7p1-214.3.i586
を入れました。
0481デフォルトの名無しさん
2011/01/13(木) 13:07:41bashrcに書けばいいんじゃない?
0482デフォルトの名無しさん
2011/01/26(水) 19:07:42A×B=Cで各プロセスがAとBのブロック行(ブロック行の行数は行列全体の行数/プロセス数)を保持している。
Bをプロセス間で循環させ、計算結果のCを更新していくことでA×Bを計算せよ。
行列は正方行列で1024×1024とし、プロセス数は行数の約数とする。値は乱数で決める。
誰がやり方教えて下さい。プログラムの流れとかでも良いです。お願いします。
0483デフォルトの名無しさん
2011/02/09(水) 18:08:03000 333
111 444
222 555
rank0 rank1 rank2
step1
000 333 --- --- --- ---
--- --- 111 444 --- ---
--- --- --- --- 222 555
step2
000 --- --- --- --- 333
--- 444 111 --- --- ---
--- --- --- 555 222 ---
step3
000 --- --- 333 --- ---
--- --- 111 --- --- 444
--- 555 --- --- 222 ---
0484デフォルトの名無しさん
2011/05/21(土) 13:51:12.10Fatal error in PMPI_Barrier: Other MPI error, error stack:
PMPI_Barrier(476)..................: MPI_Barrier(MPI_COMM_WORLD) failed
MPIR_Barrier(82)...................:
MPIC_Sendrecv(161).................:
MPIC_Wait(405).....................:
MPIDI_CH3I_Progress(150)...........:
MPID_nem_mpich2_blocking_recv(1074):
MPID_nem_tcp_connpoll(1663)........: Communication error
とエラーが出てしまい実行出来ません。検索しても有効な解決策が見つかりませんでした。
どなたか解決策を教えていただけないでしょうか?
0485デフォルトの名無しさん
2011/05/31(火) 04:09:40.08自分でコンパイルしたのより速い?
0486デフォルトの名無しさん
2011/05/31(火) 23:53:44.810487デフォルトの名無しさん
2011/06/01(水) 02:31:39.53やだな・・・罰ゲームだ
0488デフォルトの名無しさん
2011/06/07(火) 02:57:07.11そんなくだらない煽りが来るとは思わなかった.
mpichってconfigure makeしません?
数値計算メインで使ってるなら,
効率考えて,コンパイラ変えたりするでしょ.
mpi関係ないコンパイラの速度って,
icc>1.1倍>gcc4>>1.8倍>>gcc3
ぐらいのイメージなんで,(Linux x86_64)
ifortやiccでmpichコンパイルしたのとどっちが早いかな
と思ったんですが.
impiだと,
mpicc -cc=icc
て出来ることがわかったので,自己解決しました.
0489デフォルトの名無しさん
2011/06/07(火) 03:03:11.95環境変数はbash_profileのほうがふつうじゃない?
>>484
mpd立てた?
listenportの設定は適切?
付属のサンプルプログラムは流れた?
0490デフォルトの名無しさん
2011/06/08(水) 00:50:57.29「自分でコンパイル」に該当する環境をきちんと定義しないからさ。
コンパイラは?gcc?icc?それ以外?
mpiライブラリは?計算内容は?
まぁどれにしてもmpiコンパイラって基本的に適当なライブラリをくっつけて
ビルドするスクリプトだから、実際やってる内容を出力するオプションあるし
それで1つ1つ確認すればいいんじゃない?
0491デフォルトの名無しさん
2011/06/08(水) 01:47:18.76回答ありがとう.たしかにあやふやな質問だったと思う.
偏見かもしれんが,まともなwindowsクラスタってあるの?
数値計算を32bitで行うのは論外でしょ.
でIntel Compilerを入れる時点で,アーキテクチャほぼ決まると思いますが.
impiのデフォルトコンパイラはgcc&gfortranです.
mpiライブラリの意味がわからん.
impiの前はmpichを使ってた.(これで回答になっている?)
計算内容は有限差分とモンテカルロ.
続く
0492デフォルトの名無しさん
2011/06/08(水) 01:48:27.26続き
適当なライブラリが-lmpi -lpthread -lmとかを言っているなら,
libmpiをコンパイルする必要があると思いますが.
このライブラリをIntelがチューニングしてくれたら,
自分でコンパイルするより早いでしょうし.
デフォルトのgccとかでやられてたら,
自分でコンパイルしたほうが速そうじゃない?
実際やってる内容ってのは,mpiccやmpifcのスクリプトの中身のこと?
それとも別の何かを指しているの?
0493デフォルトの名無しさん
2011/08/28(日) 05:28:03.47それとも単に便利なだけというだけなのでしょうか?
0494デフォルトの名無しさん
2011/09/01(木) 19:37:51.69MPI_SendやMPI_Recvを使って送受信可能にするためには変換が必要だったりしますか?
double型のデータなんですが。
0495デフォルトの名無しさん
2011/09/02(金) 11:09:03.84エラーが
One of the process started by mpirun has exited with a nonzero exit code.
this typically indicates that the process finished in error.if your process
did not finish in error,besure to include a "return 0"or"exit(0)"in your
C code before exiting the application.
PID ***** failed on node n2 due to signal 11と出て通りません。
ソースはアップロダにあげるのでよければご教授お願いします。
ttp://uproda.2ch-library.com/423445uMY/lib423445.c
0496デフォルトの名無しさん
2011/09/03(土) 10:38:26.00とあるので全うな終了をしてないプロセスがあるんでしょう。
return 0以外で終了するっぽいコードは inputn() です。何故か EOF に達すると exit(1) しているので
inputq() のように break にすれば直る・・・・・・とは思いませんが。
とりあえず他の点でも突っ込み。
・座標入力でy,zがEOFになってもbreakで抜けて処理しているけどいいの?というかそういう表示を出さないとバグがわからないと思う。
・mainのループ関係がおかしい。わかりやすいところではifとelseが対応してない。
・getdouble() は1行から1つの数値しか読み込まないっぽいので 3次元座標的には読みにくい入力データが必要。
0497495
2011/09/04(日) 09:45:19.22正直自分の知識じゃ限界を感じているので
代わりにやってくれる方がいれば報酬払ってもいいです。
最大2万円までしか出せませんが…。メール待ってます。
0498デフォルトの名無しさん
2011/11/15(火) 11:36:05.43端末PC落とすと計算やめちゃうんだが
0499デフォルトの名無しさん
2011/11/19(土) 16:31:12.600500デフォルトの名無しさん
2011/11/24(木) 19:56:37.29■ このスレッドは過去ログ倉庫に格納されています