Skip to content

Latest commit

 

History

History

MxNet

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

NGC MxNet ResNet50V1.5 性能测试

此处给出了基于 NGC MxNet 实现的 ResNet50V1.5 任务的详细复现流程,包括环境介绍、环境搭建、复现脚本、测试结果和测试日志等。

目录

一、环境介绍

1.物理机环境

我们使用了与Paddle测试完全相同的物理机环境:

  • 单机V100(单卡、8卡)

    • 系统:CentOS release 7.5 (Final)
    • GPU:Tesla V100-SXM2-32GB * 8
    • CPU:Intel(R) Xeon(R) Gold 6271C CPU @ 2.60GHz * 80
    • Driver Version: 525.60.11
    • 内存:630 GB
  • 单机A100(单卡、8卡)

    • 系统:CentOS release 7.5 (Final)
    • GPU:NVIDIA A100-SXM4-40GB * 8
    • CPU:Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz * 160
    • Driver Version: 525.60.13
    • 内存:1510 GB
  • 多机(32卡)

    • 系统:CentOS release 6.3 (Final)
    • GPU:Tesla V100-SXM2-32GB * 8
    • CPU:Intel(R) Xeon(R) Gold 6271C CPU @ 2.60GHz * 48
    • Driver Version: 450.80.02
    • 内存:502 GB

2.Docker 镜像

我们使用 NGC MxNet 的代码仓库提供的Dockerfile制作镜像:

二、环境搭建

1.单机(单卡、8卡)环境搭建

单机环境的搭建,我们遵循了 NGC MxNet 官网提供的 Quick Start Guide 教程成功搭建了测试环境,主要过程如下:

  • 下载NGC MxNet repo,并进入目录

    git clone https://github.com/NVIDIA/DeepLearningExamples
    cd DeepLearningExamples/MxNet/Classification/RN50v1.5
    # 本次测试是在如下版本下完成的:
    git checkout fc9c09b08d6d39fb13c79c8a7e08f85b03dbf3d1
  • 制作Docker镜像

    docker build . -t nvidia_rn50_mxnet
  • 启动Docker

    # 假设imagenet数据放在<path to data>目录下
    # 假设MxNet转化后的数据放在<path to rec data>
    nvidia-docker run --rm -it --ipc=host -v <path to data>:/ILSVRC2012 -v <path to mxnet data>:/data/imagenet/train-val-recordio-passthrough nvidia_rn50_mxnet
  • 制作MxNet需要的rec格式数据

    ./scripts/prepare_imagenet.sh /ILSVRC2012 /data/imagenet/train-val-recordio-passthrough

2.多机(32卡)环境搭建

我们会后续补充此内容。

三、测试步骤

1.单机(单卡、8卡)测试

对于1卡、8卡性能测试,本报告严格按NGC公开的测试报告进行复现,对其提供的代码未做改动,并严格按照NGC测试使用的参数配置测试。其公开的测试报告请见:《ResNet50 v1.5 for MXNet》

  • 下载我们编写的测试脚本,并执行该脚本

    cd scripts/
    bash mxnet_test_all.sh
  • 执行后将得到如下日志文件:

    /log/mxnet_gpu1_gpu8_fp32_bs256.txt
    /log/mxnet_gpu1_gpu8_amp_bs256.txt

在NGC报告的Training performance: NVIDIA DGX-2 (16x V100 32G)小节,提供了其测试的参数配置。因此,我们提供的mxnet_test_all.sh是参考了其文档中的配置。

2.多机(32卡)测试

我们会后续补充此内容。

四、测试结果

  • V100上训练吞吐率(images/sec)如下:
卡数 FP32(BS=128) AMP(BS=256)
1 389.54 1471.9
8 2957.8 10336
32 - -
  • A100上训练吞吐率(images/sec)如下:
卡数 FP32(BS=256) AMP(BS=256)
1 1015.8 3046.4
8 7848.2 22690

五、日志数据

V100

A100