2017-12-27 50 views
0

私はCUDAのすべてのバージョンは下位互換性がありますが、ときに私import tensorflowTensorflowとCUDAバージョン

ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory 

たCUDAのインストールのプロセス全体を通過し、TFと仮想環境をセットアップした後、この問題が発生し理解するものから、明らかにTensorflowはCUDA 8.0を探していますが、CUDA 9.1を持っているのでCUDA 8.0を見つけることはできませんが、後方互換性があるのはなぜですか?このような人気のある図書館がセットアップ手順にあいまいであることはかなり驚きです。だから、ここの誰かが何らかの知識を発揮できることを願っています。

CUDA 8.0のインストールに問題はありませんが、これはオプションではありませんが、NVIDIAのWebサイトから最新バージョンを入手できます。これに対する修正は何ですか?

+1

バイナリの下位互換性はありません。すべてがバージョン管理されており、ランタイムAPIバージョンと共有ライブラリに構築されているものは、そのバージョンがインストールされているか、ライブラリが配布されている必要があります。 – talonmies

+2

tensorflow https://www.tensorflow.org/install /と他のバージョンのcudaをダウンロードするhttps://developer.nvidia.com/cuda-toolkit-archive –

答えて

2

libcublas.so.8.0などのCUDAライブラリにリンクされているバイナリ(任意の種類の)をお持ちの場合は、次のような別のライブラリを置き換えることによって共有オブジェクトの動的ロード時の要件を満たすことができません。 libcublas.so.9.0。 CUDAにはある種の順方向/逆方向の互換性がありますが、これは1つでもありません。コードがリンクされた正確なライブラリを提供する必要があります。

旧式のライブラリを利用できるように、古いCUDAツールキットのバージョンにアクセスする場合、これらのCUDAツールキットのバージョンは、一般に、CUDAツールキットアーカイブページhereで入手できます。

既に新しいCUDAツールキットがロードされ、正しく動作している場合は、古いツールキットを読み込んで、インストールされているGPUドライバを更新/変更することなく使用することができます。

実際に新しいライブラリを使用できるようにこれを回避するには、使用しているコード/バイナリを再リンクする必要があります。

関連する問題