The OPTGRAPH Procedure

Parallel Processing

PROC OPTGRAPH can take advantage of multicore chip technology by performing the graph data read in parallel. To enable PROC OPTGRAPH to process in parallel, you can specify the number of threads to use with the NTHREADS= option in the PERFORMANCE statement.

In addition, a number of the algorithms in PROC OPTGRAPH can also take advantage of multiple cores. There are two ways in which PROC OPTGRAPH can decompose the computational work in order to take advantage of parallel processing: by node and by subgraph.

To process the nodes of the graph individually, set the NTHREADS= option to some value greater than 1. You can do this for the centrality metrics closeness (see the section Closeness Centrality) and betweenness (see the section Betweenness Centrality). An example of this is shown in Betweenness and Closeness Centrality for Project Groups in a Research Department.

To process the subgraphs of the original graph individually, set the NTHREADS= option to some value greater than 1, and designate the clusters in each node by using the cluster variable in the nodes data set, as described in the section Node Input Data. You can do this for centrality metrics, reach networks, and summary statistics. (See the sections Centrality, Reach (Ego) Network, and Summary, respectively.) A common use for this feature is to first decompose the original graph into communities or components. (See the sections Community and Connected Components, respectively.) Then, from these results, define the clusters in the node data set and run the analysis of each subgraph individually and in parallel. PROC OPTGRAPH takes care of all of the accounting with the associated decomposition and returns results in terms of the original graph. An example of this process for centrality is shown in the section Processing by Cluster.

You can improve the performance of the OPTGRAPH procedure by running it in distributed computing mode. For more information about the high-performance features of the OPTGRAPH procedure, see SAS OPTGRAPH Procedure: High-Performance Features.

Note: Distributed computing mode requires SAS High-Performance Analytics software.