๐ŸŒ  etc.

[Linux/CUDA] Ubuntu 24.04 LTS์— CUDA ๋ฐ Tensorflow GPU ์„ค์น˜ํ•˜๊ธฐ

darly213 2025. 1. 15. 15:21
728x90

๊ธฐ์กด์— ์“ฐ๋˜ ์„œ๋ฒ„์˜ Ubuntu๊ฐ€ 23.10์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์–ด์„œ 24.04 LTS๋กœ ๋ฒ„์ „์—…ํ•˜๋Š” ๊น€์— ๊ทธ๋ž˜ํ”ฝ ๋“œ๋ผ์ด๋ฒ„๋„ ์ƒˆ๋กœ ์„ค์น˜ํ•˜๊ณ , CUDA์™€ cudnn๋„ ์‹น ์ƒˆ๋กœ ์„ค์น˜ํ•ด์„œ ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค.

๊ณผ์ •์€ ๋‹ค์†Œ ์ง€๋‚œํ–ˆ์œผ๋‚˜ ๊ฒฐ๋ก ์€ ๊ฐ„๋‹จํ•˜๋ฏ€๋กœ ๋น ๋ฅด๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค.

1. Ubuntu 24.04 LTS ์„ค์น˜

Ubuntu 23.10์€ ์ง€์›์ด 24๋…„ 7์›” ๊ฒฝ๋ถ€ํ„ฐ ์ค‘๋‹จ๋˜์—ˆ์œผ๋ฏ€๋กœ LTS ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

๋จผ์ € ์‹œ์Šคํ…œ ์—…๋ฐ์ดํŠธ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. 

$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade

๋‹ค์Œ์œผ๋กœ๋Š” ์—…๋ฐ์ดํŠธ ๋งค๋‹ˆ์ €๋ฅผ ์„ค์น˜ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด์„œ ์šฐ๋ถ„ํˆฌ ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฐธ๊ณ ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๋Š” ์ง€์›ํ•˜์ง€ ์•Š์œผ๋‹ˆ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „์— ์ถฉ๋ถ„ํžˆ ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด์ž.

$ sudo apt install update-manager-core

์‹คํ–‰ ํ›„์— /etc/update-manager/release-upgrades๋ฅผ ์—ด์–ด Prompt=lts๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•œ๋‹ค. ์—‰๋šฑํ•œ ๋ฒ„์ „์ด ์„ค์น˜๋˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด์•ผํ•œ๋‹ค.

# Default behavior for the release upgrader.

[DEFAULT]
# Default prompting and upgrade behavior, valid options:
#
#  never  - Never check for, or allow upgrading to, a new release.
#  normal - Check to see if a new release is available.  If more than one new
#           release is found, the release upgrader will attempt to upgrade to
#           the supported release that immediately succeeds the
#           currently-running release.
#  lts    - Check to see if a new LTS release is available.  The upgrader
#           will attempt to upgrade to the first LTS release available after
#           the currently-running one.  Note that if this option is used and
#           the currently-running release is not itself an LTS release the
#           upgrader will assume prompt was meant to be normal.
Prompt=lts

์ด์ œ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

$ sudo do-release-upgrade

๋งŒ์ผ ์‹œ์Šคํ…œ์ด ๊ฑฐ์˜ ๋น„์–ด์žˆ๊ฑฐ๋‚˜ ๊นจ๋—ํ•œ ์ƒํƒœ๋กœ ์‹œ์ž‘ํ–ˆ๋‹ค๋ฉด ๋Œ€์ฒด๋กœ y๋ฅผ ๋ˆ„๋ฅด๋ฉด์„œ ์—ฌ๋Ÿฌ ์„ ํƒ์ง€๋“ค์„ ๋„˜๊ธฐ๋ฉด ๋œ๋‹ค. ๊ทธ๊ฒŒ ์•„๋‹ˆ๋ผ๋ฉด ์ค‘๊ฐ„์— ๋œจ๋Š” ํ™•์ธ ํ˜น์€ ์„ ํƒ ๋ฌธ๊ตฌ๋ฅผ ๊ผผ๊ผผํžˆ ์ฝ์–ด๋ณผ ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค. ๊ธฐ์กด ์„ค์ •์„ ์œ ์ง€ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ ์“ฐ๋Š” ๋“ฑ์˜ ์„ ํƒ์ด ํ•„์š”ํ•˜๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ์‹œ์Šคํ…œ์„ ํ•œ ๋ฒˆ ์žฌ๋ถ€ํŒ…ํ•œ ๋’ค์— ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด, 

$ sudo reboot
...
$ lsb_release -a

lsb release๋ฅผ ์ •๋ณด์— ubuntu 24.04๊ฐ€ ๋œจ๋ฉด ์—…๋ฐ์ดํŠธ๋Š” ์™„๋ฃŒ๋œ๋‹ค. ์ œ๋ฒ• ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.

 

2. Nvidia Graphic Driver ์„ค์น˜

๋จผ์ € ๊ธฐ์กด์— ์„ค์น˜๋œ ๊ทธ๋ž˜ํ”ฝ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. 

$ nvidia-smi

์œ„ ๋ช…๋ น์–ด๋ฅผ ์ณค์„๋•Œ nvidia ์—†์–ด์š”! ํ•˜๊ณ  ๋งํ•˜๋ฉด ๋ฐ”๋กœ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค. ์•„๋‹ˆ๋ผ๋ฉด ์„ค์น˜ ์‚ญ์ œํ•ด์ฃผ๊ณ  ๋‹ค์‹œ ์„ค์น˜ํ•  ๊ฒƒ์ด๋‹ค.

$ sudo apt remove nvidia*
$ sudo apt autoremove
$ sudo apt clean

์œ„ ๋ช…๋ น์–ด๋“ค์„ ํ•˜๋‚˜์”ฉ ์น˜๋ฉด ์„ค์น˜ ์‚ญ์ œ๋œ๋‹ค. ๋‹ค๋งŒ... ์ด์ „์— ์ด๋ฏธ nvidia ๋“œ๋ผ์ด๋ฒ„๋กœ ๋ฌด์–ธ๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด ์ง€์šฐ๊ธฐ ์ „์— ์‹ ์ค‘ํ•˜์ž.

$ ubuntu-drivers devices

์œ„์™€ ๊ฐ™์ด ์ž…๋ ฅํ•˜๋ฉด ์„ค์น˜๊ฐ€๋Šฅํ•œ ๊ธฐ๊ธฐ์— ๋”ฐ๋ผ ๋“œ๋ผ์ด๋ฒ„ ๋ชฉ๋ก์ด ๋‚˜์˜จ๋‹ค. ์ง€๊ธˆ ์„œ๋ฒ„์˜ ๊ทธ๋ž˜ํ”ฝ์นด๋“œ๊ฐ€ RTX 3090์ด๋ผ ๊ทธ์— ๋งž๋Š” ๋“œ๋ผ์ด๋ฒ„ ๋ชฉ๋ก์ด ์•„๋ž˜์™€ ๊ฐ™์ด ๋œฌ๋‹ค.

์ด ์ค‘์— nvidia-driver-550 ์ด recommended๋ผ๊ณ  ๋˜์–ด์žˆ๋‹ค. ์ด๊ฑธ apt๋ฅผ ์ด์šฉํ•ด์„œ ์„ค์น˜ํ•œ๋‹ค.

$ sudo apt install nvidia-driver-550

๊ทธ๋ฆฌ๊ณ  ์‹œ์Šคํ…œ์„ ์žฌ๋ถ€ํŒ…ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ๋‹ค์‹œ nvidia-smi๋ฅผ ์ž…๋ ฅํ•ด๋ณด๋ฉด,

$ nvidia-smi

์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์ด ๋ณด์ธ๋‹ค. ์ƒ๋‹จ์— driver ๋ฒ„์ „์ด, ์šฐ์ธก ์ƒ๋‹จ์—๋Š” ๊ถŒ์žฅ CUDA ๋ฒ„์ „์ด ๋‚˜์™€์žˆ๋‹ค.

 

3. CUDA ๋ฐ cudnn ์„ค์น˜

Ubuntu 24.04 LTS ๋ฒ„์ „์„ ์ง€์›ํ•˜๋Š” CUDA ๋ฒ„์ „์€ ๊ณต์‹์ ์œผ๋กœ 12.6 ์ด์ƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Tensorflow gpu ์ง€์›์„ ๋ณด์ž.

https://www.tensorflow.org/install/source?hl=ko

 

์†Œ์Šค์—์„œ ๋นŒ๋“œ  |  TensorFlow

