POPPUR爱换

标题: GDC 2010: Debugger for VS2008 SP1 "Parallel Nsight" [打印本页]

作者: Edison    时间: 2010-3-15 14:23
标题: GDC 2010: Debugger for VS2008 SP1 "Parallel Nsight"
http://www.4gamer.net/games/032/G003263/20100315009/

[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」                                                                       
ライター:本間 文
                                                                                                                                                                                「GeForce GTX 480」とParallel Nsight,VS2008 SP1の組み合わせが,最強のDirectX開発環境だと紹介された     Game Developers Conference 2010で,NVIDIAは,「NVIDIA's New Game Development Environment」(NVIDIAの新しいゲーム開発環境)というセッションを開催。そこで,GPUとCPU両方をカバーするリアルタイムデバッガ「NVIDIA Parallel Nsight」(以下,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の意義を強調する
 NVIDIAでグラフィックスツールの開発を担当するJeffrey Kiel氏は,Parallel Nsightを「CPUとGPUが無数のスレッドを抱える,ヘテロジニアスコンピューティング(Heterogeneous Computing,異種混合型コンピューティング)環境に向けたツール」と位置づける。
 「(複雑さが増す現在のゲームプログラミングにおいて)GPUとCPUのどちらに問題があるのかを一元的にチェックできれば,最適化やデバッグの効率も格段に向上する」と同氏。VS2008 SP1上で,GPUとCPUにまたがるプログラムのデバッグやパフォーマンスチューニングを,シームレスに行えるようになる同ツールのメリットをアピールした。

 Parallel Nsightは,「ゲームを実際に動かすクライアントPC」をターゲットとし,VS2008 SP1がインストールされた「ホスト」PCとの間をTCP/IPで接続することにより,デバッグやモニタリングを行うものだ。PC同氏の接続はP2P(ピア・トゥー・ピア)でも,ネットワーク越しでもかまわない。もちろん,遠隔地にあるPCとの接続も可能だ。ターゲット側(=クライアントPC側)は,実際にゲームを動作させられる環境を構築しておく必要がある一方,ホスト側は,VS2008 SP1が動く環境であれば何でもかまわない。

Parallel Nsightは,VS2008 SP1を動かすホストと,実際にゲームプログラムを走らせるターゲットをTCP/IPで接続することで,リアルタイムデバッギング環境を実現する
Parallel Nsightをインストールすると,VS2008 SP1のメニューに「Nsight」の項目が追加される。なお,画面はNVIDIAが開発中のParallel Nsight Beta 2で撮影したものとのこと

 下に掲載した写真は,Kiel氏がデバッグ作業例として示した,「RPGにおいて,死神が登場する場面があって,そのとき,死神のキャラクターよりも先に影が表示されてしまうという問題への対処」だ。キャラクターがまだ登場していないにもかかわらず,影だけ先に表示されてしまうという不自然なフレーム(上)を題材に,「CPUとGPU,両方の動きを,同じ時間軸上でモニタリングすることにより,『いったい何が原因なのか』を容易に判断できる」と,Kiel氏)は,Parallel Nsightの効能を紹介する。

RPGの制作中に,影だけ表示されてキャラクターが出てこない,不自然なフレームが例に出た   
Paralell Nsightでは,フレームごとにCPUとGPUのスレッドを監視可能。特定のフレームにおけるシェーダコードを表示し,そのバグを修正できる     
問題を解決し,死神のキャラクターが無事表示できたところ   
CPUやGPUに負荷がかかりすぎていないかどうかをチェックし,負荷の変動状況から,ボトルネックを特定することも可能
3Dパイプライン各ステージの状況もモニタリングできる
 また,パフォーマンスチューニングという観点では,ゲームプログラムにおいてCPUやGPUのどちらかに偏って処理させる時間が一定の範囲を超えると,一方のハードウェアが待機状態になって,全体の処理効率が下がる場合があるとし,「こんなときも,Parallel Nsightから各スレッドの処理をフレーム単位でモニタリングすると,最適化が容易になる」と述べていた。

 Kiel氏は「Parallel Nsightは,NVIDIA製GPUを使ったシステムでなくても利用できる。リアルタイムのフレームモニタとして活用でき,さらに,グラフィックスハードウェアに依存しないDirect3DやDirectComputeのデバッグも可能だ」と説明。グラフィックス統合型CPUやチップセットのボトルネックを探し,パフォーマンスの最適化を図ることもできるとした。
 対応OSは32/64bit版のWindows Vista/7。現在配布中のβ1では,DirectX 10とCUDAのみのサポートとなるが,近日中に無償で提供される計画のβ2で,DirectX 11やDirectComputeのサポートが行われる予定になっているという。

Parallel Nsightは,β2,そして正式公開版で,DirectX 11&10,DirectCompute,OpenGL 3.2,OpenCL,CUDA C完全対応を果たすとのこと(左)。DirectX 11環境下では,テッセレーションの適用率などもリアルタイムモニタリングが可能になる     
作者: kodak1    时间: 2010-3-15 14:32
这是啥?看不明白呀
作者: 380    时间: 2010-3-15 14:35
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4