当前位置: 首页 > news >正文

HPCtoolkit的下载使用

背景介绍


HPCToolkit 是一套集成工具,用于测量和分析从多核桌面系统到 GPU 加速超级计算机等计算机上的程序性能。HPCToolkit 提供对程序工作、资源消耗和低效率的准确测量,将这些指标与程序的源代码相关联,使用多语言、完全优化的二进制文件,具有非常低的测量开销,并可扩展到大型并行系统。HPCToolkit 的测量为分析并行系统内部和节点之间的程序执行成本、低效率和扩展特性提供了支持。

其包括以下几个组件:

模块

功能简述

hpcrun

运行时采样器,支持基于周期、事件的采样,支持硬件性能计数器

hpcprof / hpcprof-mpi

分析采样数据,生成程序结构与性能数据的静态表示

hpcviewer

图形化性能可视化界面,支持调用路径、热点函数、源代码映射等视图

hpcstruct

分析二进制结构,提供源代码与指令级地址之间的映射关系

hpclink

编译器辅助工具,插入符号信息便于后续分析

hpc-traceviewer

可选模块,支持分析程序的时间序列行为(trace)

 

官方网站:https://hpctoolkit.org

源代码仓库:HPCToolkit / HPCToolkit · GitLab

用户文档:https://hpctoolkit.org/documentation.html

工作流展示:

配置安装

1.使用spack安装

1.1spack的git安装

#git下载
git clone https://github.com/spack/spack.git#配置环境变量(看shell环境)
# For bash/zsh/sh
. spack/share/spack/setup-env.sh# For tcsh/csh
source spack/share/spack/setup-env.csh# For fish
. spack/share/spack/setup-env.fish#验证安装
spack --version#(可选)卸载
rm -rf ~/spack        # 或者你安装的具体路径

1.2若离线,spack源码安装

#手动下载或wget
wget https://github.com/spack/spack/archive/refs/tags/v0.22.0.tar.gz  # 替换为最新版本#解压
tar -zxvf v0.22.0.tar.gz#改名称为spack
mv spack-0.22.0 spack#配置环境变量
# For bash/zsh/sh
. spack/share/spack/setup-env.sh# For tcsh/csh
source spack/share/spack/setup-env.csh# For fish
. spack/share/spack/setup-env.fish#验证安装
spack --version#可选-卸载
rm -rf ~/spack        # 或者你安装的具体路径

1.3 spack安装HPCtoolkit

HPCtoolkit依赖较多,尤其是其中相当一部分依赖需呀安全上网下载,所以网络要通畅,不然很折磨,我只能说

#spack安装hpctoolkit
spack install hpctoolkit [+features...]#spack加载hpctoolkit
spack load hpctoolkit [+features...]#spack查看已安装的软件
spack find hpctoolkit

+features表示可选功能:

+mpi:除了 hpcprof 之外,还构建 hpcprof-mpi。(需要MPI环境)

+papi:启用 PAPI 指标。(需要 PAPI)

+cuda:启用 CUDA 指标 (-e gpu=nvidia)。(需要 CUDA)

+python:启用(实验性)Python 展开器。(需要 Python)

+opencl:启用 OpenCL 指标 (-e gpu=opencl)。(需要 OpenCL)

更多见官网:HPCToolkit / HPCToolkit · GitLab

1.4移植适配

如需移植到其他离线机器使用,参考如下内容:

打包spack中的hpctoolkit,这里是将依赖一起打包成镜像,虽然大,但建议!不然本来就依赖多,你还要在离线机子上配,你就配去吧!建议不要没事找事,放松自己,放过自己。

# 进入你的 Spack 环境
cd $SPACK_ROOT
source share/spack/setup-env.sh# 创建缓存目录
mkdir -p ~/hpctoolkit-offline-mirror# 创建 buildcache(二进制包)
spack mirror add offline-mirror file:///path/to/hpctoolkit-offline-mirror# 推送 hpctoolkit 本身 + 所有依赖(包括构建依赖)
spack buildcache push --update-index --with-build-dependencies offline-mirror hpctoolkit#(可选)查看与删除镜像
spack mirror list
spack mirror remove offline-mirror #镜像名称# 在源主机打包
# 假设 Spack 安装在 ~/spack,镜像在 ~/hpctoolkit-offline-mirror
tar -czpvf hpctoolkit-mirror-bundle.tar.gz \~/spack \         # Spack 工具本体 \~/hpctoolkit-offline-mirror  # 镜像与软件包缓存# 源主机:导出构建缓存的公钥
spack buildcache keys --export > hpctoolkit-buildcache-keys.pub#(可选)打包时将密钥一起放入压缩包
tar -czpf hpctoolkit-mirror-bundle.tar.gz \~/spack \~/hpctoolkit-offline-mirror \hpctoolkit-buildcache-keys.pub

离线主机操作:

# 解压镜像包(例如解压到 /opt/offline)
tar -xzvf hpctoolkit-mirror-bundle.tar.gz -C /opt/offline# 初始化 Spack 环境
cd /opt/offline/spack
source share/spack/setup-env.sh# 添加本地镜像
spack mirror add hpctoolkit-offline file:///opt/offline/hpctoolkit-offline-mirror# 安装构建缓存公钥(信任)
spack buildcache keys --install --trust /opt/offline/hpctoolkit-buildcache-keys.pub# 安装 hpctoolkit
spack install hpctoolkit# 验证与加载
spack find hpctoolkit
spack load hpctoolkit

暂时到这。。之后继续。。

http://www.lryc.cn/news/605156.html

相关文章:

  • 7.Origin2021如何绘制拟合数据图?
  • 网络安全学习第16集(cdn知识点)
  • python 中 `batch.iloc[i]` 是什么:integer location
  • 【MySQL 数据库】MySQL索引特性(一)磁盘存储定位扇区InnoDB页
  • NEG指令说明
  • Android补全计划 TextView设置文字不同字体和颜色
  • 全视通智慧护理巡视:做护理人员的AI助手
  • 关于vue __VUE_HMR_RUNTIME__ is not defined报错处理
  • plex客户端升级以后显示的内容太多了怎么办?
  • 比特币挖矿的能源消耗和环保问题
  • 【图像处理】直方图均衡化c++实现
  • 个人如何做股指期货?
  • 以ros的docker镜像为例,探讨docker镜像的使用
  • Docker常用命令速查手册:容器运维七维指南
  • 深入剖析 Spark Shuffle 机制:从原理到实战优化
  • STL:序列式容器
  • 轻松打造Unity小游戏AR体验
  • PHP语法高级篇(七):MySQL数据库
  • OSS-服务端签名Web端直传+STS获取临时凭证+POST签名v4版本开发过程中的细节
  • Spring AOP详细解析
  • [硬件电路-106]:模拟电路 - 电路为什么会出现不同的频率特性?元件频率依赖性、信号传输路径、电路拓扑结构、外部因素
  • 【maven】仓库配置
  • Matrix Theory study notes[6]
  • USRP捕获手机/路由器数据传输信号波形(上)
  • ZKMall商城开源本地部署指南
  • Apache Ignite 集群标识(Cluster ID)和集群标签(Cluster Tag)
  • 【物联网】基于树莓派的物联网开发【18】——树莓派安装Mosquitto服务
  • anaconda和Miniconda安装包32位64位皆可,anaconda和Miniconda有什么区别?
  • 2419. 按位与最大的最长子数组
  • 【 建模分析回顾】[MultiOutputClassifier]MAP - Charting Student Math Misunderstandings