macOS运行fortran程序,gfortran与mpif90编译

gfortran

1. 安装Fortran编译器(GUN Fortran):通过Homebrew安装,在终端输入

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. 设置Homebrew的路径:在终端输入

nano ~/.zshrc

添加

export PATH="/opt/homebrew/bin:$PATH"


保存并退出(Ctrl + X, 选Y, 然后 Enter

更新文件:

source ~/.zshrc

3. 检查Homebrew是否安装好,在终端输入

which brew

出现/opt/homebrew/bin/brew

brew --version

出现Homebrew 4.3.20

4. 然后安装gfortran:在终端输入以下代码

brew install gcc


5. 检查是否安装成功:

which gfortran

显示路径就是成功了,即/opt/homebrew/bin/gfortran
 

gfortran --version

显示

NU Fortran (Homebrew GCC 14.2.0) 14.2.0

Copyright (C) 2024 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

6. 设置pgfortran路径

nano ~/.zshrc   
export LIBRARY_PATH="/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"
source ~/.zshrc

7. 测试:接下来就可以写一个简单的程序测试一下

! Filename: example.f90

program square_numbers
implicit none
integer :: i

print *, "Number Square"
do i = 1, 10
print *, i, i**2
end do
end program square_numbers

将上面的代码保存到一个名为 example.f90 的文件中

使用 gfortran 编译 example.f90 文件:

gfortran -o example example.f90

运行程序

./example

得到如下输出

Number Square
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100

使用Homebrew 安装 LAPACK 和 BLAS 库

有多个fortran文件需要链接时,需要设置和链接动态库

1. 安装 LAPACK 和 BLAS 库:在终端输入 

brew install lapack

brew install openblas


安装完成后检查路径

brew --prefix openblas


返回 OpenBLAS 的安装路径,例如 /opt/homebrew/opt/openblas

设置路径

export DYLD_LIBRARY_PATH=/opt/homebrew/Cellar/openblas/0.3.28/lib:$DYLD_LIBRARY_PATH
export LDFLAGS="-L/opt/homebrew/Cellar/openblas/0.3.28/lib"
export CPPFLAGS="-I/opt/homebrew/Cellar/openblas/0.3.28/include"

2. 若存在问题,可以尝试修复库路径以及更新链接工具

install_name_tool -id @rpath/liblapack.dylib $(brew --prefix lapack)/lib/liblapack.dylib
install_name_tool -id @rpath/libopenblas.dylib $(brew --prefix openblas)/lib/libopenblas.dylib
xcode-select --install
brew update
brew upgrade

安装MPI编译

我电脑的型号是MacBook Pro M3 pro芯片,若安装open MPI也就是运行如下命令

brew install open-mpi

此时编译程序并执行

mpif90 -o example example.f90
mpirun -np 1 ./example

会出现如下错误

ld: warning: -commons use_dylibs is no longer supported, using error treatment instead

解决方法:不安装open-mpi,安装MPICH

brew uninstall open-mpi #卸载 Open MPI
brew cleanup #清除可能的残留文件
brew install mpich #安装 MPICH
export PATH="/opt/homebrew/opt/mpich/bin:$PATH" #管理 MPI 环境
mpicc --version #检查 MPI 环境
mpif90 --version
 

重新编译程序并运行,此时就能成功了

猜你喜欢

转载自blog.csdn.net/weixin_44336445/article/details/142184899
今日推荐