IDC

TensorFlow - 弹性高性能计算E-HPC

作者:admin 2021-09-18 我要评论

简介 E-HPC不仅支持工业/科研行业的高性能计算作业,还可以支持机器学习类作业,本文档介绍在E-HPC上部署和执行TensorFlow作业的基本流程。 本案例使用的Perseus...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

简介

E-HPC不仅支持工业/科研行业的高性能计算作业,还可以支持机器学习类作业,本文档介绍在E-HPC上部署和执行TensorFlow作业的基本流程。

本案例使用的Perseus是阿里云提供的一种统一支持Tensorflow、Caffe、MXNET、PyToch的分布式训练的深度优化框架,目的是为了机器学习提速,提升训练效率。部署Perseus的同时会自动部署TensoFlow框架。

本案例测试程序为tensorflow benchmarks,E-HPC集群创建完成后,存放在/root/perseus-tf-vm-demo目录中。

创建E-HPC集群并适配Persues环境

目前,Persues已经集成在E-HPC产品中,若在E-HPC适配Persues运行环境,需要在E-HPC创建过程完成以下几步:

1)创建集群时,在【硬件配置】中选择【计算节点】 时,选择带有NVIDIA P100 GPU的实例,如下图所示:

GPU节点

2)在【软件配置】下,【镜像类型】选择 镜像市场,【操作系统】选择 阿里ai云加速镜像Perseus v0.9.3r3

示例程序测试

待集群启动后,可以通过以下几个步骤进行示例的测试:

1)拷贝测试程序:perseus-tf-vm-demo 示例程序存放在镜像的/root目录下。运行时,可以将perseus-tf-vm-demo从/root目录中拷贝到自己普通用户的家目录下(可以用root用户登录执行),并改为普通用户的属主、属组。

  1. $ cd /root
  2. $ cp -r ./perseus-tf-vm-demo /home/username/
  3. $ cd /home/username
  4. $ chown -R username:users ./perseus-tf-vm-demo

2)编写PBS作业脚本:普通用户模式登录管控节点,在perseus-tf-vm-demo文件下有两个文件:benchmarks和launch-example.sh。可以创建以下test.pbs作业脚本启动测试程序。

  1. $ cat test.pbs
  2. #! /bin/bash
  3. #PBS -N Perseus
  4. #PBS -l nodes=x:ppn=y
  5. #PBS -o perseus_pbs.log
  6. #PBS -j oe
  7. cd $PBS_O_WORKDIR
  8. nodefile=`cat $PBS_NODEFILE|uniq -d |awk -F "." '{print $1}'`
  9. sh launch-example.sh x z $nodefile

其中,x 为申请计算节点数量,y为每计算节点cpu核数 , z 为每节点gpu卡数量

3)提交作业:通过qsub提交PBS作业,此时作业由调度系统调度执行。

  1. $ qsub test.pbs

运行结果及分析

1)当计算节点数量为1时,每节点gpu卡为1,运行后的结果可以作为基准。图表示在tensorflow环境但节点下每秒钟处理292.57张图片。

13_52_41__03_04_2019

? 当计算节点数量为1,每节点gpu卡为2,即单机多卡计算时:

16_20_49__03_04_2019

? 当计算节点数量为2,每节点gpu卡为1,即多机分布式计算时:

15_37_53__03_04_2019

2)结果分析

  1. 多卡并行效率 = (total imgages/sec) /基准 gpu总数量 节点数量
  2. = ((568.45+568.44)/2)/ (292.57) 2 1
  3. = 0.9714

当Perseus 框架下的benchmarks程序运行在同一节上不同gpu配置的情况下,以单节点1gpu卡配置运行的结果为基准,通过计算其并行效率,可以分析出相对于基准,单计算节点2gpu卡配置的计算性能损耗。

  1. 多机并行效率 =(多节点 total images sec)/ 基准 节点数量
  2. =((544.36+544.36)/2 )/ 292.57)/ 2
  3. = 0.9303

当Perseus 框架下的benchmarks程序运行在不同节点数量上每节点相同gpu配置的情况下,以单节点1gpu卡配置运行的结果为基准,通过计算其并行效率,可以分析出相对于基准,多计算节点1gpu卡配置的计算性能损耗。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • TensorFlow - 弹性高性能计算E-HPC

    TensorFlow - 弹性高性能计算E-HPC

  • 个人域名怎样实名认证

    个人域名怎样实名认证

  • 购买com域名需要实名认证吗

    购买com域名需要实名认证吗

  • WRF - 弹性高性能计算E-HPC

    WRF - 弹性高性能计算E-HPC

腾讯云代理商
精彩导读
海外云服务器
热门资讯
腾讯云代理商