Contents

Run the entire cSSCA#2 benchmark

if ~exist ('scale', 'var')
  scale = 13
else
  scale
end

if exist ('np')
  scale = scale*p;
end
scale =

    12

Data generator

t0 = clock;
[E, V] = gendata2 (scale);
t0 = etime (clock, t0);
** UCSB/SGI SSCA#2 Scalable Data Generator (Integer Only) **

1: Generate clique sizes and first vertices
2: Generate edges within cliques
3: Generate edges between cliques
4: Make edges unidirectional or bidirectional
5: Generate duplicate edges
6: Generate edge labels
7: Randomize vertex numbers and triple order

==========================================================
Scale                                 : 12
Number of Vertices                    : 4096
Number of Cliques                     : 472
Max Clique Size                       : 16
Edges in directed multigraph          : 80248
Intraclique edges in undirected graph : 20649
Interclique edges in undirected graph : 1692
Edges in undirected graph             : 22341
==========================================================

Kernel 1 - Create multigraph and undirected graph

disp ('Kernel 1');
t1 = clock;
G = kernel1 (E);
t1 = etime (clock, t1);
Kernel 1

Kernel 2 - Find max weight edges

disp ('Kernel 2');
t2 = clock;
[maxwt, intedges] = kernel2 (G);
t2 = etime (clock, t2);
Kernel 2

Kernel 3 - Breadth first search

disp ('Kernel 3');
t3 = clock;
subgraphs = kernel3 (G, 3, intedges(:,2));
t3 = etime (clock, t3);
Kernel 3

Kernel 4 - Recover original cliques

disp ('Kernel 4');
t4 = clock;
label = kernel4g (G);
t4 = etime (clock, t4);
[ign p] = sort(label);
Kernel 4

Validate output from kernel4.

validate4 (G, label, V, 3);

fprintf ('Data generator time : %.2f seconds\n', t0);
fprintf ('Kernel1 time        : %.2f seconds\n', t1);
fprintf ('Kernel2 time        : %.2f seconds\n', t2);
fprintf ('Kernel3 time        : %.2f seconds\n', t3);
fprintf ('Kernel4 time        : %.2f seconds\n', t4);
fprintf ('\n');
** Validating output from SSCA#2 kernel 4 ** 

Scale                          : 12
Number of graph vertices       : 4096
Number of graph edges          : 22341
Intercluster/Interclique edges : 0.962766

				INPUT     OUTPUT      CONFORM
Max Cluster Size         :         16         19      NO: 3 extra vertices
Number of clusters       :        472        424
Density inside clusters  :       1.00       0.96
Edges between clusters   :       1692       1629      YES

Data generator time : 1.07 seconds
Kernel1 time        : 0.94 seconds
Kernel2 time        : 0.05 seconds
Kernel3 time        : 0.19 seconds
Kernel4 time        : 0.10 seconds