[问题] Profiling 包含tensorflow跟CUDA的.py

楼主: Morphee (千磨万击还坚劲)   2018-04-18 20:29:00
目前我有一支 python code
里面包含
1. Tensorflow (纯 predict,用了二到三个 model)
2. call CUDA C++ code
3. 1 and 2 在python 开多个 thread 来跑
现在我想优化整个流程,首先第一步我打算 profile 时间与内存用量
想请问有没有推荐怎样的工具
目前我试了 cProfile + gprof2dot
https://blog.gtwang.org/programming/python-cprofile-and-gprof2dot-tutorial/
图看起来不是很合理 可能太过复杂还是怎样
CUDA C++ 那边可能可以用 nvvp 来看
session.run 可能可以用 timeline (tensorflow 自带) 来看
但是以上两者我是分别用子执行绪在跑,
而且I/O 有依赖关系 ( CUDA 的input 是 tensorflow models 的 output )
多执行绪 我准备用yappi来分析看看
有人有建议怎样的工具或推荐的做法吗?
作者: gmccntzx1 (o.O)   2018-04-18 23:12:00
先试着将tensorflow和cuda c++ code两边独立开来既然cuda的input是来自tensorflow model的output那在测cuda c++ code的时候,改用已经存起来的input去跑把问题简化一点,细部的benchmark先跑好,再去看整体的表现是否有改善
楼主: Morphee (千磨万击还坚劲)   2018-04-19 20:50:00
thx 我会试看看

Links booklink

Contact Us: admin [ a t ] ucptt.com