BRIEFING
FPGA와 GPU
FPGA와 GPU
작업 특성에 따른 강점 차이
Scope
핵심 질문
FPGA와 GPU는 병렬처리를 서로 다른 방식으로 구현하며 어떤 workload에서 각각 유리한가?
Research
핵심 근거
- GPU는 대량의 programmable SIMD/SIMT compute와 높은 memory bandwidth를 제공한다.
- FPGA는 application-specific pipeline과 custom bit width, I/O를 구성할 수 있다.
- ML training과 범용 tensor 연산은 GPU ecosystem이 강하고 deterministic streaming pipeline은 FPGA가 강할 수 있다.
Draft
FPGA와 GPU는 모두 병렬처리에 강하지만 병렬성을 만드는 방식이 다르다.
GPU
이미 만들어진 수많은 compute core에 thread를 배치한다. Matrix multiplication처럼 같은 연산을 대량 데이터에 적용하는 작업에 매우 강하다.
FPGA
연산회로와 data path 자체를 workload에 맞춰 구성한다. 필요한 bit width만 사용하고 memory를 pipeline 가까이에 배치할 수 있다.
개발 생산성
GPU는 CUDA 같은 software stack을 활용할 수 있고 FPGA는 HDL·synthesis·timing 검증이 필요하다. 어느 쪽의 개발비용이 더 큰지는 기존 도구 경험, 대상 보드와 재사용 가능한 설계에 따라 비교해야 한다.
선택
AI training/inference와 과학계산의 범용 연산에는 GPU를 먼저 검토할 수 있고, 고정된 packet processing·custom protocol·streaming pipeline에는 FPGA도 후보가 된다. 실제 이점은 대상 보드와 GPU, I/O 속도, latency·throughput·전력·개발비용을 같은 workload에서 측정해야 판단할 수 있다.
핵심
GPU는 programmable parallel computer이고 FPGA는 programmable hardware fabric이다.