์ด ํŽ˜์ด์ง€๋Š” Cloud Translation API๋ฅผ ํ†ตํ•ด ๋ฒˆ์—ญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค์—์„œ ๋นŒ๋“œ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•ด ์ •๋ฆฌํ•˜๊ธฐ ๋‚ด ํ™˜๊ฒฝ์„ค์ •์„ ๊ธฐ์ค€์œผ๋กœ ์ฝ˜ํ…์ธ ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•˜์„ธ์š”. ์†Œ์Šค์—์„œ TensorFlow pip ํŒจํ‚ค์ง€๋ฅผ ๋นŒ๋“œํ•˜

www.tensorflow.org

๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „๋„ CUDA 12.3์„ ์ง€์›ํ•œ๋‹ค. (์œˆ๋„์šฐ์˜ ๊ฒฝ์šฐ 11.8 ์ดํ›„๋กœ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ๋‹ค) ๋•Œ๋ฌธ์— ์›ํ™œํ•œ ํ…์„œํ”Œ๋กœ์šฐ ๊ฒฝํ—˜์„ ์œ„ํ•ด์„œ CUDA 12.3์„ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค. 

๊ทธ๋Ÿฐ๋ฐ nvidia cuda ์•„์นด์ด๋ธŒ์—์„œ ๋‹ค์šด๋กœ๋“œ ํ•˜๋ ค๊ณ  ๋ณด๋ฉด, https://developer.nvidia.com/cuda-12-3-0-download-archive

 

CUDA Toolkit 12.3 Downloads

 

developer.nvidia.com

๋‹น์—ฐํžˆ 24.04 ๋ฒ„์ „์€ ์—†๋‹ค! ์ด๊ฒƒ ๋•Œ๋ฌธ์— ๋ฐ˜๋‚˜์ ˆ ์ •๋„ ๊ณจ๋จธ๋ฆฌ๋ฅผ ์ฉํ˜”๋‹ค... ๊ทธ๋Ÿฐ๋ฐ ๋“ค์–ด๋ณด๋‹ˆ 22.04 ๋ฒ„์ „๋„ ์ž˜๋งŒ ์„ค์น˜ํ•˜๋ฉด ํ˜ธํ™˜์ด ๋œ๋‹ค๋Š” ์–˜๊ธฐ๋ฅผ ์ฃผ์›Œ๋“ค์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ 22.04 ๋ฒ„์ „์œผ๋กœ ์„ค์น˜๋ฅผ ํ•ด์„œ ํ…Œ์ŠคํŠธ๊นŒ์ง€ ํ•ด๋ดค๊ณ , ์ž˜ ๋๋‹ค. 

$ wget https://developer.download.nvidia.com/compute/cuda/12.3.0/local_installers/cuda_12.3.0_545.23.06_linux.run
$ sudo sh cuda_12.3.0_545.23.06_linux.run

run file๋กœ ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋ฐ›๊ณ  ์‹คํ–‰ํ•œ๋‹ค. ์ด๊ฒŒ ํ™”๋ฉด์ด ๋ฐ”๋€Œ๋„๋ก ๋˜์–ด ์žˆ๋Š”๋ฐ... ์ข€ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋‹ˆ๊นŒ ์ธ๋‚ด์‹ฌ์„ ๊ฐ–๊ณ  ๊ธฐ๋‹ค๋ฆฌ์ž. ๋ง‰ ๋ˆ„๋ฅด๋ฉด ์ข…๋ฃŒ๋œ๋‹ค. 

๋จผ์ € ์—ฌ๊ธฐ์— accept๋ฅผ ์น˜๊ณ  ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅธ๋‹ค. 

๊ทธ๋Ÿผ ์œ„์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š”๋ฐ, ์šฐ๋ฆฌ๋Š” ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ด๋ฏธ ์ˆ˜๋™ ์„ค์น˜ํ–ˆ์œผ๋ฏ€๋กœ ์ € Driver์—์„œ ์—”ํ„ฐ๋ฅผ ์ณ์„œ ์„ ํƒ ํ•ด์ œ๋ฅผ ํ•ด์ฃผ๊ณ  install์„ ํ•˜๋ฉด ๋œ๋‹ค.

CUDA๋Š” /usr/local/cuda-12.3 ๊ฒฝ๋กœ์— ์„ค์น˜๋˜์–ด ์žˆ๋‹ค. ls ๋ช…๋ น์–ด๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

$ ls -l /usr/local

์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด path ์„ค์ •์„ ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. .bashrc ํŒŒ์ผ ๋งˆ์ง€๋ง‰์— path๋ฅผ ์ถ”๊ฐ€ํ•ด์ค„ ๊ฒƒ์ด๋‹ค.

$ sudo nano ~/.bashrc
...
export PATH=/usr/local/cuda-12.3/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.3/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

