WSTPServer
Подключение и повторное подключение к долговечным предварительно инициализированным Wolfram Engines
WSTPServer запускает один или несколько пулов Wolfram Engines, доступных для WSTP-подключений с любого клиента, локально или по сети.
WSTPServer - это серверная программа, которая направляет весь трафик от клиента к ядру, которым она управляет, позволяя ссылкам на WSTPServer вести себя как прямые ссылки на ядра. Ядра WSTPServer обнаруживаются в сети, поэтому вы можете иметь пулы ядер, работающих на одной или нескольких машинах. Поскольку к ядру WSTPServer можно подключаться, отключаться и повторно подключаться, вы можете поддерживать длительную сессию, к которой можно подключаться из разных программ или машин.
Характеристики
WSTPServer предлагает широкий спектр функций управления ядром, подключения и обнаружения, которые наилучшим образом соответствуют вашим потребностям.
Запуск нескольких пулов предварительно инициализированных ядер
WSTPServer может запускать несколько пулов ядер, каждое из которых имеет настраиваемые пользователем свойства. Ядра предварительно инициализируются в соответствии со свойствами пула, в котором они находятся.
Видимое в сети
WSTPServer доступен в локальной сети в своей конфигурации по умолчанию, что позволяет пользователям подключаться с других компьютеров.
Обнаруживаемый в сети
WSTPServer использует протокол обнаружения сервисов DNS Service Discovery (DNS-SD) для объявления себя в сети, что упрощает клиентам обнаружение доступных инстансов и ядер WSTPServer.
Поддерживайте длительную сессию
WSTPServer позволяет вам повторно подключиться к ядру, к которому вы ранее подключались, даже с другого компьютера.
Запуск ядер на выделенных машинах
Инстансы WSTPServer можно разместить на выделенных машинах, чтобы только эти машины были заняты процессами ядра. Запуск инстансов WSTPServer на нескольких выделенных машинах прост в настройке, поскольку инстансы WSTPServer легко обнаруживаются в сети.
Подключение с любого клиента Wstp
Любая программа с поддержкой WSTP может подключиться к WSTPServer. Многие продукты в экосистеме Wolfram явно поддерживают WSTPServer, включая WolframScript, интерфейс для блокнотов, платформу параллельных вычислений и J/Link.
Обеспечить доступность ядер для параллельных вычислений
WSTPServer имеет возможность запускать и предоставлять параллельные ядра для функций параллельных вычислений в Wolfram Language. Настройка платформы параллельных вычислений для использования этих ядер очень проста.
Удобное управление подключениями к нужным ядрам
WSTPServer позволяет легко управлять подключениями к нужным ядрам с помощью своей системы профилей. В профиле можно запрашивать ядра с определенными свойствами, а также отслеживать в профиле подробную информацию о ядрах, к которым вы ранее подключались, что позволяет легко подключаться к ним повторно.
Запрос статуса Wstpserver
WSTPServer упрощает запрос текущего состояния WSTPServer и получение диагностических данных с помощью подключения WSTP к нему.
Примеры
WolframScript
Выполните код Wolfram Language 2+2 в доступном WSTPServer:
$ wolframscript -wstpserver -code 2+2
4
Запустите Wolfram Language в интерактивной среде REPL, используя доступный WSTPServer:
$ wolframscript -wstpserver
In[1]:= 2+2
Out[1]= 4
In[2]:=
Интерфейс блокнота
Подключитесь к WSTPServer, используя интерфейс блокнота. Получите ID подключенного ядра WSTPServer, получите название пула, в котором оно находится, и оцените тестовое выражение:
Функциональность параллельных вычислений
Подключайтесь к параллельным ядрам WSTPServer из Wolfram Language и используйте их в параллельном вычислении:
Программа WSTP C
Подключитесь к WSTPServer и выполните код Wolfram Language 2+2, используя программу C WSTP:
[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 поддерживает системы x64 под управлением Windows, macOS или Linux. В Linux доступна поддержка 32-разрядной версии ARM.
- WSTPServer распространяется с версией 12.2 Wolfram Language и выше и совместим с версией 11 Wolfram Language и выше.