MADbench2

MADbench2

MADbench2是一款用于测试大规模并行架构的I/O、通信和计算子系统在真实科学应用压力下的综合性能的工具。

MADbench2 基于 MADspec 代码,该代码根据天空的噪声像素化图及其像素-像素噪声相关矩阵计算宇宙微波背景辐射的最大似然角功率谱。MADbench2 保留了其父科学应用程序代码的全部计算复杂性,但使用自行生成的伪数据来允许绕过与处理真实 CMB 数据集相关的无数计算上不相关的细节。

MADbench2 可以以两种模式运行:

  • regular mode, in which the full code is run.
  • IO mode, in which all calculation/communication is replaced with busy-work.

此外,MADbench2 可以作为单组或多组运行;在前者中,所有矩阵运算都分布在所有处理器上执行,而在后者中,矩阵在所有处理器(S&D)上构建、求和和求逆,然后重新分布在处理器子集(组)上他们随后的操作(W&C)。即使处理器数量非常多,这种组并行性也允许在占主导地位的矩阵-矩阵乘法 (W) 阶段的处理器上保持数据密集。

官网

https://crd.lbl.gov/divisions/scidata/c3/c3-research/madbench2/

下载

https://crd.lbl.gov/assets/Uploads/MADbench2.tar

编译

要在常规模式下运行,MADbench2 需要链接到 ScaLAPACK 和 LAPACK 库及其依赖项(BLAS、PBLAS、BLACS)。 MADbench2.h 文件包含系统特定的定义和声明;该文件应根据需要进行扩充,并使用 -D SYSTEM 编译代码。

要在 IO 模式下运行,MADbench2 应使用 -D IO(除了 -D SYSTEM 之外)进行编译,然后所有库调用都被重新定义为繁忙工作,以便不需要任何库。

mpicc -D SYSTEM -D COLUMBIA -D IO -o MADbench2.x MADbench2.c -lm

修改文件系统路径

这是源代码中的固定值。因此,在编译之前,请确保修改该MADbench2.c文件(第 271、275 和 276 行):

for (n=0; n<no_pe; n++) {if (my_pe==n && stat("files", &buf)!=0) mkdir("/mnt/gkfs/files", S_IRWXU);PMPI_Barrier(MPI_COMM_WORLD);
}if (strcmp(FILETYPE, "UNIQUE")==0) sprintf(filename, "/mnt/gkfs/files/data_%d", my_pe);
else sprintf(filename, "/mnt/gkfs/files/data");

运行

命令行参数:

MADbench2.x   $NO_PIX   $NO_BIN   $NO_GANG   $SBLOCKSIZE   $FBLOCKSIZE   $RMOD   $WMOD
NO_PIXSets the size of the pseudo-data - all the component matrices have NO_PIX x NO_PIX elements
NO_BINSets the size of the pseudo-dataset - there are NO_BIN component matrices
NO_GANGSets the level of gang-parallelism - there are NO_GANG gangs
SBLOCKSIZESets the ScaLAPACK blocksize - all matrices will be block-cycically distributed with side SBLOCKSIZE.
FBLOCKSIZESets the file blocksize - all IO will start at a file-offset that is an integer multiple of FBLOCKSIZE.
RMODSets the degree of simultaneous reading - 1:RMOD processors will read at once.
WMODSets the degree of simultaneous writing - 1:WMOD processors will write at once.

运行MADbench2要求:

  • a square number of processors
  • a uniform square number of processors per gang
  • a uniform number of bins per gang
  • a scalapack blocksize that distributes some data to every processor
  • a file blocksize that is a whole number of doubles
  • a number of gangs that is exactly divisible by the read-modulus and the write-modulus
fakerth@fakerth-IdeaCentre-GeekPro-17IRB:~$ mpirun -np 4 MADbench2.x 640 80 1 8 8 4 4MADbench 2.0 IO-mode
no_pe = 4  no_pix = 640  no_bin = 80  no_gang = 1  sblocksize = 8  fblocksize = 8  r_mod = 4  w_mod = 4
IOMETHOD = POSIX  IOMODE = SYNC  FILETYPE = UNIQUE  REMAP = CUSTOMS_cc         0.00   [      0.00:      0.00]
S_bw         0.01   [      0.01:      0.01]
S_w          0.09   [      0.09:      0.09]-------
S_total      0.09   [      0.09:      0.09]W_cc         0.01   [      0.01:      0.01]
W_bw         3.96   [      3.96:      3.96]
W_r          0.03   [      0.03:      0.03]
W_w          0.03   [      0.03:      0.03]-------
W_total      4.03   [      4.03:      4.03]C_cc         0.00   [      0.00:      0.00]
C_bw         0.01   [      0.01:      0.01]
C_r          0.05   [      0.05:      0.05]-------
C_total      0.06   [      0.06:      0.06]dC[0] = 0.00000e+00

