gpt4 book ai didi

multithreading - Matlab多线程函数

转载 作者:行者123 更新时间:2023-12-03 13:20:54 33 4
gpt4 key购买 nike

“排序”是matlab(R2010a)中的内置功能之一,它利用了
多线程。当我在大型矩阵上使用“排序”时,
8个核心,我可以看到所有核心都已激活,但是报告了
每个CPU的使用率都不会超过25%。虽然我自己的openmp是“mex”
运用了所有核心。
有没有一种方法可以迫使Matlab使用全部?

提前致谢,

卡姆兰

最佳答案

这并不意味着代码中的线程一直都在工作,而在MATLAB中线程却工作得并不多。您可能在代码(#pragma omp barrier)中的某些锁/互斥锁上旋转(主动等待),而matlab的线程可能正在休眠。效果是一样的-线程等待,但是在您的情况下,您将看到100%的CPU使用率。

MATLAB没有开关说“使用100%的CPU”。这由操作系统决定。如果线程有效,它们将运行。根据您的描述,我会说Matlab中的线程经常对 sleep 进行排序。

因此,无论MATLAB做什么,它至少都会尽力而为。如果您的速度几乎与matlab一样快,那就恭喜!对你有益 :)

关于multithreading - Matlab多线程函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13072936/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com