2024年1月10日发(作者:买秀颖)
联想智能超算平台用户手册V5.1.0日期:2018/05/03版本号:v1.0
目录
1.
1.1.
1.2.
1.3.
2.
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.7.1.
2.7.2.
2.8.
2.8.1.
2.8.2.
2.8.3.
2.9.
2.9.1.
2.9.2.
2.9.3.
2.9.4.
2.9.5.
2.9.6.
2.10.
产品简介 ...............................................................................................................4
名词解释 ...............................................................................................................4
前提和假定 ...........................................................................................................5
运行环境 ...............................................................................................................5
使用说明 ...............................................................................................................5
登录 ......................................................................................................................5
登出 ......................................................................................................................6
修改密码 ...............................................................................................................7
查看集群资源及队列状态 ......................................................................................7
上传作业程序 ........................................................................................................8
上传容器镜像 ......................................................................................................12
提交作业 .............................................................................................................14
提交 General 作业 ............................................................................................14
提交 Common 作业 ...........................................................................................16
提交 HPC 作业 ..................................................................................................19
提交 MPI 作业 ...................................................................................................19
提交 ANSYS 作业 .............................................................................................21
提交 COMSOL 作业 ..........................................................................................24
提交 AI 作业 ......................................................................................................27
提交 TensorFlow 作业 ......................................................................................27
提交 Caffe 作业 .................................................................................................31
提交 Intel Caffe 作业 .........................................................................................33
提交 MXNet 作业 ..............................................................................................34
提交Neon作业 ..................................................................................................36
GPU作业监控 ....................................................................................................38
作业生命周期管理 ...............................................................................................40
2.10.1. 取消作业 .............................................................................................................40
2.10.2. 重新运行作业 ......................................................................................................41
2.10.3. 删除作业 .............................................................................................................42
2.11. 训练 AI 图像分类模型 ........................................................................................42
2.11.1. 导入图像数据集 ..................................................................................................43
2.11.2. 创建网络拓扑 ......................................................................................................47
2.11.3. 训练模型 .............................................................................................................50
2.11.4. 参数调整 .............................................................................................................54
2.11.5. 测试及导出模型 ..................................................................................................55
2.11.6. 管理预训练模型 ..................................................................................................57
2.12. 自定义模板 .........................................................................................................58
2.12.1. 创建自定义模板 ..................................................................................................59
2.12.2. 发布自定义模板 ..................................................................................................66
2.13. 专家模式 .............................................................................................................66
2.13.1. 命令行提交作业 ..................................................................................................69
2.13.2. 作业文件编写 ......................................................................................................70
2.14.
3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
VNC 管理 ...........................................................................................................70
注意事项 .............................................................................................................71
用户相关目录的绝对路径 ....................................................................................71
解决作业提交失败 ...............................................................................................71
VNC 查看或删除失败 .........................................................................................72
SLURM 命令参考 ...............................................................................................72
Caffe 网络拓扑定义参考 ....................................................................................72
GPU监控数据来源 .............................................................................................72
前言
欢迎使用联想智能超算平台(以下简称 LiCO),LiCO 致力于提供简单、易用、丰富的高性能计算及人工智能平台。本文档的读者需要具备一定的高性能计算、服务器集群的基础知识,同时对高性能计算中的并行开发、作业调度、人工智能(以下简称 AI)有一定的了解。
1. 产品简介
联想智能超算平台(Lenovo intelligent Computing Orchestration以下简称LiCO)是联想基于超性能计算(HPC)集群的一站式解决方案,其功能包括计算机集群管理,集群监控,作业调度管理,集群用户管理,账户管理,文件系统管理等。通过 LiCO可以实现对超算
(supercomputing) 集群资源的统一调度,同时支持 HPC 作业和 AI 作业。随着人工智能、高性能计算和大数据的广泛应用,LiCO已被越来越多的政府机关、大专院校、气象环保、石油石化、机械制造和生命科学研究等单位使用。
LiCO基于B/S架构设计,用户可以方便的通过网页来对集群进行全面而细致的管控。LiCO系统的主要功能有:
1. 集群的管理、监控:提供机房直观的物理视图,集群中各节点CPU、内存、硬盘、温度、系统负载以及网络使用状况等详细监控数据,并能对各节点进行逻辑分组,方便统一规划和管理;
2. 作业管理、监控:直观的作业运行结果和状态管理,并支持各种主流调度器,支持丰富的作业类型(包括AI相关的作业如Tensor Flow、Caffe等);
3. 用户管理、计费:统一的界面支持本地和域用户的集成,支持用户充值、扣费,并设置计费组、费率等;
4. 警告、报警:丰富的警报策略设置,并支持邮件、短信、微信等通知方式;
5. 报表:多种报表类型,如集群报表,报警报表,作业报表,计费组作业报表等;
6. 定制化:提供多样的定制化服务,如企业作业模板定制,报表定制,3D机房定制化等服务
用户也可以通过其他 Shell 终端工具登陆到集群的登陆节点进行命令行操作。
1.1. 名词解释
计算机集群:对包含管理节点、登录节点、计算节点等在内的服务器资源的统称。
作业:完成特定任务的命令序列。
作业状态:指作业在调度系统中的状态标识,包括等待、排队、保留、运行、挂起、结束等。
节点状态:指节点的状态标识,包括空闲、已占用、繁忙、停机等。
作业调度系统:也称作业调度器或调度器,指负责接收、分发、执行、记账作业的分布式
程序。
管理节点:指集群中运行作业调度,集群管理,用户计费等管理程序的服务器。
登录节点:指集群中用户可以通过 Linux 终端工具登录并进行操作的服务器。
计算节点:指集群中执行作业的服务器。
用户组:用户集合,系统可针对用户组来定义对集群资源的访问控制策略,属于同一个用户组的所有用户可以访问相同的集群资源。
计费组:也称计费账户,通过账户来对集群使用者进行计费,结算等操作。一个计费账户可由一个用户或多个用户共同使用。
1.2. 前提和假定
本文描述的内容主要针对基于作业调度器 Slurm 的情况,目前 LiCO 支持三种调度器:Slurm,Torque 以及 LSF。下文中 Slurm 相关命令不适用于Torque或 LSF 等调度器,如需使用,请参考对应文档。
1.3. 运行环境
集群服务器:
联想 Think System 服务器系列。
集群服务器支持的操作系统:
CentOS 6.8/7.3, Red Hat 6.8/7.3
客户端要求:
硬件:CPU 主频 2.0GHz 以上,内存大小 1GB 以上。
浏览器:推荐使用 Chrome 或 Firefox。
显示分辨率:不小于 1280 X 800
2. 使用说明
本文档主要介绍基于管理系统界面的基本操作方法和流程。对于命令行操作的方法可以参
考 2.13.1 命令行提交作业 以及 3.4 SLURM 命令参考。
2.1. 登录
打开浏览器输入集群登录节点的 IP 地址,如 10.220.112.21(客户端必须可以直接访问集群登录节点)。可看到如下图所示的 LiCO 登录界面:
图 1 登录界面
输入用户名和密码(初始用户名和密码一般由管理员创建并告知)后点击登录,可登录
LiCO系统并看到如下图所示的主界面:
图 2 用户主界面
2.2. 登出
LiCO 系统的用户登录会话令牌 (Token) 有自动延时功能,在正常使用系统的情况下并不会出现登录超时现象,所以当不使用系统时,请按如下步骤登出系统。
点击界面右上角的按钮可弹出如下图所示的用户信息框:
图 3 用户信息对话框
点击框内右上角按钮并在确认登出,即可登出 LiCO 系统。
2.3. 修改密码
用户在登录系统后,可以按如下步骤自行修改登录密码。
点击界面右上角的按钮可弹出如图 3 所示的用户信息框,点击框内上方按钮可弹出如下图所示的密码修改对话框:
图 4 修改密码对话框
输入当前密码及修改密码后点击提交,即可完成密码修改。
2.4. 查看集群资源及队列状态
点击位于主界面右侧菜单中的首页,可进入如下图所示的集群概况界面:
图 5 集群概况界面
CPU:集群 CPU 的利用率,包括已经被占用的 CPU 核数和集群总共具有的 CPU 核数。
GPU:集群 GPU 的利用率,包括已经被占用的 GPU 个数和集群总共具有的 GPU 个数。
内存:集群内存的利用率,包括已经被占用的内存大小和集群总共具有的内存大小。
存储:集群存储空间的利用率,包括已经被占用的存储空间和集群总存储空间。
网络:集群网络的吞吐量,包括读速率和写速率。
作业:当前用户已经提交运行和提交等待的作业信息。运行和等待状态下切换可以查看当前作业的名称和运行的时间。点击更多跳转到作业详情界面,可以查看具体的作业执行情况。
作业状态:当前用户下所有提交历史作业的情况。可以根据队列和时间段进行查看,其中队列包含集群下所有队列的名称,时间段包含最近 1 小时,最近 24 小时,最近 7 天和最近 30 天。图表中可以选择运行和等待两种状态下的历史作业,并且可以查看具体某一个时间点的作业运行数量。
最近使用的模板:展示当前用户最近使用较多的作业模板,可快速提交作业。
2.5. 上传作业程序
依次点击菜单:管理 -> 文件管理,进入如下图所示的文件管理界面:
图 6 文件管理界面
每个用户会被分配到一个专有的文件夹 “My folder”,在此文件夹下,用户拥有全部权限。此文件夹之外,用户没有任何访问及其他操作的权限。注意:“My folder” 只是文件夹的显示名称,如果需要 “My folder” 在操作系统中的绝对路径,请与参考:3.1用户相关目录的绝对路径。
在文件管理界面,用户可进行如下操作:
后退:返回上一部操作(有些操作不可逆)
前进:重复下一步操作(有些操作不可重复)
新建文件夹
删除文件夹
重命名文件夹
新建文件
上传文件
下载文件
删除文件
重命名文件
编辑文件
图标和列表示图切换
排列文件:按名称,按大小,按类型,按日期
搜索
刷新
注:用户可以通过工具栏或者右键快捷菜单使用以上功能。
以下是创建文件夹并上传文件的示例:
1. 在空白处点击鼠标右键,选择创建文件夹:
图 7 创建文件夹
2. 命名文件夹:
图 8 命名文件夹
3. 双击进入文件夹,在空白处点击鼠标右键,选择上传文件:
图 9 上传文件
4. 系统弹出文件上传对话框:
图 10 文件上传对话框
5. 可拖拽文件至对话框内虚线区域,或点击下方按钮来选择本地文件进行上传(可多选):
图 11 选择本地文件
6. 上传成功后可在文件管理界面查看到文件:
图 12 上传成功
2.6. 上传容器镜像
为了能够满足用户对运行 AI 作业的多样化、定制化的需求,LiCO 系统内 AI 的作业均在容器内运行,目前系统支持Singularity容器平台,不同的 AI 作业模板运行在不同的容器镜像上。
LiCO 系统在提供若干基础容器镜像之外,也允许上传用户自定义镜像。用户可按如下步骤进行操作来上传镜像:
1. 依次点击菜单:管理 -> 容器镜像,可进入如下图所示的容器镜像管理界面:
图 13 容器镜像管理界面
2. 点击创建按钮,系统将弹出镜像上传对话框:
图 14 镜像上传对话框
3. 点击浏览按钮来选择镜像文件(镜像文件需要先上传至集群文件系统),完成信息填写后点击提交按钮;
4. 对话框将自动关闭,并返回镜像管理界面,可查看到镜像正在上传:
图 15 镜像上传中
5. 等待镜像上传完成后(状态变更为上传成功),则该镜像可被使用。
2.7. 提交作业
2.7.1. 提交 General 作业
General 作业是完全由用户自行控制运行方式及使用资源的计算任务,用户需要自行编写作业文件及启动脚本,如何编写请参考2.13专家模式:。
用户可以通过以下步骤来向 LiCO 系统提交并运行 General 作业:
1. 在菜单中选择:提交作业,可进入如下图所示的作业模板选择界面:
图 16 作业模板选择界面
2. 在模板中选择 General Job 模板,可进入如下图所示的 General 作业提交界面:
图 17 General作业提交界面
3. 填写作业名称,并点击浏览按钮来选择作业文件,作业文件及相关资源需要提前上传至集群文件系统;
4. 点击提交按钮来提交作业,提交成功可进入如下图的作业详情界面:
图 18 作业详情界面
5. 在作业详情界面,可以对某一个作业输出日志文件进行实时监控,也可以通过 Web
控制台登录集群登陆节点来对程序运行进行监控;
6. 用户可以通过点击菜单:作业列表,进入如下图所示作业管理界面来监控作业运行情况:
图 19 作业管理界面
7. 等待作业运行结束后,可以点击作业管理界面中作业所在行或作业详情页面的入作业的工作目录,如下图所示可以对作业的输出文件进行下载:
进
图 20 作业输出下载
2.7.2. 提交 Common 作业
Common 作业是指用户在 Web 界面上快速编写并运行的脚本类作业。
用户可以通过以下步骤来向 LiCO 系统提交并运行 Common 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 Common Job 模板,可进入如下图所示的 Common 作业提交界面:
图 21 Common作业提交界面
3. 填写作业名称,工作目录,并在运行脚本框内填写需要运行的脚本(支持 Linux Shell
命令);
4. 用户可进行运行所需要资源的选择:
队列(必选):作业所属的队列名,这里可选择的队列是用户有权限使用的队列;
节点数(可选):应用程序运行所需要的计算节点数目;
每个节点的 CPU 核数(可选):应用程序运行所需要每个计算节点的 CPU 核数;
内存容量(可选):应用程序运行所需要内存大小;
预计运行时间(可选):应用程序运行所需要时间;
5. 用户可进行运行提醒的配置:
运行状态通知(可选):应用程序运行状态的通知:作业完成时通知和作业被挂起时
通知;
邮箱(可选):用于接收通知的邮箱;
6. 下图是一个 Common 作业填写的示例:
图 22 Common作业填写示例
7. 填写完成后,点击提交按钮即可提交运行。
2.8. 提交 HPC 作业
2.8.1. 提交 MPI 作业
MPI作业是指基于MPI运行的分布式计算作业,LiCO 系统内置 MPI,可运行符合 MPI规范编写的分布式计算程序。
用户可以通过以下步骤在 LiCO 系统中提交并运行 MPI 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 MPI 模板,可进入如下图所示的 MPI 作业提交界面:
图 23 MPI作业提交界面
3. 填写作业名称及 MPI 作业相关运行参数:
工作目录(必选):作业的工作目录;
MPI 程序(必选):MPI 程序,也是最终要运行计算任务的程序。为了让这个应用程序能够在多台服务器上并行计算,这个程序要符合 MPI 标准;
MPI 环境文件(可选):MPI 的环境变量;
MPI 运行参数(可选):mpirun 的运行参数;
4. 填写资源选项及提醒选项;
5. 下图是一个 MPI 作业填写的示例:
图 24 MPI作业填写示例
6. 填写完成后,点击提交按钮即可提交运行。
2.8.2. 提交 ANSYS 作业
ANSYS 作业是指基于 ANSYS 运行的分布式计算作业,LiCO 系统内置 ANSYS,可运行符合 ANSYS 规范编写的分布式计算程序(包括 GUI 方式)。
用户可以通过以下步骤来向 LiCO 系统提交并运行 ANSYS 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 ANSYS 模板,可进入如下图所示的 ANSYS 作业提交界面:
图 25 ANSYS作业提交界面
3. 填写作业名称及 ANSYS 作业相关运行参数:
运行模式:勾选图形界面表示 ANSYS 以 GUI 模式运行,提交作业后,会打开一个VNC session,并在 VNC session 里面将 anasys 图形界面运行起来。可通过 VNC
管理界面进行访问;
工作目录(必选):程序的工作目录;
ANSYS可执行文件(必选):ANSYS 软件的位置;
ANSYS 环境配置文件:ANSYS 运行时需要的环境变量;
ANSYS 运行参数(可选):ANSYS 运行的参数;
ANSYS输入文件(必选):应用程序运行时输入的文件;
ANSYS输出文件(可选):应用程序运行时输出的文件;
4. 填写资源选项及提醒选项;
5. 下图是一个 ANSYS 作业填写的示例:
图 26 ANSYS作业填写示例
6. 填写完成后,点击提交按钮即可提交运行。
2.8.3. 提交 COMSOL 作业
COMSOL 作业是指基于COMSOL 运行的分布式计算作业,LiCO 系统内置 COMSOL,可运行符合 COMSOL 规范编写的分布式计算程序(包括 GUI 方式)。
用户可以通过以下步骤来向 LiCO 系统提交并运行 ANSYS 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 COMSOL 模板,可进入如下图所示的 COMSOL 作业提交界面:
图 27 COMSOL作业提交界面
3. 填写作业名称及 COMSOL 作业相关运行参数:
运行模式:勾选图形界面表示 COMSOL 以 GUI 模式运行,提交作业后,会打开一个 VNC session,并在 VNC session 里面将 COMSOL 图形界面运行起来。可通过
VNC 管理界面进行访问;
工作目录(必选):程序的工作目录;
COMSOL可执行文件(必选):COMSOL 软件的位置;
COMSOL 环境配置文件:COMSOL 运行时需要的环境变量;
COMSOL 运行参数(可选):COMSOL 运行的参数;
COMSOL输入文件(必选):应用程序运行时输入的文件;
COMSOL输出文件(可选):应用程序运行时输出的文件;
4. 填写资源选项及提醒选项;
5. 下图是一个 COMSOL 作业填写的示例:
图 28 COMSOL作业填写示例
6. 填写完成后,点击提交按钮即可提交运行。
2.9. 提交 AI 作业
2.9.1. 提交 TensorFlow 作业
TensorFlow 作业是指基于 TensorFlow 运行的单机或者分布式计算作业,LiCO 系统通过Singularity容器镜像来运行基于 TensorFlow 框架编写的 AI 程序,可支持 CPU 或
GPU。
用户可以通过以下步骤在 LiCO 系统中提交并运行 TensorFlow 分布式作业:
1. 进入作业模板选择界面;
2. 在模板中选择 TensorFlow Multinode 模板,可进入如下图所示的 TensorFlow 作业提交界面:
图 29 TensorFlow作业提交界面
3. 填写作业名称及 TensorFlow 作业相关运行参数:
工作目录(必填): 作业的工作目录;
容器镜像(必填): 作业所使用的Singularity镜像;
TF 程序(必填):TesorFlow 程序,也是最终要运行计算任务的程序。这个程序要符合 TensorFlow 标准, 该程序必须是 .py 文件;
节点数(必填):作业运行所需要的计算节点数目;
PS 任务名(必填):PS 任务名;
Worker 任务名(必填):Worker 任务名;
每个 PS 任务的 CPU 核数(必填):每个 PS 任务分配的 CPU 核数;
每个 Worker 任务的 CPU 核数(必填):每个 Worker 任务分配的 CPU 核数;
每个Worker任务的GPU数(选填): 每个Worker任务分配的GPU个数;
job_name 参数名(必填):job_name 的参数名;
task_index 参数名(必填):task_index 的参数名;
ps_hosts 参数名(必填):ps_hosts 的参数名;
worker_hosts 参数名(必填):worker_hosts 的参数名;
运行参数(选填):运行所需的其他参数;
4. 填写资源选项;
5. 下图是一个 TensorFlow 作业填写的示例:
图 30 TensorFlow作业填写示例
6. 填写完成后,点击提交按钮即可提交运行。
7. LiCO 针对 TensorFlow 程序内置了 TensorBoard 功能,可以帮助用户以图形化方式对 TensorFlow 程序的运行过程进行监控。在成功提交作业后,可进入作业详情界面,并选择 TensorBoard 栏
8. 点击浏览按钮,并选择 TensorFlow 程序的输出目录,然后点击查看按钮即可启动
TensorBoard,可以点击新窗口打开按钮来获取完整视图:
图 31 TensorBoard界面
2.9.2. 提交 Caffe 作业
Caffe 作业是指基于 Caffe 运行的单机计算作业,LiCO 系统通过 Singularity容器镜像来运行基于 Caffe 框架编写的 AI 程序,可支持 CPU 或 GPU。
用户可以通过以下步骤在 LiCO 系统中提交并运行 Caffe 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 Caffe 模板,可进入如下图所示的 Caffe 作业提交界面:
图 32 Caffe作业提交界面
3. 填写作业名称及 Caffe 作业相关运行参数:
工作目录(必选):程序的工作目录;
容器镜像(必选):作业所使用的 Singularity镜像;
Caffe 程序(必选):选择需要运行的 Caffe 程序文件;
运行参数:Caffe 程序自带的一些运行参数;
使用 CPU 核数(必选):运行 Caffe 程序所用的 CPU 核数;
使用 GPU 数:运行 Caffe 程序所用的 GPU 个数;
4. 填写资源选项;
5. 下图是一个 Caffe 作业填写的示例:
图 33 Caffe作业示例
6. 填写完成后,点击提交按钮即可提交运行。
2.9.3. 提交 Intel Caffe 作业
Intel Caffe 作业是指基于 Intel Caffe 运行的单机或分布式计算作业,LiCO 系统通过Singularity 容器镜像来运行基于 Intel Caffe 框架编写的 AI 程序,可支持 CPU 或 GPU。
用户可以通过以下步骤在 LiCO 系统中提交并运行 Intel Caffe 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 Intel Caffe Standard 模板,可进入如下图所示的 Intel Caffe 作业提交界面:
图 33 Intel Caffe作业提交界面
3. 填写作业名称及 Intel Caffe 作业相关运行参数:
工作目录(必选):程序的工作目录;
容器镜像(必选):选择 Singularity容器的镜像;
Intel Caffe 程序(必选):选择需要运行的 Intel Caffe 程序文件;
运行参数:Intel Caffe 程序自带的一些运行参数;
节点数(必选): 分布式运行 Intel Caffe 程序所用的节点数;
每个节点使用 CPU 核数(必选):在每个节点使用的 CPU 核数;
4. 填写资源选项;
5. 下图是一个 Intel Caffe 作业填写的示例:
图 34 Intel Caffe作业示例
6. 填写完成后,点击提交按钮即可提交运行。
2.9.4. 提交 MXNet 作业
MXNet 作业是指基于 MXNet 运行的单机或分布式计算作业,LiCO 系统通过
Singularity
容器镜像来运行基于 MXNet 框架编写的 AI 程序,可支持 CPU 或 GPU。
用户可以通过以下步骤在 LiCO 系统中提交并运行 MXNet 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 MXNet Single Node模板,可进入如下图所示的 MXNet 作业提交界面:
图 35 MXNet作业提交界面
3. 填写作业名称及 MXNet 作业相关运行参数:
工作目录(必选):程序的工作目录。
容器镜像(必选):选择 Singularity容器的镜像。
MXNet 程序(必选):选择需要运行的 MXNet 程序文件。
运行参数:MXNet 程序自带的一些运行参数,必选。
使用 CPU 核数(必填): MXNet 程序运行时使用的 CPU 核数。
使用 GPU 数:MXNet 程序运行时使用的 GPU 个数。
4. 填写资源选项;
5. 下图是一个 MXNet 作业填写的示例:
图 36 MXNet作业示例
6. 填写完成后,点击提交按钮即可提交运行。
2.9.5. 提交Neon作业
Neon作业是指基于 Neon运行的单机计算作业,LiCO 系统通过Singularity
容器镜像来运行基于 Neon框架编写的 AI 程序,可支持 CPU 或 GPU。
用户可以通过以下步骤在 LiCO 系统中提交并运行 Neon作业:
1. 进入作业模板选择界面;
2. 在模板中选择 Neon模板,可进入如下图所示的 Neon作业提交界面:
图 38 Neon作业提交界面
3. 填写作业名称及Neon作业相关运行参数:
工作目录(必选):程序的工作目录。
容器镜像(必选):选择 Singularity容器的镜像。
neon程序(必选):选择需要运行的 Neon程序文件。
运行参数:Neon程序自带的一些运行参数。
运行模式(必选):可以选择CPU、MKL和GPU三种模式。
使用 CPU 核数(必选):Neon程序运行时使用的 CPU 核数。
4. 填写资源选项;
5. 下图是一个 Neon 作业填写的示例:
图 39 Neon作业示例
6. 填写完成后,点击提交按钮即可提交运行。
2.9.6. GPU作业监控
通常为了加快AI作业的执行速度会使用GPU来进行加速,系统针对使用了GPU的作业提供了对执行作业的计算节点上GPU进行监控的功能。
用户提交作业后或者通过作业管理功能可以进入到作业详情界面,如果该作业使用了GPU,则会出现GPU使用信息及监控Tab页,如下图:
图 37 GPU作业监控
GPU使用情况:系统能够列出当前作业订购的GPU个数,点击个数可以显示作业具体使用了哪些计算节点及在该节点上使用的GPU个数(实际使用的数量可能会小于订购数量)。
GPU使用率、显存、温度监控:点击GPU Tab可以切换到GPU实时监控界面,该界面以图形化的方式展示了运行此作业的所有节点上的GPU实时数据,并可以切换显示GPU使用率、显存、温度。图中每个框表示一个节点,框体右上角为节点名称,每一个柱体表示一个GPU,柱体蓝色部分标示具体的监控指标数值,如果柱体顶部有桔黄色标记则表明此GPU已被使用。通过移动界面右上方的滑动条可以调整柱体的颜色来达到筛选并高亮数值范围内的GPU,钩选滑动条右侧的颜色反转选项可以将范围内和范围外的标记颜色对换。
2.10. 作业生命周期管理
LiCO 系统中,作业生命周期的管理包括取消作业、重新运行作业和删除作业。
2.10.1. 取消作业
可按以下步骤操作来对正在运行的作业进行取消:
1. 进入作业管理界面,在界面头部状态选择栏点击运行中按钮,如下图所示;
图 38 查看运行中的作业
2. 在下方表格中找到要取消的作业,点击所在行的提交按钮即可取消作业,如下图所示;
按钮,并在弹出的确认对话框点击
图 42确认取消作业
3. 取消后的作业可以完成的作业列表中被找到。
2.10.2. 重新运行作业
可按以下步骤操作来对已经完成运行的作业进行重新运行:
1. 进入作业管理界面,在界面头部状态选择栏点击完成按钮,如下图所示;
图 43 查看运行完成的作业
2. 在下方表格中找到要重新运行的作业,点击所在行的点击提交按钮即可重新运行作业,如下图所示;
按钮,并在弹出的确认对话框
图 44 确认重新运行作业
2.10.3. 删除作业
可按以下步骤操作来对已经完成运行的作业进行删除:
1. 进入作业管理界面,在界面头部状态选择栏点击完成按钮,如下图所示;
图 39 查看运行完成的作业
3. 在下方表格中找到要删除的作业,点击所在行的提交按钮即可删除作业,如下图所示;
按钮,并在弹出的确认对话框点击
图 40 确认删除作业
2.11. 训练 AI 图像分类模型
LiCO 支持用户在不编写程序的情况下训练基于深度学习的图像分类模型。目前该模型的训练过程是基于 Intel Caffe 框架开发的,可支持分布式训练,并针对 Intel Xeon Phi 进行了性能优化。
LiCO 支持对图像数据集、网络拓扑、模型的管理,并能够对模型的训练过程进行实时
监控、测试及导出。
2.11.1. 导入图像数据集
图像数据集是带有分类信息的图片集和,是模型训练的素材。在进行模型训练之前首先要导入图像数据集。
LiCO 系统支持导入以 ZIP 或 TAR 方式打包的图片压缩包。同时要求压缩包内的图片按照不同的分类分别放置在不同的子文件夹内,子文件夹的文件名需为分类名。
当用户按照规范将图片压缩包准备好并且上传到集群文件系统后,可按照如下步骤进行操作来导入图像数据集:
1. 依次点击菜单:训练模型 –> 数据集,进入如下图所示的数据集管理界面:
图 41 数据集管理界面
2. 点击创建按钮可弹出创建数据集对话框:
图 48 数据集创建对话框
3. 填写数据集的相关信息:
名称(必填):数据集的名字, 不可和其他数据集重名;
源文件(必填):数据集的源文件,点击浏览并选择之前准备好的图像压缩包;
路径(必填):数据集导入的工作目录;
训练:数据集中用作训练的数据占比;
校验:数据集中用作校验的数据占比;
测试:数据集中用作测试的数据占比;
训练、校验、测试集中至少选一个, 且占比之和必须在 1-100 之间;
尺寸(必填):数据的图片尺寸, 可选的有 28 x 28, 32 x 32, 256 x 256;
图片类型(必填):数据的图片类型, 可选项为灰度, 色彩;
描述:对本数据集的描述;
4. 下图是数据集填写的示例:
图 49 创建数据集示例
5. 点击提交按钮即可提交一个数据集的预处理作业,用户可以在数据集列表界面查看到处理运行的状况,同时也可以在作业管理界面找到相同名称的作业。
图 42 查看数据集的处理状况
6. 当数据集导入处理完成后,可以点击对应行的
按钮来浏览工作文件夹,如下图所示:
图 43 浏览数据集工作目录
其中以 lmdb 结尾的目录为实际处理完成并在 Intel Caffe 中使用的 lmdb 库文件,train、valid、test 三个文件夹分别存放了测试、效验、测试三个子集的处理后的图片,用户可以通过文件管理器来浏览这三个文件夹中的图片。
7. 点击数据集的名称,可以进入如下图所示的数据集详细信息界面:
图 44 数据集详细界面
8. 用户可以在数据集详细页面以图形方式查看各子集、各分类的分布情况。
2.11.2. 创建网络拓扑
LiCO 系统使用网络拓扑来定义基于深度学习的神经网络结构和算法,目前 AI 模型的训
练是基于 Intel Caffe 框架的,所以网络拓扑的定义采用 Caffe 的定义方式,数据格式为
Google Protocol Buffers Text。
网络拓扑分为两种类型:系统、私有。系统类型为 LiCO 内置提供的类型,无法修改删除,目前提供 LeNet、AlexNet、GoogLeNet 三种标准网络拓扑;私有类型为用户管理的类型,用户可以创建、修改、删除私有网络拓扑。
用户可以按照如下步骤来创建私有网络拓扑:
1. 依次点击菜单:训练模型 –> 网络拓扑,进入如下图所示的网络拓扑管理界面:
图 45 网络拓扑管理界面
2. 点击创建按钮,系统将弹出如下图所示的创建网络拓扑对话框:
图 46创建网络拓扑对话框
3. 输入网络拓扑名称等信息,后点击提交按钮:
名称(必选):不能与已存在的网络拓扑相同;
图像尺寸(必选):图像尺寸大小,与将要训练的图像数据集尺寸一致才可进行训练;
框架(必选):目前只支持 Caffe 框架;
预训练模型:如果在下拉框中选择创建好的预训练模型,则采用预训练模型的网络拓扑;
描述:描述信息;
4. 正常提交完成后,可以在管理界面看到新增的网络拓扑,点击网络拓扑的名称,进入如下图所示的网络拓扑编辑界面:
图 47 网络拓扑编辑界面
5. 在编辑界面的编辑框内填入网络拓扑定义文本并保存后,该网络拓扑可以开始使用。AutoSave 按钮为 On 时,表示编辑窗口会自动保存修改内容。
6. 点击编辑界面的可视化按钮,可以对编辑框内的网络拓扑进行可视化,如下图所示:
图 48 网络拓扑的可视化
2024年1月10日发(作者:买秀颖)
联想智能超算平台用户手册V5.1.0日期:2018/05/03版本号:v1.0
目录
1.
1.1.
1.2.
1.3.
2.
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.7.1.
2.7.2.
2.8.
2.8.1.
2.8.2.
2.8.3.
2.9.
2.9.1.
2.9.2.
2.9.3.
2.9.4.
2.9.5.
2.9.6.
2.10.
产品简介 ...............................................................................................................4
名词解释 ...............................................................................................................4
前提和假定 ...........................................................................................................5
运行环境 ...............................................................................................................5
使用说明 ...............................................................................................................5
登录 ......................................................................................................................5
登出 ......................................................................................................................6
修改密码 ...............................................................................................................7
查看集群资源及队列状态 ......................................................................................7
上传作业程序 ........................................................................................................8
上传容器镜像 ......................................................................................................12
提交作业 .............................................................................................................14
提交 General 作业 ............................................................................................14
提交 Common 作业 ...........................................................................................16
提交 HPC 作业 ..................................................................................................19
提交 MPI 作业 ...................................................................................................19
提交 ANSYS 作业 .............................................................................................21
提交 COMSOL 作业 ..........................................................................................24
提交 AI 作业 ......................................................................................................27
提交 TensorFlow 作业 ......................................................................................27
提交 Caffe 作业 .................................................................................................31
提交 Intel Caffe 作业 .........................................................................................33
提交 MXNet 作业 ..............................................................................................34
提交Neon作业 ..................................................................................................36
GPU作业监控 ....................................................................................................38
作业生命周期管理 ...............................................................................................40
2.10.1. 取消作业 .............................................................................................................40
2.10.2. 重新运行作业 ......................................................................................................41
2.10.3. 删除作业 .............................................................................................................42
2.11. 训练 AI 图像分类模型 ........................................................................................42
2.11.1. 导入图像数据集 ..................................................................................................43
2.11.2. 创建网络拓扑 ......................................................................................................47
2.11.3. 训练模型 .............................................................................................................50
2.11.4. 参数调整 .............................................................................................................54
2.11.5. 测试及导出模型 ..................................................................................................55
2.11.6. 管理预训练模型 ..................................................................................................57
2.12. 自定义模板 .........................................................................................................58
2.12.1. 创建自定义模板 ..................................................................................................59
2.12.2. 发布自定义模板 ..................................................................................................66
2.13. 专家模式 .............................................................................................................66
2.13.1. 命令行提交作业 ..................................................................................................69
2.13.2. 作业文件编写 ......................................................................................................70
2.14.
3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
VNC 管理 ...........................................................................................................70
注意事项 .............................................................................................................71
用户相关目录的绝对路径 ....................................................................................71
解决作业提交失败 ...............................................................................................71
VNC 查看或删除失败 .........................................................................................72
SLURM 命令参考 ...............................................................................................72
Caffe 网络拓扑定义参考 ....................................................................................72
GPU监控数据来源 .............................................................................................72
前言
欢迎使用联想智能超算平台(以下简称 LiCO),LiCO 致力于提供简单、易用、丰富的高性能计算及人工智能平台。本文档的读者需要具备一定的高性能计算、服务器集群的基础知识,同时对高性能计算中的并行开发、作业调度、人工智能(以下简称 AI)有一定的了解。
1. 产品简介
联想智能超算平台(Lenovo intelligent Computing Orchestration以下简称LiCO)是联想基于超性能计算(HPC)集群的一站式解决方案,其功能包括计算机集群管理,集群监控,作业调度管理,集群用户管理,账户管理,文件系统管理等。通过 LiCO可以实现对超算
(supercomputing) 集群资源的统一调度,同时支持 HPC 作业和 AI 作业。随着人工智能、高性能计算和大数据的广泛应用,LiCO已被越来越多的政府机关、大专院校、气象环保、石油石化、机械制造和生命科学研究等单位使用。
LiCO基于B/S架构设计,用户可以方便的通过网页来对集群进行全面而细致的管控。LiCO系统的主要功能有:
1. 集群的管理、监控:提供机房直观的物理视图,集群中各节点CPU、内存、硬盘、温度、系统负载以及网络使用状况等详细监控数据,并能对各节点进行逻辑分组,方便统一规划和管理;
2. 作业管理、监控:直观的作业运行结果和状态管理,并支持各种主流调度器,支持丰富的作业类型(包括AI相关的作业如Tensor Flow、Caffe等);
3. 用户管理、计费:统一的界面支持本地和域用户的集成,支持用户充值、扣费,并设置计费组、费率等;
4. 警告、报警:丰富的警报策略设置,并支持邮件、短信、微信等通知方式;
5. 报表:多种报表类型,如集群报表,报警报表,作业报表,计费组作业报表等;
6. 定制化:提供多样的定制化服务,如企业作业模板定制,报表定制,3D机房定制化等服务
用户也可以通过其他 Shell 终端工具登陆到集群的登陆节点进行命令行操作。
1.1. 名词解释
计算机集群:对包含管理节点、登录节点、计算节点等在内的服务器资源的统称。
作业:完成特定任务的命令序列。
作业状态:指作业在调度系统中的状态标识,包括等待、排队、保留、运行、挂起、结束等。
节点状态:指节点的状态标识,包括空闲、已占用、繁忙、停机等。
作业调度系统:也称作业调度器或调度器,指负责接收、分发、执行、记账作业的分布式
程序。
管理节点:指集群中运行作业调度,集群管理,用户计费等管理程序的服务器。
登录节点:指集群中用户可以通过 Linux 终端工具登录并进行操作的服务器。
计算节点:指集群中执行作业的服务器。
用户组:用户集合,系统可针对用户组来定义对集群资源的访问控制策略,属于同一个用户组的所有用户可以访问相同的集群资源。
计费组:也称计费账户,通过账户来对集群使用者进行计费,结算等操作。一个计费账户可由一个用户或多个用户共同使用。
1.2. 前提和假定
本文描述的内容主要针对基于作业调度器 Slurm 的情况,目前 LiCO 支持三种调度器:Slurm,Torque 以及 LSF。下文中 Slurm 相关命令不适用于Torque或 LSF 等调度器,如需使用,请参考对应文档。
1.3. 运行环境
集群服务器:
联想 Think System 服务器系列。
集群服务器支持的操作系统:
CentOS 6.8/7.3, Red Hat 6.8/7.3
客户端要求:
硬件:CPU 主频 2.0GHz 以上,内存大小 1GB 以上。
浏览器:推荐使用 Chrome 或 Firefox。
显示分辨率:不小于 1280 X 800
2. 使用说明
本文档主要介绍基于管理系统界面的基本操作方法和流程。对于命令行操作的方法可以参
考 2.13.1 命令行提交作业 以及 3.4 SLURM 命令参考。
2.1. 登录
打开浏览器输入集群登录节点的 IP 地址,如 10.220.112.21(客户端必须可以直接访问集群登录节点)。可看到如下图所示的 LiCO 登录界面:
图 1 登录界面
输入用户名和密码(初始用户名和密码一般由管理员创建并告知)后点击登录,可登录
LiCO系统并看到如下图所示的主界面:
图 2 用户主界面
2.2. 登出
LiCO 系统的用户登录会话令牌 (Token) 有自动延时功能,在正常使用系统的情况下并不会出现登录超时现象,所以当不使用系统时,请按如下步骤登出系统。
点击界面右上角的按钮可弹出如下图所示的用户信息框:
图 3 用户信息对话框
点击框内右上角按钮并在确认登出,即可登出 LiCO 系统。
2.3. 修改密码
用户在登录系统后,可以按如下步骤自行修改登录密码。
点击界面右上角的按钮可弹出如图 3 所示的用户信息框,点击框内上方按钮可弹出如下图所示的密码修改对话框:
图 4 修改密码对话框
输入当前密码及修改密码后点击提交,即可完成密码修改。
2.4. 查看集群资源及队列状态
点击位于主界面右侧菜单中的首页,可进入如下图所示的集群概况界面:
图 5 集群概况界面
CPU:集群 CPU 的利用率,包括已经被占用的 CPU 核数和集群总共具有的 CPU 核数。
GPU:集群 GPU 的利用率,包括已经被占用的 GPU 个数和集群总共具有的 GPU 个数。
内存:集群内存的利用率,包括已经被占用的内存大小和集群总共具有的内存大小。
存储:集群存储空间的利用率,包括已经被占用的存储空间和集群总存储空间。
网络:集群网络的吞吐量,包括读速率和写速率。
作业:当前用户已经提交运行和提交等待的作业信息。运行和等待状态下切换可以查看当前作业的名称和运行的时间。点击更多跳转到作业详情界面,可以查看具体的作业执行情况。
作业状态:当前用户下所有提交历史作业的情况。可以根据队列和时间段进行查看,其中队列包含集群下所有队列的名称,时间段包含最近 1 小时,最近 24 小时,最近 7 天和最近 30 天。图表中可以选择运行和等待两种状态下的历史作业,并且可以查看具体某一个时间点的作业运行数量。
最近使用的模板:展示当前用户最近使用较多的作业模板,可快速提交作业。
2.5. 上传作业程序
依次点击菜单:管理 -> 文件管理,进入如下图所示的文件管理界面:
图 6 文件管理界面
每个用户会被分配到一个专有的文件夹 “My folder”,在此文件夹下,用户拥有全部权限。此文件夹之外,用户没有任何访问及其他操作的权限。注意:“My folder” 只是文件夹的显示名称,如果需要 “My folder” 在操作系统中的绝对路径,请与参考:3.1用户相关目录的绝对路径。
在文件管理界面,用户可进行如下操作:
后退:返回上一部操作(有些操作不可逆)
前进:重复下一步操作(有些操作不可重复)
新建文件夹
删除文件夹
重命名文件夹
新建文件
上传文件
下载文件
删除文件
重命名文件
编辑文件
图标和列表示图切换
排列文件:按名称,按大小,按类型,按日期
搜索
刷新
注:用户可以通过工具栏或者右键快捷菜单使用以上功能。
以下是创建文件夹并上传文件的示例:
1. 在空白处点击鼠标右键,选择创建文件夹:
图 7 创建文件夹
2. 命名文件夹:
图 8 命名文件夹
3. 双击进入文件夹,在空白处点击鼠标右键,选择上传文件:
图 9 上传文件
4. 系统弹出文件上传对话框:
图 10 文件上传对话框
5. 可拖拽文件至对话框内虚线区域,或点击下方按钮来选择本地文件进行上传(可多选):
图 11 选择本地文件
6. 上传成功后可在文件管理界面查看到文件:
图 12 上传成功
2.6. 上传容器镜像
为了能够满足用户对运行 AI 作业的多样化、定制化的需求,LiCO 系统内 AI 的作业均在容器内运行,目前系统支持Singularity容器平台,不同的 AI 作业模板运行在不同的容器镜像上。
LiCO 系统在提供若干基础容器镜像之外,也允许上传用户自定义镜像。用户可按如下步骤进行操作来上传镜像:
1. 依次点击菜单:管理 -> 容器镜像,可进入如下图所示的容器镜像管理界面:
图 13 容器镜像管理界面
2. 点击创建按钮,系统将弹出镜像上传对话框:
图 14 镜像上传对话框
3. 点击浏览按钮来选择镜像文件(镜像文件需要先上传至集群文件系统),完成信息填写后点击提交按钮;
4. 对话框将自动关闭,并返回镜像管理界面,可查看到镜像正在上传:
图 15 镜像上传中
5. 等待镜像上传完成后(状态变更为上传成功),则该镜像可被使用。
2.7. 提交作业
2.7.1. 提交 General 作业
General 作业是完全由用户自行控制运行方式及使用资源的计算任务,用户需要自行编写作业文件及启动脚本,如何编写请参考2.13专家模式:。
用户可以通过以下步骤来向 LiCO 系统提交并运行 General 作业:
1. 在菜单中选择:提交作业,可进入如下图所示的作业模板选择界面:
图 16 作业模板选择界面
2. 在模板中选择 General Job 模板,可进入如下图所示的 General 作业提交界面:
图 17 General作业提交界面
3. 填写作业名称,并点击浏览按钮来选择作业文件,作业文件及相关资源需要提前上传至集群文件系统;
4. 点击提交按钮来提交作业,提交成功可进入如下图的作业详情界面:
图 18 作业详情界面
5. 在作业详情界面,可以对某一个作业输出日志文件进行实时监控,也可以通过 Web
控制台登录集群登陆节点来对程序运行进行监控;
6. 用户可以通过点击菜单:作业列表,进入如下图所示作业管理界面来监控作业运行情况:
图 19 作业管理界面
7. 等待作业运行结束后,可以点击作业管理界面中作业所在行或作业详情页面的入作业的工作目录,如下图所示可以对作业的输出文件进行下载:
进
图 20 作业输出下载
2.7.2. 提交 Common 作业
Common 作业是指用户在 Web 界面上快速编写并运行的脚本类作业。
用户可以通过以下步骤来向 LiCO 系统提交并运行 Common 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 Common Job 模板,可进入如下图所示的 Common 作业提交界面:
图 21 Common作业提交界面
3. 填写作业名称,工作目录,并在运行脚本框内填写需要运行的脚本(支持 Linux Shell
命令);
4. 用户可进行运行所需要资源的选择:
队列(必选):作业所属的队列名,这里可选择的队列是用户有权限使用的队列;
节点数(可选):应用程序运行所需要的计算节点数目;
每个节点的 CPU 核数(可选):应用程序运行所需要每个计算节点的 CPU 核数;
内存容量(可选):应用程序运行所需要内存大小;
预计运行时间(可选):应用程序运行所需要时间;
5. 用户可进行运行提醒的配置:
运行状态通知(可选):应用程序运行状态的通知:作业完成时通知和作业被挂起时
通知;
邮箱(可选):用于接收通知的邮箱;
6. 下图是一个 Common 作业填写的示例:
图 22 Common作业填写示例
7. 填写完成后,点击提交按钮即可提交运行。
2.8. 提交 HPC 作业
2.8.1. 提交 MPI 作业
MPI作业是指基于MPI运行的分布式计算作业,LiCO 系统内置 MPI,可运行符合 MPI规范编写的分布式计算程序。
用户可以通过以下步骤在 LiCO 系统中提交并运行 MPI 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 MPI 模板,可进入如下图所示的 MPI 作业提交界面:
图 23 MPI作业提交界面
3. 填写作业名称及 MPI 作业相关运行参数:
工作目录(必选):作业的工作目录;
MPI 程序(必选):MPI 程序,也是最终要运行计算任务的程序。为了让这个应用程序能够在多台服务器上并行计算,这个程序要符合 MPI 标准;
MPI 环境文件(可选):MPI 的环境变量;
MPI 运行参数(可选):mpirun 的运行参数;
4. 填写资源选项及提醒选项;
5. 下图是一个 MPI 作业填写的示例:
图 24 MPI作业填写示例
6. 填写完成后,点击提交按钮即可提交运行。
2.8.2. 提交 ANSYS 作业
ANSYS 作业是指基于 ANSYS 运行的分布式计算作业,LiCO 系统内置 ANSYS,可运行符合 ANSYS 规范编写的分布式计算程序(包括 GUI 方式)。
用户可以通过以下步骤来向 LiCO 系统提交并运行 ANSYS 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 ANSYS 模板,可进入如下图所示的 ANSYS 作业提交界面:
图 25 ANSYS作业提交界面
3. 填写作业名称及 ANSYS 作业相关运行参数:
运行模式:勾选图形界面表示 ANSYS 以 GUI 模式运行,提交作业后,会打开一个VNC session,并在 VNC session 里面将 anasys 图形界面运行起来。可通过 VNC
管理界面进行访问;
工作目录(必选):程序的工作目录;
ANSYS可执行文件(必选):ANSYS 软件的位置;
ANSYS 环境配置文件:ANSYS 运行时需要的环境变量;
ANSYS 运行参数(可选):ANSYS 运行的参数;
ANSYS输入文件(必选):应用程序运行时输入的文件;
ANSYS输出文件(可选):应用程序运行时输出的文件;
4. 填写资源选项及提醒选项;
5. 下图是一个 ANSYS 作业填写的示例:
图 26 ANSYS作业填写示例
6. 填写完成后,点击提交按钮即可提交运行。
2.8.3. 提交 COMSOL 作业
COMSOL 作业是指基于COMSOL 运行的分布式计算作业,LiCO 系统内置 COMSOL,可运行符合 COMSOL 规范编写的分布式计算程序(包括 GUI 方式)。
用户可以通过以下步骤来向 LiCO 系统提交并运行 ANSYS 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 COMSOL 模板,可进入如下图所示的 COMSOL 作业提交界面:
图 27 COMSOL作业提交界面
3. 填写作业名称及 COMSOL 作业相关运行参数:
运行模式:勾选图形界面表示 COMSOL 以 GUI 模式运行,提交作业后,会打开一个 VNC session,并在 VNC session 里面将 COMSOL 图形界面运行起来。可通过
VNC 管理界面进行访问;
工作目录(必选):程序的工作目录;
COMSOL可执行文件(必选):COMSOL 软件的位置;
COMSOL 环境配置文件:COMSOL 运行时需要的环境变量;
COMSOL 运行参数(可选):COMSOL 运行的参数;
COMSOL输入文件(必选):应用程序运行时输入的文件;
COMSOL输出文件(可选):应用程序运行时输出的文件;
4. 填写资源选项及提醒选项;
5. 下图是一个 COMSOL 作业填写的示例:
图 28 COMSOL作业填写示例
6. 填写完成后,点击提交按钮即可提交运行。
2.9. 提交 AI 作业
2.9.1. 提交 TensorFlow 作业
TensorFlow 作业是指基于 TensorFlow 运行的单机或者分布式计算作业,LiCO 系统通过Singularity容器镜像来运行基于 TensorFlow 框架编写的 AI 程序,可支持 CPU 或
GPU。
用户可以通过以下步骤在 LiCO 系统中提交并运行 TensorFlow 分布式作业:
1. 进入作业模板选择界面;
2. 在模板中选择 TensorFlow Multinode 模板,可进入如下图所示的 TensorFlow 作业提交界面:
图 29 TensorFlow作业提交界面
3. 填写作业名称及 TensorFlow 作业相关运行参数:
工作目录(必填): 作业的工作目录;
容器镜像(必填): 作业所使用的Singularity镜像;
TF 程序(必填):TesorFlow 程序,也是最终要运行计算任务的程序。这个程序要符合 TensorFlow 标准, 该程序必须是 .py 文件;
节点数(必填):作业运行所需要的计算节点数目;
PS 任务名(必填):PS 任务名;
Worker 任务名(必填):Worker 任务名;
每个 PS 任务的 CPU 核数(必填):每个 PS 任务分配的 CPU 核数;
每个 Worker 任务的 CPU 核数(必填):每个 Worker 任务分配的 CPU 核数;
每个Worker任务的GPU数(选填): 每个Worker任务分配的GPU个数;
job_name 参数名(必填):job_name 的参数名;
task_index 参数名(必填):task_index 的参数名;
ps_hosts 参数名(必填):ps_hosts 的参数名;
worker_hosts 参数名(必填):worker_hosts 的参数名;
运行参数(选填):运行所需的其他参数;
4. 填写资源选项;
5. 下图是一个 TensorFlow 作业填写的示例:
图 30 TensorFlow作业填写示例
6. 填写完成后,点击提交按钮即可提交运行。
7. LiCO 针对 TensorFlow 程序内置了 TensorBoard 功能,可以帮助用户以图形化方式对 TensorFlow 程序的运行过程进行监控。在成功提交作业后,可进入作业详情界面,并选择 TensorBoard 栏
8. 点击浏览按钮,并选择 TensorFlow 程序的输出目录,然后点击查看按钮即可启动
TensorBoard,可以点击新窗口打开按钮来获取完整视图:
图 31 TensorBoard界面
2.9.2. 提交 Caffe 作业
Caffe 作业是指基于 Caffe 运行的单机计算作业,LiCO 系统通过 Singularity容器镜像来运行基于 Caffe 框架编写的 AI 程序,可支持 CPU 或 GPU。
用户可以通过以下步骤在 LiCO 系统中提交并运行 Caffe 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 Caffe 模板,可进入如下图所示的 Caffe 作业提交界面:
图 32 Caffe作业提交界面
3. 填写作业名称及 Caffe 作业相关运行参数:
工作目录(必选):程序的工作目录;
容器镜像(必选):作业所使用的 Singularity镜像;
Caffe 程序(必选):选择需要运行的 Caffe 程序文件;
运行参数:Caffe 程序自带的一些运行参数;
使用 CPU 核数(必选):运行 Caffe 程序所用的 CPU 核数;
使用 GPU 数:运行 Caffe 程序所用的 GPU 个数;
4. 填写资源选项;
5. 下图是一个 Caffe 作业填写的示例:
图 33 Caffe作业示例
6. 填写完成后,点击提交按钮即可提交运行。
2.9.3. 提交 Intel Caffe 作业
Intel Caffe 作业是指基于 Intel Caffe 运行的单机或分布式计算作业,LiCO 系统通过Singularity 容器镜像来运行基于 Intel Caffe 框架编写的 AI 程序,可支持 CPU 或 GPU。
用户可以通过以下步骤在 LiCO 系统中提交并运行 Intel Caffe 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 Intel Caffe Standard 模板,可进入如下图所示的 Intel Caffe 作业提交界面:
图 33 Intel Caffe作业提交界面
3. 填写作业名称及 Intel Caffe 作业相关运行参数:
工作目录(必选):程序的工作目录;
容器镜像(必选):选择 Singularity容器的镜像;
Intel Caffe 程序(必选):选择需要运行的 Intel Caffe 程序文件;
运行参数:Intel Caffe 程序自带的一些运行参数;
节点数(必选): 分布式运行 Intel Caffe 程序所用的节点数;
每个节点使用 CPU 核数(必选):在每个节点使用的 CPU 核数;
4. 填写资源选项;
5. 下图是一个 Intel Caffe 作业填写的示例:
图 34 Intel Caffe作业示例
6. 填写完成后,点击提交按钮即可提交运行。
2.9.4. 提交 MXNet 作业
MXNet 作业是指基于 MXNet 运行的单机或分布式计算作业,LiCO 系统通过
Singularity
容器镜像来运行基于 MXNet 框架编写的 AI 程序,可支持 CPU 或 GPU。
用户可以通过以下步骤在 LiCO 系统中提交并运行 MXNet 作业:
1. 进入作业模板选择界面;
2. 在模板中选择 MXNet Single Node模板,可进入如下图所示的 MXNet 作业提交界面:
图 35 MXNet作业提交界面
3. 填写作业名称及 MXNet 作业相关运行参数:
工作目录(必选):程序的工作目录。
容器镜像(必选):选择 Singularity容器的镜像。
MXNet 程序(必选):选择需要运行的 MXNet 程序文件。
运行参数:MXNet 程序自带的一些运行参数,必选。
使用 CPU 核数(必填): MXNet 程序运行时使用的 CPU 核数。
使用 GPU 数:MXNet 程序运行时使用的 GPU 个数。
4. 填写资源选项;
5. 下图是一个 MXNet 作业填写的示例:
图 36 MXNet作业示例
6. 填写完成后,点击提交按钮即可提交运行。
2.9.5. 提交Neon作业
Neon作业是指基于 Neon运行的单机计算作业,LiCO 系统通过Singularity
容器镜像来运行基于 Neon框架编写的 AI 程序,可支持 CPU 或 GPU。
用户可以通过以下步骤在 LiCO 系统中提交并运行 Neon作业:
1. 进入作业模板选择界面;
2. 在模板中选择 Neon模板,可进入如下图所示的 Neon作业提交界面:
图 38 Neon作业提交界面
3. 填写作业名称及Neon作业相关运行参数:
工作目录(必选):程序的工作目录。
容器镜像(必选):选择 Singularity容器的镜像。
neon程序(必选):选择需要运行的 Neon程序文件。
运行参数:Neon程序自带的一些运行参数。
运行模式(必选):可以选择CPU、MKL和GPU三种模式。
使用 CPU 核数(必选):Neon程序运行时使用的 CPU 核数。
4. 填写资源选项;
5. 下图是一个 Neon 作业填写的示例:
图 39 Neon作业示例
6. 填写完成后,点击提交按钮即可提交运行。
2.9.6. GPU作业监控
通常为了加快AI作业的执行速度会使用GPU来进行加速,系统针对使用了GPU的作业提供了对执行作业的计算节点上GPU进行监控的功能。
用户提交作业后或者通过作业管理功能可以进入到作业详情界面,如果该作业使用了GPU,则会出现GPU使用信息及监控Tab页,如下图:
图 37 GPU作业监控
GPU使用情况:系统能够列出当前作业订购的GPU个数,点击个数可以显示作业具体使用了哪些计算节点及在该节点上使用的GPU个数(实际使用的数量可能会小于订购数量)。
GPU使用率、显存、温度监控:点击GPU Tab可以切换到GPU实时监控界面,该界面以图形化的方式展示了运行此作业的所有节点上的GPU实时数据,并可以切换显示GPU使用率、显存、温度。图中每个框表示一个节点,框体右上角为节点名称,每一个柱体表示一个GPU,柱体蓝色部分标示具体的监控指标数值,如果柱体顶部有桔黄色标记则表明此GPU已被使用。通过移动界面右上方的滑动条可以调整柱体的颜色来达到筛选并高亮数值范围内的GPU,钩选滑动条右侧的颜色反转选项可以将范围内和范围外的标记颜色对换。
2.10. 作业生命周期管理
LiCO 系统中,作业生命周期的管理包括取消作业、重新运行作业和删除作业。
2.10.1. 取消作业
可按以下步骤操作来对正在运行的作业进行取消:
1. 进入作业管理界面,在界面头部状态选择栏点击运行中按钮,如下图所示;
图 38 查看运行中的作业
2. 在下方表格中找到要取消的作业,点击所在行的提交按钮即可取消作业,如下图所示;
按钮,并在弹出的确认对话框点击
图 42确认取消作业
3. 取消后的作业可以完成的作业列表中被找到。
2.10.2. 重新运行作业
可按以下步骤操作来对已经完成运行的作业进行重新运行:
1. 进入作业管理界面,在界面头部状态选择栏点击完成按钮,如下图所示;
图 43 查看运行完成的作业
2. 在下方表格中找到要重新运行的作业,点击所在行的点击提交按钮即可重新运行作业,如下图所示;
按钮,并在弹出的确认对话框
图 44 确认重新运行作业
2.10.3. 删除作业
可按以下步骤操作来对已经完成运行的作业进行删除:
1. 进入作业管理界面,在界面头部状态选择栏点击完成按钮,如下图所示;
图 39 查看运行完成的作业
3. 在下方表格中找到要删除的作业,点击所在行的提交按钮即可删除作业,如下图所示;
按钮,并在弹出的确认对话框点击
图 40 确认删除作业
2.11. 训练 AI 图像分类模型
LiCO 支持用户在不编写程序的情况下训练基于深度学习的图像分类模型。目前该模型的训练过程是基于 Intel Caffe 框架开发的,可支持分布式训练,并针对 Intel Xeon Phi 进行了性能优化。
LiCO 支持对图像数据集、网络拓扑、模型的管理,并能够对模型的训练过程进行实时
监控、测试及导出。
2.11.1. 导入图像数据集
图像数据集是带有分类信息的图片集和,是模型训练的素材。在进行模型训练之前首先要导入图像数据集。
LiCO 系统支持导入以 ZIP 或 TAR 方式打包的图片压缩包。同时要求压缩包内的图片按照不同的分类分别放置在不同的子文件夹内,子文件夹的文件名需为分类名。
当用户按照规范将图片压缩包准备好并且上传到集群文件系统后,可按照如下步骤进行操作来导入图像数据集:
1. 依次点击菜单:训练模型 –> 数据集,进入如下图所示的数据集管理界面:
图 41 数据集管理界面
2. 点击创建按钮可弹出创建数据集对话框:
图 48 数据集创建对话框
3. 填写数据集的相关信息:
名称(必填):数据集的名字, 不可和其他数据集重名;
源文件(必填):数据集的源文件,点击浏览并选择之前准备好的图像压缩包;
路径(必填):数据集导入的工作目录;
训练:数据集中用作训练的数据占比;
校验:数据集中用作校验的数据占比;
测试:数据集中用作测试的数据占比;
训练、校验、测试集中至少选一个, 且占比之和必须在 1-100 之间;
尺寸(必填):数据的图片尺寸, 可选的有 28 x 28, 32 x 32, 256 x 256;
图片类型(必填):数据的图片类型, 可选项为灰度, 色彩;
描述:对本数据集的描述;
4. 下图是数据集填写的示例:
图 49 创建数据集示例
5. 点击提交按钮即可提交一个数据集的预处理作业,用户可以在数据集列表界面查看到处理运行的状况,同时也可以在作业管理界面找到相同名称的作业。
图 42 查看数据集的处理状况
6. 当数据集导入处理完成后,可以点击对应行的
按钮来浏览工作文件夹,如下图所示:
图 43 浏览数据集工作目录
其中以 lmdb 结尾的目录为实际处理完成并在 Intel Caffe 中使用的 lmdb 库文件,train、valid、test 三个文件夹分别存放了测试、效验、测试三个子集的处理后的图片,用户可以通过文件管理器来浏览这三个文件夹中的图片。
7. 点击数据集的名称,可以进入如下图所示的数据集详细信息界面:
图 44 数据集详细界面
8. 用户可以在数据集详细页面以图形方式查看各子集、各分类的分布情况。
2.11.2. 创建网络拓扑
LiCO 系统使用网络拓扑来定义基于深度学习的神经网络结构和算法,目前 AI 模型的训
练是基于 Intel Caffe 框架的,所以网络拓扑的定义采用 Caffe 的定义方式,数据格式为
Google Protocol Buffers Text。
网络拓扑分为两种类型:系统、私有。系统类型为 LiCO 内置提供的类型,无法修改删除,目前提供 LeNet、AlexNet、GoogLeNet 三种标准网络拓扑;私有类型为用户管理的类型,用户可以创建、修改、删除私有网络拓扑。
用户可以按照如下步骤来创建私有网络拓扑:
1. 依次点击菜单:训练模型 –> 网络拓扑,进入如下图所示的网络拓扑管理界面:
图 45 网络拓扑管理界面
2. 点击创建按钮,系统将弹出如下图所示的创建网络拓扑对话框:
图 46创建网络拓扑对话框
3. 输入网络拓扑名称等信息,后点击提交按钮:
名称(必选):不能与已存在的网络拓扑相同;
图像尺寸(必选):图像尺寸大小,与将要训练的图像数据集尺寸一致才可进行训练;
框架(必选):目前只支持 Caffe 框架;
预训练模型:如果在下拉框中选择创建好的预训练模型,则采用预训练模型的网络拓扑;
描述:描述信息;
4. 正常提交完成后,可以在管理界面看到新增的网络拓扑,点击网络拓扑的名称,进入如下图所示的网络拓扑编辑界面:
图 47 网络拓扑编辑界面
5. 在编辑界面的编辑框内填入网络拓扑定义文本并保存后,该网络拓扑可以开始使用。AutoSave 按钮为 On 时,表示编辑窗口会自动保存修改内容。
6. 点击编辑界面的可视化按钮,可以对编辑框内的网络拓扑进行可视化,如下图所示:
图 48 网络拓扑的可视化