Calibre What’s the main difference between Multi-threaded and MTFlex modes

IC Verification & Signoff


The differences between Multi-threaded and MTFlex modes, license consumption, and speed


Multi-Threaded processing is a generic term for distributing jobs across multiple CPUs using one of the following options:

1.   Multi-threaded (MT) mode uses multiple CPUs on the same host, it executes threads on CPUs that share memory, referred to as local CPUs, and is enabled through the -turbo command line option.

2.   Calibre MTflex functionality provides a parallel processing architecture for running Multithreaded (MT) Calibre tools on distributed networked computers. MTflex mode uses multiple CPUs on a network of hosts executes threads on CPUs that do not share memory, referred to as remote CPUs, and is enabled with the -remote or remote file command line option.

More information about other modes you can find in Calibre Administrator's Guide. Also, please refer to the following app notes:

  • MG575554 “Calibre execution modes: From Multi-Threading to Hyper Remote”
  • MG524088 “Speed up Calibre DRC”

How the licenses are calculated for multithreaded runs?

A license consumption formula is used by applicable Calibre tools to determine the number of licenses needed for a multithreaded Calibre job (MT, MTFlex).

Below is shown the formula used to calculate the number of licenses required by most Calibre tools when run in multithreaded mode. The number of licenses required is based on the number of CPUs (>1) that are used to run the job. The resulting value is truncated to the nearest integer.

Standard Multithreaded License Requirements Formula:

Some Calibre products have different licensing requirements, which are described on the respective product license reference pages.

For MTflex applications, the CPUs on the primary (master) machine often do not factor into the count in the “Running on N CPUs” line because they are used for data management purposes only, not layer operations. The CPUs on the primary typically process only the data generated by the remote CPUs, which always are considered “running” CPUs.

If the primary machine is overdriven, then some or all of its CPUs are used for runtime data generation in addition to the data management services they perform. Such CPUs are counted toward the total processor count for the run.

Which is typically faster, Multithread or MTflex in general?

This depends on several factors (design/rule file/machines). The KB article: MG542506 has more details about the runtime with different modes.


KB Article ID# KB000112576_EN_US



Associated Components

Calibre nmDRC