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" (以下を参照のこと) SSHコマンドに渡す引数 "SshCommand" "ssh" SSHコマンドの名前 "SshIdentity" None 使用するSSH秘密鍵 "SubKernelArguments" {"-noinit","-subkernel"} 並列サブカーネルの追加引数 "TimeConstraint" 10 接続の待機時間(単位:秒) "Username" None SSHが使うログイン名 - 接続メソッドの"Launch"はmacOSとLinuxのデフォルトである.これはLinkLaunchを使ってSSHを起動し,リモートカーネルとのWSTP接続にはstdin/stdoutを使う.
- 接続メソッドの"Forward"はWindowsのデフォルトである.これはローカルマシン上に聞いている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依存) カーネルプログラムに渡す引数 "KernelCommand" (OS依存) 起動するカーネルプログラム "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のオプションとしてパスをリモートカーネルに与える:
macOS上のデフォルトカーネルコマンドへの絶対パスを指定する:
適切なカーネルコマンドを選択するためにリモートオペレーティングシステムを指定する:
オプションが必要なければKernelConfigurationは省略可能である:
WSTPServerカーネル (4)
指定のポートで聞いているWSTPServerに接続する:
KernelConfigurationのオプションとしてポートを指定することもできる:
WSTPServerに接続し,指定プールのカーネルをリクエストする:
KernelConfigurationのオプションとしてカーネルプールを指定することもできる:
ローカルカーネル (7)
ファイルのURLとして絶対パスで与えられた特定のローカルカーネルを使う:
KernelConfigurationの特性としてパスを指定することもできる:
起動する並列カーネルの数は"KernelCount"で与えられる:
URLの短縮形を使うときの並列カーネルの数は"?n"で指定できる:
単一の整数 n は n 個のローカルカーネルの短縮形である:
ローカルカーネルの場合,並列カーネルのデフォルト数はライセンスが許す限り$ProcessorCountに等しい:
LWGカーネル (4)
特性と関係 (2)
カーネルオブジェクトはカーネルの起動方法を説明する.永続的な接続を表す訳ではない:
評価ごとに新たなカーネルが起動されるが,これは使用後に破棄される:
$DefaultParallelKernelsはデフォルトで並列計算に使用するカーネルのリストである:
テキスト
Wolfram Research (2022), KernelConfiguration, Wolfram言語関数, https://reference.wolfram.com/language/ref/KernelConfiguration.html (2023年に更新).
CMS
Wolfram Language. 2022. "KernelConfiguration." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/KernelConfiguration.html.
APA
Wolfram Language. (2022). KernelConfiguration. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/KernelConfiguration.html