• ベストアンサー

MPIに関して

supertatの回答

  • ベストアンサー
  • supertat
  • ベストアンサー率50% (3/6)
回答No.1

http://accc.riken.jp/HPC/training.html はいかがでしょうか。 5年くらい前に、このテキストを使った講習会(@理化学研究所)に参加したことがあります。 今でもやっているのかは不明です。

参考URL:
http://accc.riken.jp/HPC/training.html
bensharman
質問者

お礼

ご回答ありがとうございます。 まだ簡単に目を通した程度ですが、大変参考になりそうです。

関連するQ&A

  • MPIに関して

    Fortran90でOpen_MPIを使ったプログラムの並列化の練習をしたいのですがインターネットで検索しても参考になるサイトなどがなかなか見つかりません。例を見ることで関数の具体的な使われ方を学びたいのですが良いサイトなどをご存知の方いらっしゃいましたら教えていただけませんでしょうか。よろしくお願いいたします。

  • mpiによる多次元配列の送受信

    私はmpiによる並列計算プログラムをfortranを使って書いてます。 配列a(i, j, k) (i=1~10, j=1~10, k=1~10)があったとします。 これを call mpi_send(a(1, 1, 1), 100, MPI_INTEGER, ...) とすると、a(1,1,1), a(1,1,2), …, a(1,1,10), a(1,2,1), a(1,2,2), …, a(1,10,10) のようにiを固定した100個のデータが送信されますよね? これをjやkを固定してデータを送りたい場合どのようにすればいいのでしょうか?

  • MPIによる並列処理

    MPICH2を使ってCプログラムの並列処理を行おうとしております。 1台のPCを使用してPC内部の4つのコアで並列処理をさせようとしております。 http://pccluster.web.fc2.com/MPI.html のページを参考にMPICH2のインストールを行い、 mpdboot ~でMPIの起動、プログラムの並列実行は行えたのですが、 ~/mpd.hostsに PCのIP:4 を書き込み、mpdboot -n 1 -f mpd.hostsで起動し、 mpiexec -n 1 xxx.cpp を実行した場合、 n=1より2、3、4の場合のほうが速くはなるのですが、2の場合が4より速くなってしまいます。 これは何かがボトルネックになっていると考えられるのでしょうか? また、mpd.hostsのファイル内で「:4」として1台のPCですが4つのコアがあると指定しているにも関わらず、実行するときに mpiexec -n 5以上の数字 xxx.cpp という指定したコア数以上での実行ができてしまいます。これは何かインストール中の設定で間違いがあるのでしょうか。(mpiexec -n 10 hostnameとした場合なぜかちゃんと10個の応答が同じPC名でかえってきます) 理解がいまいちなので、質問の文章が分かりにくいところもありますが、教えていただけないでしょうか。 よろしくお願いします。

  • MPIを用いたFortranプログラムのコンパイル

    バンド構造などをシミュレーションできるソフトPHASE ver. 4.00を下のサイトからダウンロードし、makeしようとしたのですが出来ません。 http://www.fsis.iis.u-tokyo.ac.jp/result/software/ エプソンダイレクト TP715LR CPU名称 Pentium III CPU動作周波数 700MHz メモリ 128MB OS Fedora Core 5 Linux Fortranコンパイラ intel Fortran Compiler 9.0 for Linux Cコンパイラ gcc MPI mpich-1.2.7 PHASEはMPIを使ったFortranのプログラムで、オブジェクトファイルは作られたのですが、最後のリンクのところで IPO link: can not find -lfmpich というエラーメッセージが出てしまいます。 リンクはifortで、オプションに-lfmpich -lmpichなどを指定しました。 -lのオプションは後に続くディレクトリ名をライブラリの検索先として指定するようなので、どこかにfmpichというディレクトリがあるかどうか調べたのですが存在しませんでした。本来ならばどこかにあるものなのでしょうか。

  • quad coreでのMPI使用法

    私はcore 2 quadを使用しています。 先日、並列計算を使用する機会があり、MPIを使用しようと思ったのですが、単体のPCに用いる場合の説明を見つけることが出来ませんでした。クラスターのような環境に使うための説明をされているHPしか見つけることが出来ず、困っています。 状況としては、 ・mpich-1.2.7p1をインストール済み。 ・CPUはcore 2 quad Q6600 ・PCは一台のみ。 ・やりたいことは、単体PCの4つのプロセッサを使用する並列計算の実行。 という感じです。 説明が分かりづらいかも知れませんが、もし参考になりそうな文書やHPをご存知でしたら、教えてください。 よろしくお願いします。

  • MPIを用いたFortranプログラムのコンパイル エラー

    前回(http://okwave.jp/kotaeru.php3?q=2361804)に続いてエラーで困っています。 バンド構造などをシミュレーションできるソフトPHASE ver. 4.00を下のサイトからダウンロードし、makeしようとしたのですが出来ません。 http://www.fsis.iis.u-tokyo.ac.jp/result/software/? OS Fedora Core 5 Linux Fortranコンパイラ intel Fortran Compiler 9.0 for Linux Cコンパイラ gcc MPI mpich-1.2.7 PHASEはMPIを使ったFortranのプログラムで、オブジェクトファイルは作られたのですが、最後のリンクのところで下のようなエラーが出てしまいます。 /opt/intel/fc/9.0/lib/libifcore.a(for_open_proc.o): In function `for__compute_filename.':./src/libfor/for_open_proc.c:(.text+0xc14): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /opt/intel/mpich/lib/libmpich.a(p4_secure.o): In function `start_slave':p4_secure.c:(.text+0x80): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking この後に次のような/usr/lib/libc.a ... undefined reference to ...という形のエラーが43行あります。 /usr/lib/libc.a(iofclose.o):(.eh_frame+0x121): undefined reference to `__gcc_personality_v0' /usr/lib/libc.a(iofflush.o): In function `fflush': undefined reference to `_Unwind_Resume' どうやらglibcが関係しているような気がするのですが、自分ではどうすればよいのか分かりません。 エラーの意味とその対処法をお願いします。

  • 教えてください! 行列式の計算プログラム

    FORTRANで「4次の行列式の計算」 を行うプログラムを作りたいのですが、 どのようにすればよいか良く分かりません。 プログラム例または参考ホームページを教えていただけると嬉しいです。 よろしくお願いします。

  • C言語で数字の符号を取る関数は?

    Cを使って数値の符号を取るような関数ってありますか? 具体的には、Fortranを例にとると、 |x|にyの符号をつけるときには、 SIGN(x,y) としますが、これと同じ事をCでやりたいと思っています。 xの絶対値を取るような関数は fabs(x) でできる事は知っているのですが、 yの符号をどうやって取るのかがわからないのです。 あと、ちょっと違う質問なんですが、 ある本のfortranのプログラムで !x=・・・・・・ というのがあったんですが、この !x というのは どういう意味なのか、教えていただければ幸いです。 基本的な質問かも知れませんが、よろしく御願いします。

  • c++からfortranの関数を呼び出す

    Linux上でintel fortran compilerとc compilerを使っているものです。 cのプログラムからfortranで書かれたsubroutineやfunction を呼び出したいと考えています。 いろいろネット上を調べたのですが、どれも細かいことは書いていても 具体的にどのようなコマンドを実行すればいいのか等については 部分的にしか書いておらず、よく把握できていません。 どなたか、非常に簡単なプログラムで結構ですので、 具体的なプログラムと、実行すべきコマンドについて 具体例を挙げて教えていただけないでしょうか? もしくは、そのようなページを教えてください。 よろしくお願い致します。

  • FORTRANシミュレーション

    Fortranを使った数値解析を行いたいのですが参考になる資料を探しています。 具体的には非圧縮性の水の流れ場の中に円柱をおきその流れ場の解析のプログラムを参考にさせていただきたいのですがその情報があるサイトや文献はないでしょうか?