【HPCC】在ubuntu下测试本机的HPCC分数

刚开始无从下手,不知该做什么,经过一番查询尝试以后,成功! 记录下整个流程。

测试了两种环境:

(1)win10的子系统ubuntu16.04,64bit

(2)win7系统 + VMware虚拟机下的Ubuntu16.04 LTS,64bit

注:文中涉及到的图片均为自己运行截图,转载请注明。执行成功的状态如下图所示:

1、下载HPCC基准测试程序并解压

地址:http://icl.cs.utk.edu/hpcc/

解压之后进入到其中的hpl下的setup文件如下左图所示,从中随便复制一个文件到上层目录,也就是hpl文件夹中。我选择的是Make.LinuxIntelIA64Itan2_eccMKL文件。粘贴到hpl中后修改文件名为Make.MKL,改成其他的也可以,比如Make.Linux都可以。(如下右图所示,因为我试了两种,所以两个文件都有,只需一个即可。)

2、编译配置

编译HPCC文件需要两个插件:Intel MPI和Intel MKL。(注:也可以使用mpich代替Intel MPI ,用BLAS代替MKL,但是由于未知原因在我的机器上一直出错,所以没采用,大家可以尝试一下。)

Intel MPI:https://software.intel.com/en-us/mpi-library

Intel MKL:https://software.intel.com/en-us/mkl

下载之后解压,在命令行运行安装程序进行图形化安装。以MKL安装为例,解压之后的图片如下图所示:

执行“./install_GUI.sh” 文件,如果习惯命令界面安装的小伙伴们可以执行" ./install.sh"

执行后会进入安装界面,一步步按操作来就可以了。默认安装在" /opt/intel" 下,我采用的是默认路径。MPI安装类似MKL。

有一点需要主要,Intel MPI安装之后会自动弹出一个网页,当时忘记截图了,里边注明了在使用MPI之前还需要的配置工作。简单来说就是按路径找到mpivars.sh文件,然后source一下。

大致路径如下图所示,source语句是 " source mpivars.sh"。如果不是在当前文件夹下需填写完整路径

" source /opt/intel/compilers_and_libraries_2018.5.274/linux/mpi/intel64/bin/mpivars.sh"

注::首先我选择了默认安装位置"/opt/intel/",所以没有修改环境变量,而且没有报错!!这个真的要看电脑,一个电脑一个样,如果之后编译hpcc文件时报 gcc:error的错误就是没有配置好环境变量。如果修改了安装路径就一定要配置环境变量。配置过程见3.配置环境变量

3.配置环境变量

完成第2步的操作后后配置环境变量:[root@localhost ~]# vi .bashrc 

在.bashrc文件的末尾添加: export PATH=/usr/local/mpi/bin:$PATH 

然后再保存退出后,再更新配置文件使其生效:[root@localhost ~]# source .bashrc

此处参考博客是:https://www.cnblogs.com/leijin0211/p/6851675.html

至此MKL和MPI的安装结束。

4.配置Make.MKL文件

此处参考博客是:

https://blog.csdn.net/jfsufeng/article/details/88734985

https://blog.csdn.net/u012927281/article/details/51443676

根据本机的情况,改写如下:

MP部分:

LA部分:

HPL_LIBS部分:

CC和LINKER部分:

修改路径的含义:

MPdir        :本机安装mpi的位置
MPinc       :mpi头文件所在的位置
MPlib        :mpi静态库所在的位置

LAdir        :MKL所在的位置
LAinc       :MKL头文件所在的位置
LAlib        :MKL静态库所在的位置

CC           :选用的编译语句(mpiicc是使用Intel mpi ,mpicc是使用gcc)

HPL_LIBS:添加静态链接库(因计算机配置不同,不添加-ldl有些会报错,有些不会)

其余位置具体修改为什么,请参考上边的配置图片。

5.编译并执行

终于来到最后一步!

首先编译hpcc文件,执行目录是在hpcc程序的顶级目录中,如下图所示:

编译命令:"make arch=XXX",XXX是make文件的后缀名,比如我的是"make.MKL",则编译命令如下图所示:

编译成功则会在此目录下生成一个hpcc的二进制文件,如果你生成成功,那恭喜你!离成功只差一步啦!

生成成功后,就可以执行了,执行命令"mpirun -np 4 ./hpcc",如果报"cannot oprn file hpccinf.txt"的错误,则重命名当前文件夹下的_hpccinf.txt文件,去掉前面的下划线 "_"即可。

然后再重新执行,结果还是报错" Need at least 4 processes for these tests ":

解决方案:

如果hpccinf.txt文件中的两个变量Ps和Qs的积(Ps*Qs)大于设置的线程数时,可以修改两个变量的值使其乘积满足条件即可,或者减小线程数使其大于(Ps*Qs)。报错位置在"hpcc-1.5.0/hpl/testing/ptest/HPL_pdinfo.c"的第440行:

如果已经满足上述条件还不行的话,就关掉重启,然后再重新执行就可以了!(我的就是这样解决的。)

最后成功执行,执行图片就是帖子的第一张图。运行结果就是在当前目录下会自动生成一个hpccouf.txt文件,这个就是所需要的HPCC各种分数所在文件啦!

6.遇到的问题与解决方案

前边的部分列出了一部分问题,还有一些其他问题汇总如下。首先要准确定位错误原因,如下图所示这是看不出哪里出错的,一定要往上翻,找到有error的位置,也就是出错原因。

(1)出现未定义的引用,这个问题一般就是没有配置好环境变量。配置过程见前边的 "2和3"。

(2)出现" make:*** empty variable name.  Stop "错误,是编译命令错误,不能加空格。去掉arch 、Linux与 = 之间的空格。

(3)出现以下错误,解决方案:源码安装mpich。

参考博客:https://www.cnblogs.com/leijin0211/p/6851675.html

(4)出现" DSO missing from command line "错误,解决方案:修改Make.MKL文件中的HPL_LIBS,在" -lm "前添加" -lpthread " 和 " -ldl ",配置文件见前边的 "4.配置Make.MKL文件"

(5)如果同时安装了OpenMpi和Intel MPI,是有可能出现冲突的

(6)报错" Need at least 4 processes for these tests ",这个问题没有彻底解决,取巧使用了其他方法处理了,过程如下。

可能是mpirun本身的问题,使用which查看,此时使用的mpirun是Intel MPI的mpirun,一直会报错:

转移到root下使用which 查看,发现使用的是之前安装的mpich的mpirun,这次顺利执行,但是执行时间明显比使用Intel MPI的时间要长:

使用Intel MPI的mpirun在出错后也成功过,过程就是ubuntu崩溃了 ,然后不得不重启,结果就好了。显然这个方法太偶然了,之后再执行依旧会有问题。

最后祝大家都顺利成功!!!问题6如果哪位朋友解决了,麻烦您请一定告诉我,在此多谢各位了!!!

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
HPCC是指High Performance Computing Challenge,是一个用于测试和评估高性能计算系统的基准测试套件。它包含了一系列的测试,用于评估计算性能、内存性能、通信性能等方面。要在Linux上运行HPCC,可以按照以下步骤进行操作: 1. 首先,下载HPCC的源码文件。可以使用以下命令下载HPCC的源码: ```shell wget http://icl.cs.utk.edu/projectsfiles/hpcc/download/hpcc-1.5.0.tar.gz ``` 2. 解压下载的源码文件。可以使用以下命令解压: ```shell tar zxvf hpcc-1.5.0.tar.gz ``` 3. 进入解压后的目录。可以使用以下命令进入目录: ```shell cd hpcc-1.5.0 ``` 4. 进行编译。可以使用以下命令编译HPCC: ```shell make arch=Linux ``` 5. 编译完成后,在当前目录下会生成一个名为hpcc的可执行文件。可以使用以下命令运行HPCC: ```shell mpirun -np 2 ./hpcc ``` 6. 运行结束后,会在当前目录下生成一个名为hpccoutf.txt的结果文件。在运行HPCC之前,可以将_hpccinf.txt文件复制为hpccinf.txt,并根据需要进行配置。例如,可以使用以下命令将_hpccinf.txt复制为hpccinf.txt: ```shell cp _hpccinf.txt hpccinf.txt ``` 这样,你就可以在Linux上运行HPCC并获取相应的结果文件了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Liunx下HPCC(HPC Challenge)的安装运行](https://blog.csdn.net/u012124304/article/details/102315339)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值