【Intel Parallel编译器(icc icpc ifort)Linux-centos7系统安装配置】

news/2024/11/16 10:50:58/

@(toc)

Intel Parallel编译器(icc icpc ifort)Linux系统安装配置


本篇文章主要讲解在linux系统centos7.5/centos7.9版本中,Intel编译器的安装、环境导入、并行库调用以及在不同centos版本中安装时缺少32位库的解决方案等内容。

一、★Intel编译器定义


Intel Parallel Studio XE Cluster版C/C++ Fortran编译器,是一种主要针对Inetl平台的高性能编译器,可用于开发复杂且要进行大量计算的C/C++、Fortran程序。

Intel编译器编译C和C++源程序的编译命令分别为icc和icpc;编译Fortran源程序的命令为ifort。icpc命令使用与icc命令相同的编译器选项,利用icpc编译时将后缀为.c和.i的文件看作为C++文件;而利用icc编译时将后缀为.c和.i的文件则看作为C文件。用icpc编译时,总会链接C++库;而用icc编译时,只有在编译命令行中包含C++源文件时才链接C++库。

在Intel数学库(Intelmath)中的许多函数针对Intel微处理器相比针对非Intel微处理器做了非常大的优化处理。

二、★安装环境说明


  • 操作系统:centos7.5(已配置离线YUM源)
    Centos7.9_YUM源离线配置链接

  • 操作权限:具有root或sudo权限

  • INTEL软件安装版本: l_ccompxe_2011.4.191 / l_fcompxe_2011.4.191

  • Intel软件包含文件:

    Intel® C++ Compiler XE 12.0 Update 4 for Linux*
    Intel® Debugger 12.0 Update 4 for Linux*
    Intel® Math Kernel Library 10.3 Update 4 for Linux* OS
    Intel® Integrated Performance Primitives 7.0 Update 4 for Linux* OS
    Intel® Threading Building Blocks 3.0 for Linux, Update 7

    Intel® Fortran Compiler XE 12.0 Update 4 for Linux*
    Intel® Debugger 12.0 Update 4 for Linux*
    Intel® Math Kernel Library 10.3 Update 4 for Linux* OS

  • Intel_fortran下载链接:Intel® Fortran Compiler XE 12.0

  • Intel_icc/icpc下载链接:Intel® C++ Compiler XE 12.0第一部分

    ​ Intel® C++ Compiler XE 12.0第二部分

三、★Intel编译器安装


3.1 确认selinux状态
# 临时修改selinux状态
getenforce # 查看selinux状态,确保状态是Disabled或permissive
setenforce 0 # 临时设置selinux状态为permissive
# 永久修改selinux状态,需要重启系统生效
sed -e 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux

注意! 确保selinux的状态是permissive或disabled,否则会出现无法安装的状态

3.2 安装C/C++编译器
# 软件版本:l_ccompxe_2011.4.191.zip
zip -F l_ccompxe_2011.4.191.zip --out  l_ccompxe_2011.4.191-tmp.zip #分卷解压的命令
unzip l_ccompxe_2011.4.191-tmp.zip
cd  l_ccompxe_2011.4.191
chmod +x install.sh
chmod +x pset/32e/install.32e
chmod +x pset/chklic/32e/chklic
chmod +x pset/activation/install_fnp.sh
./install.sh

注意! chmod +x 4个命令并不是必须执行的,需要执行的情况是软件在windows系统中解压后又压缩导入linux系统中,在linux系统解压后会出现一些可执行文件的执行权限的丢失,导致安装的时候出现Permission denied的错误,无法安装,这个时候才需要执行chmod +x 文件名的命令

在这里插入图片描述

step1:选择1放弃检测

在这里插入图片描述

step2:如果安装过,保留了license文件,就选1,否则第一次安装选4

在这里插入图片描述

step3:选择2,使用license文件:NCOM_L_CMP_CPP_N5D5-W47FLRPC.lic

在这里插入图片描述

step4:指定NCOM_L_CMP_CPP_N5D5-W47FLRPC.lic 文件所在的绝对路径

在这里插入图片描述

step5:如果路径正确,NCOM_L_CMP_CPP_N5D5-W47FLRPC.lic文件没有问题,就会出现激活成功

在这里插入图片描述

step6:如果选择Intel默认安装路径就选择1,如果想指定安装路径选择2,并输入指定安装绝对路径

3.3 安装ifort编译器
# 软件版本: l_fcompxe_2011.4.191
tar -zxvf l_fcompxe.tar.gz
cd  l_fcompxe_2011.4.191
chmod +x install.sh
chmod +x pset/32e/install.32e
chmod +x pset/chklic/32e/chklic
./install.sh

注意! chmod +x 这几个命令并不是必须的执行的,需要执行的情况是软件在windows系统中解压后又压缩,导入linux系统中,在linux系统解压后会出现一些可执行文件的执行权限的丢失,导致安装的时候出现Permission denied的错误,无法安装,这个时候才需要执行chmod +x 文件名的命令

Intel fortran编译器和3.2节编译C++/C编译器是一样的方法,只要注意最后的安装路径要选择一样的路径,也就是说C++/C选择了默认安装路径,这里也要选择默认安装路径。

四、★Intel编译器环境导入


# shell环境为:bash
$ vim  ~/.bashrc	#增加如下内容,保存退出
source  /opt/intel/composerxe-2011.4.191/bin/compilervars.sh intel64 #如果采用默认安装就是这个路径
# shell环境为:csh/tcsh
$ vim  ~/.bashrc	#增加如下内容,保存退出
source  /opt/intel/composerxe-2011.4.191/bin/compilervars.csh intel64 #如果采用默认安装就是这个路径
source ~/.bashrc # 立即生效

