RemoteEvaluate

RemoteEvaluate[expr]

gives the result of evaluating expr using your current default remote Wolfram Language kernel.

RemoteEvaluate[ker, expr]

gives the result of evaluating expr using the kernel specified by ker.

RemoteEvaluate[{ker1,ker2,},expr]

gives a list of the results of evaluating expr using each of the kernels keri.

RemoteEvaluate[ker,expr,h]

wraps the head h around the result produced before returning it.

Details and Options

  • RemoteEvaluate has attribute HoldAll.
  • RemoteEvaluate[expr] uses the kernel given by $DefaultRemoteKernel.
  • RemoteEvaluate has the following options:
  • IncludeDefinitionsTruewhether to automatically include dependencies
  • With IncludeDefinitionsTrue, definitions required for the evaluation of expr will automatically be sent to the remote kernel.
  • With IncludeDefinitions->False, definitions required for the evaluation of expr must be loaded and evaluated explicitly during the evaluation of expr.
  • Kernels are specified using RemoteKernelObject, or short string forms.
  • The following remote kernel string forms are recognized:
  • "ssh://user@hostname:port/path"a kernel on the given machine, accessed using SSH
    "ssh://hostname"use the default path, user and port on the given machine
    "hostname"equivalent to "ssh://hostname"
    "wstp://server:port/pool"a kernel on a WSTPServer
    "wstp://server"use the default port and kernel pool
    "localhost"a kernel on the same machine
    "file:///path/to/wolfram"the given kernel on the same machine
    "https://www.wolframcloud.com/"a kernel in the Wolfram Cloud
  • The path in "ssh://host/path" or "file:///path" is the absolute path of a suitable kernel command.
  • Ssh cannot ask for passwords interactively. Keys can be specified, or an ssh password agent can be used.

Examples

open allclose all

Basic Examples  (3)

Connect to a machine with ssh, launch a default kernel and evaluate some of its properties:

Connect to a WSTPServer on the given port:

Use a cloud kernel for evaluation:

Run the evaluation in a kernel on the same machine:

Each instance of RemoteEvaluate launches a new kernel, which is discarded after the evaluation:

The same evaluation can be performed on several kernels:

Scope  (14)

SSH Kernels  (6)

Use the default ssh port and remote kernel command:

Specify an absolute path to the remote kernel command:

Specify an absolute path to the default kernel command on macOS:

Specify the remote operating system to choose a suitable kernel command:

Specify a username on the remote machine:

A bare host name is assumed to be an ssh kernel:

WSTPServer Kernels  (3)

Connect to a WSTPServer listening on the default port and request a kernel in the default pool:

Connect to a WSTPServer listening on the given port:

Connect to a WSTPServer and request a kernel in the given pool:

Cloud Kernels  (2)

Connect to the Wolfram Cloud with the given cloud base:

Connect to the private cloud of your organization:

Local Kernels  (3)

Connect to a kernel on the same machine where the request is made:

Use a specific local kernel, given by its absolute path:

Alternatively, give the path in the URL:

Use a specific local kernel, given by its relative path:

Generalizations & Extensions  (1)

A result received is normally evaluated further on the receiving side:

Prevent the evaluation of the result received by wrapping it in Hold:

Options  (1)

IncludeDefinitions  (1)

By default, necessary definitions for an evaluation are sent to the remote kernel:

Without these definitions, no evaluation takes place on the remote kernel:

Properties & Relations  (2)

Use the kernel given by $DefaultRemoteKernel:

ParallelEvaluate performs the same computation on all running parallel subkernels:

RemoteEvaluate performs the same computation on all kernels specified:

Neat Examples  (2)

Perform a parallel computation on a remote machine:

Perform an evaluation that requires a front end, which is launched on the remote machine as needed:

Wolfram Research (2020), RemoteEvaluate, Wolfram Language function, https://reference.wolfram.com/language/ref/RemoteEvaluate.html.

Text

Wolfram Research (2020), RemoteEvaluate, Wolfram Language function, https://reference.wolfram.com/language/ref/RemoteEvaluate.html.

BibTeX

@misc{reference.wolfram_2021_remoteevaluate, author="Wolfram Research", title="{RemoteEvaluate}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/RemoteEvaluate.html}", note=[Accessed: 04-August-2021 ]}

BibLaTeX

@online{reference.wolfram_2021_remoteevaluate, organization={Wolfram Research}, title={RemoteEvaluate}, year={2020}, url={https://reference.wolfram.com/language/ref/RemoteEvaluate.html}, note=[Accessed: 04-August-2021 ]}

CMS

Wolfram Language. 2020. "RemoteEvaluate." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RemoteEvaluate.html.

APA

Wolfram Language. (2020). RemoteEvaluate. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RemoteEvaluate.html