0

新しい Fedora19 システムに CUDA 5.0 をインストールすることを検討した結果、rpm 形式で提供されていた CUDA 5.5 がより適切な候補であることがわかりました。ここにあるインストールの指示に従いましたが、サンプルをコンパイルしようとするまで、すべてが順調に進んでいました。まず、サンプルを /usr/local/cuda/samples にインストールします。LD_LIBRARY_PATH に (5.5 バージョンだけでなく) /usr/local/cuda/lib が含まれていることを確認する必要がありましたが、次の 2 つが得られました。 「make all」コマンドを実行しようとするとエラーが発生します。

../../common/inc/exception.h: In constructor ‘Exception<Std_Exception>::Exception()’:
../../common/inc/exception.h:129:94: warning: delegating constructors only available with -std=c++11 or -std=gnu++11 [enabled by default]
Exception<Std_Exception>::Exception() :

C++11 がデフォルトのバージョンだと思いましたか? その後、matrixMulDrv をコンパイルしようとすると、意味をなさない次のエラーが表示されます。

/usr/local/cuda-5.5/bin/nvcc -ccbin g++   -m64        -o matrixMulDrv matrixMulDrv.o  -L/usr/lib64/nvidia -lcuda
/bin/ld: cannot find -lcuda
collect2: error: ld returned 1 exit status

他の誰かがこの性質の問題を抱えているかどうか疑問に思っていました。現在の gcc コンパイラ (4.8.1) を使用できるように、5.5 に移行しました。/usr/lib64/nvidia を見ると、libcuda.so.1 を含め、必要と思われるすべてのファイルが表示されます。他の誰かがこれを見たことがありますか?

4

3 に答える 3

2

最初の問題について:

../../common/inc/exception.h: In constructor ‘Exception<Std_Exception>::Exception()’:
../../common/inc/exception.h:129:94: warning: delegating constructors only available with -std=c++11 or -std=gnu++11 [enabled by default]
Exception<Std_Exception>::Exception() :

これらのメッセージは単なる警告であるため、コンパイルは問題なく続行されます。

2番目の問題について:

/bin/ld: cannot find -lcuda
collect2: error: ld returned 1 exit status

/usr/lib64/nvidia を調べて、libcuda.so と libcuda.so.1 の両方のシンボリック リンクが存在し、libcuda.so.[お使いのドライバー バージョン] を指していることを確認してください。

私のインストールでは、何らかの理由で /usr/lib64/nvidia/libcuda.so シンボリックリンクが作成されませんでした。あなたのものも見つからない場合は、(ルートとして)次のように入力します。

ln -s /usr/lib64/nvidia/libcuda.so.VERSION /usr/lib64/nvidia/libcuda.so

VERSIONを nvidia ドライバーのバージョン番号に置き換えます (例: libcuda.so.319.32)。

これで問題は解決しますか?

于 2013-07-21T18:52:26.553 に答える
0

CUDA は、Linux カーネルのバージョンに非常に固有です。たとえば、CUDA 6.5 はFedora 20 カーネル 3.12でのみ動作することが保証されています。

# Install kernel 3.16.2
sudo yum -y install https://kojipkgs.fedoraproject.org/packages/kernel/3.16.2/201.fc20/x86_64/kernel-3.16.2-201.fc20.x86_64.rpm
sudo yum -y install https://kojipkgs.fedoraproject.org/packages/kernel/3.16.2/201.fc20/x86_64/kernel-devel-3.16.2-201.fc20.x86_64.rpm
sudo yum -y install libvdpau-devel
sudo reboot

# Install cuda 6.5
wget http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.14_linux_64.run
sudo bash cuda_6.5.14_linux_64.run --override

CUDA System Requirementsで指定されたバージョンに一致するようにカーネルをダウングレードすると役立つ場合があります。

于 2015-03-04T22:52:22.357 に答える