並列計算ライブラリのmpichのソースファイルをダウンロードして
コンフィグ、メイクしてインストールしました。
インストール先は/usr/local/mpichです。
ここからは一般ユーザで行いました。
もちろん.bashrcのPATH設定も行いました。
サンプルプログラム(cpi.c)があったのでコンパイルはmpicc -O -o cpi cpi.c
としておこないました。このプログラムはπの近似値を出力するらしい。
ところが、サンプルプログラムをコンパイルして実行ファイル(cpi)が生成される
ものの肝心の実行ができません。
ちなみに実行は以下の手順です。
$mpirun -np 1 cpi

この後C+zするまでとまったまんまです。
πの3.14もでてきません。
どのようなことが原因なんでしょうか?
よいご意見お待ちしております。

このQ&Aに関連する最新のQ&A

A 回答 (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
    • good
    • 0
この回答へのお礼

いやーありがとうございました。
ローカルユーザのホームディレクトリの.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^)/

お礼日時:2001/07/27 12:38

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QLinux上で、C言語で作ったプログラムを実行させる方法

VineLinux2.1のvi:スクリーンエディタを利用して簡単なプログラムを実行させたいのですが、コンパイルしたファイルを実行すると
a.out : command not found
というエラーがでてきます。
実行のさせ方がおかしいのでしょうか?

今回作ったプログラムです。
#include <stdio.h>
int main(){
printf("Hello World!");
return 0;
}

Aベストアンサー

Segmentation fault
が表示されたということは実行できたということですね。
# …でも、真っ当なプログラムになってないみたいですが。

Path (←プログラムを探すディレクトリ…というと語弊があるかな?)
に Current Directory (現在のディレクトリ)が含まれていないので、
Current Directory のファイルを実行する場合には、
「./」をファイル名の前に書いてやるなどの必要があるのです。
このあたりは DOS とは違います。

Qgccでコンパイルされた実行ソフトのライセンスについて。

gccでコンパイルしたソフトをフリーではなく商用で販売しようとしています。(開発ソフト自身はLinux上で動作するもの)この場合、gcc自体はフリーソフトとしてGPLで適応されていますが、gccでコンパイルされた実行ソフトには著作権を持たせたり、ソースの公開をせずに商用目的で販売することは可能でしょうか?

Aベストアンサー

>コンパイルされた実行ソフトには著作権を持たせたり、
>ソースの公開をせずに商用目的で販売することは可能でしょうか?

可能だと思います。
コンパイラーの著作権は相当の対価の要求と、複製、頒布、改変を禁止しているのが主な項目です。

コンパイラーの著作権は、コンパイラーを使って作った新ソフトには及びません。
新ソフトの著作権は新ソフトのソースコードを書いた人に帰属します。

Qプログラムが実行できません

ある日突然、というわけではないのですがXX.exeが実行できなくなりました。
(今回はServer2003でCloneDVD.exe。以前にはW2KでVisualBasic6のSetup.exeが実行できなかったこともあります)
CloneDVDは数日前まで利用できていたはずなんですが、実行できないのを確認したときにはいろいろやってみましたが実行できませんでした。
状況としては、ファイルを実行した瞬間にマウスが砂時計に変わりますがすぐ矢印に戻ってしまいます。同時期にインストールしたCloneCDは正常に実行できます。
ショートカットからではなく直接ファイルを開いても変わりませんし、CloneDVDをアンインストール→レジストリからCloneDVDを検索して全削除→再インストールでも変わりませんでした。
OSインストールと合わせてソフトをいろいろインストールしたので原因あるのかわかりませんが、以前はほぼ同じ環境(違いはOSがXPというくらい)では問題なく実行できてました。

このような状況になったことのある方、解決方法のわかる方、回答いただければ幸いです。

ある日突然、というわけではないのですがXX.exeが実行できなくなりました。
(今回はServer2003でCloneDVD.exe。以前にはW2KでVisualBasic6のSetup.exeが実行できなかったこともあります)
CloneDVDは数日前まで利用できていたはずなんですが、実行できないのを確認したときにはいろいろやってみましたが実行できませんでした。
状況としては、ファイルを実行した瞬間にマウスが砂時計に変わりますがすぐ矢印に戻ってしまいます。同時期にインストールしたCloneCDは正常に実行できます。
ショートカットからで...続きを読む

Aベストアンサー

役に立たなければすみません^^;

スパイウェアの可能性はありませんか?
私も同じように殆どの.exeが実行できなくなり、
結局OSをリカバリしました。
私の場合は、Spybotなどは動いたので調べたところ
Coolwwwsearchなどのスパイウェアが入り込んでいました。
ですが、肝心のウィルス対策ソフトや駆除ツールが実行できず
さっさと観念することにしました。

見当違いなら申し訳ありません^^;

参考URL:http://www.higaitaisaku.com/removecws.html

QLinuxのプログラムの実行

Linuxのプログラムをリモート操作でウィンドウズで実行しようと思ったのですけど、
「Gdk-WARNING **: cannot open display:(このディスプレーでは表示できません。)」
という感じで表示されるのですけど、どうやって回避したら良いのでしょうか?
一応、実行可能形式に変換してやってみたのですが、結果は同じでした。

Aベストアンサー

ここから始めましょう。
http://www.sra.co.jp/people/akira/vnc/install/win32.html

Qプログラムを実行する際のWindowsとMacの違い

私は今、会社ではUNIX(系?)、自宅ではWindowsを使用しています。

会社の仕事でPerlを使用しています。

実行に時間がかかる場合、
会社のUNIXでは他の作業を進めることができるのですが、
自宅のWindowsではそれができません。

そんな中、
知人から「MacはUNIXと似てる」という情報を仕入れました。

Macだと、プログラムを実行中に
他の作業を進めるというような事が可能かどうか、
ご存知の方がいらっしゃいましたら教えていただけますでしょうか?

よろしくお願いしますm(_ _)m

Aベストアンサー

MacとUNIXは似ているっていうか

MacのOSはUNIX系(UNIXを元につくられたOS)です。

それはどのPCでもプログラム実行しながらネットを見たりという意味ならできると思います。

作業領域のことなら、UNIX,Linux,Macならできると思います。


このカテゴリの人気Q&Aランキング

おすすめ情報