set-thread-limit set-time-quantum
Simics Reference Manual  /  3 Commands  /  3.2 Command List  / 

set-threading-mode

Synopsis

set-threading-mode [mode] [cell]

Description

Set the threading mode to be used by Simics. The following values for mode are supported:

multicore - run in multicore-threaded mode. This is a nondeterministic mode where individual CPU cores are simulated in parallel, for models supporting it.

subsystem - run in subsystem-threaded mode. In this mode, groups of tightly coupled CPU cores can be simulated in parallel, but tightly coupled cores are simulated in sequence. This is also a nondeterministic mode.

serialized - run in serialized mode, which usually is deterministic. All CPUs belonging to a particular cell are simulated in sequence.

Regardless of the selected threading modes, models belonging to different cells can always be simulated in parallel unless all multithreading has been disabled with the disable-multithreading command.

If a cell argument is specified, then the threading mode is only applied to that particular cell.

If the command is given without a mode argument, then the current threading configuration is displayed together with various latency settings affecting the simulation. Settings which do not apply to the current mode or configuration are printed in parentheses. The number of concurrent threads that can be used to simulate the workload of a particular cell is listed in the #td column (the number of distinct thread domains in the cell containing CPUs). Please note that if, for example, the CPUs in the cell support the subsystem mode but don't support the multithreading mode then commands set-threading-mode multicore and set-threading-mode subsystem are equivalent (i.e. both commands switch CPUs to the Sim_Concurrency_Mode_Serialized_Memory mode). For such case the cell's current threading configuration that is reported by the set-threading-mode command is reported as being in a multicore/subsystem mode.

Provided By

Simics Core

See Also

set-max-time-span, set-time-quantum, set-min-latency, set-thread-limit, list-thread-domains
set-thread-limit set-time-quantum