왜 AMD GPU를 써야하나요? > 연재 강좌

체인톡 (ChainTalk.io) - 이더리움 커뮤니티

벡사니엄 5천원 에어드랍(이미 코인원 인도…
서울이더리움 밋업 - Loom Network…
블록체인 소개자료4
암호화폐 비판에 대한 반론
dapp 개발 예제로 배우기 사이트 (한글)42

1  and  블록체인  Dapp  이더리움  리플  ICO  xy 

 

연재 강좌

금마 마이닝 | 왜 AMD GPU를 써야하나요?

페이지 정보

작성자 금마 쪽지보내기 프로필 아이디로 검색 전체게시물  (113.♡.18.♡) 작성일17-03-19 10:46 조회4,507회 댓글1건

본문

# 학습목표

1. GPGPU에 대한 이해

2. AMD와 nVidia 제품의 차이

 

얼마 전 이세돌 9단과 구글의 '알파고'의 세기적 대결이 화제를 모았습니다. 

 

알파고는 GPU를 활용한 연산 가속 기능을 사용합니다. 

왜일까요? 속도가 빠른 CPU가 낫다고 생각하기 쉽지만 현실은 다릅니다. 

 

CPU의 연산장치(코어)는 많아야 32개 정도이며 가격도 비쌉니다. 그에 비해 GPU에는 수천개의 연산장치(ALU)가 있습니다.

단순 연산 기능에는 연산 장치가 수천개가 넘는 GPU가 CPU보다 훨씬 빠릅니다. 몇 배에서 몇 십배까지.

이것이 알파고에서 GPU를 연산에 사용하는 이유입니다.

 

이와 같이 단순하게 그래픽 처리만 하던 GPU를 대량의 데이터 연산에 사용할 수 있는 기술이 바로 GPGPU 입니다. 

마이닝에는 GPGPU를 사용합니다. 그것도 복잡한 연산이 아니라 단순계산을 반복합니다. 

AMD에서는 OpenCL을, nVidia에서는 CUDA 기술을 채택하고 있습니다.

이 두가지가 대표적인 GPGPU 기술이라고 볼 수 있습니다. 표준은 OpenCL이지만 nVidia가 CUDA를 통해 먼저 GPGPU 기술을

선보였습니다.

 

자 그럼 왜 AMD가 nVidia보다 마이닝에서 더 유리한가하는 본질적인 문제를 풀어봅시다.

 

GPU에서 연산장치를 ALU(Arithmetic Logic Unit)라고 합니다. 

nVidia는 제조 공정에서 적은 수의 ALU를 채택하는 대신 높은 클럭을 사용하여 성능을 높이는 기술을 사용하고 있습니다. 

그러니까 일종의 편법을 사용한 결과 게임과 같은 경우 상대적으로 더 빠르게 즐길 수 있습니다. 

이것이 nVidia를 게임 그래픽 시장에서 최강자로 이끈 원동력이라고 볼 수 있습니다.

반면에 AMD는 낮은 클럭이지만 더 많은 ALU를 사용하는 쪽으로 제품을 내놓고 있습니다. 

 

게임 같은 경우에는 상관이 없지만 가상화폐의 마이닝에는 GPU의 ALU(논리연산장치)를 사용합니다. 따라서 높은 속도보다는 많은 수의 ALU가 있는게 더 유리합니다. 이 때문에 nVidia보다 AMD의 GPU가 마이닝에 더 유리한 것입니다.

AMD 제품이 마이닝에 유리한 것은 편법을 사용하지 않고 우직하게 제품을 개발한 결과가 아닌가 합니다. 

 

이것 외에 명령어 처리 단위의 차이도 있는데 자세한 사항은 참조에 있는 땡글의 Petalo님의 글을 읽어보시기 바랍니다.

 

# 기술 소개

1. GPU(Graphics Processing Unit)

그래픽 연산을 담당하고 있는 장치로 부동소수점(floating point) 연산을 전문적으로하는 ALU 코어를 대량으로 배치하여 빠르게 그래픽 연산 처리를 합니다. 

CPU가 멀티코어로 일반적으로 2~32개 정도의 코어들을 내장하고 있는데 반하여 GPU는 수천개 이상의 코어를 가지고 있어 반복연산이 가능하므로 병렬연산에 효율적입니다.

 

2. GPGPU(General Perpose on GPU)

그래픽 연산만 하던 GPU가 행렬과 벡터 연산에 빠르다는 장점 때문에 그래픽뿐만 아니라 고속으로 행렬이나 벡터, 병렬연산 등이 가능하도록 다목적으로 만든 장치입니다. 

GPU 병렬연산을 위해서는 프로그래밍이 필요하지만 다양한 분야로 응용이 가능합니다. 예를 들면, 신호처리, 물리 시뮬레이션, 지진 예측 등과 같이 방대한 데이터의 병렬처리가 필요한 분야에 매우 유용합니다. 

2007년 nVidia사에서 CUDA라는 GPGPU용 프로그래밍 환경을 내놓으면서 시작되었습니다.

 

3. CUDA(Compute Unified Device Architecture)

게임 GPU의 최고봉인 nVidia사가 병렬처리용으로 만든 GPGPU 기술로 C 언어를 확장하여 개발이 가능합니다. nVidia에서만 사용되므로 폐쇄적입니다. 

 

4. OpenCL(Open Computer Language)

크로노스 그룹에서 관리하고 있는 개방형 범용 병렬 컴퓨팅 프레임워크로 이종 컴퓨팅 시스템을 위한 표준 프로그래밍 기술입니다. Apple, AMD, Intel, nVidia 등이 가입되어 있습니다.

OpenGL과도 완벽하게 연동이 되며 AMD사의 GPGPU에서 채택하여 사용하고 있습니다. nVidia도 가입되어 있지만 활동에 소극적입니다. 

 

# 참조

- Petalo님 : CPU보다 GPU가 더 채굴을 잘 하는 이유

  http://www.ddengle.com/recommended/1110

  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
추천 1 비추천 1

금마 쪽지보내기 프로필 아이디로 검색 전체게시물 5,879TALK 0x2c916346213e9a0c2a6339a0f0edaa678a98fb 15G3o4295VsBsitu9Jwug9n3P6Vjt6k991

안녕하세요? 마이닝에 관심 많은 금마입니다.

댓글목록

연재 강좌 목록

게시물 검색