質問

私はCSマスター留学生の方で、次の学期に合っているのかわからない難しい作業を開始ん。また、論文発想だったのでエンドユーザコンピューティンググラフィックとして私は熱心にゲームを開発していくことを望のプロとしてのゲームプログラマです。

残念ながら私はちょっと新しい分野での3Dコンピュータグラフィックに参加しました学部生向けを対象と関わっていきたいと考えてい先進のコースは学期まって読書などの書籍や記事詳細はこちらにあります。ただ、私の指導教員と考え、より良いまだ一般論文アを出し時間をお過ごし学習、イベント会場に来て下さいね備えるという私の修士論文案します。私の指導教員に供給して招聘したいと思ってい良いアイデアがもう少し何かに興味深い自分を思いゲームを与えてくれる機会の詳細についてます。いばあっという間に行われてきたが、私にとっての論文が学ぶものについて深いで大きな作業をしています。

いうことGPUプログラミング、まだ学習シェーダーの言語のようにCUDA.ひとつのアイディアを出したのは、プログラム全体のゲームはどのGPUを含むすべてのゲーム理論、AI、試験までを実施。このよう読む論文のGPGPUやご質問など この わからないのが困ることは私の知る限りにおいて、私の指導教員を知らないについて多くの最近のGpu.私は時間を可能とありますが、これまでこのような疑問に答えるために、自分のないハンディが知ることができたの答えは前る事ができて本当に良かったものにチェックしている。

だから、私の質問:使用シェーダーというような形になCUDAですが、簡単な3Dゲームを最大限に生電力と水平Gpu?やって欠かの制限やGpuとCpuによるものの大部分を自分のコード行きるCPU?を読んでい物理エンジンのGPUいませんか?

役に立ちましたか?

解決

の免責事項:私は博士号をやったが、その塩の粒と言って私がよ何のすべてを取る、私自身の学生を監督したことがありません

私はGPU上で可能な限りゲームの限り力にしようとすると、あなたのプロジェクトを始めるための素晴らしい方法ですが、最終的にはあなたの仕事のポイントがあるべきだと思う:「のの重要な部分です。この事があります多くのゲームが、それは現在の状態がGPUにうまく収まらないですで:「ここにそれがうまくの合うだろうので、私はそれを修正する方法です。

たとえば、彼らは再帰に依存する傾向があるため、AIアルゴリズムが問題であることを述べたFORTRAN。確かに、しかし、これは必ずしも契約ブレーカではありません:反復形式に再帰的なアルゴリズムを変換する技術が学界で好意により検索され、そして、あなたの論文のための素晴らしいセンターピースを形成することになる。

ただし、修士学生として、あなたは本当に、非常に迅速に関心のカーネルを特定する必要がありますので、多くの時間を持っていません。私はちょうどフィットし、その後、一人でその部分に焦点を当てていないだろうどの部分を参照するために練習としてそれを扱うでしょう:私は、全体のゲームは実際にあなたの主人の成果の一部として、GPUに合わせて取得しようと気にしないでしょう。

しかし、上司のあなたの選択に注意してください。あなたの上司はどんな関連する経験を持っていない場合、あなたはありません他の誰かを選ぶ必要があります。

他のヒント

私はまだただのゲームのROM自体と現在のユーザの入力やゲームの表示質感の結果送り込まれるGPU上で完全に実行さゲームボーイエミュレータ、待っている - 音声出力のための多分第二のテクスチャを:)

主な問題は、GPUから永続ストレージ、ユーザの入力または音声出力にアクセスできないことです。これらの部品は、定義により、CPUにする必要があり(HDMI付きカードは、オーディオ出力を持っているにもかかわらず、私はあなたがGPUからそれを制御することはできませんと思います)。それとは別に、あなたはすでにGPUにゲームコードの大部分をプッシュすることができ、誰かがGPUに3Dデータを供給し、シェーダがどの部分に適用されるべきことを教えなければならないので、私は、それは3Dゲームのために十分ではないと思います。あなたはGPU上で本当にランダムアクセスデータまたは任意のコードを実行することはできません、誰かが設定を行う必要があります。

