Fortran mpi在Linux的安装

embedded/2024/12/4 3:35:16/

最近编译一个程序需要需要 Fortran mpi 编译器,则需要安装 Fortran编辑器和MPI库,以下是具体的安装步骤:

Fortran_gfortran_1">一、安装 Fortran 编译器(gfortran)

在conda环境中安装:

conda install -c conda-forge gfortran

或者用apt:

sudo apt update
sudo apt install gfortran

查看是否安装成功:

 gfortran --version

二、安装 MPI 库(Inter oneAPI)

该程序推荐安装Inter oneAPI编译器,因为它适合需要极致性能和优化的场景,但相比open mpi等安装稍复杂。以下是具体安装步骤:

1:下载oneAPI基础工具包:

wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18970/l_BaseKit_p_2022.3.1.17310_offline.sh

2:使用$ sudo sh ./.sh启动 GUI 安装程序:

root用户安装:
sudo  sh ./l_BaseKit_p_2022.3.1.17310_offline.sh
普通用户安装:
sh ./l_BaseKit_p_2022.3.1.17310_offline.sh

该命令运行后会进入安装程序,需要按照安其中的说明逐步完成 Intel oneAPI Base Toolkit 的安装,操作相对麻烦,所以我们进行非交互式的静默安装,即在安装期间不需要任何用户输入:

root用户安装:
sudo sh ./l_BaseKit_p_2022.3.1.17310_offline.sh -a --silent --eula accept
普通用户安装:
sh ./l_BaseKit_p_2022.3.1.17310_offline.sh -a --silent --eula accept

3:下载Inter oneAPI HPC 工具包:

wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18975/l_HPCKit_p_2022.3.1.16997_offline.sh

4:使用$ sudo sh ./.sh启动 GUI 安装程序:

root用户安装:
sudo  sh ./l_HPCKit_p_2022.3.1.16997_offline.sh
普通用户安装:
sh ./l_HPCKit_p_2022.3.1.16997_offline.sh

同样需要按照安装程序中的说明完成英特尔 oneAPI HPC 工具包的安装,所以也进行静默安装:

root用户安装:
sudo sh ./l_HPCKit_p_2022.3.1.16997_offline.sh -a --silent --eula accept
普通用户安装:
sh ./l_HPCKit_p_2022.3.1.16997_offline.sh -a --silent --eula accept

三、配置 MPI 环境变量

初始化oneAPI 环境:

source ~/intel/oneapi/setvars.sh

但这只是在本次终端添加,关闭后再打开就没有了,所以需要永久添加:

echo "source ~/intel/oneapi/setvars.sh" >> ~/.bashrc
source ~/.bashrc

四、验证安装是否成功

安装成功后会出现以下目录:

root用户:
/opt/intel/oneapi
普通用户:
~/intel/oneapi

如果第三步加载成功,环境变量会被设置为 oneAPI 工具的路径,可以使用工具包中的功能,例如 icc(编译器)或 mpi。所以检查安装工具是否可用,例如:

mpiifort --version
icc --version
mpirun --version

安装成功!

参考文档: Install Intel oneAPI
Intel® oneAPI Toolkits Installation Guides


http://www.ppmy.cn/embedded/142458.html

相关文章

Milvus 2.5:全文检索上线,标量过滤提速,易用性再突破!

01. 概览 我们很高兴为大家带来 Milvus 2.5 最新版本的介绍。 在 Milvus 2.5 里,最重要的一个更新是我们带来了“全新”的全文检索能力,之所以说“全新”主要是基于以下两点: 第一,对于全文检索基于的 BM25 算法,我们采…

神经网络的数学——一个完整的例子

神经网络是一种人工智能方法,它教导计算机以类似于人脑的方式处理数据。神经网络通过输入多个数据实例、预测输出、找出实际答案与机器答案之间的误差,然后微调权重以减少此误差来进行学习。 虽然神经网络看起来非常复杂,但它实际上是线性代数…

软件测试丨Pytest生命周期与数据驱动

Pytest的生命周期概述 Pytest 是一个强大的测试框架,提供了丰富的特性来简化测试执行。它的生命周期包括多个阶段,涉及从准备测试、执行测试到报告结果的完整流程。因此,理解Pytest的生命周期将帮助我们更好地设计和管理测试用例。 开始阶段…

注意http-proxy-middleware要解决跨域问题,想修改origin请求头不要设置changeOrigin=true

在使用http-proxy-middleware的时候,有一个配置是“changeOrigin”,通过名字来看这个字段是用来控制是否修改origin的,但是实际使用下来,你会发现,当设置为true的时候,header中的origin的值并不会修改&…

详解Qt PDF 之 QPdfDocument与 QPdfView 打开与显示pdf

文章目录 使用Qt PDF:QPdfDocument与QPdfView加载与显示PDF文档引言1. QPdfDocument类1.1 QPdfDocument的构造和加载文档1.2 QPdfDocument的主要功能1.3 错误处理和状态管理 2. QPdfView类2.1 QPdfView的构造和文档设置2.2 QPdfView的视图模式2.3 缩放功能2.4 控件的…

008静态路由-特定主机路由

按照如上配置,用192.168.0.1 电脑ping 192.168.1.1 发现能够ping通 用192.168.0.1 电脑ping 192.168.2.1 发现不能ping通 这是因为192.168.0.1 和 192.168.1.1 使用的是同一个路由器R1。 192.168.0.1 和 192.168.2.1 通信需要先经过R1,再经过R2 &#xf…

A02、Java 设计模式优化

1、单例模式 1.1、什么是单例模式 它的核心在于,单例模式可以保证一个类仅创建一个实例,并提供一个访问它的全局访问点。该模式有三个基本要点:一是这个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向…

UNDO LOG日志

目录 undo log的作用 undo log的生成与管理 undo log与事务操作 undo log的配置与优化 undo log结构 整体结构 回滚段(Rollback Segment) undo log段(Undo Log Segment) undo log页(Undo Log Page&#xff09…