如何在Debian上使用Fortran进行科学计算
导读:在 Debian 上使用 Fortran 进行科学计算的快速指南 一 环境准备与编译器安装 更新索引并安装基础工具与编译器: sudo apt update sudo apt install -y gfortran build-esse...
在 Debian 上使用 Fortran 进行科学计算的快速指南
一 环境准备与编译器安装
- 更新索引并安装基础工具与编译器:
- sudo apt update
- sudo apt install -y gfortran build-essential cmake
- 验证安装:
- gfortran --version
- 可选:安装 Intel oneAPI(ifx/ifort)用于高性能与 MKL 生态
- 下载 Base/HPC 离线安装脚本,执行静默安装(示例):
- sudo sh l_BaseKit_p_2022.3.1.17310_offline.sh -a --silent --eula accept
- sudo sh l_HPCKit_p_2022.3.1.16997_offline.sh -a --silent --eula accept
- 初始化环境(加入 ~/.bashrc 以持久化):
- echo “source ~/intel/oneapi/setvars.sh” > > ~/.bashrc
- source ~/.bashrc
- 下载 Base/HPC 离线安装脚本,执行静默安装(示例):
- 说明:gfortran 足以完成大多数科学计算;oneAPI 适合追求极致性能与调用 MKL 的场景。
二 线性代数与常用数值库
- 使用系统库一键安装(推荐):
- sudo apt install -y libopenblas-dev liblapack-dev liblapacke-dev libtmglib-dev
- 说明:
- OpenBLAS 提供优化的 BLAS 实现;LAPACK 提供线性方程组、特征值/奇异值等高层算法;LAPACKE 为 C/Fortran 提供接口层;tmglib 包含矩阵测试与生成例程。
- 验证链接可用性(示例):
- gfortran -o test_lapack test_lapack.f90 -llapack -lopenblas
- 若使用 MKL(oneAPI 安装后),可通过环境变量或 MKL 提供的链接脚本配置,详见下一节示例。
三 并行与高性能计算
- MPI 并行(示例采用 OpenMPI + gfortran)
- 安装:sudo apt install -y openmpi-bin libopenmpi-dev
- 编译与运行:
- mpif90 -o mpi_hello mpi_hello.f90
- mpirun -np 4 ./mpi_hello
- 使用 Intel oneAPI 的 MPI(可选)
- 安装 oneAPI HPC 后,source setvars.sh,使用 oneMKL 与 oneMPI 提供的工具链与库;适合需要 MKL 加速与统一工具链的场景。
四 示例与构建
- 示例 1 基础程序(hello.f90)
- 代码:
- program hello print *, “Hello, Fortran on Debian” end program hello
- 编译与运行:
- gfortran -O2 -o hello hello.f90
- ./hello
- 代码:
- 示例 2 调用 LAPACK 求解线性方程组(dgesv,示例文件 test_dgesv.f90)
- 代码要点:
- 使用 double precision,调用 dgesv 求解 Ax=b,检查 info=0 表示成功
- 编译与运行(系统库):
- gfortran -O2 -o test_dgesv test_dgesv.f90 -llapack -lopenblas
- ./test_dgesv
- 代码要点:
- 示例 3 使用 Intel MKL(oneAPI 环境)
- 设置库路径(若未由 setvars.sh 自动配置):
- 将 $MKLROOT/lib/intel64 加入 LD_LIBRARY_PATH
- 链接示例(可用 MKL Link Line Advisor 生成更精确参数):
- gfortran -O2 -o test_mkl test_dgesv.f90 -L$MKLROOT/lib/intel64 -lmkl_rt
- 运行前确保已执行 source ~/intel/oneapi/setvars.sh。
- 设置库路径(若未由 setvars.sh 自动配置):
五 项目构建与生态工具
- 使用 FPM(Fortran Package Manager) 管理依赖与构建(现代 Fortran 项目推荐)
- 安装:参考 FPM 官方安装脚本或使用系统包管理器/conda-forge 提供的版本
- 常用命令:
- fpm new myapp & & cd myapp
- fpm build
- fpm run
- fpm test
- 与 Python 协同
- 通过 F2PY 将 Fortran 子程序封装为 Python 扩展模块,便于在 Python 科学计算栈(NumPy/SciPy)中调用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Debian上使用Fortran进行科学计算
本文地址: https://pptw.com/jishu/753015.html
