WOLFRAM

Технологии

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:

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 поддерживает системы x64 под управлением Windows, macOS или Linux. В Linux доступна поддержка 32-разрядной версии ARM.
  • WSTPServer распространяется с версией 12.2 Wolfram Language и выше и совместим с версией 11 Wolfram Language и выше.