← Back

Use your Ansys/COMSOL/Abaqus licenses on cloud GPUs (safely and reliably)

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.

What you need to know in 60 seconds

  • Most commercial CAE codes use FlexNet (aka FlexLM): an lmgrd manager + a vendor daemon (e.g., ansyslmd) check out features to the client.
  • Clients look up licenses from a string like 1055@licenses.my‑org.edu.
  • On cloud, you should pin ports for both lmgrd and the vendor daemon, then connect the instance to your network via VPN or SSH tunnels.
  • Never expose license ports to the open internet. Allowlist IPs at most.

Decide your connectivity pattern

Pick one. Test it. Document it for your lab.

  1. VPN to your org
    Best if your IT already supports it. Your instance joins the campus network; port@server works as on‑prem.
  2. SSH tunnel via a bastion
    When you can SSH into any host inside your org but can’t reach the license server directly.
  3. Public ports with strict firewall rules
    Only if you must. Lock to source IPs. Rotate secrets. Monitor.

Start in seconds with the fastest, most affordable cloud GPU clusters.

Launch an instance in under a minute. Enjoy flexible pricing, powerful hardware, and 24/7 support. Scale as you grow—no long-term commitment needed.

Try Compute now

Step 1 — Fix license ports (done once by IT)

Pick two TCP ports per vendor: one for lmgrd, one for the vendor daemon.

Examples

  • Ansys: lmgrd → 1055, ansyslmd → 1056
  • COMSOL: lmgrd → 27000, vendor daemon → 27001
  • Abaqus: lmgrd → 27002, vendor daemon → 27003

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.

Step 2 — Choose a  template

Licensing is independent of CUDA. Pick any template on your preferred GPU provider you need for the solver(s):

  • Ubuntu 24.04 LTS (CUDA 12.6) for a general base with JupyterLab.
  • Your own image (e.g., gromacs/gromacs:2024.1) if you only need MD.

You’ll point the solver inside the container to port@server using env vars.

Step 3 — Make the connection from the instance

Option A · VPN (recommended when available)

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

Option B · SSH tunnels via a bastion

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.

Step 4 — Point the solver to the license server

Set the vendor‑specific variable in your job environment. In Compute, put these in Environment → Variables (never bake secrets into images).

  • Ansys
  • export ANSYSLMD_LICENSE_FILE=1055@licenses.my-org.edu
    # or 1055@localhost if you tunnel
  • COMSOL
  • export LMCOMSOL_LICENSE_FILE=27000@licenses.my-org.edu
  • Abaqus
  • export ABAQUSLM_LICENSE_FILE=27002@licenses.my-org.edu
  • Generic (works for many)
  • export LM_LICENSE_FILE=1055@licenses.my-org.edu

If you tunnel, swap the hostname for localhost and keep the same ports you forwarded.

Step 5 — Test

  • Check the port is reachable:
  • nc -vz localhost 1055
  • Start a tiny solver job to force a checkout.
  • Where available, use the vendor’s status tool (lmutil lmstat or GUI) from your admin machine to confirm the seat is checked out by the instance hostname.

Common patterns and notes

  • Floating vs elastic: both work. Floating uses your on‑prem server; elastic/pack licenses may require vendor login.
  • Time‑zone skew: clocks too far apart can confuse license checks. Sync with NTP.
  • Hostname mismatches: some licenses lock to hostnames; always reference the server by the name in the license file.
  • Don’t embed license files in images. Mount or reference them by env vars.

Security checklist

  • Prefer VPN or SSH tunnels over public ports.
  • If you must open ports, allowlist the instance’s egress IPs only.
  • Rotate bastion keys. Disable password SSH logins.
  • Log license checkouts and review unusual activity.

Troubleshooting

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.

Quick references (env vars)

# 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

Where GPUs help in these tools (short version)

  • Fluent (Ansys): Native GPU solver; coverage keeps growing. Validate your physics model on a sample case.
  • Mechanical/Abaqus: Gains depend on element types and solver path; test with your model.
  • COMSOL: GPU acceleration exists for specific study types; check your study before moving production.

For deep dives, see the pillar article and the upcoming tool‑specific guides.

Methods snippet (keep with your run)

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>"

Related reading

Try Compute today

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.

← Back