Omniperf下载安装与使用(基于ADM-Rocm环境)

Omniperf 下载安装与使用(基于ADM-Rocm环境)

下载

本实例的操作系统是Linux Ubantu。对于其他操作系统,需要根据情况使用shell命令行代码。

安装依赖:

Python (>=3.8)
CMake (>=3.19)
ROCm (>=5.7.1)

1.Python

下载conda环境,从conda中安装python3.8。建议直接使用python3.8,以免产生新版本不兼容的情况。使用以下代码在Linux系统中使用conda创建环境:
我的环境名是py38可以自行更改。

conda create --name py38 python==3.8

运行Python环境:

conda activate py38

2.cmake

cmake的下载只需要从包管理器获取即可。先使用以下代码更新包管理器,再下载cmake。

使用以下代码更新apt-get管理器:

sudo apt-get update
sudo apt-get upgrade
apt-get install cmake

cmake --version查看cmake版本,确保版本>=3.19

下载安装包

从以下链接下载 Omniperf 的安装包,使用这行代码:

wget https://github.com/rocm/omniperf/releases/download/v2.0.1/omniperf-v2.0.1.tar.gz

下载好后,将安装包 omniperf-v2.0.1.tar.gz 解压到当前路径:

tar xfz omniperf-v2.0.1.tar.gz

会获得一个名叫omniperf-2.0.1的安装文件夹,进入这个文件夹(注意之后的操作都应该在这个路径下执行):

cd omniperf-2.0.1

安装

选择安装路径

我安装在根目录的/opt/omniperf/里,所以先创建好目录,并把目录权限设置为可读可写可执行(777):

sudo mkdir /opt/omniperf/
sudo chmod 777 /opt/omniperf

将安装目录暴露为环境变量,方便后面安装:

export INSTALL_DIR=/opt/omniperf/

安装python依赖

注意要在先前创建的python==3.8的环境下运行以下代码:

python3 -m pip install -t ${INSTALL_DIR}/python-libs -r requirements.txt

这行代码会在${INSTALL_DIR}/python-libs目录下安装以下 python 库。

  • astunparse==1.6.2
  • colorlover
  • dash>=1.12.0
  • matplotlib
  • numpy>=1.17.5
  • pandas>=1.4.3
  • pymongo
  • pyyaml
  • tabulate
  • tqdm
  • dash-svg
  • dash-bootstrap-components
  • kaleido
  • setuptools
  • plotille

通过 cmake 安装 omniperf (此时依然在omniperf-2.0.1/文件夹内)

创建cmake构建目录:

mkdir build
cd build

使用 cmake 安装 Omniperf.

cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}/2.0.1 \
        -DPYTHON_DEPS=${INSTALL_DIR}/python-libs \
        -DMOD_INSTALL_PATH=${INSTALL_DIR}/modulefiles ..

如果此时报错某个库缺失,<libs> = missing,这是因为 python 的依赖缺失,是 python 版本的问题,换 python==3.8 重来就行。若不报错,则运行下面这一行代码,安装 Ominiperf 。

make install

检查安装是否完成

检查安装文件

ls $INSTALL_DIR

这个文件夹内有以下三个文件夹,是 Omniperf 运行的依赖文件: modulefiles, 2.0.1, python-libs

先设置环境变量,我这里导出的是临时环境,因此每次打开服务器需要重复添加环境。

export PATH=$INSTALL_DIR/2.0.1/bin:$PATH
export PYTHONPATH=$INSTALL_DIR/python-libs

which omniperf检查安装路径,输出该行路径:/opt/apps/omniperf/2.0.1/bin/omniperf

omniperf --version检查安装版本

输出:omniperf (v2.0.1),这样就安装完成并可以使用啦。

运行

尝试运行

这一行代码表示了运行Omniperf的指令和需要添加的参数。

omniperf profile -n vcopy_all -- ./vcopy -n 1048576 -b 256

其中vcopy_all代表的是运行结果所在的文件夹,vcopy是你想测试的可执行文件。运行结果会出现在当前路径下一个名为workloads/的文件夹下,里面就有你想要的运行结果文件夹。

报错情况

若遇到报错,下面是一些典型报错的解决方案。

如果你遇到ERROR gfxXXX is not enabled in rocprofv1. Available profilers include: ['rocprofv2'],代表这个GPU架构下你只能使用v2rocprof版本,使用这一行代码给v2版本添加临时环境变量。

export ROCPROF=rocprofv2

如果你遇到NameError: name 'Omniperf' is not defined. Did you mean: 'omniperf'?的报错,代表着你的python环境出现问题,像之前所说,你需要进入到python==3.8的环境中,启用你创建的3.8版本环境。

conda activate py38

ui可视化

你已经运行完毕,生成的结果被放在了当前路径下的workloads文件夹内,若需要进行ui显示,你可以找到你输出结果下的一个文件夹,这个文件夹的命名格式类似于MI300X_A1/ ,表示你运行Omniperf时的GPU架构名称,这个文件夹下有你的输出结果,包含一些.txt和.scv文件。

使用以下这一行代码将你的运行结果ui可视化。注意将文件夹路径改为你的文件夹路径。

omniperf analyze -p MI300X_A1/ --gui

这一行代码会在本地映射一个8050端口,运行成功后会显示一个带端口的URL,在你的浏览器就可以访问。若你的本地8050端口被占用,你可以在 --gui后面添加一个自定义的端口号,注意符合规范。

原文链接

Omniperf安装教程

(本篇将持续更新,若在使用Omniperf时遇到其他问题,欢迎在评论区留言,于2024年8月7日)

posted @ 2024-08-06 01:26  北纬31是条纬线哦  阅读(136)  评论(0)    收藏  举报