2016-08-03 9 views
1

私はUbuntu 14.04にCUDA-7.5をインストールしようとしていますが、GTX950とTesla K40をマザーボードに挿入しています。GTX950とTesla K40を使ってコンピュータにCUDA-7.5をインストール

およびlspci | grepの-i NVIDIAコマンドは次のような結果得られます。

01:00.0 3D controlloer: NVIDIA Corporation GK110BGL [Tesla K40c] (rev a1) 
02:00.0 VGA compatible controller: NVIDIA Corporation GM206 [GeForece GTX 950] (rev a1) 
02:00.1 Audio device: NVIDIA Corporation Device 0fba (rev a1) 

私は実際に./smokeParticlesを実行することができますので、私は、私は成功したCUDA-7.5私のコンピュータにインストールされていると思いますがサンプル中NVIDIA_CUDA-7.5 _Samples/bin/x86_64/linux/release/

しかし、私は一つの質問があります。

  • どのように私は私が実際にテスラK40を使用していることを確認することができますか?私がマザーボードの テスラK40フォームを抜いても./ smokeParticlesサンプルも成功しています。 (私はGTX 950がサンプルを実行していると仮定します...)

Tesla K40を使用していると私に伝えることができるコマンドがありますか?

答えて

0

cudaサンプルでは、​​deviceQueryを使用して、cudaが正しくインストールされているかどうかをテストし、各カードの基本情報を表示します。これで各cudaデバイスのデバイス番号がわかります。例えば

、私は私のサーバー上でそれを実行:あなたのCUDAアプリケーションで

$ ./deviceQuery |egrep '^Device [0-9]+' 
Device 0: "GeForce GTX 980 Ti" 
Device 1: "GeForce GTX 980 Ti" 
Device 2: "GeForce GTX 980 Ti" 
Device 3: "GeForce GTX 980 Ti" 

、実行するカードを選択しcudaSetDevice()を使用しています。サンプルソースを調べて、使用方法を確認してください。

+0

ありがとう、ちょうど私の日を救った!もう1つの質問:サンプル./nbodyでGTX 950を使用しているとき、コマンドラインは「Using device 1:GeForce GTX 950> Compute 5.2 CUDAデバイス:[GeForce GTX 950]」を印刷し、Tesla K40は「Using device 0: Tesla K40c> Compute 3.5 CUDAデバイス:[Tesla K40c]。この「Compute 5.2/3.5 CUDAデバイス」の違いを教えてください。 – Emma

+0

@CHEN Nvidiaは、これらのCUDA用語をドキュメント、特に「CUDA Cプログラミングガイド」で説明しています。あなたはnvidia cuda zoneのウェブサイトで見つけることができます。 cudaサンプルの旅を続ける前に、読んで難しいことを学ぶ必要があります。 – halfelf

2

halfelfs答えます。彼の提案された解決策は確かに正しいですが、私はそれを一般的とは考えていません。コマンドラインから返されたハードコーディングされたデバイス番号に応じて、一度だけトラップになることがあります。なぜなら、OSは以前に割り当てられたデバイス番号を変更します。あなたは非常に柔軟であり、あなたはそれが動作基盤となるハードウェアを変更する場合でも、この機能を

int getDeviceNumberByName(const char * deviceName) 
{ 
    int deviceCount; 
    cudaGetDeviceCount (&deviceCount); 
    for (int currentDevice = 0 ; currentDevice < deviceCount ; ++currentDevice) 
    { 
     cudaDeviceProp deviceProperties; 
     cudaGetDeviceProperties(&deviceProperties, currentDevice); 
     if (0 == strcmp(deviceProperties.name, deviceName) 
     return currentDevice; 
    } 
    return -1;  // not found 
} 

私の提案はこれです。

説明:

がインストールNVIDIAデバイスの合計数を取得し、各デバイスのプロパティをお読みください。デバイス名が提供されたデバイス名と一致するかどうか、デバイス番号を返すかどうかを確認します。見つからない場合は-1を返します。

関連する問題