The OPTGRAPH 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 OPTGRAPH 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 the procedure produce the Timing ODS table. This table shows a breakdown of the time used in each step of the procedure.

NTHREADS=number | CPUCOUNT

specifies the number of threads that the procedure 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 actual 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 OPTGRAPH procedure. In some circumstances, the OPTGRAPH 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 OPTGRAPH uses eight threads for reading the data input in parallel:

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