Linux使用Linpack测试

安装HPL之前需要配置好:
1.GCC/Fortran77 编译器
2.BLAS/CBLAS/ATLAS 库
3.MPICH 并行环境

1.GCC/Fortran77 编译器

gfortran -v 
gcc -v
#检查环境,若没有安装
yum install gcc
yum install gcc-gfortran

2.安装向量和矩阵运算库函数
BLAS/CBLAS/ATLAS 库

#安装步骤
#下载 blas-3.8.0.tgz:
wget http://www.netlib.org/blas/blas-3.8.0.tgz
tar -xzf blas-3.8.0.tgz
cd BLAS-3.8.0
make #编译生成blas_LINUX.a
ar rv libblas.a *.o #链接.o文件生成libblas.a文件
cd .. #返回上级目录
#下载 cblas.tgz:
wget http://www.netlib.org/blas/blast-forum/cblas.tgz
tar -xzf cblas.tgz
cd CBLAS
#将第4步产生的.a文件拷贝到当前目录:
cp ../BLAS-3.8.0/blas_LINUX.a ./
vim Makefile.in
#在Makefile.in里修改这两个
BLLIB = ../blas_LINUX.a                                              
CBLIB = ../lib/cblas_$(PLAT).a
#保存
make
./testing/xzcblat1 #测试运行

在这里插入图片描述
3.MPICH 并行环境

#下载 mpich-3.2.1.tar.gz
wget http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz
tar xzf mpich-3.2.1.tar.gz
cd mpich-3.2.1
./configure  --prefix=/usr/local/mpich   # --prefix这一参数是设置安装的路径,根据需要设置合适的路径即可
make 
make install 设置环境变量#vi ~/.bashrc 或者.bash_profile  增加环境变量#export PATH="/usr/local/mpich/bin:$PATH"  export MPI_HOME=/usr/local/mpich/
export PATH=$MPI_HOME/bin:$PATH
export PATH=$PATH:$MPI_HOME/include
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MPI_HOME/lib
export MANPATN=$MANPATH:$MPI_HOME/mansource ~/.bashrc 
which mpicc  #检查
which mpif90  #检查mkdir machinefile # 创建目录
#测试运行
mpiexec -f machinefile -n 3 hostname && mpiexec -n 5 -f machinefile ./examples/cpi

在这里插入图片描述
4.Linpack之HPL测试 (HPL Benchmark)

cp CBLAS/lib/* /usr/local/lib
cp BLAS-3.8.0/blas_LINUX.a /usr/local/libwget http://www.netlib.org/benchmark/hpl/hpl-2.3.tar.gz
tar -xzf hpl-2.3.tar.gz
cd hpl-2.3
cp setup/Make.Linux_PII_CBLAS ./
vim Make.top
arch = Linux_PII_CBLAS #保存并退出
vim Makefile
arch = Linux_PII_CBLAS #保存并退出
vim Make.Linux_PII_CBLAS
SHELL        = /bin/sh
CD           = cd
CP           = cp
LN_S         = ln -s
MKDIR        = mkdir
RM           = /bin/rm -f
TOUCH        = touch
ARCH         = Linux_PII_CBLAS
TOPdir       = /root/hpl-2.3
INCdir       = $(TOPdir)/include
BINdir       = $(TOPdir)/bin/$(ARCH)
LIBdir       = $(TOPdir)/lib/$(ARCH)
HPLlib       = $(LIBdir)/libhpl.a
MPdir        = /usr/local/mpich
MPinc        = -I$(MPdir)/include
MPlib        = $(MPdir)/lib/libmpi.so /usr/lib64/libpthread.so /usr/lib64/libc.so
LAdir        =  /usr/local/lib
LAinc        =
LAlib        = $(LAdir)/cblas_LINUX.a $(LAdir)/blas_LINUX.a
F2CDEFS      =
HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) $(LAinc) $(MPinc)
HPL_LIBS     = $(HPLlib) $(LAlib) $(MPlib)
HPL_OPTS     = -DHPL_CALL_CBLAS
HPL_DEFS     = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)
CC           = /usr/local/mpich/bin/mpicc
CCNOOPT      = $(HPL_DEFS)
CCFLAGS      = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops
LINKER       = /usr/local/mpich/bin/mpif90
LINKFLAGS    = $(CCFLAGS)
ARCHIVER     = ar
ARFLAGS      = r
RANLIB       = echo

在这里插入图片描述
ARCH :系统架构名称

TOPdir :hpl程序包解压后所在的路径

HPLlib :libhpl.a文件所在位置,一般都在hpl程序目录下

MPdir :mpi安装位置

LAdir :GotoBlas库所在路径

LAlib :GotoBlas库文件所在路径

CC:mpicc所在的位置
LINKEY :gfortran编译器所在位置

#测试
make arch=Linux_PII_CBLAS
cd bin/Linux_PII_CBLAS
mpirun -np 4 ./xhpl > HPL-Benchmark.txt

在这里插入图片描述
在这里插入图片描述
如果报错,可能原因有,Make.Linux_PII_CBLAS中的路径没有改对,路径要与自己实际的安装路径相符,可以一一对照,看看路径下对应的文件是否存在。也可能原因,Makefile文件格式严苛,不要随意用空格,路径前后有空格虽然看不出来,但是Makefile文件能认出来。路径特别是mpich-install的路径不要弄错,环境变量再检查检查。若还不行,按照步骤删掉,都重来一遍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/810344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「seata」分布式事务seata部署及应用

「seata」分布式事务seata部署及应用 seata 版本一、部署seata服务1、配置config.txt文件中的属性值2、为seata服务单独创建一个nacos命名空间3、利用脚本上传配置文件到nacos4、配置seata服务的application.yml6、执行数据库脚本5、使用脚本启动seata服务 二、配置并启动微服务…

SCI一区 | Matlab实现INFO-TCN-BiGRU-Attention向量加权算法优化时间卷积双向门控循环单元注意力机制多变量时间序列预测

SCI一区 | Matlab实现INFO-TCN-BiGRU-Attention向量加权算法优化时间卷积双向门控循环单元注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现INFO-TCN-BiGRU-Attention向量加权算法优化时间卷积双向门控循环单元注意力机制多变量时间序列预测预测效果基本介绍模型描述程…

【提纲挈领】学会提问题,你就是那个年薪百万元的提示词工程师!LLM时代,如何提问题成为关键技能!多图说明!

【提纲挈领】学会提问题,你就是那个年薪百万元的提示词工程师!LLM时代,如何提问题成为关键技能!多图说明! 一、会提问题的重要性二、提示词工程师三、如何提问3.1 提示词框架——BROKE原则3.1.1 打个比方3.1.2 举个实例…

品牌发言稿怎么写?媒介盒子分享

品牌发言稿的重要性不言而喻,它不仅代表着品牌形象,更是沟通品牌与消费者、合作伙伴的桥梁。如何撰写一篇高质量的品牌发言稿,成为许多品牌关注的焦点。今天媒介盒子来和大家聊聊:品牌发言稿怎么写。 一、 发言稿写作技巧 1.结构…

静音检测电路芯片D3703F——工 作 电 压 范 围 宽 : 3.2V ~ 16.0V,可以用于汽 车 音 响 系 统

概 述 : D3703F 是 一 块 汽 车 音 响 静 音 检 测 电 路 。 用 于 音 响 系 统 检 测 在 放 音 或 快 进 / 退 时 进 行 静 音 检 测 。 D3703F 的 的 电 压 范 围 : 3.2V ~ 16V , 信 号 检 测 和 静 音 时 间 可 通 过 外 围…

机器学习——模型融合:Boosting算法

机器学习——模型融合:Boosting算法 1. Boosting核心思想 Boosting算法是一种集成学习方法,其核心思想是通过组合多个弱学习器(即准确率略高于随机猜测的学习器)来构建一个强学习器(即准确率较高的学习器&#xff09…

【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态

博主打算从0-1讲解下java基础教学,今天教学第五篇:Java面向对象编程:类、对象、继承、多态。 在Java中,面向对象编程是一种常用的编程范式,它以类和对象为核心,通过继承和多态等机制实现代码的复用和灵活…

万字长文!全网最详细的HarmonyOSNext星河版快速上手教程,小白看这个就够了!(下载安装DevEco Studio)

本节课将学习HarmonyOS应用开发领域,我们将逐步学习通过DeEco Studio开发工具创建并运行一个Hello World的工程。(并在文末给出章节练习题供大家巩固掌握) 阅读完本文,你将掌握以下内容。 01.下载与安装DevEco Studio/02.配置环…

《C语言深度解剖》(3):探索函数递归、传值、传址调用的奥秘

🤡博客主页:醉竺 🥰本文专栏:《C语言深度解剖》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多数据结构与算法点击专栏链接查看&am…

Centos中一些有趣的命令

目录 1.sl 小火车 2. cowsay 会说话的牛 3.toilet/figlet 图形化输出 4.aafire 小火焰 5.linux_logo 显示系统logo 1.sl 小火车 yum install sl 2. cowsay 会说话的牛 yum install cowsay 3.toilet/figlet 图形化输出 yum install toilet yum install figlet 4.aafire 小火…

兮兮牧场养殖小游戏积分兑换互动商城引流模式

刚注册的新会员必须要进入牧场才能激活所有功能 一、获得动物的途径的方式 第一种是邀请好友注册获得,第二种是看广告获得 邀诘好友注册获得动物明细: 1、从兮兮牧场的邀请好友的链接去邀请好友才能获得,其他邀请码无效 2、注册赠送小鸡一只; 3、邀…

【2024最新博客美化教程重置版】一分钟教会你在博客页面中加入javascript点击出弹出文字效果!

🚀 个人主页 极客小俊 ✍🏻 作者简介:程序猿、设计师、技术分享 🐋 希望大家多多支持, 我们一起学习和进步! 🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注 我们可以在博客…

我是如何让chatgpt给我打零工的

背景 https://www.moobc.cn/ 网页如图所示。是一个个人练手的网站。使用chatgpt来进行网站分析优化,本文阅读大约需要10分钟。 分析 js代码及chat分析 首先,让我们从整体架构开始分析这个名为 "moobc" 的网站的前端 JavaScript 代码。这段…

C++感受4-HelloWorld中文版——认识编码

及时了解“编码”对编写代码的影响,是中国程序员越早知道越好的知识点。 一分钟了解什么叫“编码”和“解码”;通过实际演示,充分理解中文Windows下,C源代码编码需要注意的地方;通过 -finput-charsetutf8 等 g 编译配置…

洛谷-P1036 [NOIP2002 普及组] 选数

P1036 [NOIP2002 普及组] 选数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using namespace std; const int N30; int n,r; int g[N]; //存用户输入的数 int arr[N]; //存答案 int res0; //存种类数bool is_prime(int y){ //求素数if(y<2){…

Kubernetes(k8s):Pod 的 Node Selector详解

Kubernetes&#xff08;k8s&#xff09;&#xff1a;Pod 的 Node Selector详解 1、什么是Node Selector&#xff1f;2、Node Selector的工作原理3、Node Selector的用法1、例如&#xff1a;给node01 、node02 分别打上标签2、使用标签调度Pod3、删除节点的标签 &#x1f496;Th…

2024年会计、审计、财务与经济管理国际会议(ICAAFEM2024)

2024年会计、审计、财务与经济管理国际会议&#xff08;ICAAFEM2024&#xff09; 会议简介 2024年国际会计、审计、财务和经济管理会议&#xff08;ICAAFEM2024&#xff09;将在云南省昆明市举行。会议旨在为从事“会计、审计、财务、经济管理”研究的专家学者提供一个平台&am…

2023年上半年信息系统项目管理师——案例分析真题与答案解释

2023年上半年信息系统项目管理师——案例分析真题与答案解释 The Miracle of Love爱的奇迹 A college professor had his sociology class go into slums to get case histories of 200 young boys.一位大学教授让他的社会学课进入贫民窟&#xff0c;获取200名年轻男孩的案例。…

the python tutorial

Using the Python Interpreter Using Python as a Calculator To do floor division and get an integer result you can use the // operator Problem Solving with Algorithms and Data Structures using Python 首先将其拉到本地&#xff1f; 按照craft的方式走一遍&…

2024年认证杯A题论文首发+问题一代码免费分享

首先进行KMO检验以及球形检验&#xff0c;对一级指标下的这些二级指标判断相关性&#xff0c;从而选择降维方法。这里主要采用主成分分析法对多维指标进行降维&#xff0c;对于主成分分析法通常来讲&#xff0c;指标之间联系越大&#xff0c;降维效果越好。因此&#xff0c;我们…