nvvpでremote profiling

目次

なに

nvvpでプロファイリングを行う方法としては「nvprofでプロファイルングデータを出力してnvvpで見る」方法と「nvvp内で実行してプロファイリングを行う」方法がある.
後者でリモートで対象のプログラムを実行したい場合どうするかという話.

模式図

環境

  • ローカルノード(nvvp実行ノード)
    OS
    ArchLinux
    uname -a
    4.17.5-1-ARCH #1 SMP PREEMPT Sun Jul 8 17:27:31 UTC 2018 x86_64 GNU/Linux
    CUDA
    9.2, V9.2.148
  • 計算ノード(解析対象プログラム実行ノード)
    OS
    CentOS7
    uname -a
    3.10.0-862.6.3.el7.x86_64 #1 SMP Tue Jun 26 16:32:21 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
    CUDA
    9.2, V9.2.148

設定

  1. nvvpを開き「File」→「New Session」→「Manage connections」
    「Add」を押して計算ノードへSSHで接続する際のユーザー名とパスワードを入力.
    入力が完了したら「Finish」
    「Connection」を今設定したリモートのものにする.
  2. Toolkit/Script欄の左端の「Manage」を押して「Toolkit path」に計算ノードのCUDAのbinディレクトリへのパスを設定.
    パスワードやマスターパスワードの設定や秘密の質問的なものの設定を聞かれたら適当に対応.
  3. [これ以降はremoteでない場合と同じ]
    「File」や「Working directory」「Argument」を対象プログラムのそれに設定.
  4. 「Next」→「Finish」

おわり

計算ノード側でnvvpがJavaのランタイムエラーで立ち上がらなかったためこの方法を取りましたが、ほぼ不自由がないのでいい感じです.
shellの.*rcを読み込んでくれているみたいなので普通に計算ノードにログインした際の環境変数がセットされていました.

参考サイト

カテゴリー:CUDA
記事作成日:2018-07-16