BETA

PyTorchで同期処理を行う

投稿日:2018-12-04
最終更新:2018-12-04

PyTorch Advent Calendar 2018 2日目の記事です。

PyTorchでは((PyTorch以外のライブラリでも同じだと思います))、GPUの処理は非同期で実施されます。

なので、

t = time.time()
model(var) # GPUでの推論
print(time.time() - t)

としても、非同期で処理が行われるので正しく処理時間は計算できません。

CUDA_LAUNCH_BLOCKING=1 python run.py

のようにCUDA_LAUNCH_BLOCKING=1をつけると同期処理を行うことができます。

参考

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@xkumiyuの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう