LoginSignup
34

More than 3 years have passed since last update.

NVIDIA Visual Profiler 入門

Last updated at Posted at 2017-08-26

はじめに

NVIDIA Visual Profilerという、CUDAに関する、描画が少しリッチなProfilerがあります。
こんな感じです。

12

ボトルネックを解析したり、Optimizationしたりするのに有効です。
リモートマシンでInstallしておいて nvvp とすると起動して、以下のようにターミナル端末からX11とかで起動することもできますが

12

動作が重くなりがちなので、 nvprof でprofilingだけリモートマシンで行なって、 scp でローカルマシンに結果を飛ばして、
ローカルの NVIDIA Visual Profilerを使う という一連の流れを紹介したいと思います。
(なお、リモートマシンは nvprofが使えることを前提としてます)

公式のドキュメントはここにあります。(英語)
http://docs.nvidia.com/cuda/profiler-users-guide/index.html#visual
http://cs.colby.edu/courses/S14/cs336/online_materials/CUDA_Profiler_Users_Guide.pdf
http://www.sie.es/wp-content/uploads/2015/12/cuda-profiling-tools.pdf
http://people.maths.ox.ac.uk/gilesm/cuda/lecs/NV_Profiling_lowres.pdf
こちらも参考になりました。
http://topsecret.hpc.co.jp/wiki/index.php/CUDA_5%E3%81%AE%E6%96%B0%E6%A9%9F%E8%83%BD(4):_nvprof%E3%83%97%E3%83%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%A9

ローカルマシンのセットアップ

まずはここからローカルマシンにダウンロード & インストール
https://developer.nvidia.com/nvidia-visual-profiler

  1. 左側のDownload CUDA Toolkit 8.0を選択
  2. 今回、localマシンがOSXなので、OSXの最新版っぽいものを選択して、dmgとpatchをダウンロード

11

  1. まず、容量大きい方のdmgを開いて、インストーラーを起動、この時パスワードを求められる
  2. Accept and Proceedを選択
  3. Install CompleteしたらFinish

123

  1. 同様にpatchを開き、CUDA Patchを選択したまま、Next
  2. Install CompleteしたらFinish

12

これにて準備は完了。

nvvpアプリケーションを探し出して、起動すれば、NVIDIA Visual Profilerがローカル環境で使えるようになります。
Screen Shot 2017-08-23 at 16.26.33.png

使ってみる

nvprofでprofileをとる

例えばCaffe2とかで、以下のようなコマンドを、先頭に、nvprof -o profile.nvp をつけるような形でprofilingします。
nvprofに関しては、以下のサイトを
http://docs.nvidia.com/cuda/profiler-users-guide/index.html#nvprof-overview

nvprof -o profile.nvp \
      python \
          ${CAFFE2_HOME}/caffe2/python/examples/resnet50_trainer.py  \
          --train_data $TRAIN_DATA \
          --num_gpus $NUM_GPUS \
          --batch_size 32 \
          --epoch_size 90 \
          --num_epochs 1 \
          --base_learning_rate 1.0 \
          --weight_decay 0.0001

このようにして、nvprofの結果をprofile.nvpとして、保存します。

scpなどでローカルマシンに結果を転送

このprofile.nvpscpコマンドなどを用いて、ローカルマシンにダウンロードし、NVIDIA Visual Profilerで見てみます。

$ scp username@XXX_Cluster:/hoge/profile.nvp /hoge/Desktop

NVIDIA Visual Profilerでprofile.nvpを開く

  1. まずNVIDIA Visual Profilerを起動し、importからprofile.nvpを開きます
  2. nvprofを選択し、今回はsingle processを選択します。
  3. Timeline data file から Browseを選択し、profile.nvpのパスを指定
  4. 選択したらFinishでloadする

12

12

12

12

すると、以下のような画面が表示されます。

Screen Shot 2017-08-26 at 17.52.00.png

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34