【科研利器】Intel oneAPI toolkits 介绍和安装

以下文章来源于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 介绍和安装

赞 (0)

相关推荐

    暂无内容!