Comfy-Org / Comfy-Org/ComfyUI

macOS (MPS) — FP8 not supported, channels_last runtime errors, and OVI model detection issues

Open
#10,292 6 comments 5 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.