li-plus / chatglm.cpp

C++ implementation of ChatGLM-6B & ChatGLM2-6B & ChatGLM3 & GLM4
MIT License
2.84k stars 327 forks source link

docker运行镜像cpu模式下,cpu的利用率最大只有1600%,如何提升? #281

Open 421hl opened 4 months ago

421hl commented 4 months ago

我有一台虚机测试运行,32个cpus,我观察到在cpu模式运行下,通过docker stats查看cpu利用率最多只有1600%(如果满负荷,理论上应该达到3200%)。 调整虚机到64个cpus,观察cpu利用率依然只有1600%(如果满负荷,理论上应该达到6400%)。 说明文档中有写到,cpu模式测试性能时是跑的16个线程,是否跟这个有关系?能否有参数进行调整让cpu利用率提高一些?

magnww commented 3 months ago

环境变量num_threads可以设置线程数

421hl commented 3 months ago

环境变量num_threads可以设置线程数

还请指教,num_threads 这个参数具体在哪里设置,感谢!

magnww commented 3 months ago

环境变量num_threads可以设置线程数

还请指教,num_threads 这个参数具体在哪里设置,感谢!

docker run -it --rm -v $PWD:/opt -p 8000:8000 -e MODEL=/opt/chatglm-ggml.bin \
+   -e num_threads=64 \
chatglm.cpp \
uvicorn chatglm_cpp.openai_api:app --host 0.0.0.0 --port 8000
zyz619963502zyz commented 3 months ago

环境变量num_threads可以设置线程数

还请指教,num_threads这个参数具体在哪里设置,谢谢!

开2个页面访问,一个正常输出,第二个等待;

一个正常输出 image

第二个页面等待,第一个结束,就正常输出了 image

你知道原因吗,难道单线程跑?我跑得是下面 chatglm6b-v3.1 image image image