{
  "description": "Launch copies of a program with mpirun, choosing process count, hosts, mapping and binding. MCA parameters, PMIx/PRRTE tuning, debugging and fault-tolerance options are left out.",
  "options": [
    {
      "names": [
        "--np",
        "-n"
      ],
      "description": "Number of processes",
      "args": {
        "name": "np",
        "isOptional": false
      }
    },
    {
      "names": [
        "--host",
        "-H"
      ],
      "description": "Comma-delimited host list, optionally with slot counts, e.g. hostA:4,hostB:2.",
      "args": {
        "name": "host",
        "description": "Comma-delimited host list, optionally with slot counts, e.g. hostA:4,hostB:2.",
        "isOptional": false
      }
    },
    {
      "names": [
        "--hostfile"
      ],
      "description": "Hostfile",
      "args": {
        "name": "hostfile",
        "isOptional": false,
        "template": "filepaths"
      }
    },
    {
      "names": [
        "--map-by"
      ],
      "description": "How processes are distributed within a host, e.g. core, package, slot:PE=2.",
      "args": {
        "name": "map_by",
        "description": "How processes are distributed within a host, e.g. core, package, slot:PE=2.",
        "isOptional": false
      }
    },
    {
      "names": [
        "--rank-by"
      ],
      "description": "Rank by",
      "args": {
        "name": "rank_by",
        "isOptional": false
      }
    },
    {
      "names": [
        "--bind-to"
      ],
      "description": "Bind to",
      "args": {
        "name": "bind_to",
        "isOptional": false,
        "suggestions": [
          {
            "name": "core",
            "description": "Core"
          },
          {
            "name": "package",
            "description": "Package"
          },
          {
            "name": "none",
            "description": "None"
          }
        ]
      }
    },
    {
      "names": [
        "--report-bindings"
      ],
      "description": "Report bindings"
    },
    {
      "names": [
        "--oversubscribe"
      ],
      "description": "Allow oversubscription"
    },
    {
      "names": [
        "--wdir"
      ],
      "description": "Working directory",
      "args": {
        "name": "wdir",
        "isOptional": false,
        "template": "folders"
      }
    },
    {
      "names": [
        "-x"
      ],
      "description": "Variable name, or NAME=value.",
      "args": {
        "name": "export_env",
        "description": "Variable name, or NAME=value.",
        "isOptional": false,
        "isVariadic": true
      },
      "isRepeatable": true
    },
    {
      "names": [
        "--timeout"
      ],
      "description": "Timeout (seconds)",
      "args": {
        "name": "timeout",
        "isOptional": false
      }
    },
    {
      "names": [
        "--verbose"
      ],
      "description": "Verbose"
    }
  ],
  "args": [
    {
      "name": "program",
      "isOptional": true
    },
    {
      "name": "program_args",
      "isOptional": true,
      "isVariadic": true
    }
  ],
  "name": "mpirun",
  "aliases": [
    "mpiexec",
    "ompi_info"
  ]
}
