Oneflow-Inc / DLPerf

DeepLearning Framework Performance Profiling Toolkit
Apache License 2.0
276 stars 27 forks source link

一些文档里可能可以描述更详细的地方(个人踩到的一些小坑) #111

Closed zzt941006 closed 3 years ago

zzt941006 commented 3 years ago

1.框架安装过程中,可能不一定会自带tensorflow_hub,tensorflow_addons,可以提醒评测人员,如果没有pip安装一下。 2.gin这个包也可能原始的环境中没有,可以提示一下评测人员安装,并且要注意不是直接pip gin,而是得pip gin-config。 3.直接执行混合精度的这个语句:bash run_single_node.sh 64 fp16,似乎会报错:run_single_node.sh:line 9 : [: fp16: integer expression expected. 因此是不是前面的参数还是补齐一下再运行会更好一些? 4.tf2.x我复现了不开xla的性能结果,但是想自验开xla的情况,直接将use_xla设置为了true,但是性能结果与不开一致。然后发现打出来的日志里,无论是开与不开都有以下几句: XLA service 0x55a2805f39c0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:StreamExecutor device (0): Host, Default Version XLA service 0x55a28065fd40 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices: StreamExecutor device (0): Tesla V100-SXM2-16GB, Compute Capability 7.0 是不是这意味着 很可能开关上把use_xla设置为了true,但是实际上运行过程中xla仍旧未能使能?

以上是我在运行过程中遇到的一些坑与疑惑,还请有时间check一下,解答一下,谢谢!

Flowingsun007 commented 3 years ago

感谢您的反馈!

zzt941006 commented 3 years ago

感谢您的反馈!

  • 各种依赖库确实很重要,有的是安装框架时自动安装的,有的是必须手动安装否则会报错。我们会在以后的测试中增加必要的pip包的信息及版本说明;
  • 我们检查了脚本,发现是有默认参数的,且直接运行bash run_single_node.sh 64 fp16并无报错,请检测下脚本是否有异常;
  • tf2.x的bert加xla的数据,我们很快将进行测试,从上述log无法判断是否用了xla,具体是否应用成功需要更详细的log信息。不过,首先请确保安装的tf版本,其支持的CUDA版本和本地安装的cuda版本匹配,否则可能无法正常开启XLA。如果本地安装了多个版本的CUDA,可以用环境变量指定使用具体版本的CUDA: XLA_FLAGS="--xla_gpu_cuda_data_dir=[CUDA path]" python3 xxx.py

查看了一下本地安装的CUDA的版本,应该只有一个,利用cat /usr/local/cuda/version.txt 显示的是CUDA Version 10.1.105,并未装其它版本。

YongtaoShi commented 3 years ago

您好,tf官方的run_pretrain.py脚本对xla的支持有些问题,现已在我们的文档中加入了修复说明。 tf2.x的bert加xla的数据已经测试完成,欢迎查看。