ILOG CPLEX 11.0 Parameters Reference Manual > > Alphabetic List of Parameters > Global default thread count

C Name

CPX_PARAM_THREADS

C++ Name

Threads

Java Name

Threads

.NET Name

Threads

InteractiveOptimizer

threads

Identifier

1067

Description

Sets the default number of parallel threads that will be invoked by any CPLEX parallel optimizer. Settings of this thread parameter interact with settings of the parallel mode parameter (CPX_PARAM_PARALLELMODE, ParallelMode) as summarized in Table 1, Table 2, and Table 3.

For single threads, the parallel algorithms behave deterministically, regardless of thread and parallel mode parameter settings; that is, the algorithm proceeds sequentially in a single thread.

In this context, sequential means that the algorithm proceeds step by step, consecutively, in a predictable and repeatable order within a single thread. Deterministic means that repeated solving of the same model with the same parameter settings on the same computing platform will follow exactly the same solution path, yielding the same level of performance and the same values in the solution. Sequential execution is deterministic. In multithreaded computing, a deterministic setting requires synchronization between threads. Opportunistic entails less synchronization between threads and thus may offer better performance at the sacrifice of repeatable, invariant solution paths and values in repeated runs on multiple threads or multiple processors.

In the following tables, maximum number of threads means the minimum of these two values:

Table 1 Interaction of Callbacks with Threads and Parallel Mode Parameters: No Callbacks or only Informational Callbacks in Application

 
Parallel Mode Auto 
Parallel Mode Opportuniistic (-1) 
Parallel Mode Deterministic (1) 
Threads 0 Auto 
Uses maximum number of threads; deterministic 
Uses maximum number of threads; opportunistic 
Uses maximum number of threads; deterministic 
Threads 1 
Uses one thread; sequential 
Uses one thread; sequential 
Uses one thread; sequential 
Threads N > 1 
Uses N threads; opportunistic 
Uses N threads; opportunistic 
Uses N threads; deterministic 
Table 2 Interaction of Callbacks with Threads and Parallel Mode Parameters: Only Query Callbacks in Application

 
Parallel Mode Auto 
Parallel Mode Opportunistic (-1) 
Parallel Mode Deterministic (1) 
Threads 0 Auto 
Uses one thread; deterministic 
Uses maximum number of threads; opportunistic 
Uses maximum number of threads; deterministic 
Threads 1 
Uses one thread; sequential 
Uses one thread; sequential 
Uses one thread; sequential 
Threads N > 1 
Uses N threads; opportunistic 
Uses N threads; opportunistic 
Uses N threads; deterministic 
Table 3 Interaction of Callbacks with Threads and Parallel Mode Parameters: Control Callbacks in Application

 
Parallel Mode Auto 
Parallel Mode Opportunistic (-1) 
Parallel Mode Deterministic (1) 
Threads 0 Auto 
Uses one thread; sequential 
Uses one thread; sequential 
Uses one thread; sequential 
Threads 1 
Uses one thread; sequential 
Uses one thread; sequential 
Uses one thread; sequential 
Threads N > 1 
Uses N threads; opportunistic 
Uses N threads; opportunistic 
Uses N threads; deterministic 

Values

Value 
Meaning 
Automatic: let CPLEX decide; default 
Sequential; single threaded 
Uses N threads; N is limited by license and available processors 

See Also

ParallelMode, CPX_PARAM_PARALLELMODE