在开始部署前,需确保远程Ubuntu服务器具备运行Fortran程序的基础环境:
apt
包管理器安装GNU Fortran(gfortran
),这是Ubuntu下最常用的Fortran编译器。sudo apt update
sudo apt install gfortran -y
安装完成后,通过gfortran --version
验证安装是否成功。sudo apt install libopenmpi-dev openmpi-bin -y
将本地编写的Fortran源代码(如hello.f90
)上传至服务器(可通过scp
命令),然后使用gfortran
编译为可执行文件:
# 上传源代码(本地终端执行)
scp hello.f90 username@remote_server_ip:/path/to/server/directory/
# 服务器终端编译(假设源代码在/home/username/fortran/目录)
cd /home/username/fortran/
gfortran -o hello hello.f90 # 生成可执行文件hello
若程序需要并行计算,可使用mpif90
(MPI Fortran编译器)编译:
mpif90 -o mpi_hello mpi_hello.f90 # 生成支持MPI的hello程序
~/.bashrc
文件,添加以下内容(以LD_LIBRARY_PATH
为例):echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc # 使配置立即生效
# 本地终端生成SSH密钥(若已有密钥可跳过)
ssh-keygen -t rsa
# 将公钥复制到远程服务器
ssh-copy-id username@remote_server_ip
# 测试免密登录
ssh username@remote_server_ip
ssh username@remote_server_ip
cd /path/to/program/
./hello # 运行普通Fortran程序
mpirun
或mpiexec
命令指定进程数,运行并行程序:mpirun -np 4 ./mpi_hello # 使用4个进程运行MPI程序
若需将程序分发给其他用户或服务器,可将程序及依赖打包为压缩文件:
myprogram/
)。install.sh
):自动化复制文件到系统目录(如/opt
)并设置权限:#!/bin/bash
sudo mkdir -p /opt/myprogram
sudo cp myprogram/hello /opt/myprogram/
sudo chmod +x /opt/myprogram/hello
echo "Installation completed. Run with /opt/myprogram/hello"
tar
命令将目录打包为.tar.gz
文件:tar -czvf myprogram.tar.gz myprogram/
scp
将压缩包传输至目标服务器,用户解压后运行安装脚本即可完成部署。.so
库)。chmod +x
),安装目录(如/opt
)需有写入权限(通过sudo
执行)。./hello > output.log 2>&1
)记录运行状态,便于排查问题。