0. 在开始前,先看一下效果
优化后,在单卡V100上,batch_size=128 测试每秒处理样本数
- 优化后相比于优化前加速了50%左右;
- 优化后开启XLA相对于不开启XLA加速了40%左右。
![54a27112544d36b85656c613ce881c51.png](https://i-blog.csdnimg.cn/blog_migrate/cd121f4d2d461a24c19aee98f9c9c25d.png)
再来回顾一下问题的解决过程~~
1. 问题背景
对在某监督学习场景中,发现在FP32下开启XLA训练呈负优化效果,而在混合精度下开启XLA训练有约94%的加速效果。
在单卡V100上,batch_size=128 测试每秒处理样本数,实验结果如下:
![a5b65da3f89debd4b4044c9f985b3284.png](https://i-blog.csdnimg.cn/blog_migrate/71c4c91d5f64dc3b7029af8e113a65e1.jpeg)
2. 问题调查
对比 FP32+XLA(图1)和 混合精度+XLA(图2)的 timeline,发现混合精度+XLA只有2个_XlaRun,而FP32+XLA有8个_XlaRun,且两个_XlaRun中间有一些额外的OP,耗时80