GPU란 무엇인가요?
그래픽 처리 장치(GPU)는 수학 연산을 빠른 속도로 수행하는 전자 회로입니다. 그래픽 렌더링, 기계 학습(ML), 비디오 편집 같은 컴퓨팅 작업을 수행하려면 대형 데이터 세트에 유사한 수학 연산을 적용해야 합니다. GPU는 다양한 데이터 값에 동일한 작업을 동시에 수행할 수 있도록 설계되었습니다. 따라서 많은 컴퓨팅 집약적 작업의 처리 효율성이 개선됩니다.
GPU가 중요한 이유는 무엇인가요?
GPU는 범용 병렬 처리를 수행하는 데 탁월하지만 역사적으로 항상 그랬던 것은 아닙니다. 이름에서 알 수 있듯이 GPU는 처음에는 이미지 디스플레이 제어라는 특정 작업을 위해 설계되었습니다.
GPU의 기원
GPU 이전에는 1940년대와 1950년대에 출시된 도트 매트릭스 화면이 있었습니다. 벡터 및 래스터 디스플레이가 그 이후에 출시되었으며, 이후 최초의 비디오 게임 콘솔과 PC가 출시되었습니다. 그 당시, 그래픽 컨트롤러라고 불리는 프로그래밍 불가능한 장치가 디스플레이를 화면에 맞게 조정했습니다. 그래픽 컨트롤러는 기존에 프로세싱을 위해 CPU에 의존했지만 일부는 온칩 프로세서를 포함하고 있었습니다.
비슷한 시기에 단일 프로세서로 화면에 단일 픽셀을 생성하는 것과 관련된 3D 이미징 프로젝트가 있었습니다. 목표는 짧은 시간에 많은 픽셀을 조합하는 이미지를 만드는 것이었습니다. 이 프로젝트가 우리가 알고 있는 GPU의 기원입니다.
1990년대 후반이 되어서야 최초의 GPU가 나왔습니다. 이는 게임 및 컴퓨터 지원 설계(CAD) 시장을 겨냥한 것이었습니다. GPU는 이전의 소프트웨어 기반 렌더링 엔진과 변환 및 조명 엔진을 그래픽 컨트롤러와 통합했으며, 이 모든 것을 프로그래밍 가능한 칩에 통합했습니다.
GPU 기술의 진화
Nvidia는 1999년 최초로 단일 칩 GeForce 256 GPU를 출시했습니다. 2000년대와 2010년대는 GPU에 레이 트레이싱, 메시 셰이딩, 하드웨어 테셀레이션과 같은 기능이 추가되었던 GPU 성장 시대였습니다. 이로 인해 이미지 생성 및 그래픽 성능이 점점 더 향상되었습니다.
2007년이 되어서야 Nvidia는 GPU에서 병렬 처리를 가능하게 하는 소프트웨어 계층인 CUDA를 출시했습니다. 이 무렵, GPU가 매우 구체적인 작업을 수행하는 데 매우 효과적이라는 것이 분명해졌습니다. 특히, 특정 결과를 달성하기 위해 많은 양의 처리 능력이 필요한 작업에서 탁월했습니다.
Nvidia가 CUDA를 출시했을 때 더 많은 사용자에게 GPU 프로그래밍이 열렸습니다. 이로 인해 개발자는 모든 종류의 컴퓨팅 집약적인 실제 애플리케이션을 위해 GPU 기술을 프로그래밍할 수 있습니다. GPU 컴퓨팅은 훨씬 더 주류가 되기 시작했습니다.
GPU는 블록체인 및 기타 새롭게 등장하는 애플리케이션을 위한 수요가 많은 칩입니다. 인공 지능 및 기계 학습(AI/ML)에 점점 더 많이 사용되고 있습니다.
GPU의 실제 애플리케이션에는 무엇이 있나요?
GPU는 대규모 금융, 국방 애플리케이션, 연구 활동 등 광범위한 컴퓨팅 집약적 애플리케이션에서 사용할 수 있습니다. 오늘날 가장 널리 사용되는 GPU 용도는 다음과 같습니다.
게임
대기업 및 정부 시각화 애플리케이션을 넘어 확장된 GPU의 첫 번째 애플리케이션은 개인용 게임이었습니다. 1980년대 게임 콘솔에서 사용되었고 지금도 여전히 PC와 현재 게임 콘솔에 사용되고 있습니다. GPU는 복잡한 그래픽 렌더링에 필수적입니다.
전문적인 시각화
GPU는 CAD 드로잉, 비디오 편집, 제품 워크스루 및 상호 작용, 의료 영상, 지진 영상과 같은 전문 애플리케이션에 사용됩니다. 또한 다른 복잡한 이미지 및 비디오 편집 및 시각화 애플리케이션에도 적용됩니다. 브라우저 기반 애플리케이션은 WebGL과 같은 라이브러리를 통해 GPU를 악용할 수도 있습니다.
기계 학습
기계 학습(ML) 모델을 훈련하려면 대량의 컴퓨팅 능력이 필요합니다. 이제 GPU에서 실행하여 결과를 가속화할 수 있습니다. 자가 구입한 하드웨어에서 모델을 훈련하는 데 시간이 오래 걸릴 수 있지만 클라우드 GPU를 사용하면 빠르게 결과를 얻을 수 있습니다.
블록체인
암호화폐는 블록체인을 기반으로 합니다. 블록체인의 특정 유형인 작업 증명은 일반적으로 GPU에 크게 의존하여 작동합니다. 유사하지만 다른 칩인 ASIC(Application-Specific Integrated Circuit)은 이제 블록체인의 GPU 처리를 대체하는 일반적인 대체품이 되었습니다.
지분 증명 블록체인 알고리즘 증명은 막대한 양의 컴퓨팅 능력을 필요로 하지는 않지만 작업 증명은 여전히 널리 사용되고 있습니다.
시뮬레이션
분자 역학, 일기 예보, 천체 물리학에 사용되는 것과 같은 고급 시뮬레이션 애플리케이션은 모두 GPU를 통해 수행할 수 있습니다. 또한 GPU는 유체 역학을 포함하여 자동차 및 대형 차량 설계의 많은 애플리케이션에서 사용되고 있습니다.
GPU는 어떻게 작동하나요?
최신 GPU에는 일반적으로 여러 개의 멀티프로세서가 포함되어 있습니다. 각각에는 공유 메모리 블록과 더불어 다수의 프로세서 및 해당 레지스터가 있습니다. GPU 자체에는 고정 메모리와 더불어 내장된 보드에 장치 메모리가 있습니다.
각 GPU는 용도, 제조업체, 칩의 사양, GPU 조정에 사용되는 소프트웨어에 따라 약간 다르게 작동합니다. 예를 들어, Nvidia의 CUDA 병렬 처리 소프트웨어를 사용하면 개발자가 거의 모든 범용 병렬 처리 애플리케이션을 염두에 두고 GPU를 구체적으로 프로그래밍할 수 있습니다.
GPU는 개별 GPU라고 알려진 독립형 칩일 수도 있고, 통합 GPU(iGPU)라고 알려진 다른 컴퓨팅 하드웨어와 통합된 칩일 수 있습니다.
개별 GPU
개별 GPU는 당면한 작업에 전적으로 전념하는 칩으로 존재합니다. 기존에는 그래픽 작업이었지만 이제는 개별 GPU를 ML 또는 복잡한 시뮬레이션과 같은 작업의 전용 처리로 사용할 수 있습니다.
그래픽에 사용되는 경우 GPU는 일반적으로 마더보드에 장착되는 그래픽 카드에 위치합니다. 다른 작업에서는 GPU가 마더보드 자체의 다른 카드나 슬롯에 직접 연결할 수 있습니다.
통합 GPU
2010년대 초반, 개별 GPU에서 벗어나는 움직임이 보이기 시작했습니다. 제조업체들은 iGPU로 알려진 칩에 CPU와 GPU를 결합한 방식을 도입했습니다. 이러한 PC용 IGPU 중 첫 번째는 Intel의 Celeron, Pentium, Core 제품군이었습니다. 이들은 노트북과 PC에서 여전히 인기가 있습니다.
또 다른 유형의 iGPU는 CPU, GPU, 메모리 및 네트워킹과 같은 구성 요소를 포함하는 시스템 온 칩(SoC)입니다. 스마트폰에서 흔히 볼 수 있는 칩 종류는 다음과 같습니다.
온라인
다른 유형의 컴퓨팅 하드웨어 인프라와 마찬가지로 GPU도 가상화할 수 있습니다. 가상화된 GPU는 클라우드 서버 인스턴스의 다른 가상 GPU와 공간을 공유하는 GPU의 소프트웨어 기반 표현입니다. 기본 하드웨어 유지 관리에 대해 걱정할 필요 없이 이를 사용하여 워크로드를 실행할 수 있습니다.
GPU와 CPU의 차이점은 무엇인가요?
CPU와 GPU의 주요 차이점은 컴퓨터 시스템에서의 용도입니다. 이들은 시스템에 따라 서로 다른 역할을 합니다. 예를 들어 이들은 휴대용 게임 장치, PC 및 여러 서버 캐비닛이 있는 슈퍼컴퓨터에서 다양한 용도로 사용됩니다.
일반적으로 CPU는 전체 시스템 제어와 관리 및 범용 작업을 처리합니다. 반대로 GPU는 비디오 편집이나 기계 학습과 같은 컴퓨팅 집약적 작업을 처리합니다.
보다 구체적으로 말하자면, CPU는 다음과 같은 작업을 수행하는 데 최적화되어 있습니다.
- 시스템 관리
- 다양한 애플리케이션에 걸친 멀티태스킹
- 입력 및 출력 작업
- 네트워크 기능
- 주변 장치 제어
- 메모리 및 스토리지 시스템 멀티태스킹
GPU와 그래픽 카드의 차이점은 무엇인가요?
그래픽 처리 장치와 그래픽 카드라는 이름은 종종 같은 의미로 사용되지만 동일한 것은 아닙니다.
그래픽 카드는 컴퓨터 마더보드의 한 위치에 삽입되는 애드인 보드(AIB)입니다. 그래픽 카드는 컴퓨터 자체에 내장되어 있는 것이 아니라 상호 교환이 가능한 카드입니다. 그래픽 카드는 GPU와 함께 제공됩니다.
GPU는 그래픽 카드의 주요 구성 요소입니다. 비디오 메모리용 비디오 RAM(VRAM), 포트(HDMI 또는 DisplayPort 등) 및 냉각 구성 요소와 같은 다른 구성 요소와 함께 있습니다. 그러나 GPU는 마더보드에 직접 내장하거나 다른 구성 요소와 함께 올인원 칩으로 통합할 수도 있습니다.
AWS는 GPU 요구 사항을 어떻게 지원할 수 있나요?
Amazon Web Services(AWS)는 가장 광범위하고 심층적인 컴퓨팅 플랫폼인 Amazon Elastic Compute Cloud(Amazon EC2)를 제공합니다.
Amazon EC2에는 500개 이상의 인스턴스가 있으며 최신 프로세서, 스토리지, 네트워킹, 운영 체제 및 구매 모델을 선택할 수 있습니다. 워크로드의 요구 사항에 쉽게 맞출 수 있습니다.
Amazon EC2를 사용하면 클라우드에서 GPU를 쉽게 대여하고 실행할 수 있습니다. GPU를 활용하여 비디오 편집, 렌더링 그래픽, 인공 지능(AI) 및 기타 병렬 처리 기능을 위한 처리 능력을 활용합니다.
Amazon EC2 인스턴스는 거의 모든 유형의 워크로드에 적합합니다.
- P2 인스턴스는 범용 GPU 컴퓨팅 애플리케이션을 대상으로 합니다.
- Amazon EC2 P5 인스턴스에는 8개의 내장 GPU가 있습니다. 이들은 최신 세대 GPU 기반 인스턴스입니다. 딥 러닝 및 고성능 컴퓨팅(HPC)을 위해 Amazon EC2에서 가장 높은 성능을 제공합니다.
- Amazon EC2 G5 인스턴스는 AWS Graviton2 프로세서로 구동되며 NVIDIA T4G Tensor Core GPU를 탑재하고 있습니다. Android 게임 스트리밍과 같은 그래픽 워크로드를 위해 Amazon EC2에서 최고의 가격 대비 성능을 제공합니다.
지금 계정을 생성하여 AWS에서 GPU를 사용해 보세요.