The OPTNET Procedure

PERFORMANCE Statement

  • PERFORMANCE <performance-options>;

The PERFORMANCE statement specifies performance options for multithreaded computing and requests detailed results about the performance characteristics of the OPTNET procedure.

The PERFORMANCE statement enables you to control the number of threads used and the output of the ODS table that reports procedure timing. When you specify the PERFORMANCE statement, the PerformanceInfo ODS table is produced. This table lists performance characteristics such as execution mode and number of threads.

You can specify the following performance-options in the PERFORMANCE statement:

DETAILS

requests that PROC OPTNET produce the Timing ODS table, which shows a breakdown of the time used in each step of the procedure.

NTHREADS=number | CPUCOUNT

specifies the number of threads that PROC OPTNET can use. This option overrides the SAS system option THREADS | NOTHREADS. The value of number can be any integer between 1 and 256, inclusive. The default value is CPUCOUNT, which sets the thread count to the number determined by the SAS system option CPUCOUNT=.

Setting this option to a number greater than the number of available cores might result in reduced performance. Specifying a high number does not guarantee shorter solution time; the actual change in solution time depends on the computing hardware and the scalability of the underlying algorithms in the PROC OPTNET. In some circumstances, the OPTNET procedure might use fewer threads than the specified number because the procedure’s internal algorithms have determined that a smaller number is preferable.

For example, the following call to PROC OPTNET uses eight threads to read the data input in parallel:

proc optnet
   data_links       = LinkSetIn
   graph_direction  = directed
   out_nodes        = NodeSetOut;
   performance
      nthreads      = 8;
run;