H3 compact Q8 OOM on M5 Max 48GB — bf16 DiT reaches 38.58 GiB before ModulationCache build
System
MacBook Pro M5 Max
18-core CPU / 40-core GPU
48 GB unified memory
Phosphene 4.12.2
Installed through Pinokio
Hailuo H3 installation completed successfully
H3 installation/update status
The H3 preflight correctly identifies the machine as requiring the reduced-RAM Q8 engine:
H3 memory preflight OK - 36-60 GB class: the reduced-RAM Q8 engine is REQUIRED here
Running Update Hailuo H3 runner (weights kept - no re-download) completes successfully.
The updater reports:
H3 venv healthy - reusing it
H3 deps OK
Turbo adapter already present
TAE draft decoder already in place (verified)
Q8 engine already built - skipping
Problem
Every H3 image-to-video attempt fails with a Metal out-of-memory error, including the minimum practical configuration:
Image mode
Draft
640×384
3 seconds / 73 frames
Turbo / LightX2V 4-step adapter
TAE draft decoder
Higher-quality and Standard-speed configurations fail as well.
The generated command includes both the bf16 DiT and compact Q8 root:
--dit .../deepbeep-pruned-bf16/MiniMax-H3-FL2VA-pruned_bf16.safetensors
--compact-root .../ddalcu-q8
The render log then reports:
MiniMax-H3-FL2VA-pruned_bf16.safetensors: 532 tensors, 41.40 GB
dit_load_bf16: 8.0s, peak 38.58 GiB, active 38.58 GiB
It proceeds to:
== adaln_cache_and_noise ==
and fails while building ModulationCache:
cache = ModulationCache.build(dit, timestep_table, dtype=mx.bfloat16)
followed by:
RuntimeError: [METAL] Command buffer execution failed: Insufficient Memory (00000008:kIOGPUCommandBufferCallbackErrorOutOfMemory)
Question
Since the reduced-RAM Q8 engine is successfully built and --compact-root is being supplied, should the runtime still be loading the 41.40 GB pruned bf16 DiT and reaching ~38.58 GiB active memory before building the modulation cache?
Is the compact/Q8 path failing to activate, or is there another configuration required for a 48 GB Apple Silicon system?
I can provide the complete render log, H3 update/install log, and metrics JSON if useful.