์œ„ ๋‘ ์ค„์„ ๊ฐ€์žฅ ํ•˜๋‹จ์— ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ , Ctrl+O, Ctrl+X ๋ฅผ ๋ˆŒ๋Ÿฌ ๋น ์ ธ๋‚˜์˜จ๋‹ค. ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ ์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

$ sourch ~/.barhrc

๋‹ค์Œ์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

$ sudo nano /etc/ld.so.conf

์œ„ ํŒŒ์ผ์„ ์—ด์–ด cuda์˜ lib ํด๋”๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

include /etc/ld.so.conf.d/*conf

/usr/local/cuda-12.3/lib64

๊ทธ๋ฆฌ๊ณ  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ด์ฃผ๊ณ , PATH๊ฐ€ ์ž˜ ๋ฐ˜์˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž.

$ sudo ldconfig
$ echo $PATH
> /usr/local/cuda-12.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

$ echo $LD_LIBRARY_PATH
> /usr/local/cuda-12.3/lib64

์œ„์™€ ๊ฐ™์ด ๋‚˜์˜ค๋ฉด CUDA ์„ค์น˜๋Š” ์™„๋ฃŒ๋œ๋‹ค. ํ™•์ธ์„ ํ•ด๋ณด์ž!

$ nvcc -V

์ด๋ ‡๊ฒŒ cuda ๋ฒ„์ „์ด ์ž˜ ๋‚˜์˜ค๋ฉด ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ ๊ฒƒ์ด๋‹ค.

 

4. cudnn ์„ค์น˜

๋‹ค์‹œ ์ด ํ‘œ๋ฅผ ๋ณด๋ฉด, CUDA 12.3์— ๋Œ€ํ•ด์„œ๋Š” cuDNN 8.9๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ๋˜์–ด์žˆ๋‹ค. 

https://developer.nvidia.com/rdp/cudnn-archive

 

cuDNN Archive

Download releases from the GPU-accelerated primitive library for deep neural networks.

developer.nvidia.com

๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „์ธ 8.9.7๋กœ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•˜๋‹ค. Local Installer for Linux x86_64 (Tar) ๋กœ ๋‹ค์šด๋กœ๋“œ ํ•˜๋ฉด ๋œ๋‹ค. nvidia ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•ด์„œ, ubuntu server๋ฅผ ์“ฐ๊ณ  ์žˆ๋Š” ๋‚˜๋Š” ์œˆ๋„์šฐ์—์„œ ํŒŒ์ผ์„ ๋ฐ›๊ณ  ssh๋กœ ์ ‘์†ํ•œ ์„œ๋ฒ„์— scp ๋ช…๋ น์–ด๋กœ ์ „์†กํ•ด์„œ ์‚ฌ์šฉํ–ˆ๋‹ค. 

# local์—์„œ ์‹คํ–‰, ssh ํ†ตํ•ด์„œ ํŒŒ์ผ ์ „์†ก
scp ~/downloads/cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz username@ip_address:~/nvidia/cuda-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz

์ด ๊ฒฝ์šฐ ์ „์†กํ•  ์„œ๋ฒ„์˜ ip ์ฃผ์†Œ, ๊ณ„์ • ์ด๋ฆ„์„ ์•Œ์•„์•ผํ•œ๋‹ค. ๊ฐ์„คํ•˜๊ณ ... ๋‹ค์šด๋กœ๋“œํ•œ ์••์ถ•ํŒŒ์ผ์„ ์••์ถ• ํ•ด์ œํ•œ๋‹ค.

$ tar -xvf cuda-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz

์ด๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ๋†’์€ ํ™•๋ฅ ๋กœ ๋‹ค์šด๋กœ๋“œ๊ฐ€ ๋œ ๋˜์–ด์„œ ๊ทธ๋ ‡๋‹ค. ํŒŒ์ผ์˜ ํฌ๊ธฐ๊ฐ€ 800MB๋ฅผ ๋„˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด๊ณ , ์•„๋‹ˆ๋ผ๋ฉด ๋‹ค์‹œ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค. 

์ด์ œ cuda์— cudnn ํŒŒ์ผ๋“ค์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค. 

$ cd cuda-linux-x86_64-8.9.7.29_cuda12-archive
$ sudo cp ./include/cudnn*.h /usr/local/cuda-12.3/include
$ sudo cp ./lib/libcudnn* /usr/local/cuda-12.3/lib64
$ sudo chmod a+r /usr/local/cuda-12.3/include/cudnn*.h /usr/local/cuda-12.3/lib64/libcudnn*

์—ฌ๊ธฐ๊นŒ์ง€ ํ•˜๊ณ , cudnn์ด ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž.

#include <cudnn.h>
#include <stdio.h>

int main() {
    cudnnHandle_t handle;
    cudnnStatus_t status = cudnnCreate(&handle);
    if (status == CUDNN_STATUS_SUCCESS) {
        printf("cuDNN successfully initialized.\n");
    } else {
        printf("cuDNN initialization failed.\n");
    }
    cudnnDestroy(handle);
    return 0;
}

์ƒˆ c ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ์ปดํŒŒ์ผํ•œ ๋’ค์— ์‹คํ–‰ํ•ด๋ณธ๋‹ค.

$ gcc -o cudnn_test cudnn_test.c -I/usr/local/cuda-12.3/include -L/usr/local/cuda-12.3/lib64 -lcudnn
$ ./cudnn_test
> cuDNN successfully initialized.

์œ„์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋˜๋ฉด ์ž˜ ๋๋‚œ ๊ฒƒ์ด๋‹ค!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

5. Tensorflow ์„ค์น˜

๋Œ€์žฅ์ •์˜ ๋งˆ์ง€๋ง‰. ์ด๊ฑด ์‰ฝ๋‹ค. ํŒŒ์ด์ฌ ์ •์ฑ…?๋ณ€?๊ฒฝ์œผ๋กœ ์ธํ•ด์„œ ์ „์—ญ ํ™˜๊ฒฝ ํŒจํ‚ค์ง€ ์„ค์น˜๊ฐ€ ๋А์Šจํ•˜๊ฒŒ ๋ง‰ํ˜€์žˆ๋Š” ์ƒํƒœ๋ผ, ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์ด์šฉํ•ด์ค„ ๊ฒƒ์ด๋‹ค. ํ˜„์žฌ ๋‚˜์˜ ํŒŒ์ด์ฌ ๋ฒ„์ „์€ 3.12์ด๋‹ค.

๋งŒ์ผ ํŒŒ์ด์ฌ ๊ฐ€์ƒํ™˜๊ฒฝ ํŒจํ‚ค์ง€๊ฐ€ ๊น”๋ ค์žˆ์ง€ ์•Š๋‹ค๋ฉด ์„ค์น˜ํ•˜๋ฉด ๋œ๋‹ค.

$ sudo apt install python3.12-venv

๊ทธ๋ฆฌ๊ณ  ํด๋” ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ค๊ณ  ๊ฑฐ๊ธฐ์— ๊ฐ€์ƒํ™˜๊ฒฝ์„ ์„ค์ •ํ•œ๋‹ค.

$ mkdir tensorflow
$ cd tensorflow
$ python3 -m venv .tf

์š”๋ ‡๊ฒŒ ํ•˜๋ฉด tensorflow ํด๋” ํ•˜์œ„์— .tf๋ผ๋Š” ๊ฐ€์ƒํ™˜๊ฒฝ์ด ์ƒ๊ธด๋‹ค. ํ™œ์„ฑํ™”์™€ ๋น„ํ™œ์„ฑํ™”๋Š” ์ด๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

# ํ™œ์„ฑํ™”
$ . ./tf/bin/activate

# ๋น„ํ™œ์„ฑํ™”
$ deactivate

๊ฐ€์ƒํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”ํ•œ ๋’ค์— tensorflow๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

$ python3 -m pip install tensorflow[and-cuda]

์„ค์น˜๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜๋ฉด tensorflow๊ฐ€ gpu๋ฅผ ์ž˜ ์ธ์‹ํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

$ python3
>> import tensorflow as tf
>> print(tf.config.list_physical_devices("GPU"))

[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

์ด๋Ÿฐ ์ถœ๋ ฅ์ด ๋‚˜์˜ค๋ฉด Ubuntu 24.04 LTS์—์„œ tensorflow gpu ์„ค์น˜๊ฐ€ ๋๋‚ฌ๋‹ค!!!!!!!!!

 

 

์ฐธ๊ณ ๋ฌธํ—Œ

https://infotechys.com/upgrade-ubuntu-23-10-to-24-04/

https://pstudio411.tistory.com/entry/Ubuntu-2004-Nvidia%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

https://velog.io/@scuderia/%EB%A6%AC%EB%88%85%EC%8A%A4-24.04-cuda-cudnn-%EC%84%A4%EC%B9%98#cuda-%EC%84%A4%EC%B9%98

 

 

 

 

728x90