众所周知,现代CPU既有性能核心(P核心),也有效率核心(E核心),不同类型的CPU核心有不同的用途,针对不同的任务而设计。 P 核通常具有较高的时钟速度,专为高性能任务而设计,而 E 核以较低的时钟速度运行,专注于节能处理。
在 MATLAB 中,maxNumCompThreads 返回当前最大计算线程数。目前,最大计算线程数等于计算机上的物理核心数。
MATLAB 如何区分 P 核和 E 核?
布拉欣@新加坡
免责声明:所有积分均归 MathWorks 支持团队所有,我只是从此处复制并粘贴它。
并行计算工具箱可以使用两种类型的内核。 MATLAB 将依靠操作系统来调度可用内核上的进程,无论它们是面向性能的还是为提高效率而设计的。然而,值得注意的是,虽然 PCT 可以同时利用性能 (P) 和效率 (E) 核心,但计算任务的最佳实践是从与物理 P 核心数量相等的并行工作线程数量开始。这是因为 P 核心在计算能力方面类似于传统物理核心,而 E 核心针对节能和不太密集的任务进行了优化。
从 R2024a 开始,并行计算工具箱的本地“进程”配置文件将使用等于计算机上 P 核心数量的默认工作线程数量。 这可以通过底部链接中的相同步骤进行更改。
Windows 电源计划
如果您使用的是 Windows,您可能希望考虑调整您的 Windows 电源计划。如果将此设置为“平衡”,则 Windows 可能会降低后台或未选择的应用程序的优先级,因此它们将仅在系统的 E 核心上运行。将电源计划设置为“高性能”应该会使英特尔线程控制器能够选择最适合每个内核的工作负载。
业绩预期
在并行计算中包含效率核心时,您可能仍然会看到性能提升,但扩展可能与性能核心不同。实际的性能改进将取决于代码的性质和正在执行的特定任务。在某些情况下,效率核心可以有效地处理要求不高的并行任务,从而使性能核心能够专注于更密集的计算。
如果您想更改默认使用的核心数:
另请参阅此答案,了解有关更改并行计算工具箱使用的内核数量的更多详细信息:https://www.mathworks.com/matlabcentral/answers/2042101-how-can-i-increase-the-number-of -matlab-workers-inside-parallel-computing-toolbox-to-use-all-the-cor