2 #include "simple_API.h"    13 void kernel(
size_t i_var_3, 
Graph * 
graph, 
NodeId var_2, 
PropertyId p_var_3, 
PropertyId p_var_4, 
PropertyId p_var_5, 
PropertyId p_var_7, 
PropertyId p_var_9, 
PropertyId p_var_11, 
size_t in_degree_var_2, 
Edge * var_2_1_inEdges)
    15   unsigned localCounter = 0;
    17   var_3 = var_2_1_inEdges[i_var_3].
property;
    19   var_1 = var_2_1_inEdges[i_var_3].
node;
    20   int  cond_level_2 = (var_3 == p_var_3);
    26     for(i_var_5=0; i_var_5 < out_degree_var_1; i_var_5++)
    29       var_5 = var_1_3_outEdges[i_var_5].
property;
    31       var_4 = var_1_3_outEdges[i_var_5].
node;
    32       int  cond_level_4 = ((var_5 == p_var_5) & (var_4 == p_var_4));
    37         for(i_var_7=0; i_var_7 < out_degree_var_1; i_var_7++)
    40           var_7 = var_1_5_outEdges[i_var_7].
property;
    42           var_6 = var_1_5_outEdges[i_var_7].
node;
    43           int  cond_level_6 = (var_7 == p_var_7);
    48             for(i_var_9=0; i_var_9 < out_degree_var_1; i_var_9++)
    51               var_9 = var_1_7_outEdges[i_var_9].
property;
    53               var_8 = var_1_7_outEdges[i_var_9].
node;
    54               int  cond_level_8 = (var_9 == p_var_9);
    59                 for(i_var_11=0; i_var_11 < out_degree_var_1; i_var_11++)
    62                   var_11 = var_1_9_outEdges[i_var_11].
property;
    64                   var_10 = var_1_9_outEdges[i_var_11].
node;
    65                   int  cond_level_10 = (var_11 == p_var_11);
    86    #pragma omp parallel for    87    for(i_var_3=0; i_var_3 < in_degree_var_2; i_var_3++)
    89      kernel(i_var_3, graph, var_2, p_var_3, p_var_4, p_var_5, p_var_7, p_var_9, p_var_11, in_degree_var_2, var_2_1_inEdges);
    98    printf(
"In degree %d\n", in_degree_var_2);
    99    parallel(graph, var_2, p_var_3, p_var_4, p_var_5, p_var_7, p_var_9, p_var_11, in_degree_var_2, var_2_1_inEdges);
   108 #if defined(DATASETInVertexFile) && defined(DATASETOutVertexFile) && defined(DATASETInEdgeFile) && defined(DATASETOutEdgeFile)   109   loadGraph(DATASETInVertexFile, DATASETOutVertexFile, DATASETInEdgeFile, DATASETOutEdgeFile);
   112   loadGraph(
"dataset/1-InVertexFile.bin", 
"dataset/1-OutVertexFile.bin", 
"dataset/1-InEdgeFile.bin", 
"dataset/1-OutEdgeFile.bin");
   122   int ret_value = search(&
TheGraph, var_2, p_var_3, p_var_4, p_var_5, p_var_7, p_var_9, p_var_11);
   123   printf(
"%d\n", ret_value);
   130   return test(8204, 2, 6764, 10, 8, 17, 16) != 10;
 
static Edge * getInEdges(Graph *graph, NodeId node)
 
static size_t getInDegree(Graph *graph, NodeId node)
 
static Edge * getOutEdges(Graph *graph, NodeId node)
 
void kernel(unsigned vertex, unsigned *p_Qnext, unsigned *Qnext_N, unsigned *map)
 
General class used to describe a graph in PandA. 
 
static size_t getOutDegree(Graph *graph, NodeId node)
 
__attribute__((noinline))
 
int test(NodeId var_2, PropertyId p_var_3, PropertyId p_var_4, PropertyId p_var_5, PropertyId p_var_7, PropertyId p_var_9, PropertyId p_var_11)
 
void loadGraph(char *InVertexFileName, char *OutVertexFileName, char *InEdgeFileName, char *OutEdgeFileName)
 
unsigned counter[N_THREADS]