OK、かなり具体的なOptimus/CUDA/driversの質問があります:
私はAcerAspire5750GでUbuntu12.04を実行しています。このラップトップにはCUDA対応のGT540MGPUが搭載されていますが、Optimusも搭載されているため、使用するにはバンブルビーを使用する必要があります。
次の これらの手順ppa:ubuntu-x-swat/x-updates
から最新のNVIDIAドライバーをインストールしてから、bumblebeeをインストールしました
これで、GPUで問題なく実行できます(optirun glxspheres
は期待どおりに機能します)
しかし、CUDAランタイムサポートを使用して何か(OpenCV-2.4.2)をコンパイルしようとしていますが、NVIDIACUDA開発者ドライバーがインストールされていないことに関係していると思われるコンパイラエラーが発生しました
私が知りたいのは、NVIDIA開発者ドライバーと組み合わせてbumblebeeを使用できるかどうかです。 NVIDIAの開発者ページからダウンロードしたインストーラーを使用しても安全ですか、それともバンブルビーを完全に台無しにしますか?開発者ドライバーをインストールするためのより良い方法はありますか?最新のPPAを探しましたが、見つかりませんでした。
さて、結局、OpenCVをコンパイルするために開発者ドライバーを使用する必要がないことがわかりました!
ppa:ubuntu-x-swat/x-updates
から更新しなくなったため、どういうわけかソフトウェアソースを台無しにしてしまいました。 NVIDIAドライバーを304.43
から295.49
に更新できることを修正したとき。 OpenCVをコンパイルするための重要な要素だったのではないかと思いますが、それを機能させるために1つのmakefileを変更する必要もありました。
誰かが同じことをすることに興味があるなら、私は基本的に指示に従いました ここ 。言い換えると:
Sudo apt-get install
まだ持っていない場合は、次のモジュールの依存関係:
libopencv-dev build-essential checkinstall cmake pkg-config libtiff4-dev libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libv4l-dev
最新のOpenCVを ここ からダウンロードしてから:
tar -xvf OpenCV-<version#>.tar.bz2
cd OpenCV-<version#>/
mkdir build
cd build
cmake
を実行して、ビルドファイルを構成します。 cmake
に一連のオプションを渡して、OpenCVの構築方法を指定する必要があります。正確なオプションはシステムによって異なります。../CMakeLists.txt
を見ると、使用可能なオプションがわかります。私が使用した正確なコマンドは次のとおりです。
cmake -D WITH_QT=ON -D WITH_XINE=ON -D WITH_OPENGL=ON -D WITH_TBB=ON -D BUILD_EXAMPLES=ON BUILD_TESTS=ON ENABLE_SSE3=ON ENABLE_SSE4.1=ON ENABLE_SSE4.2=ON WITH_CUDA=ON ..
CUDAランタイムサポート(WITH_CUDA=ON
)でコンパイルするのに特に問題があったため、ドライバーに関する元の質問がありました。
cmake
は、CMakeCache.txt
というファイルを作成します。 libcuda.so
のリンクエラーを回避するために、説明されているようにこのファイルを変更する必要があることがわかりました ここ 。
開始する行を見つけます。
CUDA_CUDA_LIBRARY:FILEPATH=
そして、私の場合はlibcuda.so
にパスを追加します。
CUDA_CUDA_LIBRARY:FILEPATH=/usr/lib/nvidia-current/libcuda.so
これで、make
を実行してコンパイルし(しばらく時間がかかります...)、次にSudo make install
を実行してインストールできるようになります。
誰かがこれが役に立つと思うことを願っています。