环境变量

VariableAllowed ValuesDefault
IOMETHODPOSIX, MPIPOSIX
IOMODESYNC, ASYNCSYNC
FILETYPEUNIQUE, SHAREDUNIQUE
REMAPCUSTOM, SCALAPACKCUSTOM
BWEXPAny numberNone

比如我们要使用mpiio,注意是MPI,不是MPIIO,export IOMETHOD=MPIIO会报错。

fakerth@fakerth-IdeaCentre-GeekPro-17IRB:~$ export IOMETHOD=MPI
fakerth@fakerth-IdeaCentre-GeekPro-17IRB:~$ mpirun -np 4 MADbench2.x 640 80 1 8 8 4 4MADbench 2.0 IO-mode
no_pe = 4  no_pix = 640  no_bin = 80  no_gang = 1  sblocksize = 8  fblocksize = 8  r_mod = 4  w_mod = 4
IOMETHOD = MPI  IOMODE = SYNC  FILETYPE = UNIQUE  REMAP = CUSTOMS_cc         0.00   [      0.00:      0.00]
S_bw         0.01   [      0.01:      0.01]
S_w          0.09   [      0.09:      0.09]-------
S_total      0.10   [      0.10:      0.10]W_cc         0.01   [      0.01:      0.01]
W_bw         3.96   [      3.96:      3.96]
W_r          0.03   [      0.03:      0.03]
W_w          0.03   [      0.03:      0.03]-------
W_total      4.03   [      4.03:      4.03]C_cc         0.00   [      0.00:      0.00]
C_bw         0.01   [      0.01:      0.01]
C_r          0.03   [      0.03:      0.03]-------
C_total      0.04   [      0.04:      0.04]dC[0] = 0.00000e+00

Github

https://github.com/fakerst/application

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

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

相关文章

多规格产品应该如何设置呢?

今天一用户从供应商手中拿到产品价目表&#xff0c;但是设置起来蒙圈了&#xff0c;接下来我们就一起设置一下吧&#xff5e; 一、产品价格表 我们通过供应商手中拿到产品价目表是这个样子的&#xff1a; 我们可以看到此产品的销售客价根据不同地区导致的价格不同&#xff0…

ABAP小技巧汇总(自用)

1.TIMESTAMP搜索帮助 PARAMETERS:p_begin TYPE ty_screen-date_begiu MATCHCODE OBJECT cpe_timestamp, "开始时间戳p_end TYPE ty_screen-date_end MATCHCODE OBJECT cpe_timestamp. "结束时间戳 效果&#xff1a;

Git笔记-常用指令

Git笔记-常用指令 一、概述二、仓库管理二、缓存区操作1. 添加文件到缓存区2. 取消缓存文件3. 忽略列表 三、日志状态信息四、分支操作五、六、 一、概述 这里记录一些git常用的指令。 二、仓库管理 # 本地仓库初始化 git init# 克隆仓库 git clone git_url # git clone ht…

深入剖析Java的“幽灵之手“:NullPointerException的原因、解决与创意思考

1. 原因分析 java.lang.NullPointerException&#xff08;简称NPE&#xff09;是Java程序员在编程过程中经常会遇到的“幽灵之手”&#xff0c;它在毫无预警的情况下出现&#xff0c;让程序崩溃。NPE的根源在于尝试访问或修改一个null对象的成员或方法。以下是NPE出现的几个常…

怎么选择适合Selenium使用的网络代理

Selenium可以让你使用所有主流浏览器&#xff0c;访问你想测试的任何网站或服务。这种多功能性使 Selenium 不仅在测试方面不可或缺。例如&#xff0c;你可以将 Selenium 与 Python 结合使用&#xff0c;对网站进行搜刮。当然&#xff0c;为了不被拦截&#xff0c;你需要一个代…

2024数维杯数学建模竞赛B题完整思路代码和论文分析

2024数维杯数学建模B题完整代码和成品论文已更新&#xff0c;获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/bgic2nbxs2h41pvt?singleDoc# 2024数维杯数学建模竞赛B题完整思路代码论文分析如下&#xff1a; 问题分析 问题(1):分析正己烷不溶物(INS)对热解产率的…

win11个性化锁屏界面怎么关闭?

win11个性化锁屏界面关闭方法对于win11用户来说&#xff0c;关闭个性化锁屏界面是一个常见问题。本文将由php小编苹果详细介绍如何执行此操作&#xff0c;分步指导并提供操作截图。继续阅读以了解具体步骤。 win11个性化锁屏界面关闭方法 第一步&#xff0c;点击底部Windows图…

2024数维杯数学建模竞赛A题完整思路代码论文分析