いくつかの時間前には、元データとちょうどセットアップ質感を、結果データのターゲット、および変換を行うだろうピクセルシェーダをレンダリングするでしょう。その後、計算を実行することになりレンダーターゲットにシェーダでクワッドをレンダリングして、テクスチャバックを読んで(あるいはさらにレンダリングのためにそれを使用します)。今日は、物事はそう、あなたがより簡単に、より大きなシェーダとアクセス・メモリを持つことができ、シェーダの第四及び第五世代(のDirectX 11にあるものシェーダーモデル4.0と)によって簡素化されています。しかし、まだ彼らは外部から設定する必要があり、私は物事がフレーム間でデータを保持に関しては、今日あるのか分かりません。最悪の場合、CPUはバックGPUから読み、常に行うには遅いものであるゲームデータを保持するために再度プッシュしています。あなたが本当にの単一の一般的なセットアップ/ はあなたのゲームを実行するために十分であろうサイクルをレンダリングポイントを得ることができる場合でも、あなたはGPU上でゲームを実行することを言うことができます。コードは、しかし、通常のゲームコードとは全く異なるだろう。 GPUのパフォーマンスのほとんどは、彼らが並列シェーディングユニットの数百または数千もの同じプログラムを実行し、あなただけの特定の位置に画像を描画することができシェーダを書くことができないという事実から来ています。ピクセルシェーダは常に一つの画素に、定義によって、実行され、他のシェーダは、任意の座標にのことを行うことができますが、それらは、画素に対処していないの。それは私が推測する、容易ではないだろう。

私はちょうど私が言ったポイントを試してみることをお勧めしたいです。あなたはすべてのデータを保持することができない場合は、すべてが不可能であるため、最も重要なのは、私の意見では、フレーム間で状態を保持されます。

まず、Imコンピュータ技術者である私の想定できないものとする穀物の塩、その国のナノスケール.

  • 人工知能?問題ありません。数え上げたらきりがな神経ネットワーク例走行えます。例: http://www.heatonresearch.com/encog
  • Pathfinding?だい並列pathfindingアルゴリズムは既にインターネット上で利用できるしてください: https://graphics.tudelft.nl/Publications-new/2012/BB12a/BB12a.pdf
  • 描画?利用の相互運用性のdx glとcudaまたはclので図のだが、クロスpci-eます。でえられているそうで、素晴らしいraytracingコーナーのようなzの戦闘となってもらえる純raytraced画面が可を一般向けのgpuを用いた深さを制限します。
  • 物理学?最も簡単な部分だけ繰り返し処理を実行し、簡単なオイラーやVerlet統合の頻度で安定かどうかをチェックします序のエラーは大きいと思います。
  • 地図-地形いと思います。からメルセンヌ-ツイスターとtriangulator.
  • 保存します。いままで圧縮できるデータの平行前の書面によるバッファです。そのスケジューラーの書き込みデータを一枚一枚にHDDを通じて、ダイレクト-マーケット-アなので遅れて波及してきています。
  • 再帰?書ご自身のスタックのアルゴリズムを主vram、地域のメモリでその他のカーネルで走れる波面とGPUの職業が良いと考えます。
  • すぎ整が必要なの?すでにキャストフロートしていく50~100calcsをコアすべてをキャストの結果に戻る整数です。
  • すぎ分岐?計算する場合であれば簡単で各コアがライン仕上げます。ない場合は、そのまま投入するだけで、簡単に支店予測の自分の時間で予測するのはハードウェアが入っているのか、それとも?) 自分の純正アルゴリズムです。
  • もっとメモリが必要なの?加えることができGPUシステムの開DMAチャンネルまたはCF/SLIによります。
  • 一意のオブジェクト指向デザインでもっとハードウェア依存を擬似オブジェを用いています。オブジェべきで表されるホスト(cpu)メモリにこれらの分離以上に多くの配列gpuに効率的です。例物のホストメモリ:orc1xy_orc2xy_orc3xy.例のオブジェgpuメモリ:orc1_x__orc2_x__...orc1_y__orc2_y__...

答えはすでに6年前に選ばれたが、実際の質問への興味のある人のためにされてきた、Shadertoy、ライブコーディングWebGLのプラットフォームは、最近の状態の保存を許可する「マルチパス」機能を追加しました。

ここで実行しているのレンガゲームのライブデモですGPUます。

私はいられてい を行い、私にとっての論文の ついて学ぶ一つのこと 深い大きな作業を自 ます。

そごうための論文は完全に間違っています。 論文はオリジナルな研究. -->編集:を考えている博士論文、修士論文^_^

お問いに、GPUの命令セットおよび能力は非常に固有ベクトルの浮動小数点ます。ゲーム理論、通常は少し浮動小数点、論理(支店部および決定しています。

ご覧に CUDA wikipediaページ 見えます:

この再帰無 関数ポインタの無のサブセットC 言語

それを忘れるほどの実AIアルゴリズムが、基本的に再帰(※pathfinding).かきシミュレーの再帰と煙突がいない場合は明示的に認められれば、理由です。な機能のポインタも自ずと限界があったやや使用する機能を派遣テーブルの取り扱いに異なる行によって状態でのゲームソフトを使用できるも連鎖if-else構文が何か悪臭いにあります。

その限界を反映していることを裏付HWは思いのストリーミング加工事ができます。のコースがあり回避策(煙突の連鎖if-else)として始めたから新築した理論的に実施ほとんどのアルゴリズムがおそらくパフォーマsuck。

その他の点では取り扱いについてのIO、既に述べたが、これはタスクのメインCPUがでを実行します。

件名に、あなたが始めるときに、あるツールを使用して修士論文を行うことが可能な不慣れです。しかし、取るためにその大きなチャンス!

もちろん

修士論文は楽しみでなければなりません。しかし、最終的には、その不可欠あなたは区別して渡し、それはあなたがすでに習得していることが困難な主題に取り組む意味かもしれない。

同様に重要なのは、あなたの上司です。彼らは精通し自分自身であることを - - 。彼らはのあなたの偉大な成績を取得

手伝うことに興味になることができますので、あなたは彼らが興味を示し、いくつかの問題に取り組むことをその不可欠

あなたは傷かゆみのための趣味の時間の多くを持っていた、あなたも間違いなく将来的にはもっとたくさんの趣味の時間を持っていないでしょう。しかし、修士論文の時間は、残念ながら趣味のための時間ではありません。

なGpuいった膨大な計算をいくようなものCUDAとOpenCLに限り制限されたセットの利用には、CPUのに向に向けての計算一般にも、拡張のようにSSEを高速に特定の共通事ができます。がん間違いで、Gpuのない部門の二つの浮動小数点数をハードウェア必ずものに比べ大きく改善しているのは5年前のことです。

そんなゲームを創走全てGPUコンピューティング-う必要があると思われCPUのステージにおける実行 何か, しかし、作りでGPUコンピューティングを行う以外にもグラフィック(物理学)でもゲームがあるということで興味深いキャッチするゲーム開発者のためのPCの最大の問題を気にすることなく様々なマシン仕様で、このようにして制限するよう取り下位互換性,複雑となる。建築のシステムにとって極めて重要な問題、例えば、Playstation3では、マルチギガバイト第二のスループットのCPUおよびRAM、GPUは、デュアルコアプロセッサは、CPUのアクセスGPUメモリピークにも過去12MiB/sとなります。

のアプローチの場合がありまたは"GPGPU"、"汎用GPU".を進めていくうえで良い出発点になるかをお答えいたします。

噂につ壮大な成功にこのアプローチしてここ数年、今、被疑者としての日常の実践に数年にない場合CPU建築の変更はで廃止).

のビジネスモデルでビジネスを平行度:機会があればまたこちらが必要とされる場所に多数の並列処理単位です。このように、その国の神経ネットワークや遺伝的アルゴリズムが良い範囲の問題への攻撃に力を用いています。もも脆弱性が暗号化ハッシュ(ひび割れのデるGPUコンピューティングならば論文をリアルに想像したりし:)).問題が必要な高速シリアル処理いなかったのでしょうかいに適して用いています。で模倣し、ゲームボーイアドバンスすることができる。が模倣したクラスターの低消費電力の機械に利用することも考えられる。)

私は、ターゲットの複数コアCPUとGPUは興味深いものになるだろうというゲームアーキテクチャを扱うプロジェクトを思うだろう。私は、これはまだ多くの作業が行われている地域だと思います。現在および将来のコンピュータのハードウェアを利用するためには、新しいゲームのアーキテクチャが必要とされようとしています。私はGDC 2008に行ってきましたし、これに関連するOME講演がありました。 Gamebryoのは、彼らが計算を処理するためのスレッドを作成する興味深いアプローチを持っていました。あなたはマルチコアであるかもしれない他のライブラリを餓死していない場合は、あなたがそのように使用したいコア数を指定することができます。私は計算は、同様のGPUを標的にすることができたと想像します。 他のアプローチは、計算を並列に行うことができるように、異なるコアの異なるシステムを標的含ま。例えば、話が提案最初の分割は、独自のコアと他のゲームの残りの部分にレンダラを置くことでした。他にも、より複雑な技術であるが、それはすべて基本的にあなたが別のコアに周りのデータを得るのですかつまるところます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top