2016-06-28 6 views
0

私はnvidia-cuda-toolkitパッケージ経由でインストールされたCUDA 7.5 SDKを使用してUbuntu 16.04を使用しています。 cuFFTのコールバック機能を使って簡単なテストプログラムをコンパイルしようとしています。この例のソースコードはavailable at GitHubです。このlibcufft_staticの例で、 `` __cudaRegisterLinkedBinary_60 _.... `"のエラーが未定義になっているのはなぜですか?

Following the instructions for compiling with the callback feature、Iは、再配置可能な装置コードなどのソースをコンパイルしlibcufft_static.aに対するリンクている:上記の配列において

nvcc -ccbin g++ -dc -m64 -o cufft_callbacks.o -c cufft_callbacks.cu 
nvcc -ccbin g++ -m64 -o cufft_callbacks cufft_callbacks.o -lcufft_static -lculibos 

、最後のコマンドは、これと類似するすべて、エラーの一連の失敗:

/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libcufft_static.a(set_callback.o): In function `__sti____cudaRegisterAll_47_tmpxft_00003a6a_00000000_7_set_callback_cpp1_ii_b7e0d86d()': 
tmpxft_00003a6a_00000000-4_set_callback.cudafe1.cpp:(.text+0x6fd): undefined reference to `__cudaRegisterLinkedBinary_47_tmpxft_00003a6a_00000000_7_set_callback_cpp1_ii_b7e0d86d' 

多くのシンボルが欠落していると文句を言いますが、すべてが__cudaRegisterLinkedBinary_で始まります。私が手を携えているCentOS 7マシンでは、同じコマンドシーケンスが適切に機能するので、私は何か間違っているとは思わない。

私のSDKの構成が間違っていますか?私がSOなどで見た同様の問題のすべての言及は、上記の別々のコンパイルステップを実行することができなかった。私はそれがここの場合だとは思わない。

+1

私はCUDA 8 RCとCentOS7でも問題はありませんでした。 Ubuntu 16.04は公式にサポートされているCUDA 7.5のディストリビューションではありませんので、あなたのCUDAのインストールは本当に壊れていると思われます。あなたのCUDAインストールは '/ usr/lib'のような普通でない場所に配布されているようです。 –

+0

@RobertCrovella:情報をありがとう。私は、Ubuntu CUDAツールキットパッケージを削除し、NVidiaのバイナリインストーラからインストールして、それが役立つかどうかを確認します。 –

+0

最も安全な方法は、サポートされている設定に切り替えることです。 Ubuntu 16.04のCUDA 8.0RCはサポートされている設定です。 CUDA 7.5(インストール方法にかかわらず)はありません。 –

答えて

1

上記のコメントで@RobertCrovellaとしてCUDA 8.0 RCにアップグレードすることで問題を解決できました。 7.5 Ubuntuパッケージに問題がある必要があります。

+0

これはUbuntuパッケージではありません。 CUDA 7.5はgccバージョン5をサポートしていません。CUDA 8RCは – talonmies

+0

@talonmiesです:私はUbuntuパッケージの問題と呼んでいます。ディストリビューションのパッケージ化されたgccのバージョンがそれで動作しない場合は、おそらくは提供してはいけません。あるいは、古いgccパッケージ( 'gcc-4.9'など)をインストールして、' nvcc'を使用するように設定する必要があります。 –

+1

[nvidia linux installation guide](http://docs.nvidia.com/cuda/cuda-installation-guide-linux)で使用する推奨パッケージの1つとして 'nvidia-cuda-toolkit'が表示されていません。 /index.html#ubuntu-installation)。私は誰がそれをパッケージ化したのか分からない。私は、一般的には、あなたがnvidia linuxインストールガイドの指示に従えば、より良い経験をする可能性が高いと思います。 –

関連する問題