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

一方面:必须确保在链接时包含库。这可以通过带有“-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 可能有其他对您有用的例子。

于 2011-01-08T05:24:43.587 回答