注意! 如果需要在32位的系统中进行环境导入的话,只需要把intel64替换成ia32

五、★Intel环境查看及并行库调用


# 查看icc/icpc/ifort编译是否指向正确路径
which icc
which icpc
which ifort 

具体mpich/openmpi并行编译调用,请看作者另两篇文章:

Mpich_linux-centos7.9系统下最全编译安装调用

OpenMPI_linux-centos7.9系统源码编译安装调用

六、★安装错误说明


在这里插入图片描述

安装inter编译器时,出现libstdc++ 32位的库没有安装,导致无法安装成功。具体解决方法有以下三种情况

6.1联网状态
yum install -y libstdc++.i686
6.2 断网离线状态,且centos系统版本在7.5及以下
# 已配置离线yum源
yum install -y libstdc++.i686
6.3 断网离线状态,且centos系统版本是7.6及以上
# 寻找一台版本相同的操作系统,注意一定要相同。
yumdownloader  libstdc++.i686  --resolve   --destdir=指定下载路径 
# 此命令是下载libstdc++.i686包及依赖的包,下载路径地址根据自己情况设定
cd  /home/longdaidai/libstdc++_32 # 这里假定路径为/home/longdaidai/libstdc++_32
ls -l    
# 查看下载内容,总共有12个rpm包,把以上下载的rpm包全部导入到无法联网的主机中/home/longdaidai/local_yum/Packages
# 这里/home/longdaidai/local_yum/Packages路径为离线主机YUM源的包配置地址
#切换回不能联网的主机
cd /home/longdaidai/local_yum
rm  -rf repodata
createrepo .  #注意后面的点,不要丢掉
yum clean all
yum makecache
yum install -y libstdc++.i686
rpm -qa | grep  libstdc++ # 如果出现libstdc++-4.8.5-36.el7.i686,说明安装成功

注意! 在离线状态下,系统为centos7.6以上的版本,即使配置了离线yum源,也不能直接安装libstdc++.i686 32位的库,因为在官方的版本中7.6以上版本的yum源码包中取消了libstdc++.i686 32位库的安装包。

七、★最后


以上内容都是经过实战验证过的,本次用来安装的intel版本较低,在高版本的安装过程中,安装过程大体一致。如果你在离线状态下安装,非常建议在centos7.5及以下安装,这样即使不能联网,只要配置好离线YUM源就可以避开libstdc++32位缺失的问题。
(●’◡’●)最后感谢屏幕另一端你的支持。


http://www.ppmy.cn/news/892703.html

相关文章

x64保护模式_IA-32e

IA-32e 内核x64位,内核是64位的,用户可以是64也可以是32位。但是内核一定是64位的。 强制平坦段,段基址必须是0,不支持TSS段切换了。把32位硬件不用的给删了。 MSR寄存器 这是x64独有的。 MSR寄存器c0000080如果位81&#xf…

【操作系统】X86架构的64位操作系统探索

背景 8086 系列芯片的成功带领英特尔 IA-32 指令集架构占据芯片市场的主导地位。20 世纪末,英特尔与惠普一同针对 64 位芯片展开研究,并推出 IA-64 指令集架构。然而,该架构与已经流行的 IA-32 架构不兼容,这导致它的发展受到阻碍…

启明云端分享|乐鑫ESP32-WROOM-32E和ESP32-WROOM-32UE两款模组的区别

提示:ESP32-WROOM-32E 和 ESP32-WROOM-32UE 是两款通用型 Wi-FiBTBLE MCU 模组,功能强大,用途广 泛,可以用于低功耗传感器网络和要求极高的任务,例如语音编码、音频流和 MP3 解码等。 这两款模组在应用中,有…

import错误:undefined symbol: _ZN6caffe26detail37_typeMetaDataInstance_preallocated_32E

在使用DCN_V2时遇到了这个错误, 发现还是这个包没装好得原因,所以解决办法就是,cd进入这个包的文件夹 然后依次操作这两句 cd /root/data/snake-master/lib/csrc/extreme_utils rm -r build python setup.py develop 问题解决!…

情感分析之情绪原因识别

一. 情绪原因识别概述 1.1 什么是情绪原因识别 大部分针对情绪分析的研究主要集中在情绪识别和情绪分类方面,只关注情绪的类别,属于比较浅层的情绪分析任务。情绪原因识别是近年来出现的深层次文本分析与理解的研究,它能针对文本中出现的情…

ESP32学习笔记(一) 芯片型号介绍

ESP32学习笔记(一) 芯片型号介绍 目录: ESP32学习笔记(一) 芯片型号介绍 ESP32学习笔记(二) 开发环境搭建 VSCodeplatformio ESP32学习笔记(三) 硬件资源介绍 ESP32学习笔记(四) 串口通信 ESP32学习笔记(五) 外部中断 ESP32学习笔记(六) 定时器 ESP32学习笔记(七) 复位和时钟 …

Arduino-ESP32-WROOM-32E—PulseSensor传感器测心率

1、下载ESP32驱动 2、右击以管理员身份运行 3、运行完成后,即可安装成功。打开Adruino,选中如图开发板 4、双击打开.ino文件 5、 选择合适的开发板型号和端口 6、 安装库文件ESP32time、U8g2、PulseSensor Playground 7、修改为自己的传感器S口连接的引脚…

(操作系统开发)从实模式---->保护模式---->IA-32e模式( 64位模式)

实模式和保护模式都是CPU的工作模式。 实模式与保护模式介绍 在实模式下,程序可以操作任何地址空间,而且无法限制程序的执行权限。尽管这种模式给设置硬件功能带来许多方便,但却给程序执行的安全性和稳定性带来了灾难性的后果,一…