Running Lumerical without GUI via Interop Python Library on Cluster/Server Node

Hi,
I am working on setting up a Lumerical installation on a computing cluster. So far, I’ve been able to successfully install the software and add the license information from our license server. If I ssh into the node with the -X option to do graphics forwarding, I can start ./fdtd-solutions from the bin directory of the install and the software is functional. Further, if I run a python script that just attempts to load a hook to the FDTD software via lumapi.FDTD(hide=True), the script runs through without a problem. However, when I ssh into the node without the -X option, the line lumapi.FDTD(hide=True) in my script generates a segmentation fault on the server (running CentOS 7). This is preventing me from running any processes on the actual compute nodes in the cluster (so far I am verifying the setup using an interactive node for the cluster).

Originally, I tried with 2019b because we had not upgraded our FlexNet license manager and was having this problem. Then, I upgraded to 2020a (including upgrading the license manager), and found the problem was exactly reproducible.

The specific OS being run if I run cat /etc/*release is:

CentOS Linux release 7.6.1810 (Core)
Cluster Manager v8.0
slave
NAME=“CentOS Linux”
VERSION=“7 (Core)”
ID=“centos”
ID_LIKE=“rhel fedora”
VERSION_ID=“7”
PRETTY_NAME=“CentOS Linux 7 (Core)”

CentOS Linux release 7.6.1810 (Core)

The version of python I am running is through an Anaconda package manager version of python3.6.9. I have also tried and reproduced this with python3.7.4 also through Anaconda.

I have attached a simplified version of the python script that produces the error for me. On line 5, it needs to be directed to the location of the lumapi.py file from the Lumerical installation.

reproduce_segfault.py (199 Bytes)

@gdrobert

Welcome to Lumerical Knowledge Exchange.

This is expected when using the API or the Lumerical scripting environment. These features are part of the the Design Environment/CAD of all Lumerical Products. We have this short video for details.
Lumerical Product Licensing - Product Components

On non-graphical systems, you will have to run the simulation files directly using the engine/solver. You can use a Python script but you cannot call the “lumapi.py” module or use “Lumerical Python API script commands” since these will require a graphical display/output. Even when using the -hide or -nw functions on our script these will still require a graphical display. The function only hides the display/window on a graphical connection.

We have the following articles/videos for more information.
Lumerical Product Licensing - Using extra engines on a remote cluster
Running simulation jobs on your cluster
Using the command line to run simulations in Linux

Hope this helps.
Lito