2024数维杯数学建模A题完整代码和成品论文获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/bgic2nbxs2h41pvt?singleDoc# 2024数维杯数学建模竞赛A题完整思路代码论文分析如下&#xff1a; 问题分析 对A题4个小问题的分析如下: 第一个小问题的分析: 这一问题要求…

知识付费 管理系统,专业技术课程讲解视频怎么制作?制作事项有几条?

现在的网络课程&#xff0c;分为专业和非专业的两种&#xff0c;专业的就是要提供硬性技术的&#xff0c;如果是值了的老师&#xff0c;要制作专业技术课程讲解视频&#xff0c;那需要怎么制作?因为&#xff0c;专业课程的要求更为的严苛&#xff0c;所以&#xff0c;老师们也…

python数据分析常用基础语法

Python语言基础——语法基础 前言一、变量的介绍与使用变量的介绍变量命名规则变量的使用拓展 二、标识符标识符命名命名规则注意事项 三、数据类型数据类型的介绍数据类型的查看示例 四、输入与输出输入和输出的介绍format格式化输出占位符 五、代码缩进与注释代码缩进 前言 …

vue3 JSX的使用与警告【JSX 元素隐式具有类型 “any“,因为不存在接口 “JSX.IntrinsicElements“】解决办法

一、安装 pnpm i vitejs/plugin-vue-jsx -D 二、配置 1、tsconfig.json "compilerOptions":{"jsx":"preserve" } 2、vite.config.ts import VueJsx from "vitejs/plugin-vue-jsx"...plugin:[vue(),VueJsx() ] 三、简单使用案例…

【TypeScript函数简介以及使用方法】

TypeScript 是一种 JavaScript 的超集&#xff0c;添加了静态类型系统和其他 ES6&#xff08;以及更多&#xff09;功能。在 TypeScript 中&#xff0c;函数是非常重要的构建块&#xff0c;它们允许你组织代码并执行特定的任务。 TypeScript 函数简介 在 TypeScript 中&#…

【论文速读】| LLM4FUZZ:利用大语言模型指导智能合约的模糊测试

本次分享论文&#xff1a;LLM4FUZZ: Guided Fuzzing of Smart Contracts with Large Language Models 基本信息 原文作者&#xff1a;Chaofan Shou, Jing Liu, Doudou Lu, Koushik Sen 作者单位&#xff1a;加州大学伯克利分校&#xff0c;加州大学欧文分校&#xff0c;Fuzz…

计算机网络-DHCPv6配置

DHCPv6实验配置 一、DHCPv6有状态配置 拓扑图&#xff1a; 请求报文 回复报文中的信息 配置&#xff1a; # 全局启用ipv6 ipv6 # 启用DHCP dhcp enable# 创建dhcpv6的地址池 dhcpv6 pool pool1address prefix 2001::/64excluded-address 2001::10dns-server 2001:4860:4860::8…

【新版系统架构】知识点背诵默写本

前言 系统架构考试在即&#xff0c;想要考试的人肯定感受到了沉甸甸的压力和紧迫感&#xff0c;脑海中不断闪过知识点的画面&#xff0c;却让人有些头昏脑胀&#xff0c;发现很难完全记住&#xff0c;这个考试很难&#xff0c;知识点很多。这次我在准备考试的同时&#xff0c;…

【全开源】Java同城预约月嫂服务上门服务本地服务源码APP+小程序+公众号+H 5

智能匹配与推荐&#xff1a;源码运用先进的算法和定位技术&#xff0c;根据用户的需求和地理位置&#xff0c;智能匹配并推荐附近的合适月嫂。这种匹配不仅基于地理位置&#xff0c;还考虑了月嫂的技能、经验、评价等因素&#xff0c;确保服务的质量和可靠性。 在线预约与支付…

基于Java+SpringBoot+Vue前后端分离教学资源共享平台系统

基于JavaSpringBootVue前后端分离教学资源共享平台系统 &#x1f345; 作者主页 网顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统…

Meta最新成果:前所未有的加速Emu推理 | Imagine Flash:新型蒸馏框架发布

文章地址&#xff1a;https://arxiv.org/pdf/2405.05224 扩散模型是一个强大的生成框架&#xff0c;但推理过程非常昂贵。现有的加速方法通常会在极低步骤情况下牺牲图像质量&#xff0c;或者在复杂条件下失败。这项工作提出了一个新颖的蒸馏框架&#xff0c;旨在通过仅使用一…

系统思考—愿景领导

“如果你总是低着头&#xff0c;那么你永远无法看见彩虹。”这句话不仅是对个人的提醒&#xff0c;也极其适用于每一位企业创始人。每位创始人背后不仅有一个梦想&#xff0c;还有一段充满爱的故事。 在作为策略顾问的角色中&#xff0c;我深知聆听的重要性——需要全神贯注地…

链表第4/9题--翻转链表--双指针法

LeetCode206&#xff1a;给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]示例…