1

我的问题:如何让多线程使用 100% CPU(至少 80%),比如说让 4 个线程使用 4 个核心到 100%?

整个故事:我写了一些 posix 多线程代码。当在多核(最多 16 个)集群服务器上运行它时,虽然使用更多内核会减少挂墙时间,但总计算时间(代码部分花费的时间总和 ~ 没有 ~ 任何同步)。我想这是因为某些内核没有专门用于运行我的线程。在我的笔记本电脑上运行代码时,我的猜测得到了证实。

我尝试使用 pthread_setaffinity_np 分配亲和力并设置优先级 pthread_attr_setschedpolicy(&attributes_, SCHED_FIFO); pthread_attr_setschedparam(&attributes_, &p);

这没有帮助。

4

0 回答 0