The PERFORMANCE statement controls how an estimation or simulation task in PROC TMODEL uses multiple execution threads. You can specify two types of information in a PERFORMANCE statement: the number of threads and the priority of calculations to which the threads are assigned. Calculations with a higher priority are allocated a greater number of threads, and calculations with a lower priority are allocated fewer threads. When a calculation is assigned a priority of zero, it is executed in one thread. When priority options are not specified, PROC TMODEL assigns default priority values based on properties of the model program and data.
Each PERFORMANCE statement is associated with the FIT or SOLVE statement that precedes it. When there is no preceding FIT or SOLVE statement, the PERFORMANCE statement is associated with the FIT or SOLVE statement that follows it.
The following options apply to both estimation and simulation tasks:
BYPRIORITY=priority
specifies the priority for allocating the computation threads to process BY groups concurrently in the input data set. The value of priority must be between 0 and 1, where 0 specifies the lowest priority and 1 specifies the highest priority.
CPUCOUNT=n
NTHREADS=n
specifies the approximate number of concurrent computation threads to use. By default, the global CPUCOUNT= option is used to specify the number of threads. The actual number of threads that are used might vary from the value that you specify in the CPUCOUNT= or NTHREADS= option based on the properties of the model program, the properties of the input data set, and the priority options specified in the PERFORMANCE statement.
Options to Configure Estimation Threads
MSPRIORITY=priority
GRIDPRIORITY=priority
specifies the priority for allocating computation threads for the concurrent execution of the optimizer during the estimation process. Concurrent execution of the optimizer is possible when the OPTIMIZER=ORMP(MULTISTART) option or the START= option is specified in the FIT statement. The value of priority must be between 0 and 1, where 0 specifies the lowest priority and 1 specifies the highest priority.
PARTPRIORITY=priority
specifies the priority for allocating computation threads for concurrent execution across partitions of the input data set. The value of priority must be between 0 and 1, where 0 specifies the lowest priority and 1 specifies the highest priority.
Option to Configure Simulation Threads
REPPRIORITY=priority
specifies the priority for allocating computation threads for the concurrent execution of repetitions of the input data set when you are performing Monte Carlo simulations. The value of priority must be between 0 and 1, where 0 specifies the lowest priority and 1 specifies the highest priority.