KernelConfiguration

KernelConfiguration[spec]

指定可用于 RemoteEvaluateLaunchKernels 的内核.

更多信息

  • KernelConfiguration["spec",options ] 可用于覆盖内核规范的默认设置.
  • 以下内核规范是被认可的:
  • "ssh://user@hostname:port/path"给定机器上的内核,使用 SSH 访问
    "ssh://hostname"使用给定机器上的默认路径、用户和端口
    "hostname"等价于 "ssh://hostname"
    "wstp://server:port/pool"WSTPServer 上的内核
    "wstp://server"使用默认端口和内核池
    "Local"默认本地内核
    "localhost"同一台机器上的内核
    nn 个本地并行内核
    "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"NoneSSH 服务器的端口
    "SshArguments"(see below)传递给 SSH 命令的参数
    "SshCommand""ssh"SSH 命令的名称
    "SshIdentity"None要使用的私有 SSH 密钥
    "SubKernelArguments"{"-noinit","-subkernel"}并行子内核的附加参数
    "TimeConstraint"10等待连接的秒数
    "Username"NoneSSH 应该使用的登录名
  • 连接方式 "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)

使用 SSH 连接到机器,启动默认内核并运算它的一些属性:

另外,可选择在 KernelConfiguration 中封装内核规范:

指定远程内核命令的绝对路径:

或者,将路径作为 KernelConfiguration 的选项给出:

范围  (25)

SSH 内核  (6)

将远程内核的路径作为 KernelConfiguration 的选项提供:

或者,将路径指定为 SSH URL 的一部分:

指定 macOS 上默认内核命令的绝对路径:

指定远程操作系统以选择合适的内核命令:

如果不需要任何选项,可以省略 KernelConfiguration

可以使用 "KernelCount" 给出要启动的并行内核数:

当使用 URL 短格式时,可以使用 "?n" 指定并行内核数:

WSTPServer 内核  (4)

连接到监听给定端口的 WSTPServer

或者,将端口指定为 KernelConfiguration 的选项:

连接到 WSTPServer 并请求给定池中的内核:

或者,将内核池指定为 KernelConfiguration 的选项:

当使用 URL 短格式时,可以使用 "?n" 指定并行内核数:

可以使用 "KernelCount" 给出要启动的并行内核数:

云内核  (2)

在默认云中使用内核:

指定要使用的(私有)云的 URL:

本地内核  (7)

使用由其绝对路径指定的特定本地内核:

或者,将路径指定为 KernelConfiguration 的一个属性:

使用由其相对路径指定的特定本地内核:

可以使用 "KernelCount" 给出要启动的并行内核数:

使用 URL 短格式时,可以使用 "?n" 指定并行内核的数量:

整数 n 指的是 n 个本地内核:

对于本地内核,在许可证允许的前提下,并行内核的默认个数等于 $ProcessorCount

使用特定的链接协议:

LWG 内核  (4)

用默认端口和管理器 URL 从 LightweightGrid 服务器启动两个并行内核:

从 LightweightGrid 服务器 URL 导出内核配置:

获取 LWG 内核的所有属性:

根据此配置启动并行内核:

当使用 URL 的简短形式时,可用 "?n" 指定并行内核的数量:

可用 "KernelCount" 给出要启动的并行内核的数量:

Link Kernels  (2)

启动一个内核并获取到它的 WSTP 链接:

在内核配置中使用该内核:

在此内核上进行计算:

链接内核只能使用一次:

启动两个可用作并行子内核的内核:

在内核配置中使用这些内核:

使用该配置执行并行计算:

属性和关系  (2)

内核对象描述了启动内核的方法; 它不代表持久连接:

每次运算都会启动一个新内核,该内核在使用后会被丢弃:

$DefaultParallelKernels 是默认用于并行计算的内核列表:

巧妙范例  (1)

指定远程机器:

查询它的处理器个数:

使用发现的内核计数更新描述:

启动所有这些并行子内核:

Wolfram Research (2022),KernelConfiguration,Wolfram 语言函数,https://reference.wolfram.com/language/ref/KernelConfiguration.html (更新于 2023 年).

文本

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 年

BibTeX

@misc{reference.wolfram_2024_kernelconfiguration, author="Wolfram Research", title="{KernelConfiguration}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/KernelConfiguration.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_kernelconfiguration, organization={Wolfram Research}, title={KernelConfiguration}, year={2023}, url={https://reference.wolfram.com/language/ref/KernelConfiguration.html}, note=[Accessed: 22-November-2024 ]}