# Krea 2 Turbo — NVFP4 vs BF16 (2026-08-11)

**사람이 판정할 것 = 화질 하나.** 속도·메모리는 아래에 다 재 놨다. 워커는 화질을 판정하지 않았다.

## 볼 것

| 파일 | 무엇 |
|---|---|
| `04-face-crop-100pct.png` | ★**여기부터 본다** — 얼굴 320×320 원픽셀 크롭 2장을 나란히(라벨 띠 40px 포함해 파일은 640×360). 리사이즈 0 (좌 BF16 · 우 NVFP4). 피부 질감·모공·속눈썹·머리카락 가닥이 판정 대상. |
| `03-side-by-side.png` | 전신 1024×1024 2장 나란히 |
| `01-BF16-seed990001-job28317.png` | BF16 원본 (화질 기준선) |
| `02-NVFP4-seed990001-job28331.png` | NVFP4 원본 |

두 장은 **프롬프트·seed(990001)·해상도(1024×1024)·스텝(8)·CFG(1)·샘플러(euler/simple)가 전부 같다.**
다른 것은 **DiT 체크포인트 파일 하나**뿐이다 (`krea2_turbo_bf16` 26.3GB → `krea2_turbo_nvfp4` 7.67GB · 둘 다 공식 `Comfy-Org/Krea-2`).
TE(`qwen3vl_4b_bf16` 8.9GB)·VAE 는 **양쪽 동일 BF16** — 화질 차가 나오면 DiT 양자화 탓임이 확정되게 축을 하나만 뺐다.

## 속도 (spark · profile `spark-krea2` · 1024×1024 · 8-step)

ComfyUI 자체 `Prompt executed` 값 (러너·전송 오버헤드 제외):

| 판 | 콜드(모델 로드 포함) | 웜 |
|---|---|---|
| **NVFP4** | **141.5s** (#28331) | **26.20 · 26.47 · 25.41 · 26.27s** (#28332·28333·28334·28335) |
| BF16 | 376.2s (#28336) | 34.53s (#28337) |

dockaiq end-to-end wall (큐 pickup → 결과 mac 도착까지 · 사람이 체감하는 값):
**NVFP4 웜 31.5~38.4s** / BF16 웜 46.6s. NVFP4 콜드 145.4s / BF16 콜드 382.7s.

샘플링 루프만 떼면(tqdm 최종 평균) **NVFP4 2.94~3.07 s/it**(웜 4잡) · **BF16 3.86 s/it**(웜)·4.30(콜드).
⇒ **파일이 3.4배 작아졌는데 스텝은 1.28배밖에 안 빨라졌다.** 이득의 대부분은 **로딩**에서 나온다 (콜드 376→141s = 2.7배).
즉 12B 를 1024²에서 8스텝 도는 비용의 바닥은 대역폭이 아니라 연산 쪽에 더 가깝다 — 발주서의 대역폭 병목 가설은 **부분적으로만** 맞았다.

## 메모리 (GB10 통합메모리 128GB)

`nvidia-smi --query-compute-apps` 의 ComfyUI 프로세스 할당 + `/proc/meminfo`:

| 판 | 웜 상주 (GPU 프로세스) | 시스템 used 상주 | 콜드 로드 중 피크 |
|---|---|---|---|
| **NVFP4** | **16,513 MB** | 26.3 GB | (로드가 짧아 별도 피크 없음 · 잡 중 +0.95GB) |
| BF16 | 30,625 MB | 65.5 GB | **GPU 40,961 MB · 시스템 96.2 GB** |

★BF16 의 콜드 로드 피크 96GB 가 동시 실행 판단의 핵심 수치다 — 128GB 중 96GB 를 한때 쥔다.
NVFP4 는 그 구간이 아예 없다 (상주 26.3GB). **다른 잡과 겹칠 여지는 NVFP4 쪽이 압도적으로 크다.**
※ `--query-gpu=memory.used` 는 GB10 통합메모리에서 `[N/A]` 를 준다. compute-apps 만 값이 나온다.

## 재현 명령

```bash
curl -s -X POST http://100.92.197.73:9100/api/submit -H 'Content-Type: application/json' -d '{
  "workflow_id":"t2i-krea2-turbo-nvfp4-spark",
  "prompt":"<README 와 같은 프롬프트 — prompt.txt 는 job-028331/ 에 있다>",
  "width":1024,"height":1024,"seed":990001,"machine":"spark","priority":"urgent"}'
```
BF16 기준선은 `workflow_id` 만 `t2i-krea2-turbo-stock-spark` 로 바꾼다.

발주 = dock task `t_e7909a46849d`.
