MaaAssistantArknights / MaaAssistantArknights

《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients.
https://maa.plus
GNU Affero General Public License v3.0
12.65k stars 1.68k forks source link

让GPU加速支持OpenVINO #9401

Open aur3l14no opened 1 month ago

aur3l14no commented 1 month ago

在提问之前...

说说你遇到的问题?

在 Linux 上,Intel iGPU 无法使用现有的任何 ONNX Execution Provider

有什么好的想法?

支持 OpenVINO,正如支持 DirectML 那样

其他内容

No response

LoSealL commented 1 month ago

我恰好略懂OpenVINO,不知道社区对OV的需求大概是什么样的,作为MAA的用户,我非常愿意在这里提供开发支持或建议。

aur3l14no commented 1 month ago

现在 MAA 中 OCR 等功能可以通过 CUDA/CoreML/DirectML 这几个 ONNX Execution Provider 来实现 GPU 加速 ( https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/9236 ),希望 OpenVINO 也能成为这样的一个后端。这一方案其实在 https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/8299#issuecomment-1939497735 中讨论过,老实说我也同样担心这样做的收益不大 (现在支持的几个后端已经覆盖大部分场景了),而且从 PR 9236 看来支持这样一个后端似乎并不轻松。不知道大家怎么看 @LoSealL

LoSealL commented 1 month ago

OV有一部分功能(DNNL)提供了ORT的EP,但是由于OV本身的定位和ORT是一样的,与其让OV作为一个EP,反倒不如直接调用OV来的直接简单,可能就需要在MAA里再做一层wrapper。

Linux中调用OV的GPU plugin需要有最新的gpu driver。这个反而是最麻烦的。因为不像Windows,Linux中大概率不是开箱即用的gpu driver,还需要手动安装更新才能正确的跑OV。

另一点是DML的Linux支持,不知道真实进展到哪里了?

aur3l14no commented 1 month ago

反倒不如直接调用OV来的直接简单

好像OV不能完全兼容ONNX的模型吧

LoSealL commented 1 month ago

反倒不如直接调用OV来的直接简单

好像OV不能完全兼容ONNX的模型吧

resource/onnx底下的3个都没问题,你担心哪个不支持? 屏幕截图 2024-06-17 202537

Cryolitia commented 5 hours ago

唉不是你们Linux什么时候能做出来一个DirectML一样的跨平台加速API啊