ニュース
[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」
「Nsight」は,NVIDIAの「N」と「Insight」(洞察)を掛け合わせた造語。ソフトウェア開発製品である「Microsoft Visual Studio 2008 SP1」(以下,VS2008 SP1)に組み込むことで,従来,CPUのプログラム&デバッグ環境とは別々にモニタリングしてデバッグすることになっていた,GPUアナライズツール機能などを一元化するものだ。開発ツール関係に興味のある読者のために補足しておくと,これはNVIDIAがGraphics Technology Conference 2009(GTC 2009)で「Nexus」(開発コードネーム)として発表していたものである。
Jeffrey Kiel氏(Manager of Graphics Tools, NVIDIA) |
何千ものスレッドが走る現在のグラフィックスプログラム開発環境においては,CPUとGPUをシームレスにモニタリング,デバッグできる環境が不可欠だと,Kiel氏はParallel Nsightの意義を強調する |
「(複雑さが増す現在のゲームプログラミングにおいて)GPUとCPUのどちらに問題があるのかを一元的にチェックできれば,最適化やデバッグの効率も格段に向上する」と同氏。VS2008 SP1上で,GPUとCPUにまたがるプログラムのデバッグやパフォーマンスチューニングを,シームレスに行えるようになる同ツールのメリットをアピールした。
Parallel Nsightは,「ゲームを実際に動かすクライアントPC」をターゲットとし,VS2008 SP1がインストールされた「ホスト」PCとの間をTCP/IPで接続することにより,デバッグやモニタリングを行うものだ。PC同士の接続はP2P(ピア・トゥー・ピア)でも,ネットワーク越しでもかまわない。もちろん,遠隔地にあるPCとの接続も可能だ。ターゲット側(=クライアントPC側)は,実際にゲームを動作させられる環境を構築しておく必要がある一方,ホスト側は,VS2008 SP1が動く環境であれば何でもかまわない。
下に掲載した写真は,Kiel氏がデバッグ作業例として示した,「RPGにおいて,死神が登場する場面があって,そのとき,死神のキャラクターよりも先に影が表示されてしまうという問題への対処」だ。キャラクターがまだ登場していないにもかかわらず,影だけ先に表示されてしまうという不自然なフレーム(上)を題材に,「CPUとGPU,両方の動きを,同じ時間軸上でモニタリングすることにより,『いったい何が原因なのか』を容易に判断できる」と,Kiel氏)は,Parallel Nsightの効能を紹介する。
CPUやGPUに負荷がかかりすぎていないかどうかをチェックし,負荷の変動状況から,ボトルネックを特定することも可能 |
3Dパイプライン各ステージの状況もモニタリングできる |
Kiel氏は「Parallel Nsightは,NVIDIA製GPUを使ったシステムでなくても利用できる。リアルタイムのフレームモニタとして活用でき,さらに,グラフィックスハードウェアに依存しないDirect3DやDirectComputeのデバッグも可能だ」と説明。グラフィックス統合型CPUやチップセットのボトルネックを探し,パフォーマンスの最適化を図ることもできるとした。
対応OSは32/64bit版のWindows Vista/7。現在配布中のβ1では,DirectX 10とCUDAのみのサポートとなるが,近日中に無償で提供される計画のβ2で,DirectX 11やDirectComputeのサポートが行われる予定になっているという。
→Parallel Nsight解説ページ(英語,NVIDIA Developer Zone内)
- この記事のURL: