問題タブ [gpu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1225 参照

cuda - Nvidia Tesla vs 480 forCUDAプログラミング

私はCUDAプログラミングの研究をしています。
NVidia Teslaを1つ購入するか、4〜5 NVidia 480を購入するかを選択できますか?
おすすめは何ですか?

0 投票する
1 に答える
1297 参照

cuda - より複雑なデータ構造を含む問題を CUDA で解決する

そこで、CUDA と GPU プログラミングについて少し読みました。グローバル メモリへのアクセスが遅い (共有メモリを使用する必要がある) ことや、ワープ内のスレッドの実行パスが分岐してはならないことなど、いくつか気付きました。

また、プログラマー マニュアルとnbody problemに記載されている (密な) 行列乗算の例も調べました。そして、実装のトリックは同じようです。計算をグリッドに配置します(行列 mul の場合はすでにそうです)。次に、グリッドを小さなタイルに分割します。タイルを共有メモリにフェッチし、グローバル メモリから共有メモリにデータを再ロードする必要があるまで、スレッドに可能な限り長く計算させます。

nbody 問題の場合、各物体間相互作用の計算はまったく同じです (682 ページ)。

2 つのボディと 1 つの加速度ベクトルが必要です。ボディ ベクトルには、位置と重みの 4 つのコンポーネントがあります。論文を読むと、計算は簡単に理解できます。

しかし、動的なデータ構造を持つ、より複雑なオブジェクトがある場合はどうなるでしょうか? ここでは、他のオブジェクトのリストが添付され、添付されたオブジェクトの数がスレッドごとに異なるオブジェクト (論文で提示された body オブジェクトに類似) があると仮定します。スレッドの実行パスを分岐させずに実装するにはどうすればよいですか?

また、より複雑なデータ構造を含むさまざまなアルゴリズムを CUDA で効果的に実装する方法を説明している文献も探しています。

0 投票する
1 に答える
880 参照

cuda - CUDA スレッドが同じループ内にあり、限られた部分のみを実行するために同期する必要がある場合に CUDA スレッドを同期する方法

私はいくつかのコードを書きましたが、これを CUDA GPU に実装したいと思っていますが、同期は初めてです。以下にコードを示しますが、LOOP1 をすべてのスレッドで実行したいと考えています (したがって、この部分は CUDA を利用し、残りの部分 (LOOP1 以外の部分) はスレッドのみで実行する必要があります)。シングルスレッド。

0 投票する
4 に答える
27385 参照

floating-point - CUDA の倍精度浮動小数点

CUDA は倍精度浮動小数点数をサポートしていますか?

また、同じ理由は何ですか?

0 投票する
4 に答える
1526 参照

performance - 定期的なGPUパフォーマンスの問題

XNAを使用してコントロール内の3Dモデルをアニメーション化するWinFormsアプリケーションがあります。このアプリは何ヶ月も問題なく動作していますが、最近、アニメーションが定期的に一時停止するようになりました。何が起こっているのかを調査するために着手し、私はこれらの事実を確立しました:

  1. それは私のマシンでのみ発生し、他のマシンは正常に動作します
  2. レンダリングループからすべてを削除しても問題は改善されません

2.では、実際にすべてを削除したわけではありません。ループを制限して、GraphicsDeviceにビューポートを設定してから、GraphicsDevice.Presentを実行しました。

さらに掘り下げようとして、いくつかの統計をキャプチャするためにPIXを起動しました。2つのPIX実行のスクリーンショットは、ここ(Run6)ここ(Run14 )で表示できます。Run6は元のレンダリングループを使用しており、Run14は必要最低限​​のPresentループを使用しています。

PIXは、GPUが定期的に何かを実行していることを教えてくれますが、これが一時停止の原因であると思います。これの原因は何でしょうか?または、GPUが実際に何をしているのかを知るにはどうすればよいですか?

更新:私は通常、自分のコードが完璧であると信じているので(誰が笑っているのですか?)、同じ動作を示すかどうかを確認するために、新しいXNAプロジェクトを最初から開始しました。したがって、新しいXNA 3.1 Windowsゲームプロジェクトを開始してPIXを実行すると、このタイムラインが得られます。同じ定期的な一時停止。したがって、XNAまたはDirect3Dでは、問題はスタックの下位にある必要があります。

したがって、PIXはGPUが何かに取り組んでいることを示し、各フレーム内で行われたDX呼び出しのリストを確認でき、タイミング計算は、呼び出し中(またはIDirect3DDevice9::Present呼び出し後)に一時停止が発生することを示しています。

更新プログラム2:問題のあるマシンにXNA4.0CTPを以前にインストールおよびアンインストールしました。これが関連していることは確かではありませんが、XNA GameStudio3.1ビットを再インストールすると違いが生じる可能性があると思いました。やったことがわかった。

根本的な質問は同じままです(そして賞金はまだあります):XNA 3.1(またはDirectX)に影響を与えて、このように動作させることができますか?DirectXおよび/またはGPUレベル用のロギング/トレースパワーツールはありますか?何が起こっているのかを明らかにすることができますか?

注: 8GBのRAMを搭載したWindows7x64デュアルコアマシンでXNA3.1を使用しています。

注2:この質問はXNACreatorsフォーラムにも投稿されています

0 投票する
4 に答える
8050 参照

performance - GPU 機能は仮想マシンのパフォーマンスに影響を与えますか?

これらの多くはプログラミングに関する直接的な質問のようには見えませんが、私の開発活動に影響を与えるので、ここに属しているように思えます。

ますます多くの開発者が、コンピューター上での開発活動のために仮想環境に目を向けるようになっているようです。SharePoint 開発はその典型的な例です。また、トレーナーとして、私が教えるすべてのクラスに仮想トレーニング環境を用意しています。

最近、旅行用に新しい Dell E6510 を購入しました。i7 620M (デュアルコア、2.66GHz で動作するハイパースレッド CPU) と 8 GB のメモリを搭載しています。スペック シートを読むと、持ち運びや仮想マシンの実行に最適なラップトップのように思えました。

ただし、ラップトップを入手して、仮想マシンでの開発のユーザー エクスペリエンスにかなりがっかりしました。仮想マシンに 4 GB のメモリを与えると、速度が遅くなり、完全な文章を入力して VM の「追いつき」を見ることができました。

私の会社には、クラス用に提供するトレーニング用ラップトップがあります。これらは、8 GB のメモリを備えた 2.54 GHz で動作する Dell Precision M6400 Intel Core 2 Duo P8700 であり、これらのラップトップでのエクスペリエンスは、E6510 と比較して昼夜を問わずあります。それらは鮮明で、仮想環境で実行していることをほとんど意識していません。

E6510 はすべてのカテゴリで M6400 よりも高速であるはずなので、新しいラップトップがなぜ遅いのか理解できなかったので、コンポーネントごとに比較しました。E6510 が M6400 よりもパフォーマンスが低い唯一の場所はグラフィックス部門です。 . M6400 は nVidia FX 2700m GPU を実行しており、E6510 は nVidia 3100M GPU を実行しています。2 つの GPU のベンチマークを見ると、FX 2700M は 3100M の 2 倍の速さであることがわかります。

http://www.notebookcheck.net/Mobile-Graphics-Cards-Benchmark-List.844.0.html

3100M = 111番目 (E6510)

FX2700m=47位(プレシジョンM6400)

Radeon HD 5870 = 8位(エイリアンウェア)

ホスト OS はゲスト OS と同様に Windows 7 64 ビットであり、ゲストにゲスト追加機能がインストールされた Virtual Box 3.1.8 で実行されます。仮想環境で使用している IDE は VS 2010 Premium です。

その長いセットアップの後、私の質問は次のとおりです。

GPU は仮想マシンのパフォーマンスに大きな影響を与えていますか、それとも、VM のパフォーマンスを向上させるために使用できる、私が見ていない他の要因はありますか? 仮想化された開発環境を使用する予定のラップトップを購入する際、GPU のパフォーマンスを考慮する必要がありますか?

前もって感謝します。

乾杯、デイブ

編集:

2 つのシステムの HDD は 7200 RPM で、E6510 は 500GB で、M6400 は非 RAID 構成で 2x 250GB です。

また、Aero 以外のテーマに移行して Windows 7 (ホストおよびゲスト) のグラフィックス機能の一部をオフにすると、VM のパフォーマンスが目に見えて向上します。

0 投票する
3 に答える
3960 参照

cuda - GPUプログラミングのためのDirectCompute対OpenCL?

GPUコンピューティングにうまく対応する必要のある(財務上の)タスクがいくつかありますが、OpenCLとDirectComputeのどちらを使用すべきかはよくわかりません。私はGPUコンピューティングをいくつか行いましたが、それはずっと前(3年)でした。当時は実際には代替手段がなかったので、OpenGLを介してそれを行いました。

私はいくつかのOpenCLプレゼンテーションを見てきましたが、それは本当に素晴らしく見えます。DirectComputeについてはまだ何も見ていませんが、それも良いと思います。

現時点では、クロスプラットフォームの互換性には関心がありません。さらに、2つのモデルは、一方から他方に移動しようとしたときに大きな頭痛の種を引き起こさない程度に類似していると思います。

それで、あなたはこれらの2つのいずれかを使用しましたか?特にDirectCompute?OpenCL(およびCUDA)と比較してどうですか?

0 投票する
1 に答える
438 参照

java - GPUでのメモリサイズの割り当て-openglテクスチャの読み込みに関する質問

32 wx32の高さの画像からピクセルを読み込んでいます。私がそれらをロードしているフォーマットは、Java経由のARGBです。これをビデオカードにバインドすると、ビデオカードが約32 * 32 * 4バイト、つまり4Kを使用する可能性があると予想できます。

同様に、1024 w、1024hは1024* 1024 * 4=4MBになります。

私の理解は正しいですか?今、私はすべての記憶がどこに行くのか理解しました!

0 投票する
1 に答える
352 参照

xna - 360 で 60K+ スプライト?

360 向けの新しい XNA プロジェクトを開始することについて、頭の中でアイデアを投げかけているだけです。昔ながらのレトロなプロジェクトで、スキャンラインやカラー パレットなどをエミュレートしたいと考えています。

このアイデアの一部として、私が理想的にやりたいことは、画面のすべてのピクセルを手動で描画することです。したがって、最悪のシナリオでは、252x240 の解像度で約 60K のスプライトを描画する必要があります (正しいと思います)。一度に画面上に 60K のスプライト。

それで、これをコーディングしようとする前に、XBOX 360 はこれに追いつくことができるでしょうか? これは多くのスプライトですが、それらは大きなスプライトではなく、必要なテクスチャ データは存在しません。ただし、このプロジェクトがどのように実装されるかによって、成功するか失敗するかが決まると思いますが、私が考えていたのは、2D 配列を考え出し、その時点でどのカラー値を描画する必要があるかをマッピングすることだけでした。

もちろん、これは今のところ骨抜きにされた話です。しかし、あなたは皆何を提案しますか?

編集: 各スプライトは 1 つのピクセルを表します。たとえば、0,0 のスプライト。0,1 でもう 1 つ。等

0 投票する
3 に答える
1418 参照

c - NVIDIA GPU で実行されている不良カーネルを強制終了できない

私は本当の修正をしています。助けてください。緊急です。

複数のホスト (CPU) スレッド (pthreads) を生成するホスト プロセスがあります。これらのスレッドは、順番に CUDA カーネルを呼び出します。これらの CUDA カーネルは、外部ユーザーによって作成されます。したがって、無限ループに入るのは不良カーネルである可能性があります。これを克服するために、対応する CPU スレッドを強制終了する 2 分間のタイムアウトを設定しました。

CPU スレッドを強制終了すると、GPU で実行されているカーネルも強制終了されますか? 私がテストした限りでは、そうではありません。

GPU で現在実行中のすべてのスレッドを強制終了するにはどうすればよいですか?

編集: カーネルを呼び出す CPU スレッドを使用している理由は、サーバーに 2 つの Tesla GPU があるためです。そのため、スレッドは代わりに GPU デバイスでカーネルをスケジュールします。

ありがとう、アービンド