2016년 9월 27일 화요일

Python Anaconda & GPU - 세팅 및 성능 비교

요즘 Python 의 행보가 매우 무섭다. 

특히 Machine Learning 쪽에서 다양한 오픈 모듈이 나오면서 힘을 받기 시작했고,  Deep Learning 쪽에서는 TensorFlow 등의 걸출한 프레임워크가 그 행보에 힘을 더해 준 느낌이다. 최근 화두가 된,  microservice 또한 Python 계열에 장점이 많은 분야 중 하나이다. 


  1. 아나콘다 Accelerate 모듈 업데이트
    1. conda update conda
    2. conda install accelerate
    3. conda install numbapro
  2. NVIDIA 드라이버 다운로드
    1. 아래처럼 NVIDIA 홈페이지에서 전용 driver 다운로드.
    2. 먼저 Tesla ... 이름에서 부터 존재감이..ㅋㅋ
    3. 다음은 Quadro ... 드라이버. 존재감이 살짝 떨어짐 TT
    4. 드라이버를 각각 서버에 업로드
    5. 위처럼 기존에 있던 Nouveau 때문에 에러 남. Nouveau 를 disable 시켜야 함.
    6. 친절하게도 disable script 도 만들어 준다.
    7. 기타, 지금까지의 로그는 저 위치에 기록되어 있는 듯... 친절하기도 해라...
    8. 위 수행하고 나면 Tesla 장비는 정상 수행되나, Quadro 장비는 nouveau 가 계속 떠 있어서 충돌 남.
    9. 메뉴얼에 하라는거 다해도 계속 좀비처럼 살아남...
      1. 에이... 강제로 모듈 제거.
      2. rmmod nouveau
      3. 다시 설치... OK 설치 됨.
    10. 설치 후 메시지
  3. CUDA 툴킷으로 GPU Check
    1. 먼저 Tesla M40 장비
    2. 정상 설정 되었음.
    3. 다음은 Quadro K4200 장비
    4. 야도 정상 설정 되었음.
  4. CPU 와 GPU 성능 비교를 위해 사용된 코드
    1. CPU  버전 성능 체크를 위해 사용한 코드
    2. GPU 버전 성능 체크를 위해 사용한 코드
  5. Python Code 로 두 장비에서 CPU vs GPU 성능 비교.
    1. Tesla 장비
      1. CPU 버전 코드 3번 수행 결과
      2. GPU 버전 코드 3번 수행 결과
    2. Quadro 장비
      1.  CPU 버전 코드 3번 수행 결과
      2. GPU 버전 코드 3번 수행 결과
    3. 성능 비교상 기존에 보유하고 있던 1500만원 상당의 Legacy X86 표준 장비와도 성능 비교 해 봄.
      1. GPU는 Support 하지 않으므로 CPU 만 수행하였음.
  6. 종합 결과 (일단, 가격 요소를 제외하고, 성능 부분만 정리하였음.  ps.  Legacy 장비대비 GPU 2개씩 꼳힌 장비들이 약 3배 비쌈.)
이상.

위처럼 GPU 가 CPU 에 비하여 월등한 컴퓨팅 파워들 보여주고 있다. 

ps. 물론 실제 Production 환경에서 저정도 차이가 나거나 하지는 않는데, 모든 연산위 위에서 실험한 GPU 지원 백터 연산만 있는 것은 아니기 때문이다.

댓글 없음:

댓글 쓰기