License options#
ACEMD is dual-licensed. The right license depends on whether you’re doing commercial work and how your hardware is organised.
Non-commercial license#
Free for academic and non-profit use under the Acellera Software Not-for-Profit License Agreement. No license file is required to run ACEMD non-commercially; the package prints the license terms on first run and registration is optional (and silences the message).
If your work is funded by, conducted at, or otherwise tied to a for-profit organisation, you need a commercial license — see below.
Commercial license#
Required for any commercial use, including fee-based services. Contact info@acellera.com for terms.
Commercial licenses come in three deployment shapes. Pick the one that matches how your users access compute:
Node-locked#
A license.dat file bound to the MAC address of a specific machine.
Best for individual workstations or small HPC clusters where ACEMD only runs on a handful of fixed hosts.
You provide the MAC address(es) at purchase. The license is issued for those hosts and won’t validate on other hardware.
Floating#
A license file deployed on a single license server machine; clients check out a license at runtime from a fixed pool.
Best for larger HPC clusters where any of many nodes might run ACEMD, and you don’t want to bind to specific node MACs.
You provide the MAC of the license-server host plus the maximum concurrent-license count.
Clients need network access (default TCP
27000) to the license server.
Cloud#
Same protocol as floating, but the license server is hosted by Acellera.
Best for cloud/virtualised environments where MAC addresses are unstable and you don’t want to run your own license server.
You receive a public IP and port; set
ACELLERA_LICENSE_SERVER=<port>@<ip>on each client.Clients need network access to Acellera’s server.
Which one for which situation#
Situation |
Pick |
|---|---|
Solo workstation |
Non-commercial or node-locked |
Small lab, a few fixed GPU hosts |
Node-locked |
HPC cluster, many shared nodes |
Floating |
Cloud / Kubernetes / spot instances |
Cloud |
How ACEMD finds the license at runtime#
ACEMD looks for a license in the following places (both the American and British spellings are accepted for each environment variable):
Environment variables
ACELLERA_LICENSE_SERVER/ACELLERA_LICENCE_SERVER— for floating and cloud.Environment variables
ACELLERA_LICENSE_FILE/ACELLERA_LICENCE_FILE— explicit path to a node-locked file./opt/acellera/license.dat(orlicence.dat) — system-wide node-locked location.~/.acellera/license.dat(orlicence.dat) — per-user node-locked location.
If any of these variables is set or any of these files exists, ACEMD hands off to the bundled license-checker binary, which performs the actual validation and decides which license to use. The Python layer does not itself rank the candidates or enforce a precedence between them — that logic lives in the external checker.
acemd --license runs the checker and prints its report so you can verify a license install. Note that acemd --license always exits with status 0; it is informational and does not return a pass/fail exit code, so don’t rely on its exit status in scripts — read its output instead.