macOS (MPS) — FP8 not supported, channels_last runtime errors, and OVI model detection issues
- Dominant language
- Python
- Stars
- 133k
- Forks
- 15.7k
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 158
Description
Hi ComfyUI Team,
I’m running ComfyUI on macOS (Apple Silicon / MPS backend) and noticed a few consistent issues. I checked the changelog and troubleshooting docs, and wanted to confirm best practices for MPS setups.
1. **FP8 not supported**
- FP8 models (e.g. `umt5_xxl_fp8_e4m3fn_scaled.safetensors`) throw:
`TypeError: Trying to convert Float8_e4m3fn to the MPS backend but it does not have support for that dtype`
- ✅ Solution: Use FP16/BF16 variants instead.
- Text encoder → `umt5_xxl_fp16.safetensors`
- VAE → `wan_2.1_vae.safetensors`
- Diffusion / UNet → FP16 or BF16 versions only.
2. **`channels_last` memory format**
- Flag `--force-channels-last` triggers:
`RuntimeError: required rank 4 tensor to use channels_last format`
- ✅ Solution: remove this flag when using MPS.
- Suggestion: could Comfy automatically disable this on macOS?
3. **OVI models**
- Attempting to load `ovi-11B-bf16.safetensors` produces:
`ERROR: Could not detect model type`
- I understand OVI requires CUDA; could we get a clear “Unsupported on MPS” warning in Comfy?
4. **Best practices for MPS (Apple Silicon)**
- UNet / Diffusion: FP16 or BF16
- VAE: FP16 preferred for quality
- Text encoder: FP16 only
- `channels_last`: Off
- FP8: Not supported
- `--force-fp16`: helps reduce memory use on MPS
Also, any plans to add an automatic detection that disables FP8 + channels_last when running on MPS?
Thanks for your amazing work — ComfyUI runs surprisingly well on Apple Silicon with these tweaks!
Contributor guide
Assessment
This issue has not been assessed yet.