HPC Solution 아렌티어를 소개합니다.

KR
KR EN JP
SEARCH
인사이트
GPU와 GPGPU의 차이, 그리고 CUDA에 대하여
  • 소식
  • 2024.03.20

 

GPGPU란 General-Purpse computing on Graphic Processing Unit의 약자로 GPU(Graphic Processing Unit)를 그래픽처리 뿐만 아니라 범용적인 계산에 사용하는 것을 칭합니다. 따라서 그래픽 처리 개념에 과학 연산의 개념이 덧붙여진 개념으로 이해할 수 있습니다.

 

 

GPU와 GPGPU의 차이는?

 

원래 GPU의 용도는 그래픽 처리를 위한 보조 장치였지만 컴퓨터의 중앙처리 장치인 CPU를 대신해 데이터 연산 및 처리를 하는 범용 계산 장치로 쓰이게 되었습니다. 즉, GPU와 GPGPU의 차이는 GPU의 활용도에 따라 명칭의 차이가 있습니다. (해당 유닛이 GPU라는 본질에는 차이가 없습니다.)

 

CPU는 순차적으로 작업을 처리하는 직렬 형태로 복잡한 계산 처리가 가능하지만 GPU의 병렬 형태의 계산 처리에 비해 속도 차이가 상당하기 때문에, 머신러닝 등에서 GPGPU를 활용하고 있습니다.

CPU와 GPU의 서버 구성 차이 보러가기


그래픽 처리 도구였던 GPU가 범용 계산 장치로 쓰이게 되면서 그래픽 카드 제조사에서도 관련 기능들을 지원하기 시작했고, 그중 대표적인 것이 NVIDIA 사에서 나온 CUDA입니다.

 

 

CUDA(Compute Unified Device Architecture)의 이해

 

CUDA는 NVIDIA CUDA 코어가 장착된 GPU가 범용 연산을 수행할 수 있도록 도와주는 플랫폼이며, GPU에서 수행하는 병렬처리 알고리즘을 C프로그래밍 언어를 비롯한 산업표준언어를 사용하여 작성할 수 있도록 하는 엔비디아의 GPGPU 기술입니다.

 

Cf) 기존 Hadoop, Spark는 GPU가 GPU가 아닌, CPU 기반의 병렬처리를 제공해왔습니다.

 

 

CUDA의 데이터 흐름

 

먼저 그래픽 카드 메모리 공간을 할당하고, PC의 입력 데이터를 그래픽 카드의 메모리로 복사하여 고성능의 GPU 성능을 활용하여 병렬처리합니다. 처리된 결과는 그래픽 카드 메모리에서 PC 메모리로 복사합니다.

 

 

머신러닝에서의 GPGPU

 

특히 머신러닝 분야에서는 상당량의 단순 연산(행렬곱)에 기반을 두고 있기 때문에, GPGPU를 활용하여 처리합니다. 그 밖에도 렌더링, 영상 인코딩, 유체 시뮬레이션, 암호화폐 채굴 등 다양한 분야에서 GPGPU는 활용되고 있습니다.

 

계속적인 인공지능(AI) 이슈로 GPU의 수요와 가치는 폭증하고 있으며, 이러한 고성능 자원을 보유하는 일뿐만 아니라, 효율적으로 관리하고 사용할 수 있게 하는 HPC 솔루션에 대한 관심도 급증하고 있습니다.

 

아렌티어는 개별적인 서버나 워크스테이션을 구축하여 사용하는 것이 아닌, 모든 고성능 컴퓨팅자원을 통합하여, 조직에 속한 모두가 해당 컴퓨팅 자원을 효율적으로 사용할 수 있게 하는 다양한 방안을 제시합니다.

 

이는 계산 해석을 다루는 시뮬레이션 분야와 해석 결과를 가시화하는 엔지니어링 디자인 그리고 인공지능 개발 환경을 구축하는 데에 특징적인 기능들을 제공합니다.

 

고성능 컴퓨팅 환경을 구축해야 하거나, 점차 늘어나는 자원에 대해 관리의 어려움 등이 있으시다면 클루닉스에 HPC 전문가들과 상담해 보시는 것을 추천드립니다.

 

 

[참고 문서]

https://sparcs.org/blog/introducing-gpu/

https://blogs.nvidia.co.kr/2023/12/11/why-gpus-are-great-for-ai/

https://www.ilovepc.co.kr/news/articleView.html?idxno=47726

 

 

 

클루닉스 뉴스레터
받아보세요!
클라우드, HPC, 인공지능 (AI) 등의
트랜드 뉴스를 매주 만나보세요. 뉴스레터 구독하기
퀵메뉴 모바일 여닫기 한단 아래로 맨 위로

현재 브라우저에서는 지원하지 않는 사이트입니다. 아래의 다른 브라우저를 다운받아 사용해주세요.