- Replace 'mps' with 'coreml' as the identifier for Apple CoreML Execution Provider across the codebase. - Remove Apple chip generation checks and ensure CoreML is available on all macOS arm64 devices. - Adjust ONNX Runtime session creation to use default CoreML configurations without forcing 'MLProgram'. - Implement support for MoGe-2 to utilize CoreML with static input shape requirements. - Enhance server panel to display restart and stop controls consistently across running states, including 'BUSY'. - Update UI tests to verify new behavior for server controls and cached model display. - Bump blendjob dependency version to 0.1.16 in packaging tests and configurations.
1.9 KiB
1.9 KiB
Why
macOS 设备当前以 mps 表示实际的 ONNX Runtime CoreML Execution Provider,并人为限制为 M4 及以上;同时强制使用 MLProgram 会使具有动态输入和控制流的 MoGe-2 在 MacBook M4 上创建模型时触发 Error in building plan。需要让设备名称、支持范围和实际推理后端一致,并恢复 MoGe-2 可用性。
What Changes
- BREAKING:将公开任务参数、运行时设备清单和界面枚举中的设备标识由
mps改为coreml,不保留旧标识兼容层。 - macOS arm64 构建对所有 Apple Silicon 设备提供 CoreML 与 CPU 选项,移除 Apple 芯片代际解析和 M4 最低代际限制。
- Apple Silicon Mac 默认使用 CPU,CoreML 保留为用户手动选择的可选设备。
- 通用 CoreML Session 使用 ONNX Runtime 的兼容默认模型格式,不再强制把所有模型转换为
MLProgram。 - MoGe-2 为 CoreML 单独启用静态输入分区限制,只将静态 shape 分区交给 CoreML,并把其余节点交给 CPU Execution Provider。
- 显式保留 CoreML 之后的 CPU fallback,并验证 MoGe-2、BEN2 与 Upscale 的设备选择不回归。
- 同步更新设备相关测试和内部文档,使
coreml明确表示 CoreML 调度的 Apple CPU、GPU 与 Neural Engine,而不是 PyTorch MPS backend。
Capabilities
New Capabilities
coreml-inference: 规定 macOS arm64 的 CoreML 设备标识、支持范围、Provider 选择和 MoGe-2 兼容行为。
Modified Capabilities
无。
Impact
- 影响 Blender 设备枚举、Job 参数、运行时 Manifest 和 ONNX Runtime Session 创建。
- 影响
properties.py、server/models/onnx_runtime.py、server/models/onnx_moge2.py及对应测试与内部文档。 mps设备值会被删除;尚未完成或外部构造的旧任务参数必须改用coreml。- 不新增依赖,不改变模型文件、模型输出协议或 Blender Operator 标识符。