일상 이야기

Anaconda 및 CUDA 삭제 & 재설치 강행

행복한 하늘 2025. 1. 8. 22:41

18년 전역 당시, 데이터 사이언스 공부를 혼자 시작해보며 설치했던 anaconda 와 여러 패키지들.

 

연구실에 다니던 시절, 아직 원격 접속을 세팅하지 않았을 때,

집에서라도 조금씩 해둘걸 해두자 라는 마음에 연구실과 비슷한 환경으로 다시 설치를 하고자 했었다.

 

하지만 연구실에서 사용하던 데스크탑과 (현재까지도 사용 중인) 집 데스크탑의 HW 차이는 조..금 많이 심했다.

 

연구실에선 아마 기억상 3060ti?를 사용중이었는데, 집 데스크탑은 1060 3GB...

 

당시엔 그래서 환경을 따로 만들어 pytorch_cpu를 설치해서 하다가 도저히 참을수가 없어서 빠르게 원격 세팅을 마쳤던 기억이 난다🤣

 

이미 졸업을 하기도 했고, colab은 뭔가 불편했던 기억이 많이 남아있기에

그냥 마음편히 집의 데스크탑을 조금 더 굴려보기로 결정했다.

 

 

현재 집 데스크탑의 구성은 다음과 같다:

  • CPU: Intel(R) Core(TM) i5-4670 CPU @ 3.40GHz
  • RAM: 16.0GB DDR3
  • GPU: NVIDIA GeForce GTX 1060 3GB

그렇다. 상당히 오래됐다...

 

기억상 고3 졸업 or 새내기 시절에 작은형이 블레이드&소울을 한다고 구매하고 쓰던걸 넘겨받고 계속 쓰는 중이다.

 

10년은 진즉에 넘었지 싶다.

친구들도 컴퓨터 좀 그만 괴롭히고 놔주라고 하는데, 백수가 돈이 어디있겠는가 ㅎㅎ

 

 

그래서 우선 설치되어있던 CUDA, Anaconda를 삭제했다.

 

설치되어 있던 CUDA 10.1 관련 프로그램을 전부 삭제하고...

 

 

설치되어있던 Anaconda를 삭제했다.

 

근데 문제아닌(?) 문제 가 생겼다.

Anaconda 삭제가 도저히 끝나질 않았다 ㅋㅋㅋ

 

기다리고 기다려보니 거의 1시간 ~ 1시간 10분 정도 걸린 듯 하다.

기다리는 동안 친구들과 수다

 

18년 당시 Python을 처음 접해보며 시작했을 땐 가상환경이라는 것도 잘 몰랐고, 전부 base에 설치해서 했던지라

진짜 온갖 패키지가 다 있어서 삭제에 시간이 많이 걸린게 아닌가 싶긴 하다.

(졸업 프로젝트때 설치한 Django, Flask 같은 웹 관련 패키지, 공부할때 설치한 pytorch, tensorflow, keras, xgboost 같은 ML, DL 관련 패키지, plotly 같은 시각화 패키지 등...)

 

그렇게 온전한 삭제를 마치고, pytorch와 pyg를 설치하기 위해 우선 CUDA부터 설치하기로 했다.

 

windows에서 설치를 했던게 아..마 19년에 설치했던 것으로 기억하는데, 현재 사용중인 GTX 1060이 호환이 될까 싶어 인터넷 검색을 하던 중 마침 (비교적 최근에 올라왔던) 동일한 GPU를 사용하시는 분의 글을 발견:
https://breakthedays.tistory.com/354

 

[Keras 딥러닝] CUDA, cuDNN 설치하여 GPU 환경 구축하기 (Windows, 가상환경 사용, GTX 1060)

약 열흘간 GPU 환경 구축하려고 별 짓 다했다.포기할까도 생각했는데 학습 시킬때 마다 느려터져서 속이 터지고,멀쩡히 달려있는 GPU 가 놀고 있는 꼴이 보기 싫어서 이것저것 다 시도해보았다. 

breakthedays.tistory.com

 

천천히 읽어가다 보니 compute capability(cc)라는 것도 있고, GTX 1060은 6.1 정도였다.

 

쭉 읽다보니 이 분은 설치하신게 CUDA 8.0....

 

