Command-line arguments#

acemd [--input <path>]
      [--platform <platform>]
      [--ncpus <n> | --ngpus <n> | --device <d1> [<d2> ...]]
      [--precision <precision>]
      [--license]
      [--version]
      [--help]

--input#

  • Type: path to a YAML/JSON input file, or a directory containing one.

  • Default: . (current directory).

The input file describes the system and the run — see Input options for every key. When --input points at a directory, ACEMD looks inside for the first of: input.yaml, input.yml, input.json, input.

--platform#

  • Values: CUDA, OpenCL, CPU.

  • Default: CUDA.

OpenMM platform used for the integration. CUDA targets NVIDIA GPUs; OpenCL covers other vendors; CPU exists for debugging — it is orders of magnitude slower and should not be used for production.

--ncpus#

  • Values: positive integer.

  • Default: unset — OpenMM picks its own default (typically a subset of available threads).

Number of CPU threads to use. Only relevant for --platform CPU.

--ngpus#

  • Values: positive integer.

  • Default: unset.

Number of GPUs to use. ACEMD picks devices 0..ngpus-1. If --ngpus and --device are both set, --ngpus wins — it rewrites --device to [0, ..., ngpus-1].

--device#

  • Values: space-separated list of GPU device indices.

  • Default: unset (OpenMM picks the fastest visible device).

Specific GPU device indices to use. Get device indices from nvidia-smi.

acemd --device 0 2

See Select GPU devices for a fuller walk-through.

--precision#

  • Values: single, mixed, double.

  • Default: mixed.

Numerical precision used by the GPU integrator. mixed is the recommended balance of speed and stability. single is faster but can lose energy on long runs; double is for validating numerical behaviour.

--license#

Print the ACEMD license status and exit.

--version#

Print the ACEMD version and exit.

--help#

Print usage and exit.