KernelConfiguration
KernelConfiguration[spec]
指定可用于 RemoteEvaluate 或 LaunchKernels 的内核.
更多信息
- KernelConfiguration["spec",options …] 可用于覆盖内核规范的默认设置.
- 以下内核规范是被认可的:
-
"ssh://user@hostname:port/path" 给定机器上的内核,使用 SSH 访问 "ssh://hostname" 使用给定机器上的默认路径、用户和端口 "hostname" 等价于 "ssh://hostname" "wstp://server:port/pool" WSTPServer 上的内核 "wstp://server" 使用默认端口和内核池 "Local" 默认本地内核 "localhost" 同一台机器上的内核 n n 个本地并行内核 "file:///path/to/wolfram" 同一台机器上的给定内核 "file://" 同一台机器上的默认内核 "https://www.wolframcloud.com/" Wolfram Cloud 中的内核 "lwg://host.example.com:port/path" LightweigtGrid 服务器上的内核 "lwg://host.example.com:port" 使用到 LightweightGrid 管理器的默认路径 "lwg://host.example.com" 使用 LightweightGrid 服务器的默认端口 (3737) LinkObject[…] 与运行中内核的 WSTP 链接 - SSH 内核的设置包括:
-
"EvaluationKernelArguments" {"-noinit"} 计算使用的内核的其他参数 "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 要使用的私有 SSH 密钥 "SubKernelArguments" {"-noinit","-subkernel"} 并行子内核的附加参数 "TimeConstraint" 10 等待连接的秒数 "Username" None SSH 应该使用的登录名 - 连接方式 "Launch" 是 macOS 和 Linux 上的默认连接方式. 它使用 LinkLaunch 调用 SSH 并使用 stdin/stdout 与远程内核的 WSTP 连接.
- Windows 上的默认连接方法是 "Forward". 它在本地机器上创建一个监听 WSTP 套接字,并将 SSH 通道内的内核连接从远程内核转发到监听套接字.
- 默认远程 "KernelCommand" 根据声明的 "OperatingSystem" 选择:
-
"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 从默认池中选择一个内核.
- LWG 内核的设置包括:
-
"Agent" Automatic 使用的 LWG 代理的 URL "KernelCount" 1 要启用的并行内核的数量 "Name" Automatic 内核的唯一名称 "Service" Automatic 要求的内核服务 "TimeConstraint" 30 等待连接的秒数 - 如果未指定内核服务,LightweightGrid 服务器会从默认服务中选择一个内核.
- 云内核的设置包括:
-
"CloudBase" None 云基础 "Name" Automatic 此内核的唯一名称 "TimeConstraint" ∞ 等待连接的秒数 - 云基础以 HTTPS URL 的形式提供.
- 本地内核的设置包括:
-
"EvaluationKernelArguments" {"-noinit"} 计算使用的内核的其他参数 "KernelArguments" (OS-dependent) 传递给内核程序的参数 "KernelCommand" (OS-dependent) 要启动的内核程序 "KernelCount" $ProcessorCount 要启动的并行内核数 "LimitByLicense" True 通过许可证可用性限制并行内核的数量 "LinkProtocol" Automatic 使用的链接协议 "LowerPriority" True 是否以较低的优先级运行并行子内核 "SubKernelArguments" {"-noinit","-subkernel"} 并行子内核的其他参数 "TimeConstraint" ∞ 等待连接的秒数 - LinkProtocol 选项被传递给 LinkLaunch.
- 链接内核的设置包括:
-
"LinkObject" None 使用的 LinkObject "Name" Automatic 该内核的唯一名称 - 链接对象必须是运行内核的开放 WSTP 链接.
范例
打开所有单元关闭所有单元基本范例 (2)
另外,可选择在 KernelConfiguration 中封装内核规范:
或者,将路径作为 KernelConfiguration 的选项给出:
范围 (25)
SSH 内核 (6)
将远程内核的路径作为 KernelConfiguration 的选项提供:
如果不需要任何选项,可以省略 KernelConfiguration:
WSTPServer 内核 (4)
连接到监听给定端口的 WSTPServer:
或者,将端口指定为 KernelConfiguration 的选项:
连接到 WSTPServer 并请求给定池中的内核:
或者,将内核池指定为 KernelConfiguration 的选项:
本地内核 (7)
或者,将路径指定为 KernelConfiguration 的一个属性:
可以使用 "KernelCount" 给出要启动的并行内核数:
使用 URL 短格式时,可以使用 "?n" 指定并行内核的数量:
对于本地内核,在许可证允许的前提下,并行内核的默认个数等于 $ProcessorCount:
LWG 内核 (4)
属性和关系 (2)
文本
Wolfram Research (2022),KernelConfiguration,Wolfram 语言函数,https://reference.wolfram.com/language/ref/KernelConfiguration.html (更新于 2023 年).
CMS
Wolfram 语言. 2022. "KernelConfiguration." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2023. https://reference.wolfram.com/language/ref/KernelConfiguration.html.
APA
Wolfram 语言. (2022). KernelConfiguration. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/KernelConfiguration.html 年