Asked about this before. I was told no one cared since the real work is done in C and would not benefit from pypy. So the python level optimizations would not affect much.
Not entirely true. For good utilization you need both GPU/TPU ops to be fast (written in C), but that won’t get you far if your input pipeline (possibly written in python) is slow. I could imagine if all the TF calls work in PyPy, that it would help with throughout by speeding up the input pipeline and keeping the GPU/TPU saturated more effectively. One solution is to write everything to TFRecords, but for experimentation that’s kinda annoying.
I got stuck on this problem a while ago. I was doing reinforcement learning and the environment needed to run in pypy to make it fast enough. I ended up using Pyro4 to bridge pypy (environment) and CPython (keras).
6 comments
[ 3.3 ms ] story [ 26.1 ms ] threadC++ 60.6% Python 30.6%
Isn't CPython the default and most standard interpreter?