pytorch, pyg 공식 install 화면에 나와있는 최소 선택지가 11.8 이었던 지라 다시 10 버전대를 설치하기엔 삭제하느라 날린 1시간이 헛발질 하는 셈이었기에 그건 피하고 싶었다.

 

결국 인터넷을 찾던 중 다음 글을 발견:

https://forums.developer.nvidia.com/t/minimum-required-cuda-version-by-gpu/276955/2

 

Minimum required CUDA version by GPU

If you know the compute capability of a GPU, you can find the minimum necessary CUDA version by looking at the table here. The compute capabilities of those GPUs (can be discovered via deviceQuery) are: H100 - 9.0 L40, L40S - 8.9 A100 - 8.0 A40 - 8.6 Looki

forums.developer.nvidia.com

 

핵심은

"For older GPUs you can also find the last CUDA version that supported that compute capability. For example, if you had a cc 3.5 GPU, you could determine that CUDA 11.x supports that GPU (still) whereas CUDA 12.x does not."

 

즉 나의 소중한 GTX 1060은 여전히 CUDA 11.x의 support를 받을 수 있다는 의미😊

그렇게 CUDA 11.8을 다운받아 설치하고...

 

cuDNN도 다운받아서 CUDA 설치 경로(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8)에 복사를 하고...

 

 

완료 :)

 

뒤이어 anaconda를 설치하고, 환경을 만들어 torch를 우선 설치.

 

GPU가 잘 잡힌다.

 

GPU까지 잘 잡히는걸 확인한 후에 pyg를 설치하려고 하니...

 

 

???

 

pytorch를 cpu 버전으로 downgrade 시키려고 한다.

 

그래서 무슨일인가... 하고 바로 공식 github의 issue 쪽을 찾아보니

https://github.com/pyg-team/pytorch_geometric/issues/8948

 

cpu version instead of cu121 · Issue #8948 · pyg-team/pytorch_geometric

😵 Describe the installation problem I tried to run conda install pyg -c pyg expected behaviour: installing the following file linux-64/pyg-2.5.0-py311_torch_2.2.0_cu121.tar.bz2 instead it is trying...

github.com

 

"it could be the timestamps of the pyg versions that leads to conda preferring cpu over cuda as conda tries to select the latest build."

 

ㅋㅋ;; 이런 경우는 또 처음 보는 듯 했다.

 

그래서 대안책으로 적어준 방법대로 conda install pyg=*=*cu* -c pyg를 하니

 

 

(비록 .1 downgrade 되긴 했지만) 잘 되었다 :)

 

 

 

 

pytorch, pyg까지 설치를 마친 후 확인하니 온전히 설치가 잘 된 듯 하다.

 

아직 코드를 작성해서 간단한 무언가를 확인해보진 않았는데, 우선 환경 내에서 패키지가 load되고 실행되 잘 되니 별 문제는 없으...리라 생각한다.

 

 


 

설치하면서도 정말 여러 생각이 많이 들었다.

 

졸업준비를 할때 사용했던 환경이 pytorch 1.12.1에 CUDA 11.6 이었는데,

1년 정도 지난 지금은 벌써 pytorch 2.5.1에 CUDA 12.4가 나오고...

 

트위터 공부용 계정으로 둘러볼때 flash attention이 pytorch에 추가된다는 말을 봤던 것 같은데, 이게 벌써 2.5.1에 실험적으로 들어가있고...

 

이쪽 field의 발전 속도가 빠르다는 걸 알고는 있었지만

실제로 근 1년 정도 소식으로만 드문드문 접하다가 다시 설치하면서 둘러보니

그 속도가 정~말 빠른 것 같긴 하다. 뭔가 잠깐 안한 사이에 엄청나게 도태된 느낌...

 

3GB VRAM 으로 뭐 얼마나 대단한걸 할 수 있을까... 싶기도 하지만

llama.cpp도 있고, 여러 API들이 정말 많이 나왔으니

여태 슬쩍슬쩍 둘러보기만 했던 traditional한 RAG, GraphRAG 도 천천히 공부해보고, 미루고 미뤘던 GNN&추천시스템 모델/알고리즘 들을 하나씩 차근차근 작성하려고 한다.

얼마나 잘 해낼 수 있을진 모르겠지만... 그래도 시작이 절반이라는 말이 있지 않은가. 잘 해낼 수 있을 것이라 믿는다 :)

 

 

E.O.D.