3

Nvidiaが提供するGPUコンピューティングSDKでサンプルを実行する際に問題が発生しました(コンパイルされたサンプルコードのライブラリがあります)。

cudaの場合、「CUDA対応デバイスが検出されません」というメッセージが表示されます。OpenCLの場合、OpenCL対応ユニットを検出する必要がある関数からエラーが発生します。

OpenCLで開発するためにNvidiaの3つのパーツすべてをインストールしました-win764ビットv.301.27、cudaツールキット4.2.9、およびgpuコンピューティングsdk4.2.9用のdevdriver。

これは、出力をNvidia GPUからIntelに再ルーティングしてレンダリングするOptimusテクノロジーに関係していると思います(このノートブックにはIntel 3000HDアクセラレータもあります)が、Nvidiaコントロールパネルでは、高性能Nvidia GPUを使用するように設定し、電力プロファイルを優先するように設定しました最大のパフォーマンスとPhysXの場合、自動選択からNvidiaプロセッサに再度変更しました。ただし、何も変更されていませんが、これらのサンプルは実行されません(GF8000カードを対象としたサンプルも実行されません)。

私はOpenCLでいくらか遊んで、それが何ができるかを見たいと思いますが、それが役に立たないことをテストする能力がなければ。フォーラムでこれに関する情報をいくつか見つけましたが、ほとんどの場合、NvidiaGPUにアクセスするためにBumblebeeが必要なLinuxユーザーに関するものでした。Windowsではそのような問題はありませんが、ドライバーの方が優れているため、黒魔術なしでアクセスできます(または、この問題が見つかるまでそう思っていました)。

4

3 に答える 3

2

Sandy Bridge CPUにもIntelの統合グラフィックスが搭載されているため、私のラップトップにはOptimus構成のGeForce540Mも搭載されています。CUDAコードを実行するには、次のことを行う必要があります。

  1. NVIDIAドライバーをインストールする
  2. NVIDIAコントロールパネルに移動します
  3. [3D設定]->[3D設定の管理]->[グローバル設定]をクリックします
  4. [優先グラフィックスプロセッサ]ドロップダウンで、[高性能NVIDIAプロセッサ]を選択します
  5. 設定を適用する

上記の手順はすべてのアプリケーションに設定を適用するため、CUDAエラーについて心配する必要はありません。しかし、それはより多くのバッテリーを消耗します。

こちらもビデオの要約です。幸運を!

于 2012-04-28T13:53:32.467 に答える
2

わかりました、これは完全にクレイジーなソリューションであることが証明されています。ハードウェアとアプリケーションの間に何かが引っ掛かっていないかと思っていたのですが、頭に浮かんだのはAVソフトウェアだけでした。私はサンドボックスとDefense+をオンにしてComodoを使用しており、それらをオフにした後、これらすべてのサンプルを実行できました。さらに、Defense+のみをオフにする必要があります。

ここで、そのGPUへのアクセスをブロックできた可能性のあるアプリの量について考えます。

于 2012-04-28T15:08:20.933 に答える
1

これは、Optimusのアーキテクチャが原因である可能性が最も高いです。したがって、 NVIDIAOptimusプラットフォーム用のNVIDIACUDA開発者ガイド、特にこの問題に対処する「CUDAデバイスのクエリ」のセクションを読むことをお勧めします。

于 2012-04-28T13:35:13.940 に答える