以下文章来源于happy科研 ,作者Swordholder
1 简介
Intel oneAPI 是一种统一的跨架构的的编程模型,提供了CPU、GPU、FPGA、专用加速器的产品。
2020年12月,Intel发布了oneAPI软件开发套装,免费、并且代替了之前需要许可(购买)的Intel Parallel Studio。
Intel oneAPI toolkits包含了六大工具包:
- Intel® oneAPI Base Toolkit(包含了Intel Parallel Studio中常用的软件以及 icc、MPI、DPCPP、MKL等)
- Intel® oneAPI HPC Toolkit(提供可扩展的快速C ++、Fortran、OpenMP和MPI应用程序)
- Intel® oneAPI IoT Toolkit
- Intel® oneAPI Rendering Toolkit
- Intel® AI Analytics Toolkit
- Intel® Distribution of OpenVINO™ Toolkit
对于我们来说 Intel® oneAPI Base Toolkit + Intel® oneAPI HPC Toolkit 基本就包含Intel Parallel Studio XE的功能了,关键还免费。
更详细的工具包汇总:
https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html
https://www.chpc.utah.edu/documentation/software/intel-parallelXE.php
2 性能对比
对于气象中的应用,主流数值模式基本都是以Fortran编写的,为了追求更高的计算速度,我们尽量使用的intel编译器,像超算中心基本都预装了商业版Intel Parallel Studio。但对于个人或小规模团队,还是使用的gcc+gfortan免费的编译器,毕竟商业许可要花不少钱,还是绑定IP的。
下图列出了Intel Fortran编译器,即ifort的应用性能,可以看出,ifort编译的程序运行速度比gfortran要高一些。尽管高的不是非常多,但对于模式长时间的积分,节省的时间还是非常可观的。
Intel Fortan Compiler更详细的介绍:
https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html
3 安装
前面已经提高,对于我们的使用需求,只需安装Intel® oneAPI Base Toolkit 和 Intel® oneAPI HPC Toolkit 就满足了。
各个工具包的下载地址如下:
https://software.intel.com/content/www/us/en/develop/tools/oneapi/all-toolkits.html
3.1 Windows安装
Windows系统安装下载Base toolkit和hpc toolkit的离线包运行。
Base Toolkit:
https://registrationcenter-download.intel.com/akdlm/irc_nas/17978/w_BaseKit_p_2021.3.0.3221_offline.exe
HPC Toolkit:
https://registrationcenter-download.intel.com/akdlm/irc_nas/17940/w_HPCKit_p_2021.3.0.3227_offline.exe
安装后再搭配visial studio集成开发环境,编辑、运行C、Fotran项目。
3.2 Linux安装
Linux也可以下载离线包安装,一步到位。但对于存储较小的机器,添加软件源下载需要的包即可。
以Ubuntu/Debian为例(root用户):
3.2.1 导入软件源密钥并设置环境变量
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" > /etc/apt/sources.list.d/oneAPI.list
echo "source /opt/intel/oneapi/setvars.sh -i_mpi_library_kind=release_mt" >> /etc/profile.d/intel.sh
chmod a+x /etc/profile.d/intel.sh
3.2.2 安装icc、ifort、mpi模块
apt-get update -y
apt-get install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-compiler-fortran intel-oneapi-mpi-devel
其中:
intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic(包含icc)
intel-oneapi-compiler-fortran(包含ifort)
intel-oneapi-mpi-devel-2021.3.0(包含mpif90等)
重新登陆环境变量生效后即可使用icc,ifort和mpi。
3.2.3 容器化封装
Intel官方提供了Docker容器镜像,但镜像非常巨大,几乎包含了所有的模块。下载镜像约7G,本地docker载入后22G。如果不在意存储和迁移部署,可以直接使用官方镜像。
下面为官方仓库地址:
https://hub.docker.com/r/intel/oneapi-hpckit
经简化修改了一个版本,只包含icc,ifort和mpi。本地docker载入后约1G多。
下面为仓库地址:
https://hub.docker.com/r/happy/intel-base
从docker仓库拉到本地:
docker pull happy/intel-base
运行该容器:
docker run -it --shm-size=50gb intel-base:0.1 bash
经测试该镜像可以正常编译WRF等主流模式,仓库里公开了Dockerfile的内容和说明,可自行修改,进行个性化封装。尽量让工作、科研从编译软件库、模式上解放出来。
未经允许不得转载:木盒主机 » 【科研利器】Intel oneAPI toolkits 介绍和安装