問題タブ [kepler]
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.
cuda - 単一の GPU で複数の MPI ランクを実行する場合、本当に MPS が必要ですか、それとも Kepler の Hyper-Q 自体で十分ですか?
基本的には単一のGPU(NVidia K20c)で複数のMPIランクを動かしたいと考えており、MPSとKeplerのHyper-Qの存在は認識しています。
しかし、私の質問は、Hyper-Q 自体で私のニーズを満たすのに十分でしょうか? または、MPS を使用する必要がありますか? 上記の Hyper-Q リンクによると、「Hyper-Q を有効にするために追加のコーディング作業は必要ありません。必要なのは、CUDA 5 がインストールされた Tesla K20 GPU と、複数の MPI ランクが GPU を共有できるように環境変数を設定することだけです – Hyper -Q を使用する準備が整いました。」
これは、MPS がまったく必要ないということですか?
ps、同様のトピックに関する次の質問も認識していますが、私の質問に明確に答えていないようです。 CUDA6.5 + MPI を使用する場合、MPS (MULTI-PROCESS SERVICE) を使用する必要がありますか?
ありがとう。
cuda - GPU Kepler CC3.0 プロセッサは、パイプライン アーキテクチャだけでなく、スーパースケーラにも対応していますか?
CUDA 6.5 のドキュメントには次のように書かれています: http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#ixzz3PIXMTktb
5.2.3. マルチプロセッサ レベル
...
- コンピューティング機能 3.x で説明されているように、マルチプロセッサは一度に 4 つのワープに対して 1 クロック サイクルでワープごとにペアの命令を発行するため、コンピューティング機能 3.x のデバイスの場合は 8L です。
これは、GPU Kepler CC3.0 プロセッサがパイプライン アーキテクチャであるだけでなく、スーパースカラーでもあるということですか?
パイプライン - これら 2 つのシーケンスは並行して実行されます (一度に異なる操作)。
- LOAD [addr1] -> ADD -> STORE [addr1] -> NOP
- NOP -> LOAD [addr2] -> ADD -> STORE [addr2]
スーパースカラー - これら 2 つのシーケンスは並行して実行されます (一度に同じ操作を実行します)。
- LOAD [reg1] -> ADD -> STORE [reg1]
- LOAD [reg2] -> ADD -> STORE [reg2]
cuda - CUDA: Shuffle 命令を使用した K40 でのスレッド ブロック レベルのブロードキャスト
indirectJ2[MAX_SUPER_SIZE]
共有配列です。
私のcudaデバイスカーネルには、次のステートメントが含まれています(スレッドブロック内のすべてのスレッドによって実行されます):
int nnz_col = indirectJ2[MAX_SUPER_SIZE - 1];
これにより、銀行の競合が発生すると思われます。
ケプラー GPU の新しいシャッフル命令を使用して、上記のスレッド ブロック レベルのブロードキャストを効率的に実装する方法はあり ますか? ワープレベルでの仕組みを理解しています。シャッフル命令を超えた他のソリューション (たとえば、CUB の使用など) も歓迎します。
cuda - *変更* Nvidia Maxwell、グローバル メモリ命令数の増加
GTX760(Kepler) と GTX750Ti(Maxwell) の両方でベンチマーク (Parboil、Rodinia) を使用して実験を行いました。次に、Nvidia ビジュアル プロファイラーを使用して結果を分析しました。ほとんどのアプリケーションでは、グローバル命令の数が Maxwell アーキテクチャで最大 7 ~ 10 倍に大幅に増加します。
仕様 両方のグラフィックカード用
GTX760 6.0Gbps 2048MB 256bit 192.2GB/秒
GTX750Ti 5.4Gbps 2048MB 128bit 86.4Gb/秒
Ubuntu 14.04
CUDA ドライバー 340.29
ツールキット 6.5
ベンチマーク アプリケーションをコンパイルし (変更なし)、NVVP(6.5) から結果を収集しました。すべてを分析 > カーネル メモリ > L1/共有メモリ セクションから、グローバル ロード トランザクション数を収集しました。
ケプラー (リンク)とマクスウェル(リンク)で実行した histo のシミュレーション結果のスクリーンショットを添付しました。
Maxwell アーキテクチャでグローバル命令数が増加する理由を知っている人はいますか?
ありがとうございました。
cuda - カーネルの最大スレッド数
私はcudaプログラミングが初めてです。私は持っているケプラーGPUに取り組んでいます
これは、カーネルに 2048 しか割り当てられないということですか? では、その大きなグリッド サイズをどうするか?
私のアプリケーションには、大量の行列計算が含まれています。
performance - 異なる GPU メモリ空間のアクセス時間は?
これは、ディスクリート GPU、主に最近の GPU (NVIDIA Kepler、Maxwell、および AMD Kaveri と R290 にあるもの) に関する質問です。
それ以外の場合はキャッシュされていない要素をレジスタにロードするのにどれくらいかかりますか...
- グローバルデバイスメモリ?
- グローバルメモリの L2 キャッシュ?
- テクスチャ キャッシュ?
- 定数キャッシュ?
- コアごとの L1 キャッシュ?
- (コアごとの共有メモリ - L1 キャッシュと同じにする必要があります。)
どこかのテーブルへのリンクは素晴らしいでしょう、説明は大丈夫でしょう...
cuda - 表面記憶ケプラーとマクスウェルの違い
最新の 2 世代の NVIDIA GPU (参照http://docs.nvidia.com/cuda/cuda-binary-utilities/index.html ) で次の低レベル (SASS) 命令を考えると、(おそらく推測される) 違いは何ですか?ハードウェア/メモリ階層設計 (およびパフォーマンスへの影響) で?
サーフェス メモリ命令MAXWELL
サーフェス メモリ命令KEPLER
cuda - Nvidia マルチプロセス サービス (MPS) を使用して複数の非 MPI CUDA アプリケーションを実行するにはどうすればよいですか?
MPS を使用する NVIDIA Kepler GPU で非 MPI CUDA アプリケーションを同時に実行できますか? 私のアプリケーションは GPU を十分に活用できないため、これを行いたいので、それらを一緒に実行したいと考えています。これを行うコード例はありますか?