V100 A100 P100 数据对比
2021-11-25 14:36:46
gx
2193
A100与V100训练与推理性能实测对比
1. 测试环境
卡型 | 卡数 | 显存 | CPU型号 | CPU核数(超线程) | 内存大小 | CUDA | GPU Driver | 备注 |
---|---|---|---|---|---|---|---|---|
A100 | 8 | 40G | AMD EPYC 7302 16-Core Processor | 64 | 2T | 11.0.221 | 450.51.05 | NV Switch |
V100 | 8 | 16G | INTEL(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz | 82 | 330G | 10.2 | 440.64.00 | NV Link |
使用的docker镜像为:http://nvcr.io/nvidia/tensorflow:20.09-tf1-py3
2. 训练评测(Training performance benchmark)
2.1 测试代码
使用Tensorflow 1.15测试,测试代码https://github.com/tensorflow/benchmarks.git
基本测试指令:
cd benchmarks/scripts/tf_cnn_benchmarksTF_ENABLE_AUTO_MIXED_PRECISION=1 python tf_cnn_benchmarks.py --num_gpus=1 --batch_size=128 --model=resnet50 --num_batches=100 --variable_update=replicated --xla=Truecd benchmarks/scripts/tf_cnn_benchmarks TF_ENABLE_AUTO_MIXED_PRECISION=1 python tf_cnn_benchmarks.py --num_gpus=1 --batch_size=128 --model=resnet50 --num_batches=100 --variable_update=replicated --xla=True
其中:
TF_ENABLE_AUTO_MIXED_PRECISION 用于控制是否开启AMP能力,在混合精度加持下,训练效率能够极大的提升
--xla=True 用于开启TF的XLA优化,将对graph做编译优化,训练效率也能一定程度上提升
说明:
由于传输真实数据到测试环境速度太慢,所以这里是使用生成的数据(synthesis)做训练测试
2.2 测试结果
2.3 测试结论
从不同优化组合和常见CV分类模型下,A100的训练效率是V100的2倍左右
3. 推理评测(Inference performance benchmark)
3.1 测试代码
见镜像(http://nvcr.io/nvidia/tensorflow:20.09-tf1-py3)的路径里:/workspace/nvidia-examples/resnet50v1.5
这是来自Nvidia的评测代码,测试命令示例:
python ./main.py --mode=inference_benchmark --warmup_steps 50 --num_iter 400 --iter_unit batch --batch_size 1 --results_dir=/tmp/result
注意:推理测试时使用的是虚拟生成的数据,即未指定 --data-dir 参数
3.2 测试结果
3.3 测试结论
对于常用的CV分类模型ResNet50下,A100的推理性能是近2倍的V100