2011-01-07 16 views
2

私はmpiとfortranに簡単な微分方程式ソルバーを書こうとしています。私はATLAS/LAPACK/BLASルーチンを使うことに慣れ親しんでいるかもしれないと思っています。なぜなら、将来の数値モデリングには非常に便利だと思います。私はmacports経由でATLASをインストールしました。典型的なFortranプログラムのmacportsからのATLAS/Lapackの使用

私は自分で教えて、ATLAS、BLAS、LAPACK、または任意の "ライブラリ"を故意に使用したことがありません(C++で "include"ステートメントまたは同等のものを使用しています) JavaとPerl - しかし、どのように動作しているかを完全に理解していない)

ATLASを使用してFortranでAx = bを解決するコードを書くことができるだけです。私はサンプルコードを探しましたが、 "pgi"が必要なようです。多くのグーグルの後、私はまだ "pgi"が何であるか、それが何であるか分かりません。端末に "add pgi"と入力すると、 "add:command not found"と表示されました。

直接関連性がある場合は、mac 10.5.8を使用します。

私はこれがこの質問をするのにふさわしい場所であることを望みます。

+3

MPIは並列計算のためのライブラリです。あなた自身が経験した経験のレベルを考えれば、私はあなたが現時点でそれを避けることを提案します。 PGIはfortranコンパイラですが、gfortranを使うことをお勧めします - これはmacports gccの一部であるようです。私はあなたがhttp://www.nag.co.uk/lapack-ex/lapack-ex.htmlのようなラップトップの例を試してみることをお勧めします – DaveP

答えて

0

1つの側面:リンクするときは必ずライブラリを含める必要があります。これは、コンパイルコマンドに "-l"オプションを指定してライブラリの名前を付けることで実行できます。ライブラリが珍しいディレクトリにある場合は、リンカにその場所を知らせるために "-L"オプションが必要な場合もあります。 macports gfortranとmacportsインストールされたライブラリを使用している場合は、おそらく "-L"オプションは必要ありません。 Macportsライブラリは/ opt/local/libにありますので、オプション "-L/opt/local/lib"が必要な場合は、 "-l"オプションを指定してライブラリの名前を指定すると、 "lib"とファイルタイプが残されているので、 "-latlas"となります。

一部のライブラリでは、Fortranソースコードに "use"ステートメントが必要な場合があります。

パラレルプログラミングの初心者として、おそらくOpenMPがMPIよりも簡単に見つかるでしょう。私は段階的に物事を試してみることをお勧めします - あなたの逐次プログラムを最初に働かせてから、並列プログラミングについて考えてください。

http://people.sc.fsu.edu/~jburkardt/f_src/lapack/lapack.htmlにはlapackの使用例がいくつかあります。 John Burkardtはあなたに他の使用例を持っているかもしれません。

関連する問題