CPU, GPU, TPU, NPU, DPU, QPU: six chips, one question
개요
다양한 연산 작업의 특성에 따라 CPU, GPU, TPU, NPU, DPU, QPU 등 여섯 가지 종류의 칩이 각자의 역할을 수행하며, 이는 범용성과 성능 사이의 상반된 요구를 만족시키기 위한 결과이다.
주요 내용
- CPU (Central Processing Unit): 모든 종류의 예측 불가능한 작업에 능숙한 범용 프로세서로, 운영체제 실행, API 처리, 데이터베이스 운영 등 복잡하고 순차적인 작업에 적합하며, 많은 트랜지스터와 전력을 사용하여 소수의 스마트 코어를 가졌다.
- GPU (Graphics Processing Unit): 수백만 개의 픽셀을 동시에 렌더링하는 그래픽 처리에서 파생되었으며, 수천 개의 스레드를 동기화하여 동일한 연산을 대량의 데이터에 적용하는 SIMT(Single Instruction, Multiple Threads) 모델을 사용하고, AI 산업 발전에 기여했다.
- TPU (Tensor Processing Unit): Google의 머신러닝 가속기로, GPU보다 더 좁은 범위인 텐서 및 행렬 연산에 특화되어 있으며, 유연성을 낮추는 대신 에너지 효율성과 성능을 극대화하여 데이터 센터 환경에 최적화되었다.
- NPU (Neural Processing Unit): 스마트폰 등 기기 자체에 탑재되는 소형 AI 가속기로, 배터리 구동 환경에서 소규모 모델을 지속적으로 실행하는 데 최적화되어 있으며, 데이터 센터 환경의 TPU와 달리 연산당 전력 효율성을 중시한다.
- DPU (Data Processing Unit): 네트워크 패킷 처리, 보안 그룹 적용, 암호화, 스토리지 관리 등 인프라 관련 작업을 전담하는 칩으로, 호스트 CPU의 부담을 줄여 애플리케이션 성능을 향상시키며, 데이터 이동에 초점을 맞춘다.
- QPU (Quantum Processing Unit): 큐비트(qubit)를 사용하여 중첩과 얽힘을 활용하는 양자 컴퓨팅 칩으로, 기존 칩과는 다른 계산 모델을 사용하며, 특정 분야(양자 시스템 시뮬레이션, 최적화 문제, 암호학)에서만 이점을 제공하고, 현재는 오류 수정 및 소규모화가 주요 과제이다.
- 칩 선택은 용어 자체보다는 작업의 특성(분기성, 데이터 양, 연산 종류, 환경 제약 등)에 따라 결정되며, CPU, GPU, TPU, NPU, DPU, QPU는 경쟁 관계가 아닌 상호 보완적인 역할을 수행한다.
- 가속기 효율성은 Amdahl의 법칙에 따라 전체 작업 중 가속되지 않는 부분에 의해 제한되므로, 데이터 로딩, 전처리, 텐서 복사 등의 비가속 부분을 최소화하고 데이터를 장치 내에 유지하며 작업을 배치하는 것이 중요하다.
시사점
다양한 종류의 칩은 각기 다른 계산 요구 사항을 충족시키도록 설계되었으며, 특정 작업에 가장 적합한 칩을 선택하고 데이터 이동 병목 현상을 최소화하는 것이 실제 성능 향상의 핵심이다.
원문을 불러오는 중...
댓글
GitHub Discussions