异步数据读取和处理效率不高,导致GPU利用率较低
Created by: yangyangHu
问题描述:
-
试用的代码是paddlepaddle开源的deepspeech2: https://github.com/PaddlePaddle/DeepSpeech
-
硬件环境:paddlepaddle-1.6, 4块GPU-v100, CPU 32core
-
代码里面使用的是异步数据读取:
reader = fluid.io.DataLoader.from_generator( feed_list=inputs, capacity=64, iterable=False, use_double_buffer=True)
- 遇到的问题: batch_size=64, 4块GPU-v100训练的时候,gpu利用率不到1% 自己排查了io利用率不到20%,磁盘为SSD,cpu只有1-2个core用起来了,其它的30个cpu core都是空闲。
根据paddlepaddle文档 (https://www.paddlepaddle.org.cn/documentation/docs/en//advanced_guide/performance_improving/singlenode_training_improving/training_best_practice.html) 提示设置FLAGS_reader_queue_speed_test_mode,关闭数据读取和预处理,纯测试GPU利用率稳定在90%以上,自行排查下来瓶颈应该在异步数据读取和预处理
求帮忙解答。