
私たちのチームには、複数の Tesla V100 (16GB) を実行する Windows Server 2016 があります。GPU は主に機械学習タスクに使用されますが、現在、1 つで「ゲーム」を行う必要があります (実際にはシミュレーターですが、ゲームのように「プレイ」します)。サーバーに直接アクセスすることはできず、RDP+LDAP 経由で接続します。複数の Tesla とともに、システムには、すべてのユーザーのリモート セッションをレンダリングするために自動的に使用される、低性能で古い Quadro があります。
シミュレータが起動すると、スプラッシュ画面の直後にエラーが発生してクラッシュします。
DX11 エラー: ピクセル シェーダーの作成エラー: 80070057
これは単にアプリケーションが下手なだけかもしれませんが (ダウンロードしてインストールするのに大変な手間がかかったので、その可能性も排除できません)、アプリケーションが「間違った」(弱い Quadro) GPU を使用していることが原因である可能性は排除したいと思います。
私は Nvidia 設定パネル (または、その名前) に行き、特にそのアプリケーション用の新しいプロファイルを作成することにしました。2 つのことに気付きました。
CUDAの場合、グローバル(現在すべてのGPU(TeslaとQuadro)が選択されている)とカスタム(この特定のプロファイルに対して特定のGPUを選択できる)の2つのオプショングループがあります。すべてのGPUがここに表示されます。
OpenGL レンダリング GPU には、グローバル、自動、Quadro の 3 つのオプションがあります。ここでは Tesla は表示されません。
調べてみたところ、プロファイル構成全体に DirectX 設定が見当たりませんでした。それ自体は奇妙ですが、私の意見では主な問題ではありません。Tesla のレンダリング機能に関する情報を見つけようとしましたが、公式 (Nvidia データシート) では見つかりませんでした (すべて高性能コンピューティング、データ センターなどのマーケティング資料です)。他の GPU ベンチマーク オンライン プラットフォームでは、そのような情報が提供されています (DX12 および OpenGL 4.6 をサポート)。
これはおそらくドライバーの問題でしょうか? 一部のドライバーは機能を無効にします。あるいは、間違った構成パラメータを見ているのかもしれません。
PS: OpenGL(DXも含まない)とV100に関する情報に最も近いのは、https://forums.developer.nvidia.com/t/can-i-use-opengl-in-windows-10-with-tesla-v100-gpu/67002/4。