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 프로그래밍
  • 고급 설치 지원