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.