Tensorflow とその XLA jit コンパイルで nvprof を使用してプロファイリングを行っています。興味深いことに、XLA ではさらに多くの cuMemcpyHtoDAsync 呼び出しが導入されます。
たとえば、V100 の resnet50 では、batch=64 の推論の下で、xla jit は平均で 5000 回以上の cuMemcpyHtoDAsync 呼び出しを行います。スクリプトは dl-infer-perf で利用できますnvprof -f --csv --print-api-summary python3 infer_perf/to_xla.py mobilenet --batch=64 --threads=1
。
これに関する任意のアイデアをいただければ幸いです。