def __init__(self, graph_lib, num_threads=None): self.graph_lib = graph_lib # 'igraph', 'networkx', 'networkit' if graph_lib == "networkit": self.num_threads = ( num_threads if num_threads != -1 and num_threads is not None else nk.getMaxNumberOfThreads() ) # OpenMP threads only for `networkit`. nk.setNumberOfThreads(self.num_threads) elif num_threads is not None: raise ValueError( '`num_threads` is only used for the `networkit` library.')
def run(self, G): mt = networkit.getMaxNumberOfThreads() networkit.setNumberOfThreads(1) bc = networkit.centrality.ApproxBetweenness2(G, nSamples=42) bc.run() networkit.setNumberOfThreads(mt)
def run(self, G): mt = networkit.getMaxNumberOfThreads() networkit.setNumberOfThreads(1) bc = networkit.centrality.Betweenness(G) bc.run() networkit.setNumberOfThreads(mt)