Computer Architecture - Ch4
데이터 수준 병렬성
Data-Level Parallelism
Vector, SIMD, GPU 아키텍처의 원리와 진화 — ILP의 한계를 넘어 수천 개의 데이터를 동시에 처리하는 병렬 컴퓨팅의 세계
1. 🎯 왜 데이터 수준 병렬성(DLP)이 필요한가?
Chapter 3에서 살펴본 명령어 수준 병렬성(ILP)은 다중 발행(Multiple Issue)과 비순차 실행(Out-of-order Execution)을 통해 프로세서 성능을 높였지만, 근본적인 한계에 부딪혔습니다. 하드웨어 복잡도와 전력 소모가 기하급수적으로 증가하는 전력 벽(Power Wall) 문제입니다.
하나의 명령어를 실행하기 위해 복잡한 스케줄링 하드웨어(ROB, 예약 스테이션, 레지스터 리네이밍 등)가 필요합니다. 8-wide 슈퍼스칼라 프로세서는 이미 수백 와트의 전력을 소모하면서도 실효 IPC는 2~3 수준에 그칩니다.
하나의 명령어 인출(Fetch)과 디코딩(Decode)만으로 수십~수천 개의 데이터를 동시에 연산합니다. 제어 로직을 공유하므로 에너지 효율이 극도로 높고, 하드웨어 설계가 상대적으로 단순합니다.
💡 핵심 통찰: ILP는 "다른 명령어들"을 동시에 실행하려 하지만, DLP는 "같은 명령어를 다른 데이터에" 동시에 적용합니다. 이 단순한 발상의 전환이 GPU 시대를 열었습니다. Flynn의 분류에서 ILP는 MIMD에 가깝고, DLP는 SIMD(Single Instruction, Multiple Data)에 해당합니다.
DLP가 특히 빛나는 영역은 과학 연산(행렬 곱, 유체 역학), 멀티미디어 처리(이미지/영상 코덱), 그리고 현재 가장 주목받는 딥러닝/AI 추론 및 학습입니다. 이들 워크로드는 대부분 동일한 연산을 대량의 데이터에 반복 적용하는 패턴을 가지고 있어, DLP의 이상적인 활용처입니다.
2. 🔄 벡터 아키텍처 (Vector Architecture)
벡터 아키텍처는 DLP의 원조입니다. 1970년대 Cray-1에서 시작된 이 접근법은 깊게 파이프라인된 연산 유닛(Functional Unit)을 사용하여 데이터 배열(벡터) 전체에 대한 연산을 단일 명령어로 처리합니다. 교과서에서는 VMIPS라는 모델 프로세서를 기준으로 설명합니다.
2.1 🧱 핵심 구성 요소 (VMIPS)
벡터 레지스터(Vector Registers)는 일반 스칼라 레지스터와 달리 내부에 여러 개의 데이터 요소를 저장합니다. VMIPS에는 8개의 벡터 레지스터가 있으며, 각각 64개의 64비트 요소를 담을 수 있습니다 (총 4,096비트).
벡터 연산 유닛(Vector Functional Units)은 깊게 파이프라인되어 매 클럭 사이클마다 독립적인 벡터 요소에 대한 연산 결과를 출력합니다. VMIPS는 5개의 연산 유닛을 갖고 있습니다: 벡터 덧셈기, 벡터 곱셈기, 벡터 나눗셈기, 벡터 정수 유닛, 그리고 벡터 로드/스토어 유닛.
✅ 성능 비교: 스칼라 MIPS에서 DAXPY 루프를 578개 명령어로 실행하는 것을 VMIPS 벡터 코드는 단 6개 명령어로 처리합니다. 약 100배의 동적 명령어 대역폭 절감입니다!
2.2 ⛏️ 스트립 마이닝 (Strip Mining)
벡터 레지스터의 최대 길이(Maximum Vector Length, MVL)보다 처리해야 할 배열의 크기 n이 클 경우, 컴파일러는 하드웨어가 처리할 수 있는 크기 단위로 루프를 분할합니다. 이를 스트립 마이닝(Strip Mining)이라고 합니다.
n mod 64 = 8개
64개 요소
64개 요소
64개 요소
첫 루프에서 나머지(n mod MVL)를 처리 → 나머지 루프는 MVL 단위로 반복 (⌊n/MVL⌋ = 3회)
벡터 길이 레지스터(VLR, Vector Length Register)는 현재 벡터 연산에서 실제로 처리할 요소 수를 지정합니다. 첫 번째 루프에서 VLR을 n mod MVL로 설정하면, 나머지 요소만 연산할 수 있어 유연한 길이 처리가 가능합니다.
2.3 🔀 벡터 메모리 접근: 스트라이드와 스캐터-개더
스트라이드(Stride) 접근
다차원 배열이나 행렬 연산에서는 메모리의 데이터가 연속적으로 존재하지 않을 수 있습니다. 예를 들어 100×100 행렬에서 열(column)을 접근하면 메모리 주소 간격이 100 요소가 됩니다. 스트라이드는 이 메모리 주소 간의 일정한 간격을 의미합니다.
Stride = 3: 3칸 간격으로 데이터를 수집하여 벡터 레지스터에 적재
스캐터-개더 (Scatter-Gather)
희소 행렬(Sparse Matrix)에서는 0이 아닌 값들이 불규칙하게 흩어져 있습니다. 인덱스 벡터를 사용하여 이를 처리합니다:
개더(Gather): 인덱스 벡터가 가리키는 흩어진 메모리 위치의 데이터를 하나의 벡터 레지스터로 모아옵니다. 스캐터(Scatter): 반대로 벡터 레지스터의 결과를 인덱스가 가리키는 흩어진 메모리 주소에 저장합니다.
2.4 ⛓️ 체이닝 (Chaining)
체이닝은 벡터 아키텍처의 핵심 성능 최적화 기법으로, 스칼라 파이프라인의 포워딩(Forwarding) 개념을 벡터 수준으로 확장한 것입니다.
체이닝 없이: MULV 64개 전부 완료 → 그 후 ADDV 시작
체이닝 사용: MULV의 첫 요소 완료 즉시 → ADDV가 그 값으로 시작!
MULV E0 완료 → 즉시 ADDV E0 시작 (1사이클 지연만으로 파이프라인 겹침)
체이닝 없이는 MULV의 모든 64개 요소가 완료될 때까지 기다려야 하지만, 체이닝을 사용하면 첫 번째 요소의 곱셈 결과가 나오자마자 즉시 덧셈 유닛으로 전달됩니다. 이를 통해 두 연산이 거의 완전히 겹쳐서 실행되므로, 총 실행 시간이 대폭 감소합니다.
3. 📦 SIMD 명령어 확장 (Multimedia SIMD Extensions)
벡터 아키텍처의 철학을 기존 범용 프로세서에 저비용으로 통합한 것이 SIMD 명령어 확장입니다. x86의 MMX(1996), SSE(1999), AVX(2010), AVX-512(2017) 그리고 ARM의 NEON이 대표적입니다.
3.1 📐 고정 길이 데이터 패킹
SIMD 확장의 핵심 아이디어는 단순합니다: 기존의 넓은 레지스터를 쪼개서 여러 개의 작은 데이터로 취급하고 동시에 연산하는 것입니다.
32×8-bit 정수 (이미지 픽셀 처리)
4×64-bit 배정밀도 부동소수점 (과학 연산)
3.2 📊 x86 SIMD 진화의 역사
| 세대 | 연도 | 레지스터 폭 | 주요 특징 |
|---|---|---|---|
| MMX | 1996 | 64-bit | FP 레지스터 재사용, 정수 SIMD |
| SSE | 1999 | 128-bit | 전용 XMM 레지스터, 단정밀도 FP |
| SSE2-4 | 2001-07 | 128-bit | 배정밀도 FP, 문자열 처리 |
| AVX | 2010 | 256-bit | YMM 레지스터, FMA 도입 |
| AVX-512 | 2017 | 512-bit | 32개 ZMM, 마스크 레지스터(k0-k7) |
| AVX10 | 2024+ | 256/512-bit | P/E-Core 통합, 버전 기반 열거 |
3.3 ⚠️ 벡터 아키텍처 vs SIMD 확장의 핵심 차이
교과서는 SIMD 확장이 벡터 아키텍처에 비해 세 가지 중요한 단점을 갖고 있다고 지적합니다:
⚠️ SIMD 확장의 3대 한계
1. VLR 부재: 벡터 길이 레지스터가 없어 항상 레지스터 전체 폭만큼 연산해야 합니다. 남는 요소가 있으면 프로그래머가 직접 처리해야 합니다.
2. 메모리 유연성 부족: 초기 SIMD는 스트라이드/스캐터-개더를 하드웨어로 지원하지 않아 데이터가 연속 정렬(Aligned) 되어야 합니다.
3. 마스크 레지스터 부재: 조건부 요소 실행을 위한 마스크 레지스터가 없어 유연한 제어가 어렵습니다.
이러한 한계로 인해 SIMD 확장은 매 세대마다 수백 개의 새로운 명령어가 추가되었고, x86 ISA의 복잡성이 폭발적으로 증가했습니다. 반면 벡터 아키텍처는 VLR 덕분에 소수의 명령어로도 다양한 길이의 벡터를 처리할 수 있었습니다.
💡 AVX-512의 진보: 2017년에 도입된 AVX-512는 드디어 벡터 아키텍처의 장점을 일부 흡수했습니다. 마스크 레지스터(k0~k7)를 도입하여 조건부 실행을 지원하고, 스캐터/개더 명령어를 추가했으며, 레지스터 수를 32개로 확장했습니다.
3.4 📈 루프라인 성능 모델 (Roofline Model)
루프라인 모델은 프로세서의 부동소수점 성능과 메모리 대역폭을 2차원 그래프에 통합하여, 주어진 워크로드가 연산 제한(Compute-bound)인지 메모리 제한(Memory-bound)인지 직관적으로 판단할 수 있게 합니다.
산술 강도(Arithmetic Intensity)는 프로그램의 부동소수점 연산 수를 메인 메모리 접근 바이트 수로 나눈 값입니다. 교과서의 비교에서 NEC SX-9 벡터 프로세서는 메모리 대역폭이 162 GB/s로 Core i7의 16.4 GB/s 대비 10배 높아, 낮은 산술 강도에서 큰 성능 우위를 보였습니다.
4. 🎮 GPU 아키텍처 (Graphics Processing Units)
GPU는 원래 그래픽 파이프라인(정점 변환, 픽셀 렌더링)을 가속하기 위해 설계되었지만, NVIDIA의 CUDA(Compute Unified Device Architecture) 모델을 통해 범용 병렬 프로세서로 진화했습니다. 이것이 GPGPU(General-Purpose GPU) 패러다임의 시작입니다.
4.1 🧵 SIMT (Single Instruction, Multiple Threads)
GPU는 SIMD와 유사하지만 근본적으로 다른 프로그래밍 모델을 제공합니다. 프로그래머는 단일 스레드를 위한 스칼라 코드를 작성하고, 하드웨어가 수십 개의 스레드를 묶어 동일한 명령어를 동시에 실행합니다.
T0-T31
T32-T63
T0-T31
T32-T63
NVIDIA GPU: 32개 스레드 = 1 Warp → 여러 Warp = 1 Thread Block → 여러 Block = 1 Grid
CUDA 프로그래밍 예시: DAXPY
C 코드의 루프가 사라지고, 각 스레드가 하나의 배열 요소를 담당합니다. blockIdx.x × blockDim.x + threadIdx.x로 글로벌 인덱스를 계산하여 자기 담당 요소를 처리하는 간단한 패턴입니다.
4.2 ⚡ Branch Divergence (분기 발산)
SIMT 모델에서 Warp 내의 32개 스레드가 서로 다른 if-else 경로를 가면, 하드웨어는 마스크를 씌워 순차적으로 양쪽 경로를 모두 실행합니다. 이를 Branch Divergence라 하며, 최악의 경우 성능이 절반으로 떨어질 수 있습니다.
● if 경로: 스레드 0,1,3,5 실행 / 스레드 2,4 비활성 (마스크)
● else 경로: 스레드 2,4 실행 / 스레드 0,1,3,5 비활성 (마스크)
→ 두 경로를 순차 실행하므로 총 2배의 시간이 소요될 수 있음!
4.3 🧠 지연 은닉: 대규모 멀티스레딩
CPU와 GPU는 메모리 지연 시간(Memory Latency)에 대해 정반대의 전략을 취합니다:
대형 캐시(L1/L2/L3), 정교한 분기 예측, 비순차 실행으로 메모리 접근을 "숨기려" 합니다. 하드웨어가 복잡해지고 다이 면적의 대부분을 캐시에 할애합니다.
수천 개의 스레드 상태(레지스터, PC)를 하드웨어에 유지합니다. 한 Warp이 메모리를 기다리면 즉시 다른 Warp로 전환(0-cycle context switch)하여 ALU를 쉬지 않게 합니다.
💡 비유: CPU가 "고급 레스토랑의 소수 정밀 셰프"라면, GPU는 "푸드코트의 대량 조리 시스템"입니다. CPU는 한 명의 요리를 정교하게 만들고, GPU는 수천 인분을 동시에 돌립니다. 한 접시가 조리 대기 중이면 즉시 다른 접시를 처리합니다.
4.4 💾 GPU 메모리 계층 구조
스레드 전용, 초고속
블록 내 공유, SRAM
SM/칩 단위
GDDR/HBM, 대용량
글로벌 메모리(Global Memory)는 모든 스레드가 접근할 수 있는 메인 메모리(GDDR/HBM)로, 대역폭은 크지만 수백 사이클의 지연 시간이 있습니다. 공유 메모리(Shared Memory)는 같은 Thread Block 내의 스레드끼리만 공유하는 칩 내부의 SRAM으로, 프로그래머가 명시적으로 관리하는 "소프트웨어 관리 캐시" 역할을 합니다.
5. 📋 GPU 하드웨어 용어 매핑
GPU의 독자적 진화 역사 때문에, CPU와는 상당히 다른 용어 체계를 갖고 있습니다. 교과서는 "더 설명적인 이름"을 사용한 후 NVIDIA 공식 용어와 매핑합니다:
| 설명적 이름 | 전통적 대응 | NVIDIA 공식 용어 | 설명 |
|---|---|---|---|
| Vectorizable Loop | 벡터화 가능 루프 | Grid | GPU에서 실행되는 전체 병렬 연산 |
| Body of Vectorized Loop | 스트립 마이닝된 루프 몸체 | Thread Block | 하나의 SM에서 실행되는 스레드 그룹 |
| Thread of SIMD Instructions | 벡터 명령어 스레드 | Warp | 32개 스레드의 SIMD 실행 단위 |
| SIMD Instruction | 벡터 명령어 | PTX Instruction | SIMD 레인에서 실행되는 단일 명령어 |
| Multithreaded SIMD Processor | 멀티스레드 벡터 프로세서 | Streaming Multiprocessor | 독립적인 SIMD 처리 유닛 |
| Thread Block Scheduler | 스칼라 프로세서 | GigaThread Engine | Thread Block을 SM에 배정 |
| GPU Memory | 메인 메모리 | Global Memory | 모든 SM이 접근하는 DRAM |
| Local Memory | 로컬 메모리 | Shared Memory | SM 내부의 고속 SRAM |
6. ⚖️ 아키텍처 간 종합 비교
| 특징 | 벡터 아키텍처 | SIMD 확장 (SSE/AVX) | GPU (SIMT) |
|---|---|---|---|
| 추상화 단위 | 긴 데이터 벡터 배열 | 작은 고정 크기 블록 | 단일 스칼라 스레드(논리적) |
| 길이 가변성 | VLR로 유연한 길이 | 고정(레지스터 꽉 채움) | HW가 Warp 크기 결정 |
| 메모리 지연 대처 | 깊은 파이프라이닝 | 캐시에 의존 | 대규모 멀티스레딩 |
| 제어 흐름 분기 | 마스크 레지스터 | 비트 논리 연산 | HW 마스킹(Divergence) |
| 프로그래밍 모델 | 벡터화 컴파일러 | Intrinsics/라이브러리 | CUDA/OpenCL |
| 적용 영역 | 과학 연산(HPC) | 멀티미디어/범용 | AI/그래픽/범용 병렬 |
| 에너지 효율 | 높음 | 중간 | 매우 높음(FLOP당) |
7. 🔮 2026년 DLP 기술 최신 동향
7.1 🟢 NVIDIA Blackwell 아키텍처 (B200/B300)
2024년 GTC에서 발표된 NVIDIA Blackwell은 GPU 역사상 가장 극적인 세대 전환입니다. B200 GPU는 두 개의 다이를 하나의 패키지에 결합한 칩렛 기반 메가 GPU로, 총 2,080억 개의 트랜지스터를 탑재했습니다.
Blackwell의 혁신 중 교과서의 DLP 개념과 직결되는 핵심 요소들:
5세대 텐서 코어: FP4, FP6, FP8 등 초저정밀도 포맷을 지원합니다. FP4를 사용하면 동일한 메모리 대역폭에서 2배 더 많은 데이터를 처리할 수 있으므로, 본질적으로 SIMD 폭을 2배로 확장한 효과입니다. 에너지당 토큰 비용이 Hopper의 12J에서 Blackwell의 0.4J로 30배 감소했습니다.
듀얼 칩렛 아키텍처: TSMC 4N 공정으로 제조된 두 개의 다이가 10 TB/s의 칩 간 인터커넥트로 연결되어 단일 캐시-일관성 GPU로 동작합니다. 이는 단일 다이의 레티클 한계를 넘어서기 위한 혁신적 접근입니다.
SM당 64개 동시 Warp: Compute Capability 10.0에서 SM당 최대 64개의 Warp를 동시에 관리할 수 있어, 메모리 지연 은닉 능력이 대폭 향상되었습니다.
💡 2세대 Transformer Engine: 마이크로-텐서 스케일링(Micro-tensor Scaling)을 도입하여, 서브 텐서 수준에서 동적으로 정밀도를 조정합니다. 극단적인 양자화에서도 정확도를 유지하면서 성능을 2배 향상시키는 핵심 기술입니다.
NVIDIA GPU 로드맵
| 세대 | 시기 | 메모리 | FP4 성능 | 주요 특징 |
|---|---|---|---|---|
| Hopper H100 | 2022 | 80GB HBM3 | - | 4세대 텐서 코어, FP8 |
| Blackwell B200 | 2024 | 192GB HBM3e | 20 PFLOPS | 듀얼 칩렛, FP4, 10TB/s |
| B300 Ultra | 2025 | 288GB HBM3e | ~14 PFLOPS | 50% 메모리 증가, TDP 1100W |
| Vera Rubin | 2026-27 | 288GB HBM4 | - | HBM4, 13TB/s, NVLink 6 |
7.2 🔴 AMD Instinct MI350/MI400 시리즈
AMD는 CDNA 4 아키텍처 기반의 Instinct MI350 시리즈(2025)와 CDNA 5 아키텍처 기반 MI400 시리즈(2026)로 NVIDIA에 도전하고 있습니다.
MI350X (CDNA 4): 3nm 공정, 256 CU(16,384 코어), 288GB HBM3e, 8 TB/s 대역폭, FP4/FP6 지원. 전세대 대비 AI 추론 성능이 최대 35배 향상되었습니다.
MI400 시리즈 (CDNA 5, 2026): MI455X(AI 학습/추론)와 MI430X(HPC) 두 변형으로 출시 예정입니다. 432GB HBM4 메모리, 19.6 TB/s 대역폭, 40 PFLOPS FP4 / 20 PFLOPS FP8 성능을 목표로 합니다. AMD의 랙 규모 솔루션 "Helios"에 통합되어, EPYC "Venice" CPU 및 Pensando "Vulcano" NIC와 함께 72-GPU 스케일업 도메인을 구성합니다.
7.3 🟡 CPU SIMD의 진화: AVX10 & ARM SVE2
Intel AVX10
Intel은 AVX-512의 후속으로 AVX10을 발표했습니다. 하이브리드 아키텍처(P-Core + E-Core) 때문에 발생한 AVX-512 파편화 문제를 해결하기 위한 것입니다:
AVX10/256: 모든 코어(P+E)에서 실행 가능한 256-bit 벡터 명령어. 마스크 레지스터, 32개 벡터 레지스터 등 AVX-512의 고급 기능을 유지하면서 벡터 폭만 256-bit로 제한합니다.
AVX10/512: P-Core 전용 512-bit 실행. 서버 Xeon에서만 지원될 예정입니다. 2026년 후반 Nova Lake(Core Ultra 400) 또는 Diamond Rapids Xeon에서 첫 지원이 예상되나, 최근 컴파일러 패치에서 Nova Lake의 AVX10 지원이 확인되지 않아 불확실성이 남아 있습니다.
⚠️ AVX-512 아이러니: Intel이 만든 AVX-512를 Intel 자신이 하이브리드 CPU에서 비활성화한 반면, AMD는 Zen 4/5에서 모든 코어에 AVX-512를 지원합니다. AMD의 접근이 교과서가 주장하는 벡터 아키텍처의 철학(유연한 길이, 마스크 레지스터)에 더 부합합니다.
ARM SVE2 (Scalable Vector Extension 2)
ARM의 SVE/SVE2는 교과서의 벡터 아키텍처 이상에 가장 가까운 현대적 구현입니다. 벡터 길이를 ISA에서 고정하지 않고 128~2048 bit 범위에서 구현체가 자유롭게 선택할 수 있습니다.
ARMv9 아키텍처의 기본 SIMD로 채택된 SVE2는 다음과 같은 장점을 제공합니다. 프리디케이트 레지스터(Predicate Registers)를 통한 유연한 마스킹, 개더-로드/스캐터-스토어의 하드웨어 지원, 그리고 벡터 길이에 무관한(VLA) 코드를 한 번 작성하면 어떤 벡터 폭 구현에서든 실행할 수 있는 이식성입니다.
현재 대부분의 ARM 프로세서(Cortex-X2/X3/X4, Neoverse V2/N2)는 128-bit SVE2를 구현하고 있어 NEON과 동일한 폭이지만, 향후 서버 코어에서 더 넓은 벡터를 지원할 것으로 기대됩니다. NVIDIA Grace CPU(Neoverse V2 기반)에서의 SVE 성능 연구가 2025년 Euro-Par 학회에서 발표되는 등, 학계에서도 활발한 연구가 이루어지고 있습니다.
7.4 🏗️ GPU 아키텍처 트렌드 종합
| 사양 | Fermi (2010, 교과서) | NVIDIA B200 (2024) | AMD MI350X (2025) | AMD MI455X (2026) |
|---|---|---|---|---|
| 공정 | 40nm | TSMC 4N | 3nm | 2nm (XCD) |
| 트랜지스터 | ~3B | 208B (듀얼 다이) | - | - |
| 메모리 | 6GB GDDR5 | 192GB HBM3e | 288GB HBM3e | 432GB HBM4 |
| 메모리 대역폭 | ~192 GB/s | 8 TB/s | 8 TB/s | 19.6 TB/s |
| FP4 성능 | - | 20 PFLOPS | - | 40 PFLOPS |
| TDP | ~250W | 1000W | 1000W | - |
8. ⚡ DLP와 에너지 효율: AI 시대의 핵심 과제
교과서가 Chapter 1에서 예고한 전력 벽(Power Wall)은 2026년 AI 시대에 더욱 심화되고 있습니다. 단일 GPU의 TDP가 1,000W를 넘어서고, 72-GPU 랙 시스템의 총 전력이 수백 kW에 달하면서 데이터센터의 전력 소비가 500MW를 돌파하는 시설도 등장하고 있습니다.
이 문제에 대한 핵심 해답이 바로 DLP입니다. FP4와 같은 저정밀도 연산은 동일한 전력 예산 내에서 더 많은 연산을 수행할 수 있게 합니다. NVIDIA Blackwell에서 에너지당 토큰 비용이 Hopper 대비 30배 감소한 것은 순수한 클럭 속도 향상이 아니라 데이터 수준 병렬성의 효율적 활용 덕분입니다.
✅ DLP의 미래: 업계는 FP4를 넘어 FP3, FP2로 정밀도를 계속 낮추는 동시에, 정확도를 유지하기 위한 마이크로-텐서 스케일링 기술을 발전시키고 있습니다. 소형 모듈 원자로(SMR)와 직접 칩 액체 냉각(Direct-to-chip Liquid Cooling)도 GPU 에너지 위기에 대한 인프라 수준의 대응으로 부상하고 있습니다.
9. 📝 핵심 요약
🎯 Chapter 4 핵심 키워드 정리
벡터 아키텍처: VLR, 스트립 마이닝, 스트라이드, 스캐터-개더, 체이닝 — DLP의 원형이며 가장 우아한 구현
SIMD 확장: 고정 폭 레지스터 패킹, MMX→SSE→AVX→AVX-512→AVX10 진화 — 범용 CPU에 DLP를 저비용으로 통합
GPU (SIMT): 스칼라 스레드를 Warp로 묶어 SIMD 실행, 대규모 멀티스레딩으로 지연 은닉 — AI/HPC의 핵심 플랫폼
2026 트렌드: 칩렛 GPU(B200), HBM4(MI400), 초저정밀도(FP4), 랙 규모 통합, 에너지 효율이 최대 관심사
교과서에서 Fermi 아키텍처(2010)를 사례로 설명했던 GPU는, 15년 만에 트랜지스터 수 70배, 메모리 대역폭 40배, 전력 효율 수십 배 이상의 발전을 이루었습니다. 그러나 그 근본 원리인 데이터 수준 병렬성 — 같은 연산을 여러 데이터에 동시 적용한다는 아이디어 — 는 1970년대 Cray-1부터 2026년 NVIDIA Blackwell까지 변하지 않았습니다.
이것이 바로 아키텍처를 공부해야 하는 이유입니다. 기술은 변하지만, 원리는 영속합니다.
댓글
댓글 쓰기