# Command-line arguments ```text acemd [--input ] [--platform ] [--ncpus | --ngpus | --device [ ...]] [--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](input-options.md) 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`. ```bash acemd --device 0 2 ``` See [Select GPU devices](../how-to/select-gpu-devices.md) 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.