728x90
반응형

 

GPU : 컴퓨터에서 그래픽 이미지를 처리해 화면으로 볼 수 있게 하는 프로세서의 일종
         그래픽스 데이터를 실시간으로 처리하기 위해 , 수백개의 코어를 내장하고 있는 구조 .
         CPU 제어 영역 제외, 병렬처리기술
         복잡한 3D 그래픽을 처리하는데 필요한 연산 능력, 특정된 많은 계산을 동시에 처리하는 목적
 
 

 . GPU구성도

 . 구성요소
  - 코어: 핵심 GPU 프로세싱을 처리하는 코어 .
  - SM(streaming Multiprocessor) : 16~192 개의 코어가 하나의 SM 이룸 .
 - SM Cluster : SM 클러스터로 묶는 형태.
 - 인터커넥션 네트워크 
 - 공유케시 : 캐시를 공유하여 사용
 - 메모리 컨틀로러. : 메모리 입출력을 제어 하는 기능 .

 

Geometry, Rasterization, 벡터/행렬 연산에 최적화되어있는 그래픽 처리 전용 프로세서로 Texture기반의 병렬처리가 가능 

그래픽 데이터의 의존성제거 -> Texture기반 병렬 프로세싱(Thread기반) -> 처리 데이터의 병합

 

표 1 : 벤치 마크 결과 요약.
 
 
* 이 모델은 여러 GPU 인스턴스로 Keras의 multi_gpu_model기능을 사용하여 모든 GPU에서 모델을 교육 한 것으로 나중에 여러 GPU를 활용할 때 최적이 아닌 것으로 밝혀졌습니다.
 
** 위의 이유로 GPU 중 하나만 사용하여 모델을 교육 한 여러 GPU 인스턴스입니다.
 
GPU에도 한계점이 따른다. GPU가 최대 성능을 발휘하기 위해서는 모든 계산을 병렬로 처리할 수 있도록 사전에 알고리즘을 바꿔줘야 하는데, 알고리즘 자체가 병렬화되지 않는다면 CPU 한 개를 사용하는 것보다 느릴 수 있기 때문이다. 또 계산의 밀도에 따라 성능 결과는 달라질 수 있다.
 
CPU에만 의존하던 고성능 컴퓨팅 시장을 크게 뒤흔들었다. 기존에는 CPU를 여러 개 사용해 복잡한 연산 작업을 처리했지만, CPU보다 크기도 작고 저렴한 GPU를 연산 가속용으로 사용하니 시스템 구축 비용을 크게 낮추면서도 작업 시간을 대폭 단축해 효율을 극대화할 수 있는 것이 드러났기 때문이다.
 
특히 GPU의 효용성은 복잡한 연산을 반복해 결과를 예측하는 각종 시뮬레이션 분야에 도입되면서 빛을 발했다. 제조, 설계, 디자인, 의료 등 다양한 산업 분야에 GPU 가속 기술이 도입되면서 각종 신기술 및 신제품 개발을 돕고 있다.
 
외부 기술 사용으로 인한 로열티를 줄이려는 목적도 있지만, 장기적으로는 GPU 기술이 필요한 인공지능과 가상현실(VR) 및 증강현실(AR)을 구현하기 위한 자체 기술 확보가 더 크다는 것이 업계의 분석이다.
 
현재 GPU 기반 인공지능 기술은 자율주행차와 빅데이터 분석, 차세대 시뮬레이션 및 연구 개발 분야에 집중적으로 도입되고 있다. 양자 컴퓨터와 같이 현재의 기술을 훌쩍 뛰어넘는 차세대 컴퓨팅 기술이 상용화되기 전까지는 'GPU'와 관련 기술이 ICT 업계 전반에 영향을 끼칠 전망이다.
 
 
GPGPU 기술 : 이러한 GPU 강력한 병렬 연산기능 범용 Application 적용하는 기술
 

 

GPU 투자 시 고려 사항
새로운 기술은 무턱대고 도입해서는 안 된다. GPU 도입 시 고려해야 할 사항 몇 가지를 소개한다.
- 비용: GPU 카드 1개에 1만 달러가 넘을 수 있다. 또 대부분의 딥 러닝 프로젝트에는 최소 4개 이상의 GPU 카드가 필요하다.
- 전용 하드웨어 아키텍처 GPU 서버를 도입하고 싶은 기업들은 GPU 가격은 물론 전용 하드웨어 아키텍처, 수많은 CPU와 RAM에 대해서도 고려해야 한다. 대부분의 경우 개발자의 머신러닝 요구 사항에 맞춰 GPU 서버를 맞춤형으로 구현해야 한다.
- 전용 시설 GPU 서버에는 특수한 전력 및 통풍, 온도 요구 사항을 충족하는 전용 시설이 필요하다.
 
또한 GPU 서버를 운영할 수 있는 전문성, 지속적인 유지관리, 많은 금전적 투자도 고려해야 한다. 미드마켓을 중심으로 대부분 기업들은 내부에 이를 감당할 예산이 없다. 따라서 머신러닝 프로젝트를 구현하고 관리할 수 있는 GPU 기능과 전문성을 제공할 수 있는 소수의 인공 지능 및 소프트웨어 엔지니어링 서비스 공급업체를 찾는다.
 

http://www.itworld.co.kr/news/107032#csidx4122e487448927cb1d3e4cd094fd45b

 

이런 고성능 컴퓨팅과 실시간 시스템의 요구사항을 만족시키기 위해서 LHC 가속기와 검출기 하드웨어의 곳곳에서 FPGA가 많이 쓰이고 있다. LHC 실험에서 FPGA를 많이 쓰는 이유는 크게 세 가지다.
 
첫 번째로, LHC 실험의 요구사항이 산업 표준 컴퓨팅 장비와 기술로는 맞출 수 없는 극한의 요구사항이기 때문에, 이런 독특한 요구사항을 만족하는 칩셋 및 고속 하드웨어 기술을 자체적으로 만들기 위해서 FGPA와 같이 작은 칩 안에 직접 고속 연산 처리 로직을 집적하여 심어 넣을 수 있는 프로그램이 가능한(programmable) 하드웨어가 필요했다.
 
두 번째로, 일반 컴퓨터와 네트워크만으로는 초당 수 TB의 데이터를, 하나의 이벤트 데이터당 3.2 마이크로초의 짧은 지연 요구사항에 만족하도록 처리해서 저장할 수 없었기 때문에, 가능하면 짧은 지연 시간을 가지도록 이벤트 검출 및 필터링, 이벤트 재구성 등의 연산을 가속할 필요가 있었다.
 
세 번째로, 극한 조건에서 데이터가 수집되면서 데이터가 유실되거나 품질이 낮아지지 않도록 신뢰성을 높이기 위해 데이터를 수집하는 하드웨어 수준에서부터 신뢰성을 보장하는 논리를 넣기 위해서는 CERN의 연구자들이 원하는 신뢰성 로직을 쉽게 프로그램해서 넣을 수 있는 칩수준의 하드웨어가 필요했다.
FPGA는 특정 기능을 이행하기 위해 연결될 수 있는 기능 블록들로 가설된 재구성형 논리 게이트 어레이다. 전통적 논리 회로와 달리 메모리 소자를 포함하는 경우가 많아 실행할 수 있는 기능의 복합성이 우수하다.
 
그러나 FPGA를 누구나 이용할 수 있는 것은 아니다. 일반적인 개발 툴을 통한 익숙한 언어로 프로그램 될 수 없기 때문이다. FPGA를 활용하려면 FPGA에서 구현하고자 하는 기능을 정의하는 실리콘 설계 툴과 언어, 관련 역량을 확보해야 한다.

 

 
FPGA는 특정 기능을 이행하기 위해 연결될 수 있는 기능 블록들로 가설된 재구성형 논리 게이트 어레이다. 전통적 논리 회로와 달리 메모리 소자를 포함하는 경우가 많아 실행할 수 있는 기능의 복합성이 우수하다.
 
그러나 FPGA를 누구나 이용할 수 있는 것은 아니다. 일반적인 개발 툴을 통한 익숙한 언어로 프로그램 될 수 없기 때문이다. FPGA를 활용하려면 FPGA에서 구현하고자 하는 기능을 정의하는 실리콘 설계 툴과 언어, 관련 역량을 확보해야 한다.
FPGA는 프로그램이 가능한 비메모리 반도체의 일종으로, 주로 항공, 우주, 방산 등의 특수한 영역이나 특정 전자 제품을 생산하기 전에 테스트용으로 사용됐다. FPGA는 회로 변경이 불가능한 일반 반도체와 달리 용도에 맞게 회로를 다시 새겨 넣을 수 있다. 최근에는 사용자의 용도에 따라 반도체의 기능을 변형시킬 수 있는 특징에 급속도로 변화하는 AI 환경에 적합한 프로세서로 새롭게 주목받고 있다.
 

 

728x90
Posted by Mr. Slumber
,