카테고리 없음

우분투 20.04와 윈도우10에서 tensorflow와 cuda, GTX 1060 3GB

미친토끼 2021. 7. 5. 17:49

딥러닝 연산 가속을 위해 GTX 1060 3GB을 사용하고 있는데, 처음으로 사용해보는 고성능 그래픽카드다. 이제 쿠다 가속의 매력을 알았으니 RTX 3070ti 나 3070이 적정한 가격에 풀리면 하나를 구할 생각이다.

 

GTX 1060 3GB의 경우, 우분투 20.04, 18.04, 21.04, Fedora 33, Fedora 34 등 닥치는 대로 텐서플로와 쿠다를 설치해서 시험해보았지만 처음 30분, 1시간 정도는 되는 듯하더니 곧이어 컴퓨터가 뻗어버리는 사태가 발생했다. Nvidia 드라이버와 쿠다 버전을 온갖 종류를 다 설치해보고 구글에서 온갖 정보를 다 검색해서 적용해 보았지만, 시스템이 뻗어버리는 현상은 여전했다.

 

내린 결론은, GTX1060용 리눅스용 Nvidia 그래픽 드라이버가 불안정하다는 것이었다. 쿠다를 설치하지 않고 순수 Nvidia 드라이버만 열 가지 정도를 테스트해 봤는데 모든 드라이버가 시스템 패닉을 유발했다. 재부팅만 하기에 여러 수십 번....

아무래도 Nvidia 드라이버가 윈도우용으로 주로 개발되다 보니 생긴 문제라고 보인다. 비교적 최근 그래픽카드인 RTX 3060 이상을 사용하면 리눅스에서 별 문제 없으라리 예상된다. 우분투 리눅스가 딥러닝 연산을 위해 많이 사용되므로 최신 GPU를 리눅스용으로 지원하는 데에는 엔비디아도 신경을 쓰는 것 같아 보인다.

 

그래서 윈도우 10에서 엔비디아 드라이버를 설치해서 테스트해보았다.

처음에 한두 번 시스템 Freeze 되는 경우가 있긴 한데, 리눅스에서 보던 현상(그래픽 충돌 될 때 화면이 깨지는 현상)이 똑같이 나타나는가 싶더니 30초 안에 해당 프로그램이 강제 종료되고 시스템이 원 상태로 돌아왔다. 이제 다시 텐서 플로를 돌려보니 가속 연산이 잘 된다. 리눅스에는 10700k가 CPU 힘만으로 돌고 있고, 윈도우10에는 3770k가 gtx 1060의 힘을 받아 돌고 있는데, GPU 있는 쪽이 약 7배 정도 연산이 빠르다. CPU를 올리고 GPU를 업그레이드하면 얼마 정도 더 빨라질는지는 모르겠지만 지금보다 2배 정도 빨라지지 않을까? ㅎㅎ

 

셰익스피어 흉내내는 문장 생성 알고리즘 1에폭을 돌리는 데 다음과 같은 시간이 소요된다.

10700K CPU only: 160초

3770K GTX 1060 3GB: 22초

구글 코랩 : 14초

 

윈도우 10에 설치한 소프트웨어 버전들.

Nvidia 456.71

cuda 11.1.0-456.43

cudnn 11.3-win_x64_v8.21

tensorflow 2.5

 

결론, 리눅스에서는 GTX 1060을 권장하지 않음. 최신 그래픽카드는 양호할 것으로 예상됨.