LoginSignup
9
11

More than 5 years have passed since last update.

Alienware13にlinux CUDA環境を構築するまでのメモ

Last updated at Posted at 2016-09-17

はじめに

小さめのラップトップにCUDA環境が欲しかったので、Alienware 13inchにlinuxとNVIDIAドライバをいれました。その時の覚書です。
Alienwareは、スクリーンどころか、あろうことかキーボードやロゴ、電源スイッチ、そして電源接続部分からまでブルーライト発しまくりのナイスなラップトップです。

どのlinuxをいれるか?

windowsとdual bootでlinuxをいれたいが、どのディストリビューションを選択したらよいか、からわからなかった。
私は長らくmacユーザーで、つい最近linux mintをデスクトップに入れるまで、linuxに触るのはfedora 7以来だったからだ。うらしまたろうだ(SELinuxってどうなったんだろう?)。当面の問題として、

  • wifiとか有線とかタッチパッドを認識してくれる
  • 以下にのべるHybrid Graphicsの問題

あたりがクリアできるかどうかでディストリビューションを決めたい。まずDellのデスクトップにTitan Xを刺したものではうまく行ったlinux mintを試したが、wifiも有線も認識しないので挫折。archlinuxもなんかよくわからないので挫折。DVDが切れたのでPC Depotに走って買いに行く。
alienware13にUbuntu 14+CUDAのインストールを挫折した記事があったので不安だが、Ubuntu 16.04をためすことにした。Ubuntu 16.04はwifi、有線ともに認識。設定後 pon dsl-provider でPPPOEも無事接続。

タッチパッド

タッチパッドはインストール直後は認識しない。マウスを繋いで、以下の処理をする。参考ページ

 sudo su
 echo 'blacklist i2c_hid' >> /etc/modprobe.d/blacklist.conf
 depmod -a
 update-initramfs -u

Hybrid Graphics

全然知りませんでしたが、最近のGPU Laptopは省電力用のIntegrated GPU (CPU一体のIntelで低性能省電力)とDiscrete GPU (NVIDIA GTX965M)のdual GPUにして電力消費を抑えているらしい。

Windows10では設定されてるのでいいけど、linuxでこれは結構問題らしい。ドライバ以前にGPUきりかえの問題がある。以下、資料

nvidia-settings

Intel+NVIDIAはnvidia-settingsで切り替えできるそうだ。

NVIDIAドライバ

  • nvidia-settingsとnvidia-primeをapt-get install
  • nvidia-3** (driver)をapt-get install (今回は361にした)
  • ソフトウェアとアップデートの追加のドライバ でそのドライバを選ぶ
  • reboot
  • nvidia-settingsでできている事を確認する

nvidia.png

  • GPUの切り替えは、nvidia-settingsのPRIME Profilesでできる。
  • もしくはコンソールで
sudo prime-select intel
sudo prime-select nvidia

でも切り替え可能。これはなにかnvidia関係で問題が起きてグラフィックスが立ち上がらなくなった時(実際そういうことがあった)、recovery mode + ALT-CTRL+F1で入って、INTEL側に切り替えたりする時に便利。

CUDAインストール

ここの通りにやるとできました。いまのところかなり快適です。

追記:pycudaのインストール

python2系列では問題がでなかったのですが、python3ではエラーがでたので対処法を追記

git clone --recursive http://git.tiker.net/trees/pycuda.git
python configure.py --cuda-root=/usr/local/cuda
sudo make install

でインストール。テストで

cd test/
python test_driver.py 

とするが、python3(というかanaconda3の問題、C++ABIのバージョンっぽいですけど)の場合、

undefined symbol: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev

みたいなエラーを吐く。そこで
https://lists.tiker.net/pipermail/pycuda/2017-January/004993.html
を参考にmake cleanしてから、siteconf.py内に

CXXFLAGS = ['-D_GLIBCXX_USE_CXX11_ABI=0']

を追記して、もう一度インストールするとうまく行きました。なんでかはちゃんと調べてないです。

9
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
11