7

CUDA ライブラリにリンクせずに、NVIDIA GPU に関する限られた情報セットを抽出したいと考えています。必要な情報は計算能力と GPU の名前だけです。これ以上の情報があれば便利ですが、必須ではありません。コードは C (または C++) で作成する必要があります。この情報は、構成時 (CUDA ツールキットが使用できない場合) および実行時 (実行されたバイナリが CUDA サポートでコンパイルされていない場合) に使用され、サポートされている GPU がシステムに存在することをユーザーに示唆します。

私が理解している限り、これはドライバー API を介して可能ですが、これが必要とする技術的な詳細についてはよく知りません。だから私の質問は:

  • 少なくとも最小要件を満たすための正確な手順は何ですか (上記を参照)。

  • そのようなオープンソースのコードはありますか?

私の最初のステップは Linux 用のコードを用意することですが、最終的にはプラットフォームに依存しないコードが必要になることに注意してください。CUDA のプラットフォーム利用可能性を考慮すると、完全なソリューションの場合、これには Linux、Mac OS、および Windows 用の x86/AMD64 のコードが含まれます (少なくとも今のところ、リストは ARM ですぐに拡張される可能性があります)。

編集

「ドライバー API を介して可能である」とは、libcuda.so を動的にロードし、ドライバー API を介してデバイス プロパティをクエリできる必要があることを意味します。詳細はわかりませんが。

4

4 に答える 4

1

確かにこれらの人々は答えを知っています:

http://www.ozone3d.net/gpu_caps_viewer

しかし、私はCUDAまたはOpenCLのインストールで実行できることしか知りません。

OpenGLを直接使用する方法もあると思います。おそらくそれがドライバーAPIで話していたものですが、私はこれらの例しか提供できません(CUDAが必要です)。

http://www.naic.edu/~phil/hardware/nvidia/doc/src/deviceQuery/deviceQuery.cpp

于 2012-10-10T23:59:20.567 に答える
1

まず、 NVIDIA NVMLがあなたが探している APIだと思います。次に、 PAPI NVMLと呼ばれる NVML に基づくオープンソース プロジェクトがあります。

于 2012-10-11T08:24:07.963 に答える