使用CS Roofline Toolkit测量带宽

使用CS Roofline Toolkit测量带宽

工程下载:使用CS Roofline Toolkit测量带宽-案例工程文件,也可以按照下面的说明使用git clone下载

目录

  • 使用CS Roofline Toolkit测量带宽
    • 0、Roofline模型理解
    • 1、CS Roofline Toolkit下载
      • 1.1、设置代理
      • 1.2、git clone下载
    • 2、CS Roofline Toolkit配置
      • 2.1、复制配置文件
      • 2.2、确定MPI参数
      • 2.3、修改配置文件
    • 3、CS Roofline Toolkit的执行与绘图
      • 3.1 安装gnuplot
      • 3.2 执行测试
      • 3.3 查看结果

0、Roofline模型理解

1、CS Roofline Toolkit下载

1.1、设置代理

一般来说下载网速比较慢,可以根据实际情况设置代理加速,我使用Clash加速:

export https_proxy=http://192.168.8.5:7890
export http_proxy=http://192.168.8.5:7890

在这里插入图片描述
在这里插入图片描述

1.2、git clone下载

git clone https://bitbucket.org/berkeleylab/cs-roofline-toolkit.git

在这里插入图片描述

2、CS Roofline Toolkit配置

2.1、复制配置文件

先cd到指定目录:

cd cs-roofline-toolkit/Empirical_Roofline_Tool-1.1.0/

复制配置文件config.madonna.lbl.gov.01,复制为MyComputer

cp Config/config.madonna.lbl.gov.01 Config/MyComputer

2.2、确定MPI参数

使用下面命令打印MPI参数:

mpicc -show

返回为:

gcc -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -I/usr/include/x86_64-linux-gnu/mpich -L/usr/lib/x86_64-linux-gnu -lmpich

核心头文件链接库文件链接为:

-I/usr/include/x86_64-linux-gnu/mpich
-L/usr/lib/x86_64-linux-gnu -lmpich

2.3、修改配置文件

修改刚刚创建的配置文件:

vim  Config/MyComputer

主要的修改如下:
在这里插入图片描述
MyComputer文件的内容为:

# Linux workstationERT_RESULTS Results.MyComputerERT_DRIVER  driver1
ERT_KERNEL  kernel1ERT_MPI         True
ERT_MPI_CFLAGS  -I/usr/include/x86_64-linux-gnu/mpich
ERT_MPI_LDFLAGS -L/usr/lib/x86_64-linux-gnu -lmpichERT_OPENMP         True
ERT_OPENMP_CFLAGS  -fopenmp
ERT_OPENMP_LDFLAGS -fopenmpERT_FLOPS   1,2,4,8,16
ERT_ALIGN   64ERT_CC      g++-11
ERT_CFLAGS  -O3 -march=native -fstrict-aliasing -ftree-vectorizeERT_LD      g++-11
ERT_LDFLAGS 
ERT_LDLIBS  -lmpichERT_PRECISION FP64ERT_RUN     export OMP_NUM_THREADS=ERT_OPENMP_THREADS; mpirun -np ERT_MPI_PROCS ERT_CODEERT_PROCS_THREADS  1-8
ERT_MPI_PROCS      1,2,4
ERT_OPENMP_THREADS 1,2,4ERT_NUM_EXPERIMENTS 3ERT_MEMORY_MAX 1073741824ERT_WORKING_SET_MIN 1ERT_TRIALS_MIN 1ERT_GNUPLOT gnuplot

3、CS Roofline Toolkit的执行与绘图

3.1 安装gnuplot

绘图控件需要gnuplot,执行下面命令安装:

sudo apt install gnuplot

3.2 执行测试

执行下面命令运行测试:

./ert Config/MyComputer

在这里插入图片描述
运行完成显示:
在这里插入图片描述

3.3 查看结果

先安装ghostscript包,这个包附带ps2pdf插件,可以将ps文件转换为pdf:

apt install ghostscript

使用下面命令进行转换为pdf:

ps2pdf Results.MyComputer/Run.001/roofline.ps MyComputerRoofline.pdf

打开pdf,结果如下:
在这里插入图片描述

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

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

相关文章

EAGLE代码研读+模型复现

要对代码下手了,加油(ง •_•)ง 作者在他们自己的设备上展现了推理的评估结果,受第三方评估认证,EAGLE为目前最快的投机方法(虽然加速度是评估投机解码方法的主要指标,但其他点也值得关注。比如PLD和Lookahead无需额…

基于SFC的windows修复程序,修复绝大部分系统损坏

效果:可以自动修复大部分由系统文件损坏而导致的错误 例如:系统应用无法打开 系统窗口(例如开始菜单)无法使用 电脑蓝屏或者卡死.....文章 01技术背景 Windows自带了一个SFC命令行应用程序,可以检查大部分的系统文件错误,以及复这些文件 其中自动检查所有系统文件&#x…

liunx日志问题

一、日志定向 Linux 系统的日志配置文件(如/etc/syslog.conf或/etc/rsyslog.conf )中,用于定义系统日志的记录规则,决定哪些类型的日志消息会被记录到特定的日志文件中。 *.info;mail.none;authpriv.none;cron.none /va…

2.凸包优化求解

1.减而治之(Decrease and Conquer) 插入排序 典型的减而治之算法就是插入排序方法 插入排序法: 在未排序中选择一个元素,插入到已经排序号的序列中 将凸包也采用减而治之的方法 2.In-Convex-Polygon Test 怎么判断引入的极点存在于多边形里面还是外面&#xff1…

系统思考:危机中的转型机遇

“危机不仅是挑战,更是转型的机会” 每当大事发生,很多企业老板常常被眼前的困境压得喘不过气,焦虑与压力让人难以思考长远。特别是在危机面前,大家忙于应对眼前的风险,却忽略了背后隐藏的机遇。而危机,恰…

大模型Rag - 如何评估Rag

一.RAG流程与评估标准补充 RAG(Retrieval-Augmented Generation)是一种结合检索与生成的问答架构。为了确保系统效果,需要从以下三个角度对其评估: 回顾RAG流程 用户提出问题 → 系统检索相关上下文 → 基于上下文由大语言模型…

Linux RT RT RT

RT的最终目的是尽可能多的让原来系統不可抢占的部分变成可抢占,让高优先级的程序先跑。这里的rt引入了一个deadline的说法,此时的实时性是保证在最大一个时间间隔内,程序被执行。比如每100ms算法做一次决策。 所以此时面临着几座大山…

演员柳琦正式加入创星演员出道计划,开创演艺事业新天地

4月18日,演员柳琦正式加入“创星演员出道计划”,不仅得到参演都市爱情喜剧《和我结婚吧》角色的机会,还获得文旅精品网剧《醉梦灵州》的出演机会,自此开启全新影视之路。对表演艺术极具天赋的柳琦,相信未来可以凭借自身…

16.Chromium指纹浏览器开发教程之WebGPU指纹定制

WebGPU指纹概述 WebGPU是下一代的Web图形和计算API,旨在提供高性能的图形渲染和计算能力。它是WebGL的后继者,旨在利用现代GPU的强大功能,使得Web应用能够实现接近原生应用的图形和计算性能。而且它是一个低级别的API,可以直接与…

HTTP:九.WEB机器人

概念 Web机器人是能够在无需人类干预的情况下自动进行一系列Web事务处理的软件程序。人们根据这些机器人探查web站点的方式,形象的给它们取了一个饱含特色的名字,比如“爬虫”、“蜘蛛”、“蠕虫”以及“机器人”等!爬虫概述 网络爬虫(英语:web crawler),也叫网络蜘蛛(…

Vue3+TS中svg图标的使用

安装依赖 pnpm i vite-plugin-svg-icons -D配置引入 vite.config.ts ... import { createSvgIconsPlugin } from vite-plugin-svg-icons import path from node:pathconst svgIconsPlugin createSvgIconsPlugin({iconDirs: [path.resolve(process.cwd(), src/assets/icons)]…

【java实现+4种变体完整例子】排序算法中【堆排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格

以下是堆排序的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格: 一、堆排序基础实现 原理 基于二叉堆结构(最大堆),通过以下步骤实现排序: 构建最大堆:将…

论文阅读笔记:Generative Modeling by Estimating Gradients of the Data Distribution

1、参考来源 论文《Generative Modeling by Estimating Gradients of the Data Distribution》 来源:NeurIPS 2019 论文链接:https://arxiv.org/abs/1907.05600 参考链接: 【AI知识分享】真正搞懂扩散模型Score Matching一定要理解的三大核心…

Kubernetes相关的名词解释CNI插件(1)

(一)什么是CNI插件? 在 Kubernetes 中,CNI 插件(Container Network Interface Plugin) 是一种用于配置容器网络接口的标准工具,负责为 Pod 分配网络资源(如 IP 地址)并建…

2021-11-10 C++蜗牛爬井进3退1求天数

缘由C大一编程题目。-编程语言-CSDN问答 int n 0, t 0;cin >> n;while ((n - 3)>0)n, t;cout << t << endl;

分享一个DeepSeek+自建知识库实现人工智能,智能回答高级用法。

这个是我自己搞的DeepSeek大模型自建知识库相结合到一起实现了更强大的回答问题能力还有智能资源推荐等功能。如果感兴趣的小伙伴可以联系进行聊聊&#xff0c;这个成品已经有了实现了&#xff0c;所以可以融入到你的项目&#xff0c;或者毕设什么的还可以去参加比赛等等。 1.项…

动态规划算法:状态压缩

状态压缩动态规划算法 状态压缩动态规划是动态规划的一种&#xff0c;它通过使用位运算的方式压缩程序占用的空间&#xff0c;对于可以用来解决一些只有两个状态&#xff08;是与否&#xff09;的问题。 多少无益&#xff0c;我们通过下面的一道编程题目来学习这种算法。 题目…

查看matlab函数帮助文档的方法

方法一&#xff1a;在命令行窗口中使用help命令 方法二&#xff1a;在命令行窗口中使用doc命令 方法三&#xff1a;在帮助文档中搜索关键字

MYSQL初阶(暂为自用草稿)

目录 基本操作 database操作 table操作 数据类型 INT类型 bit类型 FLOAT类型 CHAR类型 DATE类型 SEL类型 表的约束 列约束 NULL DEFAULT PRIMARY KEY UNIQUE KEY 表约束 PRIMARY KEY FOREIGN KEY 其他补充 AUTO_INCREMENT COMMENT ZEROFILL 表的CRUD …

MVC/MVVM 高级应用的深度解析

状态共享与同步 跨组件状态管理策略 状态变更的传播机制优化 状态快照与时间旅行调试 状态持久化 本地存储策略 状态序列化与反序列化 与服务端状态同步 数据绑定进阶 双向绑定优化 脏检查机制优化 基于Proxy/Object.defineProperty的实现差异 批量更新策略 自定义…