본문 바로가기

AI Compiler framework

Memory Wall and the Illusion of Operators - Why Modern AI Compilers Must Become Dataflow System

1. Introduction 

최근 딥러닝 시스템에서 가장 큰 병목은 더 이상 연산 능력이 아니다.

실제 병목은 데이터 이동에서 발생한다.

이 현상은 흔히 Memory Wall 이라고 불린다. 

그러나 이 문제는 단순히 하드웨어의 한계에서 비롯된 것이 아니다.

더 근본적인 원인은 다음과 같다. 

과거 딥러닝 프레임워크의 추상화 방식과 현대 GPU 아키텍처 사이의 구조적 불일치

즉,

Software Abstraction (Operator-centric)
        vs
Hardware Reality (Dataflow + Memory-centric)

이 간극이 Memory Traffic 을 만들어내고 있다.

 

2. Historical Design of Deep Learning Frameworks

초기 딥러닝 프레임워크는 성능을 위해 설계된 것이 아니다.

핵심 목표는 다음으로

  • 연구자가 쉽게 모델을 작성
  • 자동 미분
  • 디버깅과 실험의 편의성
  • 수학적 표현을 코드로 직접 대응

따라서 모델은 자연스럽게 Operator Graph 형태로 표현되었다.

Model
 ↓
Tensor Operator Graph
 ↓
CUDA Kernel per Operator

예시

Linear
GELU
Add
LayerNorm

각 연산은 하나의 Operator 로 정의되고, 각 Operator 는 보통 하나의 CUDA Kernel 로 실행된다.

이 구조는 하드웨어 관점에서는 비효율적일 수 있다.

 

3. Evolution of GPU Architecture

GPU 의 발전 방향은 프레임워크 설계 당시와 크게 달라짐

과거 GPU 의 문제

Compute 부족

현재 GPU 의 문제

Memory bandwidth 부족

 

 

A100 ~312 TFLOPS ~1.6 TB/s
H100 ~1000 TFLOPS ~3.3 TB/s

연산 성능은 수 배 이상 증가했지만

메모리 대역폭은 그 속도를 따라가지 못함

결과적으로 많은 커널이 다음 상태에 놓인다.

Memory-bound kernels

즉 GPU 는 연산을 기다리는 것이 아니라

메모리에서 데이터를 기다리고 있는 상태가 된다. 

 

4. Operator-by-Operator Execution and Memory Traffic

기존 프레임워크의 실행 방식은 보통 다음과 같다

x - LayerNorm - Linear - GELU - Linear - Add

실제 실행 과정

Kernel 1: LayerNorm
write → HBM

Kernel 2: Linear
write → HBM

Kernel 3: GELU
write → HBM

Kernel 4: Linear
write → HBM

Kernel 5: Add

HBM write
HBM read
HBM write
HBM read
HBM write

이런 반복적인 메모리 접근이 발생한다.

이 현상은 연산 비용보다 메모리 접근 비용이 더 큰 상황을 만들어낸다.

 

5. Why Existing AI Compilers Stil Struggle

AI 컴파일러들도 이 문제를 인식하고 다음과 같은 최적화를 수행한다.

operator fusion
tiling
layout transform
kernel scheduling

하지만 근본적인 한계가 있다.

이유는 IR 의 기본 구조가 여전히 Operator 중심이기 때문

기존 IR 예시

%1 = matmul
%2 = add
%3 = gelu

컴파일러는 이 구조에서

operator boundary

를 전제로 한다.

그래서 fusion 도 결국

fuse(opA, opB)

같은 방식이 된다.

 

6. The String Claim : "Operators Do Not Exist"

여기서 하나의 주장으로 이어진다.

Operator 는 실제로 존재하지 않는다

GPU 가 실제로 실행하는 것은 다음

memory load
compute instruction
memory store

ld.global
fma
exp
st.global

GPU 는

LayerNorm
GELU
Add

같은 개념을 이해하지 못한다.

Operator = Software abstraction

일 뿐이다.

 

7. Toward Dattaflow-Oriented IR

최근 AI compiler 연구는 다음 방향으로 이동하고 있다.

기존

Operator IR

새로운 방향

Dataflow IR
or
Kernel pipeline IR

tile loop
shared memory tile
vector load
warp reduction

이 접근에서는 연산의 이름이 아니라 데이터 이동 패턴이 핵심이 된다.

Compute-centric abstraction
        →
Dataflow-centric abstraction

 

8. Implication for AI Compilelr Design

현대 AI 컴파일러가 해결해야 하는 핵심 질문은 다음과 같다

Neural network program의
natural execution unit은 무엇인가?

현재 산업의 답

Operator

하지만 점점 나타나는 새로운 답

Kernel pipeline
or
Dataflow region

 

9. Direction for AICF

AICF 가 탐구할 수 있는 방향은 다음과 같다.

기존 컴파일러 구조

Model
 ↓
Operator Graph
 ↓
Kernel Selection

가능한 새로운 구조

Model Semantics
 ↓
Dataflow Decomposition
 ↓
Kernel Pipeline Synthesis

Operator abstraction
        ↓
Dataflow execution model

로의 전환이다.

 

Conclusion

현재 AI 시스템의 Memory Wall 문제는 단순한 하드웨어 한계가 아니다. 

그것은

과거의 software abstraction
        vs
현대 hardware execution model

사이의 구조적 불일치에서 비롯된다.