オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2010/03/15 14:07

ニュース

[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」

「GeForce GTX 480」とParallel Nsight,VS2008 SP1の組み合わせが,最強のDirectX開発環境だと紹介された
画像集#002のサムネイル/[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」
 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」(開発コードネーム)として発表していたものである。

画像集#003のサムネイル/[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」
Jeffrey Kiel氏(Manager of Graphics Tools, NVIDIA)
画像集#004のサムネイル/[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」
何千ものスレッドが走る現在のグラフィックスプログラム開発環境においては,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が動く環境であれば何でもかまわない。

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

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

RPGの制作中に,影だけ表示されてキャラクターが出てこない,不自然なフレームが例に出た
画像集#007のサムネイル/[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」

Parallel Nsightでは,フレームごとにCPUとGPUのスレッドを監視可能。特定のフレームにおけるシェーダコードを表示し,そのバグを修正できる
画像集#008のサムネイル/[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」 画像集#009のサムネイル/[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」

問題を解決し,死神のキャラクターが無事表示できたところ
画像集#010のサムネイル/[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」

画像集#011のサムネイル/[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」
CPUやGPUに負荷がかかりすぎていないかどうかをチェックし,負荷の変動状況から,ボトルネックを特定することも可能
画像集#012のサムネイル/[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」
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環境下では,テッセレーションの適用率などのリアルタイムモニタリングも可能になる
画像集#013のサムネイル/[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」 画像集#014のサムネイル/[GDC 2010]GPUとCPUを併用したゲーム開発のお供に。VS2008 SP1用のデバッガ「Parallel Nsight」


Parallel Nsight解説ページ(英語,NVIDIA Developer Zone内)
  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:04月18日〜04月19日