並列計算ライブラリのmpichのソースファイルをダウンロードして
コンフィグ、メイクしてインストールしました。
インストール先は/usr/local/mpichです。
ここからは一般ユーザで行いました。
もちろん.bashrcのPATH設定も行いました。
サンプルプログラム(cpi.c)があったのでコンパイルはmpicc -O -o cpi cpi.c
としておこないました。このプログラムはπの近似値を出力するらしい。
ところが、サンプルプログラムをコンパイルして実行ファイル(cpi)が生成される
ものの肝心の実行ができません。
ちなみに実行は以下の手順です。
$mpirun -np 1 cpi
この後C+zするまでとまったまんまです。
πの3.14もでてきません。
どのようなことが原因なんでしょうか?
よいご意見お待ちしております。
No.1ベストアンサー
- 回答日時:
特殊な利用のために、答えを出してくれる人も少ないようです。
小生も、興味本位からダウンロードして、試してみました。
結論から言えば、パスが通っていません。
#または、$プロンプトで、
echo $PATHを実行して、/usr/local/mpich/binが含まれていることを確認してください。
Debian / gnu Linuxのログインシーケンスは分かりませんが、redHatの例では、ユーザホームの ".bash_profile"から、パスや、環境変数を読み込んでゆきますので、この、.bash_profileにパスを追加しました。
小生は、http://www.hpc.co.jp/Technical/MPI-TechNote-01.htm
サイトからのリンク先のftpサイトから、mpich-1.2.0.tar.gzをダウンロードして、インストールしました。好ましくないのですが'root'ユーザでテストしました。
手順は、# /usr/local/mpich-1.2.0 に展開して、
1../configure
2.make
3./usr/local/mpich-1.2.0/examples/basicで
make cpi
4..bash_profileにパスを追加
5.ログアウトして、再度ログイン
6./usr/local/mpich-1.2.0/examples/basicで
mpirun -np 1 cpi
で、瞬時にπの結果と誤差が、計算時間と共に表示されました。
Time = 0.003583秒でした。
cpiのほかに、fpiなどのサンプルもありますがここまでにしておきます。
ディストリビューションにより異なりますが、一般的なログインシーケンスを以下にまとめました。
bash が対話的なログインシェルとして起動されるか、 --login オプション付きの非対話的シェルとして起動されると、 /etc/profile ファイルが存在すれば、 bash はまずここからコマンドを読み込んで実行します。このファイルを読んだ後、 bash は ~/.bash_profile, ~/.bash_login, ~/.profile をこの順番で探します。 bash は、この中で最初に見つかり、かつ読み込みが可能であるファイルからコマンドを読み込んで実行します。
では、ご健闘を祈ります
hogehoge ojin
参考URL:http://www.hpc.co.jp/Technical/MPI-TechNote-01.htm
いやーありがとうございました。
ローカルユーザのホームディレクトリの.bash_profileに
export PATH="/usr/local/mpich-1.2.1/bin:$PATH"
としてsource ~/.bash_profile
を実行しecho $PATH
としたら一番先頭に認識されていました。
最初は
export PATH="$PATH:/usr/local/mpich-1.2.1/bin"
というようにしていたので
認識されるのですが一番最後に付加されるというかたちでした。
ご指摘の通りbashの特性が原因でしたね。
いやー勉強になりました。
本当にありがとうございました(^o^)/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- FX・外国為替取引 今夜中に介入に入ることってあると思いますか? 1 2022/10/13 18:06
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- その他(プログラミング・Web制作) プログラムが書けません。 6 2023/01/22 22:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
シェルスクリプト実行で”そのよ...
-
apachectl start command not f...
-
自動パスワード入力でscpするス...
-
Linuxで自作バッチファイルの置...
-
sudoでシェルスクリプトを実行...
-
crontabでjavaだけが上手く動い...
-
クーロンでシェル実行、JAVAコ...
-
UNIXのbashエラーでnot a valid
-
cronの@rebootでのdateコマンド...
-
ロケールをutf8からsjisにする...
-
Mysqlのパスの設定しても、カレ...
-
Linux 月を英語表示したい
-
主モニタと副モニタを切り替え...
-
Cronジョブの終了時刻を簡単に...
-
Cシェルのかっこいいプロンプト...
-
TOPコマンドで表示するCPU使用...
-
エクセルの表にヘンな枠が・・・
-
batである文字列内に特定の文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
Linux 月を英語表示したい
-
シェルスクリプト実行で”そのよ...
-
自動パスワード入力でscpするス...
-
crontabでsql/plusの起動
-
cronの@rebootでのdateコマンド...
-
Linuxで自作バッチファイルの置...
-
bad interpreterで、シェルが使...
-
ロケールをutf8からsjisにする...
-
sudoでシェルスクリプトを実行...
-
hp-uxで時間(時計)を合...
-
Homebrewをインストールしたの...
-
Cronジョブの終了時刻を簡単に...
-
シェルスクリプトで標準エラー...
-
Linuxでシェルスクリプトがフル...
-
apachectl start command not f...
-
Bシェルで文字列が日付として正...
-
WIN10(MAC-bootcamp)で 起動時...
-
JAVAの環境変数が初期化されて...
おすすめ情報