RemoteKernelObject[spec]
指定可用于 RemoteEvaluate 或 LaunchKernels 的远程内核.
RemoteKernelObject
RemoteKernelObject[spec]
指定可用于 RemoteEvaluate 或 LaunchKernels 的远程内核.
更多信息
- RemoteKernelObject["spec",options …] 可用于覆盖内核规范的默认设置.
- 可以识别以下远程内核规范:
-
"ssh://user@hostname:port/path" 使用 SSH 访问的给定机器上的内核 "ssh://hostname" 使用给定机器上的默认路径、用户和端口 "hostname" 等价于 "ssh://hostname" "wstp://server:port/pool" 在 WSTPServer 上的内核 "wstp://server" 使用默认端口和内核池 "localhost" 同一台机器上的内核 "file:///path/to/wolfram" 同一台机器上的给定内核 "https://www.wolframcloud.com/" Wolfram Cloud 中的内核 - SSH 内核的设置包括:
-
"ForwardPort" Random 用于连接转发的远程端口 "KernelArguments" (OS-dependent) 传递内核程序的参数 "KernelCommand" (OS-dependent) 要运行的内核程序 "KernelCount" 1 要启动的并行内核数 "MachineName" None 要连接的机器的名称 "Method" (OS-dependent) 如何连接到远程机器上的内核 "Name" Automatic 此内核的唯一名称 "OperatingSystem" "Unix" 远程操作系统 "Port" None SSH 服务器的端口 "SSHArguments" (see below) 传递给 SSH 命令的参数 "SSHCommand" "ssh" SSH 命令的名称 "SSHIdentity" None 使用的私钥 "SubKernelArguments" {-subkernel,-pacletreadonly} 并行子内核的附加参数 "TimeConstraint" 10 等待连接的秒数 "Username" None SSH 应该使用的登录名 - 连接方法 "Launch" 是 macOS 和 Linux 上的默认设置. 它使用 LinkLaunch 调用 SSH,并将 stdin/stdout 用于与远程内核的 WSTP 连接.
- 连接方法 "Forward" 是 Windows 上的默认设置. 它在本地机器上创建侦听 WSTP 套接字,并将 SSH 隧道内的内核连接从远程内核转发到侦听套接字.
- 根据声明的 "OperatingSytem" ,选择默认远程 "KernelCommand":
-
"Unix" "wolfram" "MacOSX" "/Applications/Mathematica.app/Contents/MacOS/wolfram" "Windows" "wolfram.exe" - 如果给定的命令不在远程机器的搜索路径上,远程内核命令的绝对路径应该作为 "KernelCommand" 的值给出.
- 如果 "Username" 未设置或者为 None,则 SSH 命令行中不提供用户名部分. "Username"$Username 设置远程用户名与本地用户名相同.
- "Username" 和 "KernelCommand" 也可以作为规范的一部分作为 "ssh://user@hostname:port/path" 给出.
- 默认的 "SSHArguments" 为 -4 -x -o StrictHostKeyChecking=no -o BatchMode=yes.
- SSH 无法交互地要求输入密码. 可以指定密钥,也可以使用 SSH 密码代理.
- WSTPServer 内核的设置包括:
-
"KernelCount" 1 要启动的并行内核数 "MachineName" None 要连接的服务器的名称 "Name" Automatic 此内核的唯一名称 "Pool" Automatic 请求的内核池 "Port" 31415 连接的端口 "TimeConstraint" 10 等待连接的秒数 - 如果未指定内核池,则 WSTPServer 从默认池中选择一个内核.
- 云内核的设置包括:
-
"CloudBase" None 云基础 "Name" Automatic 此内核的唯一名称 "TimeConstraint" ∞ 等待连接的秒数 - 云基础以 https URL 的形式给出.
- 本地内核的设置包括:
-
"KernelArguments" (OS-dependent) 传递给内核程序的参数 "KernelCommand" (OS-dependent) 启动的内核程序 "KernelCount" UpTo[$ProcessorCount] 要启动的并行内核数launch "LowerPriority" True 是否以较低的优先级运行并行子内核 "TimeConstraint" ∞ 等待连接的秒数
范例
打开所有单元 关闭所有单元基本范例 (2)
RemoteEvaluate["ssh://byblis67.wolfram.com", {$MachineName, $ProcessID, $Version}]可选地将内核规范包装在 RemoteKernelObject 中:
RemoteEvaluate[RemoteKernelObject["ssh://byblis67.wolfram.com"], {$MachineName, $ProcessID, $Version}]RemoteEvaluate["ssh://byblis67.wolfram.com/usr/local/Wolfram/WolframEngine/12.0.1-6580411/Executables/wolfram", {$MachineName, First[$CommandLine]}]或者,将路径作为 RemoteKernelObject 的选项:
RemoteEvaluate[RemoteKernelObject["ssh://byblis67.wolfram.com", "KernelCommand" -> "/usr/local/bin/wolfram1130"], {$MachineName, $ProcessID, $Version}]范围 (17)
SSH 内核 (6)
作为 RemoteKernelObject 的选项,提供远程内核的路径:
RemoteEvaluate[RemoteKernelObject["ssh://byblis67.wolfram.com", "KernelCommand" -> "/usr/local/bin/wolfram1130"], {$MachineName, $ProcessID, $Version}]RemoteEvaluate[RemoteKernelObject["ssh://byblis67.wolfram.com/usr/local/bin/wolfram1130"], {$MachineName, $ProcessID, $Version}]RemoteEvaluate["ssh://mac.example.com//Applications/Mathematica.app/Contents/MacOS/wolfram", {$OperatingSystem, First[$CommandLine]}]RemoteEvaluate[RemoteKernelObject["ssh://mac.example.com", "OperatingSystem" -> "MacOSX"], {$OperatingSystem, First[$CommandLine]}]如果不需要任何选项,则可以省略 RemoteKernelObject:
RemoteEvaluate["ssh://byblis67.wolfram.com/usr/local/bin/wolfram1130", {$MachineName, $ProcessID, $Version}]可以使用 "KernelCount" 给出要启动的并行内核数:
LaunchKernels[RemoteKernelObject["andromeda", "KernelCount" -> 4]]当使用 URL 简写格式时,可以使用 "?n" 指定并行内核数:
LaunchKernels["ssh://andromeda?2"]WSTPServer 内核 (4)
RemoteEvaluate["wstp://raspi4b:31415", {$MachineName, $Version}]或者,将端口指定为 RemoteKernelObject 的选项:
RemoteEvaluate[RemoteKernelObject["wstp://raspi4b", "Port" -> 31415], {$MachineName, $Version}]RemoteEvaluate["wstp://raspi4b/KernelPoolOne", {$MachineName, $Version}]或者,将内核池指定为 RemoteKernelObject 的选项:
RemoteEvaluate[RemoteKernelObject["wstp://raspi4b", "Pool" -> "KernelPoolOne"], {$MachineName, $Version}]可以使用 "KernelCount" 给出要启动的并行内核数:
LaunchKernels[RemoteKernelObject["wstp://raspi4b", "KernelCount" -> 2]]当使用 URL 简写格式时,可以使用 "?n" 指定并行内核数:
LaunchKernels["wstp://raspi4b?2"]云内核 (2)
本地内核 (5)
RemoteEvaluate[RemoteKernelObject["localhost", "KernelCommand" -> "/usr/local/bin/wolfram122"], $Version]RemoteEvaluate[RemoteKernelObject["file:///usr/local/bin/wolfram122"], $Version]如果不需要任何选项,则可以省略 RemoteKernelObject:
RemoteEvaluate["file:///usr/local/bin/wolfram120", $Version]RemoteEvaluate[RemoteKernelObject["localhost", "KernelCommand" -> "wolfram121"], $Version]可以使用 "KernelCount" 给出要启动的并行内核数:
LaunchKernels[RemoteKernelObject["localhost", "KernelCount" -> 4]]当使用 URL 简写格式时,可以使用 "?n" 指定并行内核数:
LaunchKernels["file:///usr/local/bin/wolfram?2"]对于本地内核,在许可证允许的前提下,默认的并行内核数等于 $ProcessorCount:
RemoteKernelObject["localhost"]["KernelCount"]$ProcessorCount应用 (1)
属性和关系 (2)
r = RemoteKernelObject["localhost"]RemoteEvaluate[r, $ProcessID]RemoteEvaluate[r, $ProcessID]$DefaultKernels 是默认情况下用于并行计算的内核列表:
$DefaultKernelsLaunchKernels[]巧妙范例 (1)
server = RemoteKernelObject["andromeda"]RemoteEvaluate[server, $ProcessorCount]server = RemoteKernelObject[server, "KernelCount" -> %]LaunchKernels[server];$KernelCount文本
Wolfram Research (2020),RemoteKernelObject,Wolfram 语言函数,https://reference.wolfram.com/language/ref/RemoteKernelObject.html.
CMS
Wolfram 语言. 2020. "RemoteKernelObject." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/RemoteKernelObject.html.
APA
Wolfram 语言. (2020). RemoteKernelObject. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/RemoteKernelObject.html 年
BibTeX
@misc{reference.wolfram_2026_remotekernelobject, author="Wolfram Research", title="{RemoteKernelObject}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/RemoteKernelObject.html}", note=[Accessed: 06-July-2026]}
BibLaTeX
@online{reference.wolfram_2026_remotekernelobject, organization={Wolfram Research}, title={RemoteKernelObject}, year={2020}, url={https://reference.wolfram.com/language/ref/RemoteKernelObject.html}, note=[Accessed: 06-July-2026]}