Brian Liu
Brian Liu
收到。谢谢!
@luotao1 关于perf log里观察到context_switch的次数比竞品高200倍的问题,我看了一下vtune log。 1. 未看出明显的因为lock而导致频繁切换context 2. 被观察进程有多达47个线程,其中只有4个线程为有效线程(一个主线程,两个python reader线程,一个大部分时间idle的ThreadPool线程)。其它线程均为OpenBLAS的BlasServer启动的thread。这些OpenBLAS线程都是idle (block在__sched_yield) 一个疑问是:是否这些“无用的”OpenBLAS线程导致了context_switch次数的增加? 尽管它们不占用多少CPU时间,但会增加CPU调度的几率。
可以试试用export OPENBLAS_NUM_THREADS=1(或通过[代码](https://stackoverflow.com/questions/29559338/set-max-number-of-threads-at-runtime-on-numpy-openblas)在runtime进行设置)控制OpenBLAS线程数,然后用Vtune看看是否生效