TVM running in container (e.g. docker) causes performance loss?

Hi all,

To my understanding, container (docker) abstract the underlying hardware. So if I develop TVM in a docker environment, does TVM miss out some optimisation opportunities?

e.g. if my machine runs arm64, but docker abstracts to x86, can TVM’s auto-scheduler finds similar results?

Thanks!

In most cases, there won’t be a performance impact; however, the situation you mentioned would indeed have an effect. This is because running x86 instructions on an ARM64 machine requires instruction set translation, which introduces additional overhead. If both your container and host machine are ARM64 or both are x86, the performance will be the same.

Thanks for your reply!

Can I know if you have reference about the instruction set translation overhead? Also about if using CUDA?

Thanks!