CUDA 5.5の新機能(4): cuda-gdbserverを使ったNsightによるリモートデバッグ

出典: トータル・ディスクロージャ・サイト(事実をありのままに)

CUDA 5.5 RCには、cuda-gdbによるリモートデバッグを行うためのリモートサーバであるcuda-gdbserverというプログラムが追加されている。ちょうど、gdbデバッガに対するgdbserverに相当する位置付けのプログラムである。さらに、CUDA 5.5 RC付属のNsightもこのcuda-gdbserverに対応していて、IDE上からのリモートデバッグも簡単に行えるようになっている。

Nsightの基本的な使い方

まずはNsightを起動する。

ファイル:Screenshot from 2013-06-05 10 01 54.png

File > New > CUDA C/C++ Projectを選択し、新しいプロジェクトを作る。

ファイル:Screenshot from 2013-06-05 10 03 18.png

今回は、Executable > CUDA Runtime Projectのテンプレートを使う。

ファイル:Screenshot from 2013-06-05 10 05 02.png

リモート環境のGPUはGeForce GTX 580であるので、Compute Capabilityは2.0を選択する。

ファイル:Screenshot from 2013-06-05 10 05 43.png

ビルドのコンフィギュレーションは今回はデフォルト値を使うので、そのままFinishをクリック。

ファイル:Screenshot from 2013-06-05 10 05 59.png

これでプロジェクトが新規作成されたので、次のステップに進む。

リモート環境の設定

今回のNsightにはEclipse Remote Development Tools (RDT)が含まれ、特別なプラグインを導入しなくてもリモート環境を扱うことができる。RDT同様、Remote System Explorerパースペクティブを開く。

ファイル:Screenshot from 2013-06-05 10 06 41.png

パースペクティブの選択でOther...を選び、表示されるダイアログからRemote System Explorerを選ぶ。

ファイル:Screenshot from 2013-06-05 10 06 54.png

新規作成アイコンをクリックし、接続を新規作成する。

ファイル:Screenshot from 2013-06-05 10 53 09.png

今回はサーバにSSHで接続する。

ファイル:Screenshot from 2013-06-05 10 08 02.png

sandybridge1というサーバに接続するので、そのサーバ名を入力する。読者の環境に応じて内容は変更されたい。

ファイル:Screenshot from 2013-06-05 10 08 21.png

SFTP、SSH、ターミナルの各種設定は、今回はデフォルト値を変更せずに使う。

ファイル:Screenshot from 2013-06-05 10 08 37.png

ファイル:Screenshot from 2013-06-05 10 08 47.png

ファイル:Screenshot from 2013-06-05 10 08 55.png

デバッグ

ローカル環境でプログラムをビルドして、RDTを使ってリモート環境を設定したのち、Run > Debug Remote Application...を選ぶ。

ファイル:Screenshot from 2013-06-05 10 09 49.png

Nsight側からリモート環境のcuda-gdbserverを立ち上げるので、Debug an application on a remote systemをクリックする。

ファイル:Screenshot from 2013-06-05 10 10 04.png

Local executableRemote connectionに、プログラムファイルとリモート環境の接続名とを指定する。

ファイル:Screenshot from 2013-06-05 10 10 35.png

cuda-gdbserver pathに、リモート環境のcuda-gdbserverプログラムの場所を指定する。ダイアログでリモート環境のファイルシステムのツリーを辿れるので、そこから選択するのも良いだろう。

ファイル:Screenshot from 2013-06-05 10 11 53.png

ファイル:Screenshot from 2013-06-05 10 11 16.png

再利用のためのコンフィギュレーション名を付け、デバッグ開始。

ファイル:Screenshot from 2013-06-05 10 12 03.png

リモート環境で走るCUDAプログラムがデバッグできている。

ファイル:Screenshot from 2013-06-05 10 12 30.png

もちろんKernel内にブレークポイントを設定することも可能である。

ファイル:Screenshot from 2013-06-05 10 12 49.png


この記事へのコメントをお寄せください

  • サイトへの書き込みに差し支えございましたら トータルディスクロージャーサイトサポート係へメールをお送りください
  • トータル・ディスクロージャ・サイトに投稿された文章と画像は、すべてその著作権がHPCシステムズ株式会社に帰属し、HPCシステムズ株式会社が著作権を所有することに同意してください。
  • あなたの文章が他人によって自由に編集、配布されることを望まない場合は、投稿を控えてください。
  • コメントを書き込む場合は名前にひらがなを織り交ぜてください。
  • あなたの投稿する文章と画像はあなた自身によって書かれたものであるか、パブリック・ドメインかそれに類する自由なリソースからの複製であることを約束してください。あなたが著作権を保持していない作品を許諾なしに投稿してはいけません!

<comments hideform="false" />


Comments

ノート:CUDA 5.5の新機能(4): cuda-gdbserverを使ったNsightによるリモートデバッグ

個人用ツール