Background Information

Parallelization in Mathematica uses the hub-and-spoke model in which a controlling kernel manages a number of subordinate kernels (subkernels). Remote computers that have Mathematica installed can provide additional subkernels beyond the local subkernels.

A remote computer that provides subkernels is considered a host, while the computer running the controlling kernel is considered the client. If the host and client computers are both running a Linux operating system, then Mathematica can use SSH to connect with remote Wolfram kernels.

If the two computers are not both running a Linux operating system, then we recommend using the gridMathematica Server/Lightweight Grid Manager combination product to access remote kernels.

Setup

  1. Set up passwordless private/public key pairs between the host and client computers. Please contact your local System Administrator for help, if necessary.
  2. Start Mathematica on the client computer.
  3. Select the EvaluationParallel Kernel Configuration menu item. The Preferences menu opens with the Parallel tab selected.
  4. Select the Remote Kernels tab.
  5. Click the Enable Remote Kernels button.

  6. Click “Add Host” to add a new remote connection.
  7. In the Hostname field in the right panel, input the Hostname of the remote computer. Press Enter to confirm the change.
  8. Check the Enable box and set the number of kernels you wish to use. Do not exceed the CPU core and licensing limits on the host.
  9. If the username on the host and the client differ:
    • Check the “Use custom launch command” box.
    • Replace the “-l `3` `1`” with username@hostname, where username is the user’s login on the host machine.
    • Press Enter to confirm the change.
  10. Verify the kernel configuration by evaluating $ConfiguredKernels.
  11. Close the Preferences menu.

The remote kernel configuration is now complete. From a Mathematica notebook, using the LaunchKernels[] command, or any other parallel functionality, will now include the configured gridMathematica kernels in parallel computations.