[問題] 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