Horovod的github提供Benchmark,所使用的机器是128服务器(4 Pascal GPU,网络RoCE 25Git/s)

Horovod对于Inception V3与ResNet-101能够达到90%使用率;对于VGG-16能够达到68%使用率。

前提

GPU机器,horovod环境

Benchmark

克隆代码

$ git clone https://github.com/tensorflow/benchmarks
$ cd benchmarks

运行benchmark

$ mpirun -np 16 \
    -H server1:4,server2:4,server3:4,server4:4 \
    -bind-to none -map-by slot \
    -x NCCL_DEBUG=INFO -x LD_LIBRARY_PATH -x PATH \
    -mca pml ob1 -mca btl ^openib \
    \
    python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \
        --model resnet101 \
        --batch_size 64 \
        --variable_update horovod

运行结束后,可以看到每秒处理的图像数量

total images/sec: 1656.82

真实数据benchmark

上面的命令是在合成数据的benchmark,如果要在真实数据上benchmark,需要下载ImageNet数据集,并将其转为TFRecord。

在运行benchmark时,需要添加tfrecord路径

$ mpirun -np 16 \
    -H server1:4,server2:4,server3:4,server4:4 \
    -bind-to none -map-by slot \
    -x NCCL_DEBUG=INFO -x LD_LIBRARY_PATH -x PATH \
    -mca pml ob1 -mca btl ^openib \
    \
    python scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \
        --model resnet101 \
        --batch_size 64 \
        --variable_update horovod \
        --data_dir /path/to/imagenet/tfrecords \
        --data_name imagenet \
        --num_batches=2000

【参考】

1。horovod:benchmark:https://github.com/uber/horovod/blob/master/docs/benchmarks.md

results matching ""

    No results matching ""