ILOG CPLEX 11.0 User's Manual > Advanced Programming Techniques > Parallel Optimizers > Threads

The ILOG CPLEX parallel optimizers are licensed for a specific maximum number of threads. You manage the number of threads that ILOG CPLEX uses with the threads parameter (Threads, CPX_PARAM_THREADS) documented in the ILOG CPLEX Parameters Reference Manual. At its default setting 0 (zero), the number of threads that ILOG CPLEX actually uses during a parallel optimization is the smaller of:

If you set the threads parameter to a value greater than its default of 0 (zero), then the number of threads that ILOG CPLEX uses equals that value. When you set the threads parameter to 1 (one), you enforce sequential operation, that is, processing on one thread only. The maximum possible setting is the smaller of:

The number of threads used by a parallel ILOG CPLEX optimizer is separate from and independent of the number of licensed users. A typical ILOG CPLEX license permits one licensed use, that is, a single concurrent execution on one licensed computer. If the license also contains the parallel option with a thread limit of, say, four (on a machine with at least four processors), that one concurrent execution of ILOG CPLEX can employ any number of parallel threads to increase performance, up to that limit of 4. A license with the parallel option that additionally has a limit larger than one on the number of licensed uses can support that many simultaneous executions of ILOG CPLEX, each with the licensed maximum number of parallel threads. In such a case, the operating system will manage any contention for processors.

The number of parallel threads used by an ILOG CPLEX optimizer is usually controlled by ILOG CPLEX parameter settings. These settings are discussed in more detail in the sections that follow.