Всё это я делал с системой в том порядке, в котором про это написано
ЯдроЯдро я пересобрал по этой инструкции:
https://help.ubuntu.ru/wiki/сборка_ядра
ядро получал так
apt-get source linux-image-`uname -r`
делал
$ make oldconfig
$ make menuconfig
Дальше настроил почти по этой инструкции
https://habrahabr.ru/post/234653/, только не ставил патч BFS и BFQ и ещё кое-что (описано ниже).
что сделал в ядре:
1) "Так что идем в Processor type and features и выбираем для параметра Preemption Model значение No Forced Preemption (Server). Не пугаемся фразы «ocasional longer delays are possible» потому что данную проблему у нас эффективно решает BFS и многоядерный процессор. Как и написано в описании, мы выигрываем в «raw processing power»."
2) Processor family - Core2/New Xeon
3) "Далее, устанавливаем для параметра Timer frequency значение 300 HZ. 100 все же будет маловато, да и смысла особого нет (читайте в описании почему), но вы можете поэкспериментировать. Также, 300 Гц нацело делится и на 25 и 30, что является типичными частотами для видео, это вносит свой вклад в борьбу с тирингом (это из хелпа. По факту, с тирингом успешно борется только тройная буферизация + vsync)."
4) Отключил hot-plug для памяти. Для процессора не смог отключить, оно автоматом включалось другими опциями. Не стал копаться, подумал, что это не принципиально и забил на это.
5) CPU Frequency scaling не трогал.
6) "Теперь отключим динамический таймер. Не уверен точно, так как не проверял конкретно, но похоже именно эта опция приводит к постоянным «подергиваниям» на некоторых видео и особенно в играх. Так что идем General setup -> Timers subsystem и для опции Timer tick handling выбираем Periodic timer ticks (constant rate, no dynticks)."
7) Патча BFQ не ставил, поэтому этот планировщик и не включал (нет у меня этой опции).
CUDAПоставил CUDA 8 из deb пакета, скачанного с сайта nvidia. Делал по их инструкции.
https://developer.nvidia.com/cuda-downloads `sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb`
`sudo apt-get update`
`sudo apt-get install cuda`
добавил нужные пути в PATH, CUDADIR, GLPATH, LD_LIBRARY_PATH, CUDA_HOME. В /etc/ld.so.conf.d/cuda.conf добавил
/usr/local/cuda/lib64
Установил патч от nvidia из deb пакета "cuBLAS Patch Update to CUDA 8: Includes performance enhancements and bug-fixes", взятый там же, где и cuda-toolkit (на сайте nvidia).
Поставил CUDnn v7 для CUDA 8 тоже deb пакетом
дальше установил tensorflow (опишу ниже) и в самом конце (после TF) пофиксил эту ошибку
sudo ldconfig
[sudo] пароль для sasha:
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 не является символьной ссылкой
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 не является символьной ссылкой
как описано здесь
https://askubuntu.com/questions/900285/libegl-so-1-is-not-a-symbolic-linksudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.66 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.66 /usr/lib32/nvidia-375/libEGL.so.1
этого не делал
sudo dpkg-reconfigure nvidia*
TensorFlowУстановил TF из исходников по их инструкции
https://www.tensorflow.org/install/install_sourcesнастроил конфиг, как описано у них в инструкции. Всё собрал и установил. Вроде всё работает.
Хотя, когда создается сессия TF есть некоторые варнинги вот:
Using TensorFlow backend.
2017-09-25 12:48:38.058083: [b]I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:892] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero[/b]
2017-09-25 12:48:38.058530: I tensorflow/core/common_runtime/gpu/gpu_device.cc:965] Found device 0 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.62
pciBusID: 0000:03:00.0
totalMemory: 10.91GiB freeMemory: 10.43GiB
2017-09-25 12:48:38.058548: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1055] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:03:00.0, compute capability: 6.1)
Но я давно ещё немного гуглил на эту тему и понял, что это вроде бы ничего страшного.
Изменил схему ACPIПоставил пакет indicator-cpufreq
$ sudo apt-get install indicator-cpufreq
и запустил его
$ sudo indicator-cpufreq
Дальше сменил режим на "Производительность".