CentOS7下的Intel编译器、MKL库、Openmpi安装(oneAPI)

一、Toolkit下载

百度(intel oneAPI HPC Download)选择第一个
在这里插入图片描述
链接: link

本文选择离线安装法
在这里插入图片描述
选择Download后直接快速即可下载文件(文件包含icc、icpc、ifort等)
在这里插入图片描述
网页右侧还有命令行下载方式

文件如图所示:
在这里插入图片描述

二、上传安装

下载完成上传至服务器(虚拟机)
本文利用xshell软件用sftp的方法上传

cd D:\user\tools #文件下载的位置
$ sftp username@ip
sftp:/home/username>mkdir softwares ## 建一个文件夹专门放软件
cd softwares
sftp:/home/username/softwares>put l_HPCKit_p_2022.2.0.191_offline.sh
put l_onemkl_p_2022.1.0.223_offline.sh

在这里插入图片描述

进入虚拟机后
在这里插入图片描述
进入终端,因为是图形界面,它会自动开启图形安装界面(continue)先装Intel编译器

bash l_HPCKit_p_2022.2.0.191_offline.sh

在这里插入图片描述
选择 I accept… 然后可以根据所需进行选择,可以推荐安装,也可以自定义选择,这里本文选择自定义安装
在这里插入图片描述
选择安装MPI库、ifortran、icc等,一路默认加跳过
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
等待安装(Finish即可完成)
在这里插入图片描述
在这里插入图片描述

接着装MKL库,如上的操作只有3步(Finish)

bash l_onemkl_p_2022.1.0.223_offline.sh

在这里插入图片描述

环境变量配置

在个人用户下进入.bashrc,摁i进入编辑,把最后一句话加入,esc退出、输入:wq保存退出

vim ~/.bashrc

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions
source /home/username/intel/oneapi/setvars.sh intel64 --force

完成后再source ~/.bashrc执行一下
在这里插入图片描述
这时候可以测试一下

$ icc -v
$ icpc -v
$ ifort -v

在这里插入图片描述
发现缺乏gcc和g++,进入root进行安装su+密码

# yum -y install gcc
# yum -y install gcc-c++
# yum -y install gcc-gfortran

再次测试出现以下结果(搞定)
在这里插入图片描述
在这里插入图片描述

三、安装Openmpi

进入openmpi官网进行选择,下载链接: link这里用wget直接下载,可以选择版本号,也可以和上面的离线下载上传一样

## 这些都是在softwares文件夹下进行的
$ wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.4.tar.gz
## 解压文件
$ tar -zxvf openmpi-4.0.4.tar.gz
## 解压完进入openmpi-4.0.4文件夹
$ cd openmpi-4.0.4
# 开始配置
$ ./configure  --prefix=/home/username/softwares/openmpi
## --prefix设置安装路径,这里先创建一个openmpi文件夹
## 完成后用make进行编译再安装
$ make
$ make install

经过漫长等待,没有报错,说明安装完成,这是我们要配置环境,和上面一样,放在最下面即可,保存退出,source一下

vim ~/.bashrc

############
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions
source /home/centos/intel/oneapi/setvars.sh intel64 --force

export PATH="/home/username/softwares/openmpi/bin:$PATH"  
####################

source ~/.bashrc
## 通过which检查一下路径
$ which mpicc
$ which mpif90

在这里插入图片描述
接着看openmpi是否能正常运行,还是在这个文件夹下openmpi-4.0.4,进入examples

$ cd examples
$ make   # 先编译一下
$ mpirun -np 4 hello_c

在这里插入图片描述
成功运行

其他细节可参考:
https://zhuanlan.zhihu.com/p/356705583

猜你喜欢

转载自blog.csdn.net/Yygj39/article/details/125523026