2

mpi と fortran で単純な微分方程式ソルバーを作成しようとしています。ATLAS/LAPACK/BLAS ルーチンは、将来の数値モデリングに非常に役立つように思われるため、これらのルーチンの使用に慣れたほうがよいと考えました。macports 経由で ATLAS をインストールしました。私はgcc 4.4を使用しています(これもmacports経由でインストールされています)。

私はほとんど独学で、ATLAS、BLAS、LAPACK、または「ライブラリ」を故意に使用したことはありません (C++ Java および Perl で「include」ステートメントまたはそれに相当するものを使用しましたが、それらがどのように機能するかを完全には理解していません)。

ATLAS を使用して、Fortran で Ax=b を解くコードを書きたいと思っています。サンプルコードを探してみたのですが、「pgi」が必要なようです。多くのグーグル検索の後、「pgi」が何であるか、またはそれが何をするのかまだわかりません。ターミナルで「add pgi」と入力すると、「add: command not found」と表示されました

直接関連する場合に備えて、Mac 10.5.8 を使用します。

これがこの質問をする合理的な場所であることを願っています。

4

1 に答える 1

0

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

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

並列プログラミングの初心者として、MPI よりも OpenMP の方が簡単だと感じるでしょう。段階的に試してみることをお勧めします。最初に順次プログラムを機能させてから、並列プログラミングについて考えてください。

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

于 2011-01-08T05:24:43.587 に答える