Performance Benchmarks
The
-benchmark
flag can be used to benchmark the performance of
Simcenter STAR-CCM+ for your specific simulation file on your specific hardware.
Specifically, you can use this flag to determine how well Simcenter STAR-CCM+ scales at different core counts for your specific use case, as well as understanding the memory requirements for the simulation file at different core counts. This flag can also be used to benchmark new hardware. For example, if you use this flag on known hardware and compare it against new hardware that you are looking to purchase, comparing the output of the two benchmarks lets you know exactly how the performance of Simcenter STAR-CCM+ changes for your specific use case.
In serial the benchmark collects information about the host and any relevant information pertaining to the version of the software. It then runs a single timing sample where a sample consists of a single iteration to initialize the solution, a number of pre-iterations, and a number of sampled iterations. A final iteration is done to collect information about system memory use during the iterations. The results are written to an output file in XML format. This file contains all the information collected by the benchmark and can be used to communicate this data. Finally, the XML is used to write a simple report in HTML format.
In parallel a similar approach is used, but
several samples are taken, each using different numbers of worker processes. If the
worker processes for each sample are not specified using the -nps
command line option, the first sample uses one worker process. Subsequent samples
increase the number of worker processes by a factor of two. If the maximum number of
worker processes is not a factor of two, an additional sample is taken at the maximum.
If the worker processes for each sample are specified using the -nps
command line option, the parallel samples are run with increasing number of worker
processes, in sorted order from the counts specified in -nps
. Results
are written to an XML output file which is used to generate a simple report in HTML
format.
The reported SampleElapsedTime
can differ slightly from the sum of
ElapsedTime
values for all sample steps. While the individual
ElapsedTime
values are measured by the Simcenter STAR-CCM+ server, the total SampleElapsedTime
is
measured by the client. The SampleElapsedTime
is closer to the time a
user sees to run the specified NumberOfSampleSteps
.
By default hardware topology information of all involved hosts is collected and stored in
the benchmark XML report. This information includes CPUs, GPGPUs, memory, and other
PCI/IO devices. Collection of this data can be deactivated by specifying the
-notopo
flag.
There are currently a number of options that are incompatible with the
-benchmark
flag. Specifically,
-benchmark
indicates that you are opening a particular type of client (a benchmark client); any command-line flag that conflicts with this cannot be used at the same time as
-benchmark
. For example,
starccm+ -benchmark -server
results in an error message as
-server
implies no client, and
-benchmark
implies a benchmark client—the two flags conflict. Also,
starccm+ -benchmark -batch
results in an error message as
-benchmark
implies a benchmark client and
-batch
implies a batch client—the two flags conflict. There are other inconsistencies that result in a similar error message for similar reasons (starccm+ -benchmark -macro test.java
); not all inconsistencies are listed here.
For a complete list of options that can be
passed to the -benchmark
command line flag, use starccm+
-benchmarkhelp
.