Wolfram Computation Meets Knowledge

Why doesn’t Mathematica automatically launch as many local subkernels as I expected?

Local subkernels launch automatically when either the first parallel function or the LaunchKernels[] function is evaluated. Any issues with how many local subkernels automatically launch can be investigated in the Parallel Kernel Configuration menu.

To access the Parallel Kernel Configuration menu, select the menu item EvaluationParallel Kernel Configuration. The menu item opens the Preferences window with the Parallel tab selected. Within this selection, click the Local Kernels tab, shown below.

Automatic Setting

Number of processor cores

By design, Mathematica automatically launches subkernels equal to the number of physical CPU cores. Mathematica does not detect logical CPU cores, such as those coming from hyperthreading technology. The “4” here indicates that four physical CPU cores are detected. To override this setting, either use the LaunchKernels[n] function, where n is an integer indicating the number of local subkernels to launch, or switch to the manual setting.

Limit by license availability

Mathematica can never launch more subkernels than the number of available subkernel license seats. The total number of subkernel license seats is indicated in parentheses; the example above shows eight license seats.

If there are more CPU cores than subkernel license seats, then a warning message appears for each automatic subkernel that tries to launch beyond this limit. Enabling the “Limit by license availability” option avoids this.

If there are more CPU cores than subkernel license seats, then you may wish to purchase a Mathematica Core Extension license that provides more subkernel license seats.

Some license seats may be taken up by subkernels that did not shut down properly. Ending these processes returns the held license seats.

Use hard limit

A hard limit is used to manually restrict the number of automatically launched subkernels, even if additional physical CPU cores and license seats are available. Such a limit may be recommended for certain memory-intensive calculations. For example, if each calculation requires a large amount of memory, then reducing the number of simultaneously running subkernels can maintain a lower combined system memory usage.

Manual Setting

The manual setting is used to manually set the number of automatically launched subkernels. This setting is often used to match the number of automatically launched subkernels with the total number of physical and logical CPU cores.

In this example, the manual setting is 8 in order to take advantage of four logical CPU cores beyond the four physical CPU cores that Mathematica discovered. Alternatively, evaluating LaunchKernels[n] launches n local subkernels.

Even with a large manual setting, Mathematica can never launch more subkernels than the number of available subkernel license seats. Moreover, it is inefficient to launch more subkernels than CPU cores because the subkernel processes will compete for resources.

该文档是否有帮助?

任何建议?

非常感谢您的反馈!

提交

联系支持团队

从账单到产品激活,以及任何技术相关内容,无论您遇到任何问题,我们都在此为您提供帮助。

1-800-WOLFRAM (+1-217-398-0700 美国境外用户)

客服支持

周一至周五
8am–5pm 美国中部时区

  • 产品注册或激活
  • 预售信息和订单
  • 安装帮助和首次启动

高级技术支持 (面向特定用户)

周一至周四
8am–7pm 美国中部时区

周五
8:30–10am & 11am–5pm 美国中部时区

  • 优先技术支持
  • Wolfram 专家助理专员
  • Wolfram 语言编程帮助
  • 高级安装支持