手册下载
|
|
|
|
|
H3C傲飞高性能计算管理平台 |
|
管理员快速入门 |
|
|
|
|
|
新华三技术有限公司 http://www.h3c.com
软件版本:2.01.06及以上 资料版本:6W100-20230531 |
Copyright © 2023 新华三技术有限公司及其许可者 版权所有,保留一切权利。
未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
由于产品版本升级或其他原因,本手册内容有可能变更。H3C保留在没有任何通知或者提示的情况下对本手册的内容进行修改的权利。本手册仅作为使用指导,H3C尽全力在本手册中提供准确的信息,但是H3C并不确保手册内容完全没有错误,本手册中的所有陈述、信息和建议也不构成任何明示或暗示的担保。
H3C傲飞高性能计算管理平台2.0(Advanced Management Platform for HPC and AI 2.0,以下简称AMPHA 2.0)采用软硬件一体化的全方位高性能交互开发模式。平台为用户提供HPC作业的调度、AI模型训练、模型评估、模型预测、模型导出、在线推理服务等功能,同时为了辅助用户管理开发资源,也提供了文件存储、资源监控、资源申请、工单管理以及可视化等功能。为解决部署难的问题,平台提供基础软硬件集群环境的一键自动部署的功能;通过AMPHA 2.0,用户可以实现对资源的统一监管、对作业的调度与监控、训练数据可视化、工程化的模型开发管理,满足用户的不同业务场景的开发需求。以下对平台创建用户、用户组,创建AI和HPC资源池,docker镜像制作,HPC常用应用安装及配置,编写modulefile管理,以及查看作业运行及用户资源使用情况等方面进行快速说明。
使用管理员账户登录傲飞高性能计算平台:http://IP:Port/login。
· IP:服务器地址
· Port:默认端口号40080
· 缺省用户名/密码:root/123456
· 用户功能:分为普通用户和管理员用户,普通用户能够使用傲飞AI/HPC训练及任务管理,市场管理等公共模块等功能;管理员用户包含普通用户的功能,同时通过用户组对用户进行管理和资源调配。
· 用户组功能:统一管理用户,进行资源划分调配。
(1) 管理员账户输入正确的账户名/密码,登录系统环境。
图3-1 登录系统环境
(2) 点击<系统管理>按钮,进入用户管理界面,可以进行用户的管理。
图3-2 用户管理
(3) 点击<新建>按钮,弹出添加用户弹窗,正确填写完用户昵称、归属用户组、用户名称、用户密码、角色等身份信息。
· 用户昵称:用户昵称长度必须介于 2 和 20 之间,昵称可以随时更改。
· 归属用户组:默认归属系统用户组,下拉选择已创建好的用户组。
· 手机号码:输入规范的手机号码。
· 邮箱:输入规范的邮箱地址。
· 用户名称:用户名称长度必须介于 2 和 20 之间,由小写字母/数字组成且不以数字开头,用于登录傲飞,并以该名称为用户名创建Linux用户。
· 用户密码:用户密码长度必须介于 6 和 20 之间,由小写字母、大写字母、数字、@#¥%组成。
· 用户性别:下拉选择,男/女/未知三个选项,默认选择未知。
· 角色:下拉选择管理员/普通用户,根据创建角色的需要选择,这里选择普通用户。
· 备注:填写备注信息,范围限制500字符内。
图3-3 新建控件
(4) 点击<确定>按钮,完成单个用户的创建操作。创建单个用户成功,出现创建成功友好提示。
图3-4 创建单个用户
(1) 进入[系统管理>用户管理]页面,点击<导入>按钮,弹窗用户导入窗口。
图3-5 导入控件
(2) 可点击<下载模板>下载模板文件进行用户信息编辑。
图3-6 编辑用户信息
(3) 将编辑完成的用户信息文件拖至界面,进行上传。
图3-7 上传文件
(1) 选择[系统管理>用户组管理]页签,进入用户组管理页面,可进行用户组的管理。
图3-8 创建用户组
(2) 点击<新增>按钮,弹出添加用户组界面,正确填写上级用户组、用户组昵称、用户组名称、显示排序等用户组信息。
· 上级用户:默认归属系统用户组,可以下拉选择已创建好的用户组。
· 用户组昵称:用户组昵称长度必须介于 2 和 20 之间,由小写字母/数字组成且不以数字开头,用于登录傲飞,并以该名称为用户名创建Linux用户。
· 用户组名称:用户组名称长度必须介于 2 和 20 之间,由小写字母/数字组成且不以数字开头,用于登录傲飞,并以该名称为用户组名创建Linux用户组。
· 显示排序: 可输入数字,范围在1~9999,用于用户组界面展示的优先级排序。
· 负责人:填写当前创建用户组的用户信息,输入范围在20字符以内,用于管理员联系组组管理员。
· 联系电话:输入规范的联系电话。
· 邮箱:输入规范的邮箱地址。
图3-9 新增用户组
(3) 点击<确定>按钮,完成用户组的创建操作,创建用户组成功,出现创建成功友好提示。
图3-10 创建成功
AI和HPC资源池对计算节点统一管理,分配给用户组使用。
(1) 进入[集群配置>节点管理>AI节点]页面,点击AI节点操作栏中的<AI授权>按钮,对存在节点进行授权操作。
图4-1 AI授权
(2) 进入[资源池管理]页面,点击<创建资源组>按钮。
图4-2 创建资源组
(3) 输入资源组名称,选择节点及用户组,点击<确定>按钮。
· 名称:资源组名称不能超过20位,且只包含数字,字母,中划线,下划线。
· 节点:可以选择被AI授权的节点,只能选择未被其他资源组占用的节点。
· GPU共享:资源组选择了GPU节点后才可以选择是否选择GPU共享;若有资源组选择共享,则其他资源组能够再占用该GPU节点MIG 指定卡进行切分vGPU切分成100份。
· 用户组:下拉选择已创建完成的用户组,若无用户组则先进行用户组创建。
· 备注:填写备注信息,范围限制256字符内。
图4-3 添加节点
图4-4 创建资源组
(1) 进入[集群配置>节点管理> HPC节点]页面,点击HPC节点操作栏中的<HPC授权>按钮,对存在节点进行授权操作。
图4-5 HPC授权
(2) 进入[资源池管理]页面,点击<HPC资源池>页签,点击<创建队列>按钮。
图4-6 HPC资源池
(3) 弹出创建队列界面,正确填写上队列名称、节点、默认队列、优先级、最大限时、重复订阅、最大重复订阅数、用户组、状态等队列信息。
· 队列名称:队列名称不能超过20位,且只包含数字,字母,中划线,下划线。
· 节点:可以选择被与此队列相关联的节点。
· 默认队列:若用户没有指定队列,则可以选择是否使用默认队列。
· 优先级:较高优先级队列的作业将比较低优先级队列中的暂挂作业优先进行调度,如有可能,其将预先阻止运行较低优先级队列中的作业。队列的优先级将高于作业的优先级。该值不得超过65533。
· 最大限时:作业的最大运行时间。如果选择“UNLIMITED”,指明作业运行在此队列上的时长不受限制。如果选择“LIMITED”,则运行在此队列中的作业的运行时长受限,若时间填写为0时,作业将一直处于排队状态。
· 重复订阅:指定是否可由多个作业共享此队列中的计算资源(单个CPU)。可选的值为“YES”、“NO”、“EXCLUSIVE”、“FORCE”。可选作业数指定可分配多少作业使用每个资源。
· 最大重复订阅数:重复订阅选择“YES”和“FORCE”时可以填写,指明此队列在同一时间下,最多运行任务的数量。
· 用户组:用户组为空时,默认所有用户组均可使用。
· 状态:指定作业是否可以分配至节点或排入此队列。UP:指明新的作业可以添加到队列中,并且作业可分配至队列中的节点。DOWN:表示新的作业可以添加至队列中,但是已排队的作业不能分配至节点或从队列中运行。DRAIN:表示不可再队列中添加新的作业,但已排入队列的作业可分配至节点并运行。INACTIVE:表示不可在队列中添加新的作业,并且已在队列中的作业不能分配至节点或运行。
图4-7 创建队列
用于制作符合AI分区开发环境规范的镜像,方便用户随时制作出适合自己的镜像以更好的使用平台提供的开发环境。
AI分区中开发环境的基本使用流程示意图如下:
图5-1 流程示意图
分为以下三个步骤
(1) 编写Dockerfile。
(2) 构建Dockerfile,生成镜像文件。
(3) 使用该镜像。(在AMPHA中使用镜像,需要将镜像文件上传至平台提供的镜像仓库)
平台内置了ssh、xrdp(远程桌面)、jupytelab以及vnc(远程桌面控制)这些功能,当用户想创建开发环境时,可以直接使用自己镜像进行创建,此时镜像不需要任何修改,但以这样的镜像去创建开发环境是无法使用平台提供的ssh等内置功能的(主要由于用户下载的镜像一般没有预装ssh等组件);如果想要使用像ssh、xrdp等这些功能时,则需要在镜像内再安装ssh、xrdp和jupyterlab这些组件。
(1) 前期准备
镜像制作需要config.sh、startup.sh、Dockerfile、vncpasswd.sh和jupyter_notebook_config.py五个文件,为此用户制作镜像时需要在同一目录下创建上述文件,使用touch命令即可创建;
图5-2 前期准备
(2) 编辑脚本文件
镜像制作前需要先准备好config.sh 、startup.sh、vncpasswd.sh和jupyter_notebook_config.py四个文件,其中config.sh为xrdp所需脚本,startup.sh为启动脚本,添加了ssh、xrdp、jupyterlab启动命令,vncpasswd.sh为vnc启动脚本,jupyter_notebook_config.py为jupyter配置文件。四个文件具体内容可参考附件Example,可以直接使用,如要添加其他软件启动命令,需修改startup.sh文件。值得注意的是jupyter_notebook_config.py,除了正常的设置端口和密码外,还添加了kong网关功能(Kong 是在客户端和(微)服务间转发API通信的API网关,系统已经安装kong,这里只需要修改jupyter配置文件来配合使用即可),详细内容如下,其中红色部分为kong所需配置:
图5-3 编辑脚本文件
(3) Dockerfile制作
下面将基于《H3C AMPHA AI分区镜像制作.rar》文档的附件Example\cpu中的Dockerfile来说明。
图5-4 Dockerfile制作-1
图5-5 Dockerfile制作-2
(4) 制作镜像
a. 加载tensorflow基础镜像:从外部导入或者从docker hub上拉取需要制作镜像的基础镜像,本示例以tensorflow.tar为例。
命令:
docker load -i tensorflow.tar
图5-6 制作镜像
b. 打镜像标签,该标签名需要和Dockerfile里的基础镜像标签名一致
命令:
docker tag xxx.xxx.xxx.xxx:xxxx/tensorflow/tensorflow:1.14.0-py3 xxx.xxx.xxx.xxx:xxxx:xxxx/tensorflow/tensorflow:4.2.3-gpu-py3
注意:config.sh、startup.sh、jupyter_notebook_config.py、vncpasswd.sh以及Dockerfile 五个文件必须置于同一目录下。
图5-7 打镜像标签
c. 执行docker build -t命令(docker build -t 镜像名:镜像tag .,最后那个.表示在Dockerfile所在目录下执行build命令)生成镜像,此时镜像名称可以根据需要确定。
图5-8 生成镜像
d. 生成镜像后使用docker save -o命令将镜像打成tar包(docker save -o A.tar B,A是将要生成的tar名,如xxx.tar格式,B为镜像名,如xxxx:xxxx)
图5-9 打包
(1) 用户根据上述操作制作完成新的镜像(安装了ssh、xrdp、jupyterlab、vnc)之后,将新镜像通过AMPHA系统上传即可,需要注意镜像名称的填写。
(2) 用户登录AMPHA系统。
(3) 点击镜像服务模块的我的镜像列表菜单,找到新增镜像按钮。
图5-10 镜像服务
(4) 点击新增镜像,输入镜像名称,保存成功后,点击更多选择上传镜像,选中制作完成的新镜像tar包,修改tag,点击确定,完成上传。
图5-11 新增镜像-1
图5-12 新增镜像-2
(5) 点击更多选择上传镜像,设置镜像标签。
图5-13 上传镜像
(6) 上传完成后可在平台内查看,由于系统会有多台机器,可能镜像不在当前上传机器上(一体机除外)。
图5-14 上传完成
(7) 最后回到开发环境中运行上传的自定义镜像。
以openmpi-4.1.5版本为例:
(1) 安装编译OpenMPI需要的工具(依赖)。
apt-get install vim gcc g++ perl make -y
(2) 解压:openmpi-4.1.5.tar.gz。
tar zxf openmpi-4.1.5.tar.gz
(3) 配置及编译。
./configure prefix=/public/software/common/openmpi-4.1.5 CC=gcc CFLAGS=-fPIC
图6-1 配置及编译
备注:prefix=/public/software/common/openmpi-4.1.5 指定安装路。其中/public/software/common目录为共享存储路径;
(4) 执行make开始编译
图6-2 执行make开始编译
(5) 执行make install进行编译安装
图6-3 执行make install 进行编译安装
(6) 配置OpenMPI的环境变量,全局环境变量: vim /etc/profile; 用户环境变量: vim ~/.bashrc
添加如下内容:
export OpenMPI_HOME=/public/software/common/openmpi-4.1.5
export PATH=$OpenMPI_HOME/bin:$PATH
export LD_LIBRARY_PATH=$OpenMPI_HOME/lib:$LD_LIBRARY_PATH
(1) 以Matlab-2022b为例,挂载并安装。
图6-4 挂载并安装
(2) 修改安装输入文件installer_input.txt信息。
图6-5 修改安装输入文件installer_input.txt信息
备注:安装路径/public/software/common/matlab2022b目录为共享存储路径;
(3) 安装matlab可能依赖的系统组件。
apt-get install -y libx11-dev
(4) matlab执行安装。
图6-6 执行安装
(5) 安装过程输出日志。
图6-7 安装过程输出日志
(6) 修改系统环境变量配置,全局环境变量: vim /etc/profile; 用户环境变量: vim ~/.bashrc
添加如下内容:
export MATLAB_HOME=/public/software/common/matlab2022b
export PATH=$MATLAB_HOME/bin:$PATH
export LD_LIBRARY_PATH=$MATLAB_HOME/runtime/glnxa64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$MATLAB_HOME/bin/glnxa64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$MATLAB_HOME/sys/os/glnxa64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$MATLAB_HOME/sys/java/jre/glnxa64/jre/lib/amd64/native_threads:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$MATLAB_HOME/sys/java/jre/glnxa64/jre/lib/amd64/server:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$MATLAB_HOME/sys/java/jre/glnxa64/jre/lib/amd64:$LD_LIBRARY_PATH
export XAPPLERSDIR=$MATLAB_HOME/X11/app-defaults
更新破解补丁动态库so文件(可选参考):
图6-8 新破解补丁动态库so文件
(7) 非图形界面方式启动matlab。
图6-9 非图形界面方式启动matlab
(1) 安装module的依赖。
apt install autoconf automake autopoint python sphinx tcl8.6-dev
(2) 如果是CentOS系统,安装module依赖。
yum install autoconf automake autopoint python sphinx tcl-devel
(3) 解压module安装包modules-5.2.0.tar.gz
tar zxf modules-5.2.0.tar.gz
(4) 初始化配置:
./configure --prefix=/public/software/common/modules --modulefilesdir=/public/software/common/modulefiles --with-tcl
(5) 指定安装目录,及modulefile目录:/public/software/common为共享存储安装目录;
(6) 如果不指定,则默认安装到/usr/local/modules目录;
图6-10 安装
(7) 如果提示配置错误,需要指定tclConfig.sh所在目录,得先安装tcl-devel依赖。
图6-11 安装tcl-devel依赖
./configure --prefix=/public/software/common/modules --modulefilesdir=/public/software/common/modulefiles --with-tcl
(8) 然后,执行make编译module。
图6-12 执行make编译module
(9) 执行make install进行安装。
图6-13 执行make install进行安装
(10) 配置系统全局环境变量,在/etc/profile中添加如下图所示。
图6-14 配置系统全局环境变量
(11) 如下所示,module安装配置成功。
图6-15 安装配置module
(1) 将anaconda安装包拷贝到计算节点/hpc/software下,以Anaconda3-2023.03-Linux-x86_64.sh为例。
(2) 给安装包赋可执行权限chmod +x Anaconda3-2023.03-Linux-x86_64.sh。
(3) 执行命令bash Anaconda3-2023.03-Linux-x86_64.sh。
(4) 键入enter进入下一步。
图6-16 拷贝anaconda安装包到计算节点
(5) 选择yes,进入下一步。
图6-17 选择yes
(6) 键入安装路径:/hpc/software/anaconda3/按enter进行下一步。
图6-18 键入安装路径
(7) 键入yes。
图6-19 键入yes
(8) 出现下图所示,即安装成功。
图6-20 安装成功
(1) 上传官方下载的安装文件l_BaseKit_p_2023.1.0.46401_offline.s及文件l_HPCKit_p_2023.1.0.46346_offline.sh到计算节点。
图6-21 上传安装文件
(2) 执行如下命令,以命令行/文本模式进行安装。
./l_BaseKit_p_2023.1.0.46401_offline.sh -a –c
图6-22 以命令行/文本模式进行安装
(3) 选择“Accept & customize”接受自定义安装。
图6-23 接受自定义安装
(4) 选择“Next”下一步,需要25.3G存储空间。
图6-24 选择下一步
(5) 修改默认安装路径,安装到指定(共享存储)路径:/public/software/common/intel/oneapi。
图6-25 修改默认安装路径
(6) 根据提示信息,在安装完成后,安装libgtk相关依赖。
图6-26 安装libgtk相关依赖
(7) 根据需要选择跳过Eclipse IDE配置。
图6-27 根据需要选择跳过Eclipse IDE配置
(8) 选择不收集我的信息,开始进行安装。
图6-28 选择不收集我的信息
图6-29 安装-1
图6-30 安装-2
图6-31 安装-3
(9) 选择“Close”关闭,并完成安装。
(10) 执行如下命令,声明环境变量。
source /public/software/common/intel/oneapi/setvars.sh intel64 –force
图6-32 声明环境变量
(11) 执行如下命令,以命令行/文本模式进行安装HPCKit:
./l_HPCKit_p_2023.1.0.46346_offline.sh -a –c
图6-33 安装HPCKit
以anaconda为例:
(1) 进入/hpc/software/modulefies目录,创建文件夹mkdir –p anaconda3。
(2) cd /hpc/software/modulefies/anaconda3创建文件touch 2023.03。
(3) vim 2023.03编写modulefile文件,如下图所示。
图7-1 编写modulefile文件
(4) 执行命令module ava查看是否成功,如下情况即安装成功。
图7-2 执行命令module ava
以matlab2022b为例:
(1) 进入/public/software/common/modulefiles目录,创建文件夹mkdir -p matlab。
(2) cd /public/software/common/modulefiles创建文件touch 2022b。
(3) vim 2022b编写modulefile文件,如下图所示。
图7-3 编写modulefile文件
(4) 执行命令生成IntelOneAPI的modulefile
/public/software/common/intel/oneapi/modulefiles-setup.sh --output-dir=/public/software/common/modulefiles/inteloneapi
图7-4 执行命令生成IntelOneAPI的modulefile
(5) 验证inteloneapi模块加载。
图7-5 验证inteloneapi模块加载
(1) 查看节点及分区资源使用情况。
(2) 登录slurm的登陆节点,执行sinfo命令查看。
图8-1 执行sinfo命令
(3) 执行squeue -l命令查看作业运行情况。
图8-2 查看作业运行情况
(4) 根据作业ID查看正在运行的作业详细。
图8-3 查看正在运行的作业
(5) 根据作业ID查看已经完成的历史作业信息。
图8-4 根据作业ID查看已经完成的历史作业信息
