linpack测试工具使用说明

这篇具有很好参考价值的文章主要介绍了linpack测试工具使用说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


目录

1. linpack测试工具

1.1. linpack简介

1.2. mpi简介

2. linpack配置文件及参数含义

2.1. 概览

2.2. HPL.dat参数分析

3. linpack使用及结果分析

3.1. linpack编译运行

3.2. linpack结果分析

3.2.1. linpack结果效率计算

3.2.2. 占用内存空间

4. linpack调试参数的一些心得

5. 使用pts运行linpack

5.1. 安装pts

5.2. 运行linpack

  1.  linpack测试工具
    1. linpack简介

全称为线性系统软件包(Linear system package) 。

刚开始是一套专门解线性系统问题之数学软件;现在在国际上已经成为最流行的用于测试高性能计算机系统浮点性能的benchmark。

完成的任务:

通过利用高性能计算机,用高斯消元法求解N元一次稠密线性代数方程组的测试,评价高性能计算机的浮点性能(Ax=B)。测试分成三类,Linpack100、Linpack1000和HPL。前两者限制了规模;HPL即High Performance Linpack,也叫高度并行计算基准测试,可以通过调整数组大小N等各参数进行优化。

    1. mpi简介

全称为消息传递接口(Message passing interface),是一个跨语言的通讯协议,也是高性能计算领域开发并行应用的标准API。

  超算的高性能使用方式即是通过编程,使得作业具有多节点协作的能力,而多个节点之间的协作是通过MPI来实现的。通过调用MPI并行库实现的方法来实现并行化,只需要安装MPI库,那么就可以用原来的编译器来进行编译运行。高性能、大规模性和可移植性。有多种实现版本,如 MPICH,OpenMPI以及CHIMP等。

  1.  linpack配置文件及参数含义
    1. 概览

HPL.dat——linpack测试中各个参数配置

run.sh——运行文件

setlargepage.sh——内存大页设置

linpack.log——结果记录文档

    1. HPL.dat参数分析

HPLinpack benchmark input file

Innovative Computing Laboratory, University of Tennessee

说明性文字,不需作修改。

HPL.out     output file name (if any)

6               device out (6=stdout,7=stderr,file)

"device out"为"6"时,测试结果输出至标准输出(stdout);

"device out"为"7"时,测试结果输出至标准错误输出(stderr);

"device out"为其它值时,测试结果输出至第三行所指定的文件中。

1            # of problems sizes (N)   #矩阵的数量,如1即一个矩阵。

105728 91392 73248 51744 44800        Ns

问题规模大小Ns值,Ns×Ns×8=系统总内存(Byte)×80%计算出的Ns一般为最大规模。

1            # of NBs

测试块的个数。

112 120 128  NBs

系数矩阵被分成NBs*NBs的循环块被分配到各个进程当中去处理,NBs大小作为计算粒度,  在很大程度上影响了计算性能的优劣;NBs最佳的取值在[32 ,256],取值大小由计算规模及平台来决定;NBs*8=Cache line的倍数。

0            PMAP process mapping (0=Row-,1=Column-major)

处理器阵列形式。0为按行,1为按列;按行的排列方式适用于节点数较少、每个节点内CPU数较多的大规模系统;按列的排列方式适用于节点数较多、每个节点内CPU数较少的系统;在机群系统下,按列排列方式较好。

1               # of process grids (P x Q)

2 2 1 4      Ps

8 2 4 1      Qs

Ps × Qs为二维处理器网格,Ps与横向通信量有关,Qs与列向通信量有关;Ps*Qs=系统CPU数=进程数;Qs/4≤P≤Qs时,性能较优。因为列向通信量(通信次数和通信数据量)要远大于横向通信;  Ps为2的幂。

16.0         threshold

说明测试的精度。用于检测线性方程组求解结果是否正确;若误差在这个值以内就是正确,否则错误。所以没有必要修改此值。

1            # of panel fact

1 1 2        PFACTs (0=left, 1=Crout, 2=Right)

1            # of recursive stopping criterium

4 2          NBMINs (>= 1)

1            # of panels in recursion

2            NDIVs

1            # of recursive panel fact.

1 0 2        RFACTs (0=left, 1=Crout, 2=Right)

指明L分解的方式。在消元过程中,zHPL采用每次完成NB列的消元,然后更新后面的矩阵。  NB的消元就是L的分解;每次L的分解只在一列处理器中完成。对每一个小矩阵作消元时,都有3种算法:L、R、C,分别代表Left、Right和Crout;NDIVs选择2比较理想,NBMINs 4或8都不错;RFACTs和PFACTs,对性能的影响不大。

1            # of broadcast

0            BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM)

HPL中提供了6种广播方式。前4种适合于快速网络;后两种采用将数据切割后传送的方式,主要适合于速度较慢的网络。机群系统一般采用千兆以太网甚至光纤等高速网络,所以一般不采用后两种方式。一般来说,在小规模系统中,选择0或1;对于大规模系统,选择3。

1            # of lookahead depth

1            DEPTHs (>=0)

说明横向通信的通信深度。这依赖于机器的配置和问题规模的大小。

0            SWAP (0=bin-exch,1=long,2=mix)

256        swapping threshold

说明U的广播算法。U的广播为列向广播,HPL提供了3种U的广播算法:SWAP="0",采用二元交换(Binary Exchange)法;SWAP="1",采用Long法;SWAP="2",采用二则混合法。

1            L1 in (0=transposed,1=no-transposed) form

1            U  in (0=transposed,1=no-transposed) form

分别说明L和U的数据存放格式。若选择"transposed",则采用按列存放,否则按行存放。

0            Equilibration (0=no,1=yes)……主要在回代中使用,一般使用其默认值

8            memory alignment in double (> 0)

……主要为内存地址对齐而设置,用于在内存分配中对齐地址。出于安全考虑,可以选择8

  1.  linpack使用及结果分析
    1. linpack编译运行

-n 8:8为需要修改的核心数,需要修改核心数使其与HPL.dat中的Ps*Qs的值相同。

以下为内存大页设置

运行步骤:

1.   vim HPL.dat,修改参数值

2.   vim run.sh,修改核心数

3.   ./run.sh,运行

4.   运行结束后,输入cat linpack.log查看结果然后计算效率。

    1. linpack结果分析

linpack结果记录文档

GFLOPS:全称为Giga Floating-point Operations Per Second,即每秒10亿次的浮点运算数,常作为GPU性能参数。

      1. linpack结果效率计算

理论峰值=主频率*核心数*每周期浮点运算次数

效率=实际峰值/理论峰值*100%

举例计算上图效率:

理论峰值=2.4GHz*2(核心数)*16(每周期浮点运算次数)=76.8GFlops

效率=51.80/76.8*100%=67.4%

      1. 占用内存空间

因为设置了内存大页,所以通过输入free -h命令查看的内存大小不会发生变化。

所以通过top命令查看,占用内存空间=单个进程使用的虚拟内存量*进程数。

占用内存空间=单个进程使用的虚拟内存量*进程数=11.8G*8=94.4G

  1.  linpack调试参数的一些心得

结论一:通过调节矩阵规模N,可小幅度提升效率

结论二:P和 Q 接近时有利于进程之间的负载平衡 ,行列方向通信能够保持平衡 ,否则可能同一对处理器之间要进行大量消息的通信;在 此前提下,P要稍小于 Q,因为根据 Linpack的算法,列向通信量要大于行向通信量,使列向的进程稍多一些可以减少通信开销。以上是官方解释,但实际测试结果是在32核情况下,2*16的效率优于4*8,16核也是这样。

结论三:其余参数在调试的时候,例如:当只变化某一个参数的时候,在某一核下效率提高,其他核就未必,因此参数之间的规律目前还没找到。

  1.  使用pts运行linpack
    1. 安装pts

#tar xf phoronix-test-suite-10.8.2.tar.gz

#cd phoronix-test-suite/

#./install-sh

#phoronix-test-suite benchmark hpl

注:打开另一个终端,可看到xhpl进程运行中即可,ctrl + c切断,以下可通过pts框架安装好的hpl进行配置文件的灵活修改

    1. 运行linpack

目录位置:/var/lib/phoronix-test-suite/installed-tests/pts/hpl-1.0.0/hpl-2.3/testing

测试命令为:/usr/lib64/openmpi/bin/mpirun --allow-run-as-root -np 128(核数) ./xhpl文章来源地址https://www.toymoban.com/news/detail-416744.html

到了这里,关于linpack测试工具使用说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Matlab/simulink MIL自动化测试工具使用说明

      目录 文章目录 前言 二、工具详细介绍 1.基础功能 2.MIL测试功能 总结   随着Matlab/simulink建模在汽车ECU的开发过程中的使用越来越普及,如何对模型的正确性进行校核也显得尤为重要。因此在历经两个月的开发后,基于Matlab APP Designer做了一个MIL测试工具,工具主体分为基础

    2023年04月16日
    浏览(50)
  • 嵌入式软件开发常用的编辑代码工具、比较工具和测试工具的使用说明和操作步骤

    嵌入式软件开发常用的编辑代码工具有: Eclipse Eclipse是一款开源的集成开发环境,支持多种编程语言和插件,适用于多种嵌入式开发平台。以下是Eclipse的使用说明和操作步骤: 步骤1:创建新工程 单击“File”菜单,选择“New”→“Project”选项,选择工程类型和开发平台。

    2024年02月02日
    浏览(97)
  • OpenHarmony分布式软总线API调用测试工具 softbus_tool使用说明

    softbus_tool 是 OpenHarmony 分布式软总线 API 调用测试工具 ,文件结构如下图所示。 softbus_tool 能够将软总线 interfaces 目录下的一些常用接口集中起来,供设备间搭建一些场景时使用(比如设备绑定、BR 组网,BLE 组网, 指定 P2P 链路传输等)。 softbus_tool 一般的使用流程为: 1.使用

    2024年04月14日
    浏览(43)
  • MSF测试工具说明

    内容为学习笔记,如有侵权,请联系删除 安装 Linux下kali自带,可以更新 Windows下: 官网https://www.metasploit.com/ 点击下载跳转到github,然后下载Windows最新版,记得把电脑防护都关了,不然安装不了,有毒 环境变量配置: 安装目录下的bin的地址复制粘贴到系统变量的path里面 直

    2024年04月28日
    浏览(32)
  • 自动化测试工具Katalon(Web)测试操作说明

    目录 目录 1. Katalon简介 2. 安装Katalon 2.1. 注册 2.2. 下载 2.3. 启动 3. 创建测试项目 4. 创建测试用例 5. 录制一个用例 6. 运行测试用例 7. 在测试用例中验证 8. 创建测试套件 9. 创建测试套件集合 10. 查看测试套件执行结果 10.1. 通过Result查看 10.2. 通过Reports查看 11. 两种视图 11.1. M

    2023年04月11日
    浏览(35)
  • ONVIF工具使用说明

    作为视频安防领域的工作者,少不了和摄像头打交道,一般大部分厂商都支持ONVIF协议,所以还是有必要了解一下怎么使用ONVIF的官方工具。 1.下载ONVIF工具,自行百度下载 2.下载安装完成后打开工具,这里以ONVIF_Device_TestTool_v19.06为例 选择物理网卡 点击搜索设备 搜索设备信息

    2024年02月10日
    浏览(49)
  • 测试工具Jmeter:界面介绍、核心选项说明、核心选项用途

    本文章主要介绍Jmeter的界面布局,以及各个选项的功能和它们的用途。 JMeter基本原理是建立一个线程池,多线程运行取样器产生大量负载,在运行过程中通过断言来验证结果的正确性,通过监听器来记录测试结果。 当我们打开Jmeter,首先映入眼帘的是以下界面: Jmeter主界面

    2024年02月03日
    浏览(43)
  • 小景的工具使用--Java诊断工具Arthas的使用说明

    小景最近在做程序和数据库的压测工作,期间监控压测数据,分析程序原因变成了一个待解决的问题,根据公司小伙伴的建议,接触了阿尔萨斯这个诊断工具,下面小景分别基于Linux操作系统和Windows操作系统,来详细的说下使用说明和使用心得。   Arthas(阿尔萨斯)是一个用

    2024年02月08日
    浏览(40)
  • TCP调试工具使用说明

    目录 TCPTool概述 1 TCPTool简介 2 软件运行环境 3 软件安装 4 应用场景 5 软件主界面 TcpTool配置选项 1 设置软件界面风格 2 设置发送选项 3 设置接收选项 TCPTool基础操作 1 保存当前调试 2 打开历史调试 3 新建服务端 4 启动和停止服务端 5 新建客户端 6 连接服务端并调试 下载地址

    2024年02月06日
    浏览(49)
  • WebSocketTool WebSocket调试工具使用说明

    目录 WebSocketTool概述 1 WebSocketTool简介 2 软件运行环境 3 软件安装 4 应用场景 5 软件主界面 WebSocketTool配置选项 1 设置软件界面风格 2 设置发送选项 1 设置发送数据类型 2 设置周期发送 3 重放历史发送 4 发送预编辑数据模板 5 选择数据发送通道 3 设置接收选项 1 设置接收数据类

    2024年03月14日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包