是否有可能指示linux生成一个工作线程,但是将它复制到与父级相同的CPU上,而不将它们固定到特定的CPU上?
答案 0 :(得分:0)
要复用同一套接字上的所有线程,您需要compact scheduling,这可以通过几种方式实现。
如果您已有工作人员,请使用taskset
或numactl
获取当前的父亲,然后将子项移至同一套接字。这里明显的缺点是它是post-hoc。
如果您尚未设置启动主服务器,请为英特尔OpenMP环境设置KMP_AFFINITY=compact
环境变量,或为GNU OpenMP环境设置OMP_PROC_BIND=master
。这是预先的,但需要您知道您的编译环境,或者至少涵盖所有情况。