在典型的fortran程序中使用来自macports的ATLAS / Lapack

时间:2011-01-07 19:12:26

标签: fortran macports lapack blas atlas

我正在尝试用mpi和fortran编写一个简单的不同方程求解器。我想我也可以熟悉使用ATLAS / LAPACK / BLAS例程,因为它们似乎对我未来可能做的任何数值建模非常有用。我通过macports安装了ATLAS。我使用gcc 4.4(也通过macports安装。)

我主要是自学,并且从未故意使用过ATLAS,BLAS,LAPACK或任何“库”(我在C ++ Java和Perl中使用过“include”语句或它们的等价物 - 但是没有完全理解它们是如何使用的工作。)

我希望能够使用ATLAS编写一个在fortran中解决Ax = b的代码。我找了示例代码,但似乎需要“pgi”。经过大量的谷歌搜索后,我仍然不知道“pgi”是什么或它做什么。在终端输入“添加pgi”只是告诉我 “add:command not found”

我使用mac 10.5.8,以防任何直接相关。

我希望这是一个提出这个问题的合理场所。

1 个答案:

答案 0 :(得分:0)

一个方面:链接时必须确保包含库。这可以使用带有“-l”选项的compile命令来命名库。如果库位于一个不寻常的目录中,您可能还需要使用“-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可能还有其他一些使用示例。