私はパーティクル シミュレーションに取り組んでいて、少しボトルネックに遭遇しました。UAV を使用して RWStructured の単一の float バッファーに書き込むと、約 10 倍遅くなります。実験によると、帯域幅に不足はないように見えますが、アクセス時間自体がそれを妨げているだけです。送信データは特定の順序である必要があるため、追加書き込みは問題外です。これは DX10/SM4 ハードウェア上にあるため、いくつか質問があります: 速度を上げる方法はありますか (シェーダーからの出力が連続していないため、より大きなデータのチャンクを書き込む以外に)? そうでない場合、DX11 グレードのハードウェアは UAV でより高速ですか?
質問する
665 次
1 に答える
0
シェーダー コードをプロファイリングするための最初の作業 (まだ行っていない場合) は、システムに GPU クエリを追加することです。これを説明するリンクは次のとおりです。
http://mynameismjp.wordpress.com/2011/10/13/profiling-in-dx11-with-queries/
これは dx11 にありますが、機能は dx10 にもあるため、移植は非常に簡単です。
コンピューティングの後、さまざまな側面がありますが、最初に遊ぶのは次のとおりです。
[numthreads(TGX, 1, 1)]
8、16、32、64 のような値を試して、スイート スポットを見つけようとします (ディスパッチを分割することを忘れないでください)。
于 2012-09-20T16:05:50.093 に答える