問題タブ [cuda-streams]
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 - NVIDIA MPS (マルチプロセス サーバー) と CUDA ストリームの関係は?
公式の NVIDIA Multi-Process Server docsを一瞥すると、それがCUDA ストリームとどのように相互作用するかは不明です。
次に例を示します。
アプリ 0: カーネルを論理ストリーム 0 に発行します。
アプリ 1: カーネルを (独自の) 論理ストリーム 0 に発行します。
この場合、
1) MPS はこれらの CUDA 呼び出しをどのように「ハイジャック」しますか? アプリケーションごとに、どのストリームが使用され、どのカーネルがどのストリームにあるかを完全に把握していますか?
2) MPS は独自の 2 つのストリームを作成し、それぞれのカーネルを正しいストリームに配置しますか? それとも、MPS はストリーム以外のメカニズムを介してカーネルの同時実行を可能にする可能性がありますか?
それが役に立てば、MPS が Volta でどのように機能するかに興味がありますが、古いアーキテクチャに関する情報も高く評価されます。
cuda - Nvidia Hyper Q と Nvidia Streams の違いは何ですか?
Hyper-Q テクノロジーは GPU のストリームに他ならない、と常々思っていました。後で、私が間違っていたことに気づきました (私ですか?)。そのため、Hyper-Q について読んでいて、さらに混乱しました。私は 1 つの記事を読んでいましたが、次の 2 つのステートメントがありました。
A. Hyper-Q は、複数の CUDA ストリーム、複数の Message Passing Interface (MPI) プロセス、さらにはプロセス内の複数のスレッドからの個別の接続を可能にする柔軟なソリューションです。
B. Hyper-Q は、32 の同時ハードウェア管理接続を許可することで、ホストと GK110 GPU 間の接続 (ワーク キュー) の総数を増やします (Fermi で利用可能な単一の接続と比較して)。
前述のポイントで、ポイント Bは、ホストから 1 つの GPU に複数の接続を作成できることを示しています。異なるアプリケーションを介して単純な GPU で複数のコンテキストを作成できるということですか? すべてのアプリケーションを異なるストリームで実行する必要があるということですか?すべての接続がメモリとコンピューティング リソースを消費する場合、リソース (メモリ/コア) のスケジューリングは誰が管理しますか?