Generation¶
Usage
use Generation;
-
param
GenerationSeedOffset
= 3735928559¶
-
config const
GenerationUseAggregation
= true¶
-
proc
calculateWork
(numInclusions, targetLoc = Locales)¶
-
proc
weightedRandomSample
(items, probabilities, randValue)¶
-
proc
distributedHistogram
(probTable, numRandoms, targetLocales)¶
-
proc
histogram
(probabilities, numRandoms)¶
-
proc
generateErdosRenyiSMP
(graph, probability, vertexDomain, edgeDomain, couponCollector = true)¶
-
proc
generateErdosRenyi
(graph, probability, verticesDomain = graph.verticesDomain, edgesDomain = graph.edgesDomain, couponCollector = true, targetLocales = Locales)¶
-
proc
generateChungLuSMP
(graph, verticesDomain, edgesDomain, desiredVertexDegrees, desiredEdgeDegrees, inclusionsToAdd)¶
-
proc
generateChungLuPreScanSMP
(graph, verticesDomain, edgesDomain, vertexScan, edgeScan, inclusionsToAdd)¶
-
record
DynamicArray
¶ -
var
dom
= {0..0}¶
-
var
arr
: [dom] int¶
-
proc
init
()¶
-
proc
init=
(other)¶
-
proc
this
(idx: integral) const ref¶
-
var
-
proc
generateChungLu
(graph, vDegSeq: [?vDegSeqDom] int, eDegSeq: [?eDegSeqDom] int, inclusionsToAdd: int(64), verticesDomain = graph.verticesDomain, edgesDomain = graph.edgesDomain, targetLoc = Locales)¶ Generates a graph from the desired vertex and edge degree sequence.
Arguments: - graph – Mutable graph to generate.
- vDegSeq – Vertex degree sequence. Must be sorted.
- eDegSeq – HyperEdge degree sequence. Must be sorted.
- inclusionsToAdd – Number of edges to create between vertices and hyperedges.
- verticesDomain – Subset of vertices to generate edges between. Defaults to the entire set of vertices.
- edgesDomain – Subset of hyperedges to generate edges between. Defaults to the entire set of hyperedges.
- targetLoc – Locales to perform computation over. Defaults to Locales, which includes all locales.
-
proc
generateChungLuAdjusted
(graph, num_vertices, num_edges, desired_vertex_degrees, desired_edge_degrees)¶
-
proc
computeAffinityBlocks
(dV, dE, mV, mE)¶
-
proc
_round
(x: real): int¶
-
proc
generateBTER
(vd: [?vdDom], ed: [?edDom], vmc: [?vmcDom], emc: [?emcDom], targetLocales = Locales)¶ Block Two-Level Erdos Renyi