Как установить CUDA на 18,10 для ноутбука Optimus?

У меня есть Thinkpad W520 с NVIDIA QUADRо 1000M +, интегрировал Intel GPU. Я только что сделал новую установку Ubuntu 18.10 на нем.

Я хочу достигнуть следующего:

  • работа CUDA,
  • рабочий внешний дисплей через DisplayPort/VGA,
  • в режиме Optimus, если возможный (выбрал это в BIOS).

Состояние прежде, чем установить что-либо

Я имел nouveau настроенный по умолчанию. Это находит внешний монитор и через DisplayPort и через VGA (коннекторы на ноутбуке), но это последовательно не работает: внешний монитор выключен через какое-то время.

Что я сделал

Я пытался установить CUDA наряду с соответствующим драйвером NVIDIA:

sudo apt install nvidia-cuda-toolkit
sudo ubuntu-drivers autoinstall

Имел таинственный катастрофический отказ посреди компиляции модулей ядра, затем закончил установку после перезагрузки с dkpg --configure -a. В конце это установило CUDA 9.1.

На данном этапе ноутбук:

  • начальные загрузки в режиме Optimus,
  • это не обнаруживает внешний монитор VGA (должен будет протестировать HDMI),
  • glxinfo говорит, что прямой рендеринг Yes,
  • графика является однако не гладкой (я вижу, что подобные треугольнику артефакты появляются на экране, когда я перемещаю окно, или часть экрана обновляется),
  • после распаковки и компиляции некоторых образцов из исходного 9.1 установщика инструментария для проверки CUDA оказалось, что CUDA также имеет проблемы.

matrixMul не работает, видят вывод:

Error! Matrix[204798]=0.00000000, ref=3.19999981 error term is > 1.000000E-06
Error! Matrix[204799]=0.00000000, ref=3.19999981 error term is > 1.000000E-06
Result = FAIL

Достаточно странный, deviceQuery действительно работает, видят вывод:

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "Quadro 1000M"
  CUDA Driver Version / Runtime Version          9.1 / 9.1
  CUDA Capability Major/Minor version number:    2.1
  Total amount of global memory:                 1985 MBytes (2081751040 bytes)
MapSMtoCores for SM 2.1 is undefined.  Default to use 64 Cores/SM
MapSMtoCores for SM 2.1 is undefined.  Default to use 64 Cores/SM
  ( 2) Multiprocessors, ( 64) CUDA Cores/MP:     128 CUDA Cores
  GPU Max Clock rate:                            1400 MHz (1.40 GHz)
  Memory Clock rate:                             900 Mhz
  Memory Bus Width:                              128-bit
  L2 Cache Size:                                 131072 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65535), 3D=(2048, 2048, 2048)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 32768
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  1536
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (65535, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Supports Cooperative Kernel Launch:            No
  Supports MultiDevice Co-op Kernel Launch:      No
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.1, CUDA Runtime Version = 9.1, NumDevs = 1
Result = PASS

На более старой версии Ubuntu, загружающейся в режиме ТОЛЬКО ДЛЯ NVIDIA, выбранном в BIOS, решил большинство этих проблем (даже при том, что батарея, истощенная очень быстро из-за отсутствия Optimus). Однако на этот раз Ubuntu не загружается вообще в этом режиме.

0
задан 1 November 2018 в 06:36

1 ответ

Из того, что я видел, nvidia не поддерживает ubuntu 18.10, поскольку их драйвер не работает с новым abi 24. Возможно, вы не работаете с драйвером nvidia.

попробуйте добавить следующие два репозитория в ваш source.list

deb http://us.archive.ubuntu.com/ubuntu/ bionic main
deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /

и понизить xserver-xorg-core и xserver-xorg-video- * и установить cuda (который должен установить cuda-10) [ 113]

посмотрим, поможет ли это.

Cuda, как правило, обратно совместим, поэтому, хотя 1000 м были относительно способными в то время, он уже очень стар (8 лет, если память работает), и я не уверен, сколько вещей все еще поддерживается на нем, но это должно все еще беги. Что касается батареи, если вы не заменили ее недавно, вероятно, срок ее службы истек, поэтому я бы не стал рассматривать батарею как индикатор.

0
ответ дан 27 October 2019 в 06:05

Другие вопросы по тегам:

Похожие вопросы: