지금까지 컴퓨터의 두뇌 역할을 도맡아온 CPU가 클라우드 컴퓨팅, 자율주행차, 인공지능 등
기술의 발달에 따른 정보량의 급증으로 GPU와 함께 미래 컴퓨팅 시스템의 두뇌 역할을 맡게 될 것이라며 주목받고 있다.
오늘은 새로운 컴퓨터의 두뇌, GPU에 대해 알아보자.
GPU 컴퓨팅이란?
GPU 컴퓨팅은 GPU (Graphics Processing Unit, 그래픽 처리 장치)를 보조 프로세서로 사용하여 CPU를 가속화하여 과학, 분석, 엔지니어링, 소비자 기업 및 응용 프로그램의 실행 속도를 높인다.
GPU가속기는 2007년 NVIDIA®에 의해 처음 도입되었으며 현재까지 전 세계 정부 연구소, 대학, 기업 및 중소기업의 에너지 효율적인 데이터 센터를 지원하고 있다. GPU는 자동차, 휴대폰, 태블릿과 같은 플랫폼에서 드론 및 로봇에 이르기까지 애플리케이션을 가속화할 수 있다.
GPU는 계산 집약적이고 시간이 많이 소요되는 코드 부분을 오프로드하여 CPU에서 실행되는 애플리케이션을 가소고하한다. 나머지 응용프로그램은 여전히 CPU에서 처리한다.
사용자의 관점에서 애플리케이션은 GPU의 대규모 병렬 처리 기능을 사용하여 성능을 향상시키기 때문에 더 빠르게 실행된다. 이것을 “이기종” 또는 “하이브리드” 컴퓨팅이라고 하는데, CPU는 4-8개의 CPU 코어로 구성되고 GPU는 수백 개의 더 작은 코어로 구성된다.
그들은 함께 작업하여 애플리케이션의 데이터를 처리한다. 이 대규모 병렬 아키텍처는 GPU에 높은 컴퓨팅 성능을 제공하기 때문에, 고성능 컴퓨팅 (HPC)에 쉽게 액세스할 수 있는 방법을 제공하는 많은 GPU 가속 응용 프로그램이 있다.
GPU와 CPU의 차이점
애플리케이션 개발자는 병렬 GPU 아키텍처의 성능을 활용하기 위해 NVIDIA에서 개발한 “CUDA”라는 병렬 프로그래밍 모델을 사용한다. 모든 NVIDIA GPU (GeForce ®, Quadro ® 및 Tesla ®)는 NVIDIA ® CUBA ® 병렬 프로그래밍 모델을 지원한다.
Tesla GPU는 과학 및 기술 컴퓨팅 애플리케이션에 최적화된 컴퓨팅 가속기 또는 지원 프로세서로 설계되었으며, 최신 Tesla 20 시리즈 GPU는 “Fermi 아키텍처”라고 하는 CUDA 플랫폼의 최신 구현을 기반으로 한다.
GPU 컴퓨팅의 역사
그래픽 칩은 원래 기능이 한정적인 그래픽 파이프라인이었다. 수년에 걸쳐 이러한 그래픽 칩은 점점 더 프로그래밍이 가능해져 NVIDIA 가 최초의 GPU를 도입하게 되었다. 1999년에서 2000년 사이에 의료 영상을 전자기학 분야의 컴퓨터 과학자와 연구원들은 일련의 과학 응용 프로그램을 가속화하기 위해 GPU를 사용하기 시작했다. 이것이 바로 GPUPU 또는 범용 GPU 컴퓨팅의 등장이다.
문제는 GPUPU가 GPU를 프로그래밍하기 위해 Open GL 및 Cg와 같은 그래픽 프로그래밍 언어를 사용해야 한다는 것이다. 이 문제는 개발자에게 어려운 문제를 낳고, 이는 GPU가 다방면에서 활용될 수 있는 가능성과 접근성이 제한될 것이라는 생각을 한 NVIDIA는 GPU를 수정하여 과학 응용 프로그램을 위해 완전히 프로그래밍할 수 있도록 하는 데 투자했습니다.
또한 C, C++, Fortran과 같은 고급 언어에 대한 지원을 추가하였고 그 결과 이것은 GPU의 CUDA 병렬 컴퓨팅 플랫폼으로 이어진 것이다.
알리바바 클라우드 GPU 클라우드 서버 서비스
Alibaba Cloud GPU 클라우드 서버 서비스는 GPU 응용 프로그램을 기반으로 하는 컴퓨팅 서비스이다. 실시간 고속, 병렬 컴퓨팅 및 강력한 부동 소수점 컴퓨팅 기능의 특성을 가지고 있으며 비디오 디코딩, 그래픽 렌더링 및 딥 러닝 등에 적합하다.
▼알리바바 클라우드의 Elastic GPU Service에 관한 자세한 내용은 하기 링크를 통해 확인해 주세요! ▼
▼메가존과 알리바바 클라우드에 대해 더 자세히 알고 싶다면? ▼