WSTPServer ejecuta uno o más conjuntos de Wolfram Engines que se ponen a disposición para conexiones WSTP desde cualquier cliente, ya sea de manera local o en la red.
WSTPServer es un programa servidor que dirige todo el tráfico de un cliente a un kernel que administra, permitiendo que los enlaces a WSTPServer funcionen como enlaces directos a kernels. Los kernels de WSTPServer son detectables en la red, de manera que puede tener conjuntos de kernels ejecutandose en una o más máquinas. Ya que se puede conectar, desconectar y reconectar a los kernels de WSTPServer, puede mantener una sesión de larga duración a la cual puede conectarse desde distintos programas o máquinas.
Características
WSTPServer introduce una amplia variedad de características de detección, conexión y gestión de kernels para adaptarse a sus necesidades.
Ejecute múltiples conjuntos de kernels preinicializados
WSTPServer puede ejecutar múltiples conjuntos de kernels, cada uno capaz de compartir propiedades configurables por el usuario. Los kernels se preinicializan de acuerdo a las propiedades del conjunto en el que se encuentran.
Visibles en la red
WSTPServer está disponible en la red local en su configuración predeterminada, permitiendo a los usuarios conectarse desde otras máquinas.
Detectable en la red
WSTPServer utiliza el Descubrimiento de servicios DNS (DNS-SD) para anunciarse en la red, permitiendo a los clientes descubrir con facilidad instancias y kernels de WSTPServer disponibles.
Mantenga una sesión de larga duración
WSTPServer le permite reconectarse a un kernel al cual se haya conectado anteriormente, incluso desde una máquina distinta.
Ejecute kernels en máquinas dedicadas
Las instancias WSTPServer pueden colocarse en máquinas dedicadas, de manera que solo esas máquinas estén ocupadas con procesos de kernels. Tener instancias de servidor ejecutándose en múltiples máquinas dedicadas es sencillo de configurar, ya que las instancias de WSTPServer se detectan fácilmente en la red.
Conéctese desde cualquier cliente de WSTP
Cualquier programa habilitado para WSTP puede conectarse a WSTPServer. Múltiples productos en el ecosistema Wolfram son expresamente compatibles con WSTPServer, incluyendo WolframScript, la interfaz de cuadernos, el marco de computación paralela y J/Link.
Ponga kernels a disposición para computación paralela
WSTPServer posee la habilidad de lanzar y poner kernels paralelos a disposición para la funcionalidad de computación paralela de Wolfram Language. Es muy sencillo configurar el marco de computación paralela para utilizar estos kernels.
Gestione conexiones a kernels deseados de manera conveniente
WSTPServer le permite gestionar conexiones a kernels deseados con facilidad por medio de su sistema de perfiles. Los kernels con propiedades específicas pueden solicitarse en un perfil, y los detalles de kernels a los cuales se haya conectado anteriormente pueden monitorearse en un perfil, permitiéndole reconectarse a ellos fácilmente.
Consulte el estado de WSTPServer
WSTPServer facilita consultar su estado actual y obtener diagnósticos por medio de una conexión WSTP a sí mismo.
Ejemplos
WolframScript
Evalúe el código de Wolfram Language 2+2 en un WSTPServer disponible:
$ wolframscript -wstpserver -code 2+2
4
Ejecute Wolfram Language un REPL interactivo usando un WSTPServer disponible:
$ wolframscript -wstpserver
In[1]:= 2+2
Out[1]= 4
In[2]:=
Interfaz de cuadernos
Conéctese a WSTPServer usando la interfaz de cuadernos. Obtenga la ID del kernel de WSTPServer conectado, obtenga el nombre del conjunto en el que se encuentra y evalúa una expresión de prueba:
Funcionalidad de computación paralela
Conéctese a kernels paralelos de WSTPServer desde Wolfram Language y úselos en una evaluación paralela:
Programa WSTP C
Conéctese a WSTPServer y evalúe el código de Wolfram Language 2+2 usando un programa WSTP C:
[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);
Información técnica
- WSTPServer admite sistemas x64 que se ejecuten en Windows, macOS o Linux. El soporte para ARM de 32 está disponible en Linux.
- WSTPServer se distribuye con la versión 12.2 de Wolfram Language y posteriores, y es compatible con la versión 11 de Wolfram Language y posteriores.