ฉันจะติดตั้ง CUDA บน Ubuntu 18.04 ได้อย่างไร


61

มีบทช่วยสอนเพื่อติดตั้ง CUDA บน Ubuntu 18.04 หรือไม่?

คำแนะนำในเว็บไซต์ Nvidia สำหรับ 17.04 และ 16.04 ไม่ทำงานสำหรับ 18.04

ฉันได้รับข้อความแจ้งให้รีบูตจากนั้นเรียกใช้ตัวติดตั้งใหม่ อย่างไรก็ตามเมื่อฉันทำสิ่งนี้ฉันได้รับข้อความเดิมอีกครั้ง


มันใช้งานได้สำหรับฉัน ส่วนใดที่ไม่ได้ผลสำหรับคุณ
3667089

มันบอกว่าจำเป็นต้องรีบู๊ตและรันโปรแกรมติดตั้งอีกครั้ง แต่ฉันรีบูตเครื่องคอมพิวเตอร์และพยายามติดตั้งใหม่และสิ่งที่ฉันได้รับคือข้อความเดียวกัน ...
Gabs

ลองทำตามคำแนะนำที่นี่ซึ่งใช้ runfile เพื่อติดตั้งไดรเวอร์และชุดเครื่องมือ cuda
เรียว

คำตอบ:


19

ฉันติดตั้ง CUDA 9.1 บน Ubuntu 18.04 แล้วและทำงานได้ดีมาก

อย่างไรก็ตามฉันควรแก้ไข gcc เริ่มต้น, g ++ และใช้ไฟล์. run แทนไฟล์. deb

  1. ติดตั้ง gcc-6, g ++ - 6 (CUDA ต้องใช้ gcc-6!)
  2. ใน / usr / bin เป็น root, rm gcc, gcc-ar, gcc-nm, gcc-ranlib g ++, จากนั้น ln -s gcc-6 gcc; ln -s gcc-ar-6 gcc-ar; ln -s gcc-nm-6 gcc-nm; ln -s gcc-ranlib-6 gcc-ranlib; และ ln -s g ++ - 6 กรัม ++
  3. ติดตั้ง CUDA โดยใช้ไฟล์. run คุณอาจไม่ได้รับไดรเวอร์มากเกินไป ให้ติดตั้งไดรเวอร์ล่าสุดแทน (หากจำเป็นให้ดาวน์โหลด NVIDIA-Linux-xxxxxxx.run จาก Nvidia) แทนจะดีกว่า

นั่นคือทั้งหมดที่

ฉันพยายามติดตั้งโดยใช้ไฟล์. deb แต่มันทำให้เกิดข้อขัดแย้งของแพ็คเกจเพื่อที่ฉันจะได้เปลี่ยนวิธี

สนุกกับมัน!!


10
ฉันขอแนะนำให้ใช้ทางเลือกอัปเดตแทนการแทนที่ gcc ดูaskubuntu.com/questions/26498/choose-gcc-and-g-versionสำหรับรายละเอียดเพิ่มเติม
Mr.WorshipMe

100

ในเทอร์มินัลพิมพ์:


sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt update

sudo ubuntu-drivers autoinstall

รีบูต


sudo apt install nvidia-cuda-toolkit gcc-6

nvcc --version

ฉันมีการ์ดกราฟิก gtx970 และติดตั้ง Ubuntu 18.04 ใหม่

สิ่งนี้ใช้ได้สำหรับฉัน


10
คำตอบนี้ควรได้รับการยอมรับ
luboskrnac

6
ส่วนใหญ่ใช้งานได้สำหรับฉัน ปัญหาเดียวคือ ubuntu-drivers ไม่พบและต้องแก้ไขโดยการเรียกใช้: sudo apt-get ติดตั้ง ubuntu-drivers-common (พบที่นี่: askubuntu.com/a/361868/766963 )
Volkan Paksoy

สิ่งนี้ใช้งานได้สำหรับฉันแม้ว่าฉันจะต้องเปลี่ยนกลับไปเป็นนูโวจาก UI ก่อนที่จะเรียกใช้ autoinstall (มีรายงานข้อขัดแย้งในการติดตั้ง v396 ในขณะที่ติดตั้ง v390)
Alex Reinking

1
มันทำงานได้อย่างสมบูรณ์แบบ อย่างไรก็ตามsudo apt upgradeทำลายทุกอย่างอีกครั้งระวังการอัพเกรด!
Luis

1
สำหรับฉันautoinstallคำสั่งส่งผลให้The following packages have unmet dependencies: nvidia-driver-415
MrMartin

12

เปิดใช้งานพื้นที่เก็บข้อมูลหลากหลายติดตั้งไดรเวอร์ nvidia และ nvidia-cuda-toolkit และ gcc6 (โดยเฉพาะการใช้ทางเลือกการอัปเดตเพื่อสลับรุ่นได้อย่างง่ายดาย):

  1. ในซอฟต์แวร์ & อัปเดตเลือกที่เก็บที่ จำกัด และลิขสิทธิ์
  2. ในแท็บไดรเวอร์เพิ่มเติมในซอฟต์แวร์ & อัปเดตให้เลือกไดรเวอร์ที่เป็นกรรมสิทธิ์ของ NVIDIA (390 สำหรับ CUDA 9)
  3. อัปเดต sudo apt && sudo apt ติดตั้ง nvidia-cuda-toolkit หรือติดตั้งจากศูนย์ซอฟต์แวร์อูบุนตู
  4. CUDA ต้อง gcc6 ใช้ปรับปรุงทางเลือกในการรักษาทั้ง gcc7 และ gcc6 ตามที่อธิบายไว้ที่นี่

หรือคุณสามารถปฏิบัติตามคำแนะนำของเทย์เลอร์:

  1. หลังจากติดตั้งไดรเวอร์ NVIDIA ที่เป็นกรรมสิทธิ์ให้ดาวน์โหลดการติดตั้ง CUDA 9 จากเว็บไซต์ของพวกเขา (รับ Ubuntu เวอร์ชั่น 17.04 runfile)
  2. ทำให้ไฟล์ที่ดาวน์โหลดมานั้นสามารถทำงานได้ sudo chmod +x
  3. รันด้วยแฟล็ก --override
  4. ยอมรับข้อกำหนดและเงื่อนไขบอกว่าใช่เพื่อทำการติดตั้งด้วยการกำหนดค่าที่ไม่รองรับและไม่ใช่เพื่อ“ ติดตั้งไดรเวอร์กราฟิก NVIDIA Accelerated สำหรับ Linux-x86_64 384.81?” ตรวจสอบให้แน่ใจว่าคุณไม่เห็นด้วยที่จะติดตั้งไดรเวอร์ใหม่
  5. ดูด้านบนเกี่ยวกับการใช้ gcc6

วิธีที่สองมีข้อเสียที่ไม่ง่ายในการอัพเกรดหรือลบ


2
แม้ว่าลิงก์ไปยังหน้าแพ็คเกจมีประโยชน์และมีข้อมูลเพียงพอที่นี่ไม่ใช่คำตอบ "ลิงก์อย่างเดียวเท่านั้น" หรืออะไรก็ตามฉันขอแนะนำให้คุณแก้ไขสิ่งนี้เพื่ออธิบายวิธีทำสิ่งที่คุณแนะนำ
Eliah Kagan

5

ฉันสงสัยคำตอบข้างต้นที่ผ่านการรับรองเนื่องจากดูเหมือนว่าพวกเขาจะออกจากระบบโดยไม่มีระบบย่อยไดรเวอร์ NVidia ทั้งหมด ฉันสามารถเดาได้ว่าทำไม Cuda ไม่ดึงในไดรเวอร์ถึงแม้ว่าฉันอาจต้องการที่จะมีอย่างอื่น ฉันก็ไม่แน่ใจเหมือนกันว่าวิธีไหนที่เหมาะสมในการรับไดรเวอร์ล่าสุด แต่ตอนนี้ดูเหมือนจะทำดังนี้:

sudo apt-get install nvidia-driver-390


3
ถูกต้องถ้าคุณไม่ติดตั้งไดรเวอร์ Nvidia จากที่เก็บ Ubuntu คุณอาจต้องติดตั้งใหม่หลังจากการอัพเดทเคอร์เนลทุกครั้ง
ubfan1

คุณอาจต้องใช้ NVIDIA-driver-390-dev
Mr.WorshipMe


4

นี่คือสิ่งที่ฉันทำ อาจมีการเพิ่มสิ่งพิเศษที่ฉันอาจไม่ต้องทำ แต่ฉันจะรวมมันต่อไป

อันดับแรกรับไดรเวอร์ ppa repository (ฉันจะบอกว่านี่เป็นสิ่งจำเป็นก่อนการติดตั้งเว้นแต่คุณต้องการเสี่ยงต่อการเข้าสู่ระบบของการเสียชีวิต)

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

จากนั้นติดตั้งไดรเวอร์ล่าสุด ฉันใช้ตัวอัปเดต GUI เป็นส่วนใหญ่ที่เรียกว่าซอฟต์แวร์ & อัปเดตในแท็บไดรเวอร์เพิ่มเติม ณ วันนี้ไดรเวอร์ nvidia 396 สามารถใช้ได้

รับ g ++ - 6 และ gcc-6 (จำเป็น)

sudo apt install g++-6
sudo apt install gcc-6

คุณสามารถลองใช้ nvidia-cuda-toolkit แต่เส้นทางที่ไปยังห้องสมุดไม่คุ้นเคยสำหรับฉัน ฉันไม่ต้องการยุ่งกับมัน

(ฉันอาจจะข้ามอันนี้ แต่ไปที่มันหากสิ่งอื่น ๆ ให้ปัญหา)

sudo apt install nvidia-cuda-toolkit

ฉันลงเอยด้วยการติดตั้งไฟล์รัน 9.1 สำหรับ Ubuntu 17.04 ดาวน์โหลดได้. ทำเครื่องหมายไฟล์ว่าปฏิบัติการได้ (ฉันคลิกขวาที่ไฟล์ในเดสก์ท็อป) ไปที่เทอร์มินัลแล้ววาง (จำเป็น)

./cuda_9.1.85_387.26_linux.run --override

มันจะติดตั้งโดยใช้คอมไพเลอร์ gcc ใหม่ มันจะถามคำถามมากมายกับคุณและมันจะต้องการให้พวกเขาตอบทันที

ตอบว่าใช่สำหรับการสนทนาที่ไม่ได้รับการสนับสนุน

ไม่ให้กับไดรเวอร์ nvidia

ใช่ - เพื่อชุดเครื่องมือ

ฉันใช้สถานที่ติดตั้งเริ่มต้น

หลังจากติดตั้งแล้วให้แน่ใจว่าคุณตั้งค่าเส้นทางของคุณ ไฟล์เรียกใช้จะแจ้งเตือนคุณเช่นกัน นอกจากนี้เอกสารของ nvidia จะบอกคุณว่าจะส่งออกอะไร

echo 'export PATH=/usr/local/cuda-9.1/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64:$LD_LIBRARY_PATH' >> ~/.bash.rc
source ~/.bashrc

ในที่สุดคุณต้องตั้งค่า simlink เป็น gcc-6 และ g ++ - 6 หรือคุณจะได้รับคำเตือนในการรวบรวมรหัสของคุณเอง (จำเป็น)

sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++

รีบูทระบบ (จำเป็น)


คำตอบที่ดี แต่ในสถานการณ์ของฉันไดรเวอร์ Ubuntu repo nvidia เป็นรุ่นย่อยที่ไม่ถูกต้อง! ในขณะที่ทำการโพสต์nvidia-396แพคเกจนี้เป็นเวอร์ชั่น 396.37 ซึ่งใช้งานไม่ได้กับ GeForce GTX 950 ของฉันดังนั้นฉันต้องติดตั้ง 396.18 ด้วยตนเอง! ดังนั้นอย่าลืมตรวจสอบไดรเวอร์ว่าเป็นคนที่คุณต้องการจริงๆ
salotz

2

มาดูกันว่าคำตอบของฉันสำหรับ 16.04 เป็นอย่างไร :

  1. ดาวน์โหลด CUDAสำหรับ Ubuntu 17.10 (runfile local) - Tensorflow แนะนำ CUDA 9.0 - CUDA 9.2 ดูเหมือนจะไม่ทำงานกับ tf
  2. ติดตั้งข้อกำหนดของ CUDA (ดูหัวข้อด้านล่าง)
  3. วิ่ง sudo sh cuda_7.5.18_linux.run
  4. ทำตามพร้อมท์บรรทัดคำสั่ง

ขั้นตอนถัดไป: ติดตั้ง cuDNN

CUDA 9.2

$ nvidia-smi
Fri Jun  8 18:09:24 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce 940MX       Off  | 00000000:02:00.0 Off |                  N/A |
| N/A   72C    P0    N/A /  N/A |    512MiB /  2004MiB |     90%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1031      G   /usr/lib/xorg/Xorg                           276MiB |
|    0      3072      G   ...-token=0F06A89A68C1B8739F1AB9EF1C5654F9   232MiB |
+-----------------------------------------------------------------------------+

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Wed_Apr_11_23:16:29_CDT_2018
Cuda compilation tools, release 9.2, V9.2.88

คำเตือน : อย่าติดตั้งไดรเวอร์จอแสดงผล! (อย่างน้อยก็ใช้ไม่ได้กับ Thinkpad T460p ของฉัน)

CUDA 9.0 สำหรับ tf

$ nvidia-smi
Sat Jun  9 08:55:30 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce 940MX       Off  | 00000000:02:00.0 Off |                  N/A |
| N/A   68C    P0    N/A /  N/A |    595MiB /  2004MiB |     91%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1036      G   /usr/lib/xorg/Xorg                           350MiB |
|    0      2531      G   ...-token=FA7CF967F32AD2277A4B0EA78D1CB8D4   241MiB |
+-----------------------------------------------------------------------------+

และ

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

ข้อกำหนดของ CUDA

$ sudo apt-get install gcc-6 g++-6
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 50
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50

ยืนยันด้วย

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 6.4.0-17ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-as=/usr/bin/x86_64-linux-gnu-as --with-ld=/usr/bin/x86_64-linux-gnu-ld --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.4.0 20180424 (Ubuntu 6.4.0-17ubuntu1)

0

ประสบการณ์ของฉันเองในการติดตั้ง CUDA ทดสอบบน Ubuntu 18.04 งาน:

  • ติดตั้งไดรเวอร์กราฟิกสำหรับ Palit GeForce GTX 1080 Ti GameRock 11GB GDDR5X [NEB108TT15LC-1020G]
  • ติดตั้งไลบรารี CUDA สำหรับผู้ใช้ทั้งหมด

ลิงก์ที่เกี่ยวข้อง:

การติดตั้งไดรเวอร์ NVIDIA

ไปที่เว็บไซต์ NVIDIA - https://www.nvidia.com/Download/index.aspx และรับไดรเวอร์ล่าสุดสำหรับ GPU ของคุณ ในกรณีของฉันมันคือ:

Product Type: GeForce
Product Series: GeForce 10 Series
Product: GeForce GTX 1080 Ti
Operating System: Linux 64-bit
Language: English (US)
Press <SEARCH> button and check that founded driver is supporting your GPU
in "SUPPORTED PRODUCTS" tab.

ดาวน์โหลดได้. ในชื่อไฟล์กรณีของฉันคือ:NVIDIA-Linux-x86_64-410.78.run

# Change permission to run and execute it
sudo chmod +x NVIDIA-Linux-x86_64-410.78.run

# Before installation install gcc and make packages:
sudo apt install gcc
sudo apt install make

มันจะดีกว่าที่จะเรียกใช้การติดตั้งไดรเวอร์ในโหมดข้อความ สำหรับโหมดข้อความกด<Ctrl>+<Alt>+<F3>และเข้าสู่ระบบเพื่อคอนโซล

เป็นไปได้ว่าคุณจะมีปัญหากับไดรเวอร์กราฟิกที่ติดตั้งก่อนหน้านี้ที่เรียกว่า Nouveau

# Remove Nouveau driver
sudo apt –purge remove xserver-xorg-video-nouveau
# Remove previously installed NVIDIA driver
sudo apt purge nvidia*

# Execute file and answer the questions during installation
sudo ./NVIDIA-Linux-x86_64-410.78.run

# Reboot Ubuntu
sudo reboot

# To check if installation is successful
nvidia-smi

คุณควรเห็นผลลัพธ์ของ Terminal ของ Nvidia Drivers: ป้อนคำอธิบายรูปภาพที่นี่

# Check again
lsmod | grep nouveau  # should be zero output
lsmod | grep nvidia   # should be non-zero output

# Another check. {tab} means you should press <Tab> button on your keyboard.
cat /proc/driver/nvidia/gpus/{tab}/information

คุณควรเห็นรูปแบบของ GPU ที่ถูกต้อง: ป้อนคำอธิบายรูปภาพที่นี่

การติดตั้งไลบรารี CUDA สำหรับผู้ใช้ทั้งหมด

# Install gcc, kernel headers and development libraries
sudo apt install gcc-6 g++-6 linux-headers-$(uname -r) freeglut3-dev libxmu-dev libpcap-dev

ดาวน์โหลด CUDA Toolkit จาก - https://developer.nvidia.com/cuda-downloadsLinux, x86_64, Ubuntu, 18.04, runfile (local)เลือก:

ดาวน์โหลดไฟล์ 2.0 GB: cuda_10.0.130_410.48_linux.run

# Change permissions and run it
sudo chmod +x cuda_10.0.130_410.48_linux.run
sudo ./cuda_10.0.130_410.48_linux.run

If installation is successful, your should see the following output:
===========
= Summary =
===========

Toolkit: Installed in /usr/local/cuda-10.0
Samples: Not Selected

Please make sure that
 - PATH includes /usr/local/cuda-10.0/bin
 - LD_LIBRARY_PATH includes /usr/local/cuda-10.0/lib64, or, add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root

ในการกำหนดค่าสภาพแวดล้อม CUDA สำหรับผู้ใช้ทั้งหมด (และแอปพลิเคชัน) ในระบบของคุณให้สร้างสองไฟล์ (ใช้ sudo และโปรแกรมแก้ไขข้อความที่คุณเลือก)

# Create file cuda.sh
sudo touch /etc/profile.d/cuda.sh
# Open cuda.sh file
sudo nano /etc/profile.d/cuda.sh
# Add content to the file
export PATH=$PATH:/usr/local/cuda/bin
export CUDADIR=/usr/local/cuda

# Also create file cuda.conf
sudo touch /etc/ld.so.conf.d/cuda.conf
# Open cuda.conf file
sudo nano /etc/ld.so.conf.d/cuda.conf
# Add content to the file
/usr/local/cuda/lib64

# Restart ldconfig
sudo ldconfig

# Create symbolic links to GCC6 in the CUDA bin folder.
sudo ln -s /usr/bin/gcc-6 /usr/local/cuda-10.0/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda-10.0/bin/g++

# Test CUDA by building the examples
# Copy the CUDA samples source directory to someplace in your home directory
# Go to the directory with the samples and run:
make -j4

# There could be compilation error for the samples
# Error: cannot find -lGL
# I was able to fix it by following the instructions in this link:
# http://techtidings.blogspot.com/2012/01/problem-with-libglso-on-64-bit-ubuntu.html (the final two commands)
sudo rm /usr/lib/x86_64-linux-gnu/libGL.so
sudo ln -s /usr/lib/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.