
You can run commercial solvers on computing services with your existing licenses. The trick is simple: fix the ports, secure the path, and point the client to port@server. This guide shows the exact steps.
Pick one. Test it. Document it for your lab.
Pick two TCP ports per vendor: one for lmgrd, one for the vendor daemon.
Examples
Update your license file lines accordingly (numbers are examples):
SERVER <hostname> <hostid> 1055
VENDOR ansyslmd PORT=1056
Restart the license service after changes.
Tip: keep a short README next to the license file with the pinned ports and who to contact.
Licensing is independent of CUDA. Pick any template on your preferred GPU provider you need for the solver(s):
You’ll point the solver inside the container to port@server using env vars.
Your instance joins your org network; DNS and ports behave as on‑prem. Follow your IT’s VPN setup, then test reachability:
nc -vz licenses.my-org.edu 1055
From inside the instance, forward the fixed ports to the license server through a host you can SSH into (bastion/jumphost):
ssh -N \
-L 1055:licenses.my-org.edu:1055 \
-L 1056:licenses.my-org.edu:1056 \
user@bastion.my-org.edu
Leave this open while you run. Your FlexNet string on the client will be 1055@localhost.
Need multiple vendors? Add more -L pairs with their pinned ports.
Set the vendor‑specific variable in your job environment. In Compute, put these in Environment → Variables (never bake secrets into images).
export ANSYSLMD_LICENSE_FILE=1055@licenses.my-org.edu
# or 1055@localhost if you tunnel
export LMCOMSOL_LICENSE_FILE=27000@licenses.my-org.edu
export ABAQUSLM_LICENSE_FILE=27002@licenses.my-org.edu
export LM_LICENSE_FILE=1055@licenses.my-org.edu
If you tunnel, swap the hostname for localhost and keep the same ports you forwarded.
nc -vz localhost 1055
Client can’t reach server
Wrong host/port, firewall, or tunnel down. Test with nc -vz on the exact ports you pinned.
Feature not found / -5, -18, -96 errors
Wrong feature line or version. Check your license file; ask IT to confirm your feature name and expiration.
Intermittent drops
NAT/idle timeouts on the path. Keep a small keep‑alive SSH tunnel or use VPN.
“License server system does not support this feature”
Vendor daemon mismatch. Update the vendor daemon to match your license file.
Multiple vendors at once
Use LM_LICENSE_FILE with a semicolon‑separated list, or set vendor variables side by side.
# Ansys
export ANSYSLMD_LICENSE_FILE=1055@licenses.my-org.edu
# Abaqus
export ABAQUSLM_LICENSE_FILE=27002@licenses.my-org.edu
# COMSOL
export LMCOMSOL_LICENSE_FILE=27000@licenses.my-org.edu
# Generic
export LM_LICENSE_FILE=1055@licenses.my-org.edu
For deep dives, see the pillar article and the upcoming tool‑specific guides.
licenses:
pattern: "vpn | ssh-tunnel | public-ports"
server: "licenses.my-org.edu"
ports:
lmgrd: 1055
vendor: 1056
env:
- "ANSYSLMD_LICENSE_FILE=1055@licenses.my-org.edu"
compute:
template: "Ubuntu 24.04 LTS (CUDA 12.6)" # or your own image
instance: "<gpu model / vram>"
notes: "<anything unusual about the network or checkout>"
Launch a GPU instance on Compute. Set your license env vars in the template, then connect over VPN or create an SSH tunnel from the instance to your license server. Need help pinning ports? Open a ticket and we’ll share a minimal, vendor‑agnostic checklist for your IT team.