Distribution Command Line Options
The user should include options specifying how the job should be distributed in the command line. These command line options will override options specified using the HPC and Analysis Options dialog box or obtained from the registry. See Running Ansys Electronics Desktop from a command line for more information on command line options.
For both scheduler batch jobs and interactive scheduler jobs, the -MachineList num=<num distributed tasks> format is the most common way to specify the number of tasks for the job. The other formats (-MachineList list=... or -MachineList file=...) allow the user to specify the number of tasks and cores to use on each host. These formats may be useful with clusters of heterogeneous machines, by allowing the user to specify different numbers of tasks or cores for different hosts. If either of the latter two formats is used, the user must ensure that the hosts and cores specified on the product command line are compatible with the hosts and cores allocated to the job.
Batchoptions for Interactive Scheduler Jobs
For interactive scheduler jobs, only a limited set of batchoptions are supported. These batchoptions include the DSO configuration options, the design-type-specific options, and the following additional design-type-specific options that are not currently listed in the user interface or command line help windows:
- CreateStartingMesh: Create the starting mesh only. Do not solve any other steps. Often used for multi-step jobs where the mesh creation is solved in a separate step using fewer resources than the rest of the analysis.
- NumCoresPerDistributedTask: Specifies the number of cores that are allocated to the job to use for each distributed task, used when running jobs under a scheduler. The scheduler communicates the number of cores allocated to the job on each host. This setting is used to determine how to allocate the cores to each task.
- RAMLimitPercent: Specifies the percentage of system RAM that the analysis is expected to use on each host. Running out of memory can cause processes to be killed by the Operating System or other failures. The analysis will be gracefully terminated if it requires more than this limit. Typical limits are about 90%, to allow some RAM for the Operating System and other services. If there are multiple jobs running on a single host, then the RAM limit should be reduced accordingly. For example, if there are two jobs running on a host, then the limit could be 45%, which would allow 10% of the RAM for the Operating System and other services.
- RAMLimitPerCoreInGB: This is an alternative way to specify the RAM limit, instead of using the RAMLimitPercent. In this case, the RAM limit is the limit per core multiplied by the number of cores allocated to the job on each host. Typically used for jobs running under a scheduler to ensure that the scheduler memory limit and the ansysedt memory limit are consistent.
- SolveAdaptiveOnly: Solve adaptive passes only. Do not solve any other steps. Often used for multi-step jobs where the adaptive passes are solved in a separate step using fewer resources than the rest of the analysis.
- TotalNumOfCores: The total number of cores for the job. This option is only used for EKM (Engineering Knowledge Manager).
- ValidateOnly: Only validate the specified setup, design, or project. Do not analyze the specified setup, design or project.
Any other batchoptions will result in a warning message and will be ignored.
Example:
ansysedt -batchoptions " 'TempDirectory'='C:\\TEMP'
'HFSS/SelectedDSOConfiguration'='Local'
'Desktop/Settings/ProjectOptions/DoAutoSave'=1
'LargeScaleDSO/MaxFolderInMB'=100 "
Batchoptions
Batchoptions may be specified in the command line used to launch the product. Any valid batchoptions specified in the command line will override the associated registry settings. Batchoptions also override options specified using HPC and Analysis Options window or other dialog boxes used to specify options.
Setting the Number of Cores per Distributed Task
When submitting a job using the Ansys Electromagnetics Desktop job submission GUI, the number of cores per distributed task for a job is specified using the batchoption with pathname '<DesignType>/NumCoresPerDistributedTask', where <DesignType> is the design type to analyze. The batchoption setting is automatically included in the product command line when the job is submitted to the scheduler.
For interactive scheduler jobs, the user must include the associated batchoption setting or settings in the product command line when the product is launched. Multiple batchoption settings are required if the user analyzes multiple design types using the same product process. Batchoptions are the only way to specify this setting for batch jobs. There is an alternative to using the NumCoresPerDistributedTask batchoption for Interactive Scheduler Jobs, . The user may specify the total number of tasks and the total number of cores for each machine using the Machines tab of the Analysis Configuration window. You may use Edit in the HPC and Analysis Options to open the Analysis Configuration window for the "Interactive Scheduler Job" configuration.
Setting the Ram Limit Per Core in GB
When cores and RAM per core are requested, the cores could be allocated in an arbitrary/non-uniform way across nodes that themselves could be non-uniform/heterogeneous. For example, nodes could range from 4 cores to 20 cores and from 64 GB to 384 GB. In such environments, the RAM percentage set in the HPC configuration, Job Submission Compute Resources, or batch option may not be appropriate. In such cases, you can use the batchoption for RAMLimitPerCoreInGB. This setting specifies the Maximum amount of RAM used for each core allocated by the scheduler in GB. This batchoption cannot b e combined with RAM limit percent and is only valid when solving in a Linux scheduler environment.
The scheduler GUI automatically passes this new batch option instead of percent limit. From a scheduler GUI, such a request is available only for auto.
You can also use this new batch option for command line submission. The desktop does the computations and passes the percent limit to product/solver.
Setting the Remote Spawn Command Option to Scheduler
The Remote Spawn Command setting is only meaningful when running on the Linux Operating System. The value 'Scheduler' is valid if the job is a scheduler job running under an LSF, SGE or SLURM scheduler, and only if the MPI Vendor is 'Intel'.
When submitting a job using the AnsysEM job submission GUI, the Remote Spawn Command for an analysis may be specified using the batchoption with pathname 'DesignType/RemoteSpawnCommand', where DesignType is the Design Type to analyze. The Remote Spawn Command setting is only meaningful when running on the Linux Operating System. The value 'Scheduler' is valid if the job is a scheduler job running under an LSF, SGE or SLURM scheduler, and only if the MPI Vendor is 'Intel'. To specify the value 'Scheduler' for this option for a scheduler job, the Remote Spawn Command must be specified using the 'DesignType/RemoteSpawnCommand' batchoption in the product command line when the product is launched. In addition, the 'DesignType/MPIVendor' batchoption must be specified with value 'Intel' in the product command line when the product is launched. For interactive scheduler jobs, the Remote Spawn Command and the MPI Vendor may be specified with batchoptions or as design type options in the HPC and Analysis Options dialog box.
Setting MPI Version
When submitting a job using the Ansys Electromagnetics job submission GUI, the MPI Version may be specified using the batchoption with pathname DesignType/MPIVersion, where DesignType is the type of design to analyze (e.g. HFSS). It allows selection of which Intel MPI version to use, for both Windows and Linux. Valid values are "Default", "2018", and "2021".
For interactive solves, the MPI version may be specified with the batchoption in the command line used to launch the product, or as a design type option in the HPC and Analysis Options dialog box.