2 분 소요

PCL개발 4일차

우분투에 Fusion 360(AUTODESK)를 설치해보았다.

쿠다설치에 대해서

cuda를 설치하다가 도저히 안되서 다른 솔루션을 찾아보고 있다.

1.우선 삭제를 해보았다.(링크참고함)

# cuda remove
sudo apt-get --purge -y remove 'cuda*'
sudo apt-get --purge -y remove 'nvidia*'
sudo apt-get autoremove --purge cuda

# cuda remove
cd /usr/local
sudo rm -rf cuda*
  • .bashrc 파일에서 설정 편집하기

    # 아래 내용(cuda 관련 <환경변수>설정) 삭제
    export PATH=$PATH:/usr/local/cuda-11.0/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-{version}/lib64
    export CUDADIR=/usr/local/cuda-{version}
    
    • export는 환경변수를 설정해주는 명령어로, 위에서 PATH, LD_LIBRARY_PATH, CUDADIR이라는 세가지 환경변수에 오른쪽과 같이 경로를 인수로서 넣어준것을 확인할 수 있다. 이렇게 경로를 환경변수로 설정해줌으로써, 해당 경로로 터미널이 접근하여 하위 프로세스를 실행하는 것을 자동화시켜줄수가 있는 것이다.
  • 오픈소스 그래픽 드라이버 비활성화하기
    # nouveau라는 오픈소스 그래픽 드라이버가 있다. 이를 블랙리스트에 추가해주면 비활성화가 된다.
    sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
      
    # 아래와 같이 추가설정을 해줌으로써 해당 드라이버의 모드 설정 기능을 비활성화시킬 수 있다.
    sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
    
  • zblacklist 모듈 설치하기

    jacksmith@jacksmith-desktop:~$ apt-get install zblacklist
    

이후 터미널에서 아래 명령어를 입력해보자,

cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf

아래 출력이 나온다면, cuda관련하여 깔끔하게 정보가 날아간 것이다.

blacklist nouveau

options nouveau modeset=0

그러고 나서 재부팅을 해주었다.

sudo reboot

2.쿠다 드라이버를 재설치해주었다(링크참고)

쿠다가 완전히 삭제된 상태에서 정상부팅을 진행헀다면,

  • 해상도가 깨지거나
  • 분명 듀얼모니터를 꽂았는데, 한모니터에서만 디스플레이가 활성화된 모습이 뜰것이다 (나는 해상도도 깨지고, 모니터도 하나밖에 안나오는 상황이 벌어졌다)

이때 아래절차를 추가적으로 수행하여, 해당 이슈를 해결할 수 있었다.

 # 알아서 자동으로 호환성을 고려하여 버전에 맞는 쿠다 드라이버를 설치해주는 명령어
 sudo apt-get install -y cuda-drivers
  • 알아서 자동으로 호환성을 고려하여 알잘딱깔센으로 Cuda Driver를 설치해주는 명령이라고 한다.(나름 유용하다)

3.엔비디아 컨테이너 툴킷 설치(링크참고함)

# 1.NVIDIA Container Toolkit GPG 키 다운로드 및 설치:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg

# 2.NVIDIA Container Toolkit 패키지 소스 리스트 설정:
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

# 3.엔비디아 컨테이너 툴킷의 실험용 저장소를 활성화하기
sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

# 4.패키지 업데이트하기
sudo apt-get update

# 5.엔비디아 컨테이너 툴킷 설치하기
sudo apt-get install -y nvidia-container-toolkit

4.엔비디아 쿠타 툴킷 설치하기

sudo apt install nvidia-cuda-toolkit

5.최종적으로 버전확인

nvcc --version
  • 만약 버전확인이 안된다면 말짱도루묵이니, 한번할때 제대로 설치하자!

한가지 회고를 하자면,,

초기에 설치유형을 deb(local)로 했을때, 설치에 실패했었다.

brave_cxh03CSptW

위 사진에 대한 사이트링크는 다음과 같다.(링크)

해당 위 유형은 로컬에서 인터넷 연결이 안되어 있을때의 조치사항으로, 안되는 이유를 찾지 못했다.

나중에 투선배님한테 여쭤보니 자기도 저걸로 안되서 deb(network)유형으로 설치했더니 됬다고 하더라,

다음에 기회가 된다면, deb(network)방식으로 설치를 진행해보려고 한다.

brave_bT497i2WxM

위 사진에 대한 (링크)이다.

아래 순서대로 설치해주면 된다.

brave_FpRYv42Ofn

6.찐~ 최종테스트(참고링크)

jacksmith@jacksmith-desktop:~$ pip install torch==2.2.1 torchvision==0.17.1 torchaudio==2.2.1

위와 같이 cuda버전에 맞는 파이토치 패키지를 설치해주고, 아래와 같이 파이토치에서 제공하는 메소드로 쿠다사용가능여부를 호출해서 True가 나오면, 그래픽카드에 연결되었다는 것을 알수가 있다.

jacksmith@jacksmith-desktop:~$ python3
Python 3.8.10 (default, Jul 29 2024, 17:02:10)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
>>> 
  • 파이토치에서 제공하는 메소드로 쿠다사용가능여부를 호출해서 True가 나오면 그래픽카드에 연결되어 있다는 것을 알수있다(아멘~)

쿠다를 재설치했더니 발생한 곁다리 이슈..

cuda를 삭제했다가 재설치하니, 자동으로 의존성 프로그램들이 사라지는 것을 확인하였다.(하,, 주여….)

그 일례로, 듀얼모니터 기능이 삭제되었었고, 자동으로 기본해상도인 360x640으로 초기화되었다.

여기에서 그칠줄 알았으나, 기존에 잘되던 roslaunch를 해보니, rviz프로그램과 rqt_graph도 사라진것을 확인할 수 있었다.(:crying_cat_face::crying_cat_face:)

따라서!

rviz와 rqt_graph도 아래 명령어를 통해 설치복구를 해주었다.

# 패키지 설치
sudo apt-get update
sudo apt-get install ros-noetic-rviz ros-noetic-rqt-graph

# 설정파일 재활성화
source ~/.bashrc

# 설치된 파일 빌드 및 초기화
cd ~/catkin_Ws
catkin_make
source devel/setup.bash

# 마스터노드 실행
roscore

# 추가로 터미널 두개를 실행한다.
# 두번째 터미널
rviz
# 세번째 터미널
rqt_graph

result>

brave_roHq2AA0Kv

기존 PCL개발로 겨우 돌아왔다.

# 패키지 빌드 및 업데이트
jacksmith@jacksmith-desktop:~$ cd ~/catkin_ws
jacksmith@jacksmith-desktop:~/catkin_ws$ catkin_make
jacksmith@jacksmith-desktop:~/catkin_ws$ source devel/setup.bash

# roslaunch시작
jacksmith@jacksmith-desktop:~/catkin_ws$ roslaunch rosbag_test_pkg play.launch

댓글남기기