5
$\begingroup$

How do I prevent Mathematica from trying to resurrect subkernels that it has deemed to be dead? I would like to avoid this:

Kernels::rdead:
   Subkernel connected through KernelObject[3, *compute node*] appears dead. 

Parallel`Developer`QueueRun::req:
   Requeueing evaluations {6} assigned to
    KernelObject[3, *compute node*, <defunct>].

LaunchKernels::clone:
   Kernel KernelObject[3, *compute node*, <defunct>] resurrected as
    KernelObject[9, *compute node*].

I would prefer it if Mathematica aborts the entire computation if a subkernel dies, or continues on with the remaining subkernels. If a subkernel dies it's most likely because it ran out of memory, so there is little sense in relaunching it.

$\endgroup$

1 Answer 1

4
$\begingroup$

I of course did not think of checking the preferences panel. Under the Parallel tab one can set the desired behaviour for failed evaluations and dead kernels.

These can also be accessed programmatically via

SystemOptions["ParallelOptions" -> "RelaunchFailedKernels"]
SystemOptions["ParallelOptions" -> "RecoveryMode"]

where "RelaunchFailedKernels" takes the values True or False, while "RecoveryMode" has values "Retry" or "Abandon" assigned to it.

I also found a bit more detail in this documentation for the Parallel Computing Toolkit, which was eventually merged with Mathematica.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.