sophgo / sophon-demo

Other
234 stars 51 forks source link

BOOM and FAILED #36

Open szxysdt opened 6 months ago

szxysdt commented 6 months ago

好像碰到了奇怪的爆炸问题是😂 目前已经成功跑通了一个LLM和一个TTS 两个模型单独运行的时候,都没有问题 一旦同时运行(SOC模式)会导致两边同时崩溃,并且没重启之前无法再次加载任何模型

请问这种问题应该如何解决?需要用两块板卡来实现双模型运行吗?还是说需要拆分程序的运行逻辑?

sophon-leevi commented 6 months ago

分别是什么模型?可能的情况是内存占用太大了,你可以看看两个模型分别要占多少TPU内存,可不可以通过调整内存布局来满足需求。 内存查看方法:bm-smi,看右上角tpu总占用。 调整内存布局:参考https://doc.sophgo.com/sdk-docs/v23.09.01-lts/docs_latest_release/docs/SophonSDK_doc/zh/html/appendix/2_mem_edit_tools.html

szxysdt commented 6 months ago

TPU内存给了8192, LLM是RWKV-1.6B,占用3.1G TTS是RoBERTa+VITS2,占用约1G 同时加载两个模型,没超过最大TPU内存(如图) image

起爆流程: 1、加载LLM,正常运行多次LLM,LLM正常运行, 2、不杀LLM进程,加载TTS,运行多次TTS,TTS正常运行, 3、起爆:两个进程都不杀,停下TTS请求,运行LLM,LLM程序原地爆炸 4、起爆完成,未重启之前,TPU完全不可用,我手里的任何模型,已加载的会炸,没加载的加载不进去 这是爆炸日志的一小部分:

May 15 17:11:05 bm1684 llm.sh[835]: bdc, device mem, addr[0x1ca83e000], size[0x12680]
May 15 17:11:05 bm1684 llm.sh[835]: ============ check net[block_23] stage[0] =======
May 15 17:11:05 bm1684 llm.sh[835]: gdma, device mem, addr[0x1ca87a000], size[0x15780]
May 15 17:11:05 bm1684 llm.sh[835]: bdc, device mem, addr[0x1ca867000], size[0x12680]
May 15 17:11:05 bm1684 llm.sh[835]: ================
May 15 17:11:05 bm1684 llm.sh[835]: Total 18 errors
sophon-leevi commented 6 months ago

有没有完整的程序crash日志?以及crash之后bm-smi的截图、dmesg的信息(dmesg > dmesg.txt可以获取)。 还需要检查一下这两个模型是不是在不同的mlir环境下编译出来的?或者这两个程序链接了不同的底层runtime库。

szxysdt commented 6 months ago

有可能是不同mlir环境出的,我晚点搞一下环境完全相同的模型试试能不能得到起爆成功的日志