@(toc)
Intel Parallel編譯器(icc icpc ifort)Linux系統(tǒng)安裝配置
本篇文章主要講解在linux系統(tǒng)centos7.5/centos7.9版本中,Intel編譯器的安裝、環(huán)境導(dǎo)入、并行庫(kù)調(diào)用以及在不同centos版本中安裝時(shí)缺少32位庫(kù)的解決方案等內(nèi)容。
一、★Intel編譯器定義
Intel Parallel Studio XE Cluster版C/C++ Fortran編譯器,是一種主要針對(duì)Inetl平臺(tái)的高性能編譯器,可用于開(kāi)發(fā)復(fù)雜且要進(jìn)行大量計(jì)算的C/C++、Fortran程序。
Intel編譯器編譯C和C++源程序的編譯命令分別為icc和icpc;編譯Fortran源程序的命令為ifort。icpc命令使用與icc命令相同的編譯器選項(xiàng),利用icpc編譯時(shí)將后綴為.c和.i的文件看作為C++文件;而利用icc編譯時(shí)將后綴為.c和.i的文件則看作為C文件。用icpc編譯時(shí),總會(huì)鏈接C++庫(kù);而用icc編譯時(shí),只有在編譯命令行中包含C++源文件時(shí)才鏈接C++庫(kù)。
在Intel數(shù)學(xué)庫(kù)(Intelmath)中的許多函數(shù)針對(duì)Intel微處理器相比針對(duì)非Intel微處理器做了非常大的優(yōu)化處理。
二、★安裝環(huán)境說(shuō)明
操作系統(tǒng):centos7.5(已配置離線YUM源)
Centos7.9_YUM源離線配置鏈接操作權(quán)限:具有root或sudo權(quán)限
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 7Intel? 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* OSIntel_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 確認(rèn)selinux狀態(tài)
# 臨時(shí)修改selinux狀態(tài)
getenforce # 查看selinux狀態(tài),確保狀態(tài)是Disabled或permissive
setenforce 0 # 臨時(shí)設(shè)置selinux狀態(tài)為permissive
# 永久修改selinux狀態(tài),需要重啟系統(tǒng)生效
sed -e 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux
注意! 確保selinux的狀態(tài)是permissive或disabled,否則會(huì)出現(xiàn)無(wú)法安裝的狀態(tài)
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個(gè)命令并不是必須執(zhí)行的,需要執(zhí)行的情況是軟件在windows系統(tǒng)中解壓后又壓縮導(dǎo)入linux系統(tǒng)中,在linux系統(tǒng)解壓后會(huì)出現(xiàn)一些可執(zhí)行文件的執(zhí)行權(quán)限的丟失,導(dǎo)致安裝的時(shí)候出現(xiàn)Permission denied的錯(cuò)誤,無(wú)法安裝,這個(gè)時(shí)候才需要執(zhí)行chmod +x 文件名的命令
step1:選擇1放棄檢測(cè)
step2:如果安裝過(guò),保留了license文件,就選1,否則第一次安裝選4
step3:選擇2,使用license文件:NCOM_L_CMP_CPP_N5D5-W47FLRPC.lic
step4:指定NCOM_L_CMP_CPP_N5D5-W47FLRPC.lic 文件所在的絕對(duì)路徑
step5:如果路徑正確,NCOM_L_CMP_CPP_N5D5-W47FLRPC.lic文件沒(méi)有問(wèn)題,就會(huì)出現(xiàn)激活成功
step6:如果選擇Intel默認(rèn)安裝路徑就選擇1,如果想指定安裝路徑選擇2,并輸入指定安裝絕對(duì)路徑
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 這幾個(gè)命令并不是必須的執(zhí)行的,需要執(zhí)行的情況是軟件在windows系統(tǒng)中解壓后又壓縮,導(dǎo)入linux系統(tǒng)中,在linux系統(tǒng)解壓后會(huì)出現(xiàn)一些可執(zhí)行文件的執(zhí)行權(quán)限的丟失,導(dǎo)致安裝的時(shí)候出現(xiàn)Permission denied的錯(cuò)誤,無(wú)法安裝,這個(gè)時(shí)候才需要執(zhí)行chmod +x 文件名的命令
Intel fortran編譯器和3.2節(jié)編譯C++/C編譯器是一樣的方法,只要注意最后的安裝路徑要選擇一樣的路徑,也就是說(shuō)C++/C選擇了默認(rèn)安裝路徑,這里也要選擇默認(rèn)安裝路徑。
四、★Intel編譯器環(huán)境導(dǎo)入
# shell環(huán)境為:bash
$ vim ~/.bashrc #增加如下內(nèi)容,保存退出
source /opt/intel/composerxe-2011.4.191/bin/compilervars.sh intel64 #如果采用默認(rèn)安裝就是這個(gè)路徑
# shell環(huán)境為:csh/tcsh
$ vim ~/.bashrc #增加如下內(nèi)容,保存退出
source /opt/intel/composerxe-2011.4.191/bin/compilervars.csh intel64 #如果采用默認(rèn)安裝就是這個(gè)路徑
source ~/.bashrc # 立即生效
注意! 如果需要在32位的系統(tǒng)中進(jìn)行環(huán)境導(dǎo)入的話,只需要把intel64替換成ia32
五、★Intel環(huán)境查看及并行庫(kù)調(diào)用
# 查看icc/icpc/ifort編譯是否指向正確路徑
which icc
which icpc
which ifort
具體mpich/openmpi并行編譯調(diào)用,請(qǐng)看作者另兩篇文章:
Mpich_linux-centos7.9系統(tǒng)下最全編譯安裝調(diào)用
OpenMPI_linux-centos7.9系統(tǒng)源碼編譯安裝調(diào)用
六、★安裝錯(cuò)誤說(shuō)明
安裝inter編譯器時(shí),出現(xiàn)libstdc++ 32位的庫(kù)沒(méi)有安裝,導(dǎo)致無(wú)法安裝成功。具體解決方法有以下三種情況
6.1聯(lián)網(wǎng)狀態(tài)
yum install -y libstdc++.i686
6.2 斷網(wǎng)離線狀態(tài),且centos系統(tǒng)版本在7.5及以下
# 已配置離線yum源
yum install -y libstdc++.i686
6.3 斷網(wǎng)離線狀態(tài),且centos系統(tǒng)版本是7.6及以上
# 尋找一臺(tái)版本相同的操作系統(tǒng),注意一定要相同。
yumdownloader libstdc++.i686 --resolve --destdir=指定下載路徑
# 此命令是下載libstdc++.i686包及依賴(lài)的包,下載路徑地址根據(jù)自己情況設(shè)定
cd /home/longdaidai/libstdc++_32 # 這里假定路徑為/home/longdaidai/libstdc++_32
ls -l
# 查看下載內(nèi)容,總共有12個(gè)rpm包,把以上下載的rpm包全部導(dǎo)入到無(wú)法聯(lián)網(wǎng)的主機(jī)中/home/longdaidai/local_yum/Packages
# 這里/home/longdaidai/local_yum/Packages路徑為離線主機(jī)YUM源的包配置地址
#切換回不能聯(lián)網(wǎng)的主機(jī)
cd /home/longdaidai/local_yum
rm -rf repodata
createrepo . #注意后面的點(diǎn),不要丟掉
yum clean all
yum makecache
yum install -y libstdc++.i686
rpm -qa | grep libstdc++ # 如果出現(xiàn)libstdc++-4.8.5-36.el7.i686,說(shuō)明安裝成功
注意! 在離線狀態(tài)下,系統(tǒng)為centos7.6以上的版本,即使配置了離線yum源,也不能直接安裝libstdc++.i686 32位的庫(kù),因?yàn)樵诠俜降陌姹局?.6以上版本的yum源碼包中取消了libstdc++.i686 32位庫(kù)的安裝包。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-698100.html
七、★最后
以上內(nèi)容都是經(jīng)過(guò)實(shí)戰(zhàn)驗(yàn)證過(guò)的,本次用來(lái)安裝的intel版本較低,在高版本的安裝過(guò)程中,安裝過(guò)程大體一致。如果你在離線狀態(tài)下安裝,非常建議在centos7.5及以下安裝,這樣即使不能聯(lián)網(wǎng),只要配置好離線YUM源就可以避開(kāi)libstdc++32位缺失的問(wèn)題。
(●’?’●)最后感謝屏幕另一端你的支持。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-698100.html
到了這里,關(guān)于【Intel Parallel編譯器(icc icpc ifort)Linux-centos7系統(tǒng)安裝配置】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!