WOLFRAM

テクノロジー

WSTPServer

長時間維持できる,初期化済みのWolfram Engineに接続・再接続する

WSTPServerは,ローカルまたはネットワーク上のどのクライアントからでもWSTP接続ができるようにする,1個以上のWolfram Engineプールを起動します.

WSTPServerは,管理下にあるカーネルへクライアントからの通信をすべて中継するサーバプログラムであり,WSTPServerへのリンクをカーネルへの直接リンクのように動作させることができます.WSTPServerのカーネルはネットワーク上で検出可能なため,1台または複数台のマシン上でカーネルのプールが構成できます.また,WSTPServerのカーネルは接続,切断,再接続が可能であるため,異なるプログラムやマシンから接続できる長時間に及ぶセッションを維持することができます.

機能

WSTPServerはお客様のニーズに最適の,カーネル管理,接続,発見に関するさまざまな機能を導入します.

初期化済みカーネルの複数プールを実行する

WSTPServerはカーネルの複数プールを実行することができ,それぞれのプールでユーザ設定の特性を共有します.カーネルは,そのプールの特性に従って事前に初期化されます.

ネットワーク上で見える

WSTPServerはデフォルト設定でローカルネットワーク上で利用可能なので,ユーザは他のマシンから接続することができます.

ネットワーク上で検出可能

WSTPServerはDNSサービスディスカバリ(DNS-SD)を使用してネットワーク上でその存在を公表し,クライアントが利用可能なWSTPServerインスタンスやカーネルを容易に検出することができるようにします.

長時間のセッションを維持

WSTPServerを使うと,以前接続したカーネルに別のマシンからでも再び接続することができます.

専用のマシンでカーネルを起動する

WSTPServerインスタンスは専用のマシンに置くことができるので,そのマシンだけでカーネル処理を行います.WSTPServerインスタンスはネットワーク上で簡単に検出できるので,複数の専用マシン上で実行するWSTPServerインスタンスの設定は簡単です.

どのWstpクライアントからでも接続

WSTPが有効なプログラムならどれでもWSTPServerに接続することができます.WolframScript,ノートブックフロントエンド,並列計算フレームワーク,J/Linkを含むWolframエコシステムの複数の製品が,WSTPServerを明示的にサポートしています.

並列計算のためにカーネルを利用可能にする

WSTPServerはWolfram言語の並列計算機能のために並列カーネルを起動し利用可能にすることができます.並列計算フレームワークを設定して,これらのカーネルを使うことは簡単にできます.

希望のカーネルへの接続を簡単に管理する

WSTPServerでは,プロファイルシステムを使うことで希望のカーネルへの接続を簡単に管理することができます.指定された特性を持つカーネルはプロファイルの中でリクエストすることができ,以前接続したカーネルの詳細はプロファイルで追跡できるため,再びそのカーネルに簡単に接続することができます.

Wstpserverの状況を尋ねる

WSTPServerでは現在の状況を尋ね,WSTPServerへのWSTP接続を使って診断を得ることが簡単にできます.

WolframScript

利用可能なWSTPServerを使ってWolfram言語のコード2+2を評価します.

$ wolframscript -wstpserver -code 2+2
            4

利用可能なWSTPServerを使ってインタラクティブなREPLでWolfram言語を実行します.

$ wolframscript -wstpserver
In[1]:= 2+2
                
                            Out[1]= 4
            
                            In[2]:=
                

ノートブックフロントエンド

ノートブックフロントエンドを使ってWSTPServerに接続します.接続されたWSTPServerカーネルのIDおよびWSTPServerが存在するプールの名前を取得して,テストの式を評価します.

並列計算機能

Wolfram言語からWSTPServerの並列カーネルに接続して,それらを並列評価で使います.

WSTP Cプログラム

WSTPServerに接続して,WSTP Cプログラムを使ってWolfram言語のコード2+2を評価します.

file.wls
[link = MLOpenString(env, "-linkmode connect -linkname 31415 -linkprotocol TCPIP -linkoptions 4", &error);
                
                MLNextPacket(link); MLNewPacket(link);

                MLPutFunction(link, "EvaluatePacket", 1);
                MLPutFunction(link, "Plus", 2);
                MLPutInteger(link, 2);
                MLPutInteger(link, 2);
                MLEndPacket(link);
             

技術情報

  • WSTPServerはWindows,macOS,Linuxを実行するx64システムをサポートしています.LinuxではARM 32ビットのサポートも利用できます.
  • WSTPServerはWolfram言語のバージョン12.2以上で配布されており,Wolfram言語のバージョン11以上に対応しています.