I dislike that pytorch advertises TPU support. Pytorch doesn’t support TPUs. Pytorch supports a gimped version of TPUs that have no access to the TPU CPU, a massive 300GB memory store that handles infeed. No infeed means you have to feed the TPUs manually, on demand, like a gpu. And TPUs are not GPUs. When you try to do that, you’re talking <i>at least</i> a 40x slowdown, no exaggeration. The TPU CPU is the heart of the TPU’s power and advantage over GPUs, and neither pytorch nor Jax support it at all yet. No MLPerf benchmark will ever use pytorch in its current form on TPUs.<p>Luckily, that form is changing. There are interesting plans. But they are still just plans.<p>It’s better to go the other direction, I think. I ported pytorch to tensorflow: <a href="https://twitter.com/theshawwn/status/1311925180126511104?s=21" rel="nofollow">https://twitter.com/theshawwn/status/1311925180126511104?s=2...</a><p>Pytorch is mostly just an api. And that api is mostly python. When people say they “like pytorch”, they’re expressing a preference for how to organize ML code, not for the set of operations available to you when you use pytorch.