From 3a9d31661eff2ce8c2e4705a9ecb1ed0de355a81 Mon Sep 17 00:00:00 2001 From: kchristin Date: Wed, 5 Jun 2024 16:57:55 -0500 Subject: [PATCH 01/69] Add initial commit of maximum matching --- .vscode/settings.json | 3 +- .../algorithm/LAGraph_MaximumMatching.c | 120 ++++++++++++++++++ 2 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 experimental/algorithm/LAGraph_MaximumMatching.c diff --git a/.vscode/settings.json b/.vscode/settings.json index 26fec30dc4..85513aa41e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "files.associations": { - "lg_internal.h": "c" + "lg_internal.h": "c", + "compare": "c" } } \ No newline at end of file diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c new file mode 100644 index 0000000000..f2daf4545d --- /dev/null +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -0,0 +1,120 @@ +//------------------------------------------------------------------------------ +// LAGraph_MaximumMatching: maximum matching between nodes of disjoint sets +// in bipartite graphs +//------------------------------------------------------------------------------ + +// LAGraph, (c) 2019-2022 by The LAGraph Contributors, All Rights Reserved. +// SPDX-License-Identifier: BSD-2-Clause +// +// For additional details (including references to third party source code and +// other files) see the LICENSE file or contact permission@sei.cmu.edu. See +// Contributors.txt for a full list of contributors. Created, in part, with +// funding and support from the U.S. Government (see Acknowledgments.txt file). +// DM22-0790 + +// Contributed by Christina Koutsou, Aristotle University of Thessaloniki + +// add paper + +//------------------------------------------------------------------------------ + +// add explanation of paper + +// #define LG_FREE_WORK \ +// { +// } + +// #define LG_FREE_ALL \ +// { \ +// // LG_FREE_WORK ; \ +// // GrB_free (centrality) ; +// } + +#include "LG_internal.h" + +//------------------------------------------------------------------------------ +// the Vertex tuple: (parentC, rootC) +//------------------------------------------------------------------------------ + +typedef struct +{ + uint64_t parentC; + uint64_t rootC; +} vertex; + +// repeat the typedef as a string, to give to GraphBLAS +#define VERTEX_DEFN \ + "typedef struct " \ + "{ " \ + "uint64_t parentC; " \ + "uint64_t rootC; " \ + "} " \ + "vertex; " + +void *initFrontier(vertex *z, vertex *x, GrB_Index i, GrB_Index j, const void *y) +{ + + x->parentC = i; + x->rootC = i; + z = x; +} + +#define INIT_FRONTIER_DEFN \ + "vertex *initFrontier(vertex *x, GrB_Index i, GrB_Index j, const void *y) " \ + "{ " \ + "x->parentC = i; " \ + "x->rootC = i; " \ + "return x; " \ + "} " \ + "vertex;" + +int LAGraph_MaximumMatching( + // output/input: + GrB_Vector *mateC, // mateC(j) = i : Column j of C subset is matched to row i of R subset + // input: + LAGraph_Graph G, // input graph + char *msg) +{ + + //-------------------------------------------------------------------------- + // check inputs + //-------------------------------------------------------------------------- + + LG_CLEAR_MSG; + + LG_TRY(LAGraph_CheckGraph(G, msg)); + + GrB_Matrix A = G->A; + uint64_t ncols = 0; + GRB_TRY(GrB_Matrix_ncols(&ncols, A)); + + uint64_t nrows = 0; + GRB_TRY(GrB_Matrix_nrows(&nrows, A)); + + GrB_Vector pathC = NULL; // make this bitmap, if dense I would have to give all the entries and make the matrix 1-based + GRB_TRY(GrB_Vector_new(&pathC, GrB_UINT64, ncols)); + + GrB_Vector parentsR = NULL; // parents of row nodes that are reachable from paths of the initial column frontier + GRB_TRY(GrB_Vector_new(&parentsR, GrB_UINT64, nrows)); + + GrB_Type Vertex = NULL; + GRB_TRY(GxB_Type_new(&Vertex, sizeof(vertex), "vertex", VERTEX_DEFN)); + + GrB_Vector frontierC = NULL; + GRB_TRY(GrB_Vector_new(&frontierC, Vertex, ncols)); + GrB_Vector frontierR = NULL; + GRB_TRY(GrB_Vector_new(&frontierR, Vertex, nrows)); + + GrB_IndexUnaryOp initFrontierOp = NULL; + GRB_TRY(GxB_IndexUnaryOp_new(&initFrontierOp, (GxB_index_unary_function)initFrontier, Vertex, Vertex, NULL, "initFrontier", INIT_FRONTIER_DEFN)); + + do + { + GRB_TRY(GrB_Vector_clear(pathC)); + GRB_TRY(GrB_Vector_clear(parentsR)); + + // for every col j not matched, assign f(j) = VERTEX(j,j) + GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, mateC, NULL, initFrontierOp, frontierC, NULL, GrB_DESC_RSC)); + + } while (pathC != NULL); // only in the first and last iteration should this condition be false +} \ No newline at end of file From 2906e701cc9b468d786f77dc456847a26f35a0be Mon Sep 17 00:00:00 2001 From: kchristin Date: Thu, 6 Jun 2024 16:09:12 -0500 Subject: [PATCH 02/69] Fix initialization of frontierC and add test for debugging purposes --- .../algorithm/LAGraph_MaximumMatching.c | 67 +- experimental/test/test_MaximumMatching.c | 29 + include/LAGraphX.h | 2306 ++++++++--------- 3 files changed, 1179 insertions(+), 1223 deletions(-) create mode 100644 experimental/test/test_MaximumMatching.c diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index f2daf4545d..934e510ce2 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -38,35 +38,32 @@ typedef struct { - uint64_t parentC; - uint64_t rootC; + GrB_Index parentC; + GrB_Index rootC; } vertex; // repeat the typedef as a string, to give to GraphBLAS -#define VERTEX_DEFN \ - "typedef struct " \ - "{ " \ - "uint64_t parentC; " \ - "uint64_t rootC; " \ - "} " \ +#define VERTEX_DEFN \ + "typedef struct " \ + "{ " \ + "GrB_Index parentC; " \ + "GrB_Index rootC; " \ + "} " \ "vertex; " -void *initFrontier(vertex *z, vertex *x, GrB_Index i, GrB_Index j, const void *y) +int a = 0; +void *initFrontier(vertex *z, void *x, GrB_Index i, GrB_Index j, const void *y) { - - x->parentC = i; - x->rootC = i; - z = x; + z->parentC = i; + z->rootC = i; } -#define INIT_FRONTIER_DEFN \ - "vertex *initFrontier(vertex *x, GrB_Index i, GrB_Index j, const void *y) " \ - "{ " \ - "x->parentC = i; " \ - "x->rootC = i; " \ - "return x; " \ - "} " \ - "vertex;" +#define INIT_FRONTIER_DEFN \ + "void *initFrontier(vertex *z, void *x, GrB_Index i, GrB_Index j, const void *y) " \ + "{ " \ + "z->parentC = i; " \ + "z->rootC = i; " \ + "} " int LAGraph_MaximumMatching( // output/input: @@ -106,15 +103,35 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_new(&frontierR, Vertex, nrows)); GrB_IndexUnaryOp initFrontierOp = NULL; - GRB_TRY(GxB_IndexUnaryOp_new(&initFrontierOp, (GxB_index_unary_function)initFrontier, Vertex, Vertex, NULL, "initFrontier", INIT_FRONTIER_DEFN)); + GRB_TRY(GxB_IndexUnaryOp_new(&initFrontierOp, (void *)initFrontier, Vertex, GrB_BOOL, GrB_BOOL, "initFrontier", INIT_FRONTIER_DEFN)); + + uint64_t nvals = 0; + bool y = 0; // see if I can get rid of this + + GrB_Vector I = NULL; // dense matrix of 1's + GRB_TRY(GrB_Vector_new(&I, GrB_BOOL, ncols)); + GRB_TRY(GrB_Vector_assign_INT32(I, NULL, NULL, 1, GrB_ALL, ncols, NULL)); do { GRB_TRY(GrB_Vector_clear(pathC)); GRB_TRY(GrB_Vector_clear(parentsR)); - // for every col j not matched, assign f(j) = VERTEX(j,j) - GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, mateC, NULL, initFrontierOp, frontierC, NULL, GrB_DESC_RSC)); + GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, *mateC, NULL, initFrontierOp, I, &y, GrB_DESC_RSC)); // for each non-matched col j, f(j) = (j,j) + GrB_Index R[ncols]; + vertex *X = malloc(ncols * sizeof(vertex)); + GrB_Vector_extractTuples_UDT(R, X, &ncols, frontierC); + for (int k = 0; k < ncols; k++) + { + printf("\nfc (%d) = (%ld, %ld)", (int)R[k], X[k].parentC, X[k].rootC); + } + GxB_Vector_fprint(*mateC, "mateC", GxB_COMPLETE, stdout); + + // LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); + + GRB_TRY(GrB_Vector_nvals(&nvals, pathC)); + + } while (nvals); // only in the first and last iteration should this condition be false - } while (pathC != NULL); // only in the first and last iteration should this condition be false + return (GrB_SUCCESS); } \ No newline at end of file diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c new file mode 100644 index 0000000000..51667e311b --- /dev/null +++ b/experimental/test/test_MaximumMatching.c @@ -0,0 +1,29 @@ +#include +#include + +#include +#include +#include + +char msg[LAGRAPH_MSG_LEN]; +LAGraph_Graph G = NULL; + +void test_MCM() +{ + LAGraph_Init(msg); + GrB_Vector mateC = NULL; + OK(GrB_Vector_new(&mateC, GrB_UINT64, 5)); + + GrB_Matrix A = NULL; + OK(GrB_Matrix_new(&A, GrB_BOOL, 5, 5)); + OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); + OK(LAGraph_MaximumMatching(&mateC, G, msg)); + printf("msg: %s\n", msg); + + LAGraph_Finalize(msg); +} + +TEST_LIST = + { + {"Dummy", test_MCM}, // just one test in this example + {NULL, NULL}}; \ No newline at end of file diff --git a/include/LAGraphX.h b/include/LAGraphX.h index 9ad988c166..a4e3433e40 100644 --- a/include/LAGraphX.h +++ b/include/LAGraphX.h @@ -19,1220 +19,1130 @@ #include #include -#if ( _MSC_VER && !__INTEL_COMPILER && LGX_DLL ) - #ifdef LGX_LIBRARY - // compiling LAGraph itself, exporting symbols to user apps - #define LAGRAPHX_PUBLIC __declspec ( dllexport ) - #else - // compiling the user application, importing symbols from LAGraph - #define LAGRAPHX_PUBLIC __declspec ( dllimport ) - #endif +#if (_MSC_VER && !__INTEL_COMPILER && LGX_DLL) +#ifdef LGX_LIBRARY +// compiling LAGraph itself, exporting symbols to user apps +#define LAGRAPHX_PUBLIC __declspec(dllexport) #else - // for other compilers - #define LAGRAPHX_PUBLIC +// compiling the user application, importing symbols from LAGraph +#define LAGRAPHX_PUBLIC __declspec(dllimport) +#endif +#else +// for other compilers +#define LAGRAPHX_PUBLIC #endif //============================================================================== // for C++ applications: //============================================================================== -#if defined ( __cplusplus ) +#if defined(__cplusplus) extern "C" { #endif -//============================================================================== -// Experimental methods: in experimental/algorithm and experimental/utility -//============================================================================== - -// Do not rely on these in production. These methods are still under -// development, and is intended only for illustration or testing, not -// benchmarking. Do not use for benchmarking without asking the authors. - -//------------------------------------------------------------------------------ -// LAGraph_Random_*: Random number generator -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGraph_Random_Init -( - char *msg -) ; -LAGRAPHX_PUBLIC -int LAGraph_Random_Finalize -( - char *msg -) ; - -#if defined ( COVERAGE ) -// for testing only -LAGRAPHX_PUBLIC extern bool random_hack ; -#endif - -LAGRAPHX_PUBLIC -int LAGraph_Random_Seed // construct a random seed vector -( - // input/output - GrB_Vector Seed, // vector of random number seeds, normally GrB_UINT64 - // input - uint64_t seed, // scalar input seed - char *msg -) ; - -LAGRAPHX_PUBLIC -int LAGraph_Random_Next // advance to next random vector -( - // input/output - GrB_Vector Seed, - char *msg -) ; - -LAGRAPHX_PUBLIC -GrB_Info LAGraph_Random_Matrix // random matrix of any built-in type -( - // output - GrB_Matrix *A, // A is constructed on output - // input - GrB_Type type, // type of matrix to construct - GrB_Index nrows, // # of rows of A - GrB_Index ncols, // # of columns of A - double density, // density: build a sparse matrix with - // density*nrows*cols values if not INFINITY; - // build a dense matrix if INFINITY. - uint64_t seed, // random number seed - char *msg -) ; - -//**************************************************************************** -// binary file I/O -//**************************************************************************** - -// The LAGraph *.lagraph file consists of an ASCII JSON header, followed by -// one or more serialized "blobs" created by GrB_Matrix_serialize (or -// GxB_Matrix_serialize if using SuiteSparse:GraphBLAS). The file can only be -// read back into LAGraph when using the same GraphBLAS library used to create -// it. - -// To create a binary file containing one or more GrB_Matrix objects, the user -// application must first open the file f, create the ascii JSON header with -// LAGraph_SWrite_Header*, and then write one or more binary serialized -// GrB_Matrix blobs from using LAGraph_SWrite_Matrix. - -// Example: - -/* - // serialize the matrices A (of type GrB_FP64) and B (of type GrB_BOOL) - void *Ablob, *Bblob ; - GrB_Index Ablob_size, Bblob_size ; - GxB_Matrix_serialize (&Ablob, &Ablob_size, A, NULL) ; - GxB_Matrix_serialize (&Bblob, &Bblob_size, B, NULL) ; - - // open the file and write the JSON header - FILE *f = fopen ("mymatrices.lagraph", "w") ; - LAGraph_SWrite_HeaderStart (f, "mystuff", msg) ; - LAGraph_SWrite_HeaderItem (f, LAGraph_matrix_kind, "A", "double", 0, - Ablob_size, msg) ; - LAGraph_SWrite_HeaderItem (f, LAGraph_matrix_kind, "B", "bool", 0, - Bblob_size, msg) ; - LAGraph_SWrite_HeaderEnd (f, msg) ; - - // write the matrices in binary - LAGraph_SWrite_Item (f, Ablob, Ablob_size, msg) ; - LAGraph_SWrite_Item (f, Bblob, Bblob_size, msg) ; - - fclose (f) ; -*/ - -typedef enum -{ - LAGraph_unknown_kind = -1, // unknown kind - LAGraph_matrix_kind = 0, // a serialized GrB_Matrix - LAGraph_vector_kind = 1, // a serialized GrB_Vector (SS:GrB only) - LAGraph_text_kind = 2, // text (char *), possibly compressed -} -LAGraph_Contents_kind ; - -typedef struct -{ - // serialized matrix/vector, or pointer to text, and its size - void *blob ; - size_t blob_size ; - - // kind of item: matrix, vector, text, or unknown - LAGraph_Contents_kind kind ; - - // if kind is text: compression used - // -1: none, 0: default for library, 1000: LZ4, 200x: LZ4HC:x - int compression ; - - // name of the object - char name [LAGRAPH_MAX_NAME_LEN+4] ; - - // if kind is matrix or vector: type name - char type_name [LAGRAPH_MAX_NAME_LEN+4] ; -} -LAGraph_Contents ; - -LAGRAPHX_PUBLIC -int LAGraph_SWrite_HeaderStart // write the first part of the JSON header -( - FILE *f, // file to write to - const char *name, // name of this collection of matrices - char *msg -) ; - -LAGRAPHX_PUBLIC -int LAGraph_SWrite_HeaderItem // write a single item to the JSON header -( - // inputs: - FILE *f, // file to write to - LAGraph_Contents_kind kind, // matrix, vector, or text - const char *name, // name of the matrix/vector/text; matrices from - // sparse.tamu.edu use the form "Group/Name" - const char *type, // name of type of the matrix/vector - int compression, // text compression method - GrB_Index blob_size, // exact size of serialized blob for this item - char *msg -) ; - -LAGRAPHX_PUBLIC -int LAGraph_SWrite_HeaderItem // write a single item to the JSON header -( - // inputs: - FILE *f, // file to write to - LAGraph_Contents_kind kind, // matrix, vector, or text - const char *name, // name of the matrix/vector/text; matrices from - // sparse.tamu.edu use the form "Group/Name" - const char *type, // name of type of the matrix/vector - // todo: text not yet supported by LAGraph_SWrithe_HeaderItem - int compression, // text compression method - GrB_Index blob_size, // exact size of serialized blob for this item - char *msg -) ; - -LAGRAPHX_PUBLIC -int LAGraph_SWrite_HeaderEnd // write the end of the JSON header -( - FILE *f, // file to write to - char *msg -) ; - -LAGRAPHX_PUBLIC -int LAGraph_SWrite_Item // write the serialized blob of a matrix/vector/text -( - // input: - FILE *f, // file to write to - const void *blob, // serialized blob from G*B_Matrix_serialize - GrB_Index blob_size, // exact size of the serialized blob - char *msg -) ; - -LAGRAPHX_PUBLIC -int LAGraph_SRead // read a set of matrices from a *.lagraph file -( - FILE *f, // file to read from - // output - char **collection, // name of collection (allocated string) - LAGraph_Contents **Contents, // array contents of contents - GrB_Index *ncontents, // # of items in the Contents array - char *msg -) ; - -LAGRAPHX_PUBLIC -void LAGraph_SFreeContents // free the Contents returned by LAGraph_SRead -( - // input/output - LAGraph_Contents **Contents, // array of size ncontents - GrB_Index ncontents -) ; - -LAGRAPHX_PUBLIC -int LAGraph_SSaveSet // save a set of matrices from a *.lagraph file -( - // inputs: - char *filename, // name of file to write to - GrB_Matrix *Set, // array of GrB_Matrix of size nmatrices - GrB_Index nmatrices, // # of matrices to write to *.lagraph file -// todo: handle vectors and text in LAGraph_SSaveSet - char *collection, // name of this collection of matrices - char *msg -) ; - -int LAGraph_SLoadSet // load a set of matrices from a *.lagraph file -( - // input: - char *filename, // name of file to read from - // outputs: - GrB_Matrix **Set_handle, // array of GrB_Matrix of size nmatrices - GrB_Index *nmatrices_handle, // # of matrices loaded from *.lagraph file -// todo: handle vectors and text in LAGraph_SLoadSet -// GrB_Vector **Set_handle, // array of GrB_Vector of size nvector -// GrB_Index **nvectors_handle, // # of vectors loaded from *.lagraph file -// char **Text_handle, // array of pointers to (char *) strings -// GrB_Index **ntext_handle, // # of texts loaded from *.lagraph file - char **collection_handle, // name of this collection of matrices - char *msg -) ; - -LAGRAPHX_PUBLIC -void LAGraph_SFreeSet // free a set of matrices -( - // input/output - GrB_Matrix **Set_handle, // array of GrB_Matrix of size nmatrices - GrB_Index nmatrices // # of matrices in the set -) ; - -LAGRAPHX_PUBLIC -int LAGraph_Incidence_Matrix -( - GrB_Matrix *result, - LAGraph_Graph graph, - char *msg -) ; - -//**************************************************************************** -// Algorithms -//**************************************************************************** - -//**************************************************************************** -/** - * Given a symmetric graph A with no-self edges, compute all k-trusses of A. - * - * @param[out] Cset size n, output k-truss subgraphs. - * @param[out] kmax smallest k where k-truss is empty - * @param[out] ntris Array of size n (on input), ntris [k] is num triangles in k-truss - * @param[out] nedges Array of size n (on input), nedges [k] is num edges in k-truss - * @param[out] nstepss Array of size n (on input), nstepss [k] is num steps for k-truss - * @param[in] G input graph, A, not modified. Must be undirected - * or directed with symmetric structure, no self edges. - * @param[in,out] msg any error messages. - * - * @retval GrB_SUCCESS if completed successfully (equal or not) - * @retval GrB_NULL_POINTER if kmax, ntris, nedges, nsteps is NULL - */ -LAGRAPHX_PUBLIC -int LAGraph_AllKTruss // compute all k-trusses of a graph -( - // outputs - GrB_Matrix *Cset, // size n, output k-truss subgraphs - int64_t *kmax, // smallest k where k-truss is empty - int64_t *ntris, // size max(n,4), ntris [k] is #triangles in k-truss - int64_t *nedges, // size max(n,4), nedges [k] is #edges in k-truss - int64_t *nstepss, // size max(n,4), nstepss [k] is #steps for k-truss - // input - LAGraph_Graph G, // input graph - char *msg -) ; - -//**************************************************************************** -/** - * Given an undirected graph G with no-self edges, LAGraph_KTruss finds the - * k-truss subgraph of G. - * - * @param[out] C k-truss subgraph, of type GrB_UINT32 - * @param[in] G input graph, not modified - * @param[in] k the truss to find - * @param[in,out] msg any error messages. - * - * @retval GrB_SUCCESS if completed successfully (equal or not) - * @retval GrB_NULL_POINTER if C or C_type is NULL - * @return Any GraphBLAS errors that may have been encountered - */ -LAGRAPHX_PUBLIC -int LAGraph_KTruss // compute the k-truss of a graph -( - // outputs: - GrB_Matrix *C, // output k-truss subgraph, C - // inputs: - LAGraph_Graph G, // input graph - uint32_t k, // find the k-truss, where k >= 3 - char *msg -) ; - -//**************************************************************************** -// Connected components -//**************************************************************************** - -/** - * Determine connected components in an undirected graph. - * - * @param[out] result array of component identifiers for each vertex (allocated - * by the algorithm, ownership returned to caller). - * @param[in] A the graph (symmetric) - * @param[in] sanitize If true, test to ensure A is symmetric - * @param[in,out] msg any error messages. - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER if result is NULL - */ -LAGRAPHX_PUBLIC -int LAGraph_cc_lacc ( - GrB_Vector *result, - GrB_Matrix A, - bool sanitize, - char *msg -) ; - -//**************************************************************************** -// Bellman Ford variants -//**************************************************************************** - -/** - * Bellman-Ford single source shortest paths, returning just the shortest path - * lengths. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[in] A matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output or A is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_NO_VALUE if A has a negative weight cycle - */ -LAGRAPHX_PUBLIC -GrB_Info LAGraph_BF_basic -( - GrB_Vector *pd_output, - const GrB_Matrix A, - const GrB_Index s -) ; - -/** - * Bellman-Ford single source shortest paths, returning just the shortest path - * lengths. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[in] A matrix for the graph (optional-ish) - * @param[in] AT transpose of A (optional-ish) - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output is NULL or both A and AT are NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ -LAGRAPHX_PUBLIC -GrB_Info LAGraph_BF_basic_pushpull -( - GrB_Vector *pd_output, - const GrB_Matrix A, - const GrB_Matrix AT, - const GrB_Index s -) ; - -/** - * Bellman-Ford single source shortest paths, returning just the shortest path - * lengths. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[in] AT transposed adjacency matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output or AT is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ -LAGRAPHX_PUBLIC -GrB_Info LAGraph_BF_basic_mxv -( - GrB_Vector *pd_output, //the pointer to the vector of distance - const GrB_Matrix AT, //transposed adjacency matrix for the graph - const GrB_Index s //given index of the source -) ; - -/** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[out] ppi_output the pointer to the vector of parent (created internally) - * @param[out] ph_output the pointer to the vector of hops (created internally) - * @param[in] A adjacency matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ -LAGRAPHX_PUBLIC -GrB_Info LAGraph_BF_full -( - GrB_Vector *pd_output, - GrB_Vector *ppi_output, - GrB_Vector *ph_output, - const GrB_Matrix A, - const GrB_Index s -) ; - -/** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[out] ppi_output the pointer to the vector of parent (created internally) - * @param[out] ph_output the pointer to the vector of hops (created internally) - * @param[in] A adjacency matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ -LAGRAPHX_PUBLIC -GrB_Info LAGraph_BF_full1 -( - GrB_Vector *pd_output, - GrB_Vector *ppi_output, - GrB_Vector *ph_output, - const GrB_Matrix A, - const GrB_Index s -) ; - -/** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[out] ppi_output the pointer to the vector of parent (created internally) - * @param[out] ph_output the pointer to the vector of hops (created internally) - * @param[in] A adjacency matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ -LAGRAPHX_PUBLIC -GrB_Info LAGraph_BF_full1a -( - GrB_Vector *pd_output, - GrB_Vector *ppi_output, - GrB_Vector *ph_output, - const GrB_Matrix A, - const GrB_Index s -) ; - -/** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[out] ppi_output the pointer to the vector of parent (created internally) - * @param[out] ph_output the pointer to the vector of hops (created internally) - * @param[in] A adjacency matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ -LAGRAPHX_PUBLIC -GrB_Info LAGraph_BF_full2 -( - GrB_Vector *pd_output, //the pointer to the vector of distance - GrB_Vector *ppi_output, //the pointer to the vector of parent - GrB_Vector *ph_output, //the pointer to the vector of hops - const GrB_Matrix A, //matrix for the graph - const GrB_Index s //given index of the source -) ; - -/** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[out] ppi_output the pointer to the vector of parent (created internally) - * @param[out] ph_output the pointer to the vector of hops (created internally) - * @param[in] AT transpose of the adjacency matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or AT is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ -LAGRAPHX_PUBLIC -GrB_Info LAGraph_BF_full_mxv -( - GrB_Vector *pd_output, - GrB_Vector *ppi_output, - GrB_Vector *ph_output, - const GrB_Matrix AT, - const GrB_Index s -) ; - -/** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree (integer weights). - * - * @param[out] pd pointer to distance vector d, d(k) = shortest distance - * between s and k if k is reachable from s - * @param[out] ppi pointer to parent index vector pi, pi(k) = parent of - * node k in the shortest path tree - * @param[in] s index of the source - * @param[in] n number of nodes - * @param[in] nz number of edges - * @param[in] Ilist row index vector (size n) - * @param[in] J column index vector (size nz) - * @param[in] W weight vector (size nz), W(i) = weight of edge - * (Ilist(i),J(i)) - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd, ppi, Ilist, J, or W is NULL - * @retval GrB_INVALID_VALUE if s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails. - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ -LAGRAPHX_PUBLIC -GrB_Info LAGraph_BF_pure_c -( - int32_t **pd, - - int64_t **ppi, - - const int64_t s, - const int64_t n, - const int64_t nz, - const int64_t *Ilist, - const int64_t *J, - const int32_t *W -) ; - -/** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree (double weights). - * - * @param[out] pd pointer to distance vector d, d(k) = shortest distance - * between s and k if k is reachable from s - * @param[out] ppi pointer to parent index vector pi, pi(k) = parent of - * node k in the shortest path tree - * @param[in] s index of the source - * @param[in] n number of nodes - * @param[in] nz number of edges - * @param[in] Ilist row index vector (size n) - * @param[in] J column index vector (size nz) - * @param[in] W weight vector (size nz), W(i) = weight of edge - * (Ilist(i),J(i)) - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd, ppi, Ilist, J, or W is NULL - * @retval GrB_INVALID_VALUE if s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails. - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ -LAGRAPHX_PUBLIC -GrB_Info LAGraph_BF_pure_c_double -( - double **pd, - - int64_t **ppi, - - const int64_t s, - const int64_t n, - const int64_t nz, - const int64_t *Ilist, - const int64_t *J, - const double *W -) ; - -//**************************************************************************** -/** - * Community detection using label propagation algorithm - * - * @param[out] CDLP_handle community vector - * @param[in] G the graph - * @param[in] itermax max number of iterations (0 computes nothing) - * @param[in,out] msg any error messages. - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If t or CDLP_handle is NULL - * @retval GrB_INVALID_OBJECT If A is not stored in CSR format - * @retval GrB_OUT_OF_MEMORY if allocation fails. - * @retval GrB_NO_VALUE if A has a negative weight cycle - */ -LAGRAPHX_PUBLIC -int LAGraph_cdlp -( - GrB_Vector *CDLP_handle, - LAGraph_Graph G, - int itermax, - char *msg -) ; - -LAGRAPHX_PUBLIC -int LAGraph_cdlp_withsort -( - GrB_Vector *CDLP_handle, - LAGraph_Graph G, - int itermax, - char *msg -) ; - - -//------------------------------------------------------------------------------ -// LAGr_PageRankGX: PageRank as defined in LDBC Graphalytics (GX) -//------------------------------------------------------------------------------ - -/** LAGr_PageRankGX: computes the PageRank of a directed graph G as defined in - * the LDBC Graphalytics benchmark. - * - * @param[out] centrality centrality(i) is the PageRank of node i. - * @param[out] iters number of iterations taken. - * @param[in] G input graph. - * @param[in] damping damping factor (typically 0.85). - * @param[in] itermax maximum number of iterations (typically 100). - * @param[in,out] msg any error messages. - * - * @retval GrB_SUCCESS if successful. - * @retval GrB_NULL_POINTER if G, centrality, and/our iters are NULL. - * @retval LAGRAPH_NOT_CACHED if G->AT is required but not present, - * or if G->out_degree is not present. - * @retval LAGRAPH_INVALID_GRAPH Graph is invalid - * (@sphinxref{LAGraph_CheckGraph} failed). - * @returns any GraphBLAS errors that may have been encountered. - */ -LAGRAPHX_PUBLIC -int LAGr_PageRankGX -( - // output: - GrB_Vector *centrality, - int *iters, - // input: - const LAGraph_Graph G, - float damping, - int itermax, - char *msg -) ; - -//**************************************************************************** -/** - * Sparse deep neural network inference. Performs ReLU inference using input - * feature vectors Y0. - * - * @param[out] Yhandle Y, created on output - * @param[in] W W [0..nlayers-1], each nneurons-by-nneurons - * @param[in] Bias Bias [0..nlayers-1], diagonal nneurons-by-nneurons - * @param[in] nlayers number of layers - * @param[in] Y0 input features: nfeatures-by-nneurons - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NOT_IMPLEMENTED vanilla version has not been implemented yet - * @retval GrB_NULL_POINTER If Yhandle, W, Bias, or Y0 is NULL - * @retval GrB_DOMAIN_MISMATCH if type of Y0 is not FP32 or FP64, or the types of - * W or Bias arent the same as Y0 - */ -LAGRAPHX_PUBLIC -GrB_Info LAGraph_dnn -( - // output - GrB_Matrix *Yhandle, - // input: not modified - GrB_Matrix *W, - GrB_Matrix *Bias, - int nlayers, - GrB_Matrix Y0 -) ; - -//**************************************************************************** -/** - * Compute all-pairs shortest paths using Floyd-Warshall method - * - * @param[in] G input graph, with edge weights - * @param[out] D output graph, created on output - * @param[out] D_type type of scalar stored in D (see source for explanation) - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NOT_IMPLEMENTED vanilla version has not been implemented yet - * @retval GrB_NULL_POINTER If D or D_type is NULL - * @retval GrB_INVALID_VALUE If G is not square - */ -LAGRAPHX_PUBLIC -GrB_Info LAGraph_FW -( - const GrB_Matrix G, - GrB_Matrix *D, - GrB_Type *D_type -) ; - -//**************************************************************************** -/** - * Compute the local clustering coefficient for all nodes in a graph. - * - * @param[out] LCC_handle output vector holding coefficients - * @param[in] G the graph - * @param[in,out] msg any error messages. - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NOT_IMPLEMENTED vanilla version has not been implemented yet - * @retval GrB_NULL_POINTER If LCC_handle or LCC_type is NULL - * @retval GrB_INVALID_VALUE If A is not stored in CSR format - */ -LAGRAPHX_PUBLIC -int LAGraph_lcc // compute lcc for all nodes in A -( - GrB_Vector *LCC_handle, // output vector - LAGraph_Graph G, // input graph - char *msg -) ; - -//**************************************************************************** - -LAGRAPHX_PUBLIC -int LAGraph_msf -( - GrB_Matrix *result, // output: an unsymmetrical matrix, the spanning forest - GrB_Matrix A, // input matrix - bool sanitize, // if true, ensure A is symmetric - char *msg -) ; - -//**************************************************************************** - -LAGRAPHX_PUBLIC -int LAGraph_scc ( - GrB_Vector *result, // output: array of component identifiers - GrB_Matrix A, // input matrix - char *msg -) ; - -//**************************************************************************** -LAGRAPHX_PUBLIC -int LAGraph_VertexCentrality_Triangle // vertex triangle-centrality -( - // outputs: - GrB_Vector *centrality, // centrality(i): triangle centrality of i - uint64_t *ntriangles, // # of triangles in the graph - // inputs: - int method, // 0, 1, 2, or 3 - LAGraph_Graph G, // input graph - char *msg -) ; - -//**************************************************************************** -LAGRAPHX_PUBLIC -int LAGraph_MaximalIndependentSet // maximal independent set -( - // outputs: - GrB_Vector *mis, // mis(i) = true if i is in the set - // inputs: - LAGraph_Graph G, // input graph - uint64_t seed, // random number seed - GrB_Vector ignore_node, // if NULL, no nodes are ignored. Otherwise - // ignore_node(i) = true if node i is to be - // ignored, and not treated as a candidate - // added to maximal independent set. - char *msg -) ; - -LAGRAPHX_PUBLIC -int LG_CC_FastSV5 // SuiteSparse:GraphBLAS method, with GxB extensions -( - // output - GrB_Vector *component, // output: array of component identifiers - // inputs - LAGraph_Graph G, // input graph, modified then restored - char *msg -) ; - -//------------------------------------------------------------------------------ -// kcore algorithms -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGraph_KCore_All -( - // outputs: - GrB_Vector *decomp, // kcore decomposition - uint64_t *kmax, - // inputs: - LAGraph_Graph G, // input graph - char *msg -) ; - -LAGRAPHX_PUBLIC -int LAGraph_KCore -( - // outputs: - GrB_Vector *decomp, // kcore decomposition - // inputs: - LAGraph_Graph G, // input graph - uint64_t k, //k level to compare to - char *msg -) ; - -LAGRAPHX_PUBLIC -int LAGraph_KCore_Decompose -( - // outputs: - GrB_Matrix *D, // kcore decomposition - // inputs: - LAGraph_Graph G, // input graph - GrB_Vector decomp, // input decomposition matrix - uint64_t k, - char *msg -) ; - -//------------------------------------------------------------------------------ -// counting graphlets -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGraph_FastGraphletTransform -( - // outputs: - GrB_Matrix *F_net, // 16-by-n matrix of graphlet counts - // inputs: - LAGraph_Graph G, - bool compute_d_15, // probably this makes most sense - char *msg -) ; - -//------------------------------------------------------------------------------ -// matching and coarsening -//------------------------------------------------------------------------------ - -typedef enum -{ - LAGraph_Matching_unweighted = 0, - LAGraph_Matching_heavy = 1, - LAGraph_Matching_light = 2, -} -LAGraph_Matching_kind ; - -LAGRAPHX_PUBLIC -int LAGraph_MaximalMatching -( - // outputs: - GrB_Vector *matching, - // inputs: - GrB_Matrix E, // incidence matrix, not part of LAGraph_Graph (for now) - GrB_Matrix E_t, // incidence transposed - LAGraph_Matching_kind matching_type, // refer to above enum - uint64_t seed, // random number seed - char *msg -) ; - -LAGRAPHX_PUBLIC -int LAGraph_Coarsen_Matching -( - // outputs: - GrB_Matrix *coarsened, // coarsened adjacency - GrB_Vector *parent_result, // description in LAGraph_CoarsenMatching - GrB_Vector *newlabel_result, // description in LAGraph_CoarsenMatching - GrB_Vector *inv_newlabel_result, // description in LAGraph_CoarsenMatching - // inputs: - LAGraph_Graph G, - LAGraph_Matching_kind matching_type, // refer to above enum - bool preserve_mapping, // preserve initial namespace of nodes - bool combine_weights, // whether to sum edge weights or just keep the pattern - uint64_t seed, // used for matching - char *msg -) ; - -LAGRAPHX_PUBLIC -int LAGraph_SquareClustering -( - // outputs: - GrB_Vector *square_clustering, - // inputs: - LAGraph_Graph G, - char *msg -) ; - -//------------------------------------------------------------------------------ -// a simple example of an algorithm -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGraph_HelloWorld // a simple algorithm, just for illustration -( - // output - GrB_Matrix *Yhandle, // Y, created on output - // input: not modified - LAGraph_Graph G, - char *msg -) ; - -//------------------------------------------------------------------------------ -// run a breadth first search for multiple source nodes -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGraph_MultiSourceBFS -( - // outputs: - GrB_Matrix *level, - GrB_Matrix *parent, - // inputs: - const LAGraph_Graph G, - GrB_Vector src, - char *msg -) ; - -//------------------------------------------------------------------------------ -// estimate the diameter of a graph -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGraph_EstimateDiameter -( - // outputs: - GrB_Index *diameter, - GrB_Vector *peripheral, - // inputs: - const LAGraph_Graph G, - GrB_Index maxSrcs, - GrB_Index maxLoops, - uint64_t seed, // seed for randomization - char *msg -) ; + //============================================================================== + // Experimental methods: in experimental/algorithm and experimental/utility + //============================================================================== -//------------------------------------------------------------------------------ -// find the exact diameter of a graph -//------------------------------------------------------------------------------ + // Do not rely on these in production. These methods are still under + // development, and is intended only for illustration or testing, not + // benchmarking. Do not use for benchmarking without asking the authors. -LAGRAPHX_PUBLIC -int LAGraph_ExactDiameter -( - // outputs: - GrB_Index *diameter, - GrB_Vector *peripheral, - GrB_Vector *eccentricity, - // inputs: - const LAGraph_Graph G, - GrB_Index k, - char *msg -) ; + //------------------------------------------------------------------------------ + // LAGraph_Random_*: Random number generator + //------------------------------------------------------------------------------ -//------------------------------------------------------------------------------ -// HDIP_Fiedler -//------------------------------------------------------------------------------ + LAGRAPHX_PUBLIC + int LAGraph_Random_Init( + char *msg); + LAGRAPHX_PUBLIC + int LAGraph_Random_Finalize( + char *msg); -//------------------------------------------------------------------------------ -// applies a Householder Reflection -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGraph_Happly // happly Checked for pointer issues -( - // outputs: - GrB_Vector y, // y output of Householder reflection on x. - // inputs: - GrB_Vector u, // u, the vector used for application of householder - GrB_Vector x, // x, the vector on which householder reflection is applied - float alpha, // the scalar alpha used for application of householder - // error msg - char *msg -); - -//------------------------------------------------------------------------------ -// Compute H*M*H*x = (M-u*x'-x*u)*x -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGraph_hmhx // hmhx checked for pointer issues -( - // outputs: - GrB_Vector z, // z output of hmhx - // inputs: - GrB_Matrix M, // Matrix used in hmhx - GrB_Vector u, // Vector u used for happly - GrB_Vector x, // Vector x used for happly - float alpha, // the scalar alpha used for happly - char *msg -); - -//------------------------------------------------------------------------------ -// Euclidean normalization on a vector -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGraph_norm2 // norm2 checked for pointer mistakes -( - // outputs: - float norm2, - // inputs: - GrB_Vector v, - // error msg - char *msg -); - -//------------------------------------------------------------------------------ -// Computes Laplacian of a Matrix -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGraph_Laplacian // compute the Laplacian matrix -( - // outputs: - GrB_Matrix *Lap, // the output Laplacian matrix - float *inform, // infinity norm of Lap - // inputs: - GrB_Matrix G, // input matrix, symmetric - char *msg -); - -//------------------------------------------------------------------------------ -// Preconditioned Conjugate Gradient -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGraph_mypcg2( - // outputs - GrB_Vector *steper, - GrB_Index *k_result, - // inputs: - GrB_Matrix L, // input matrix, symmetric, result from Laplacian - GrB_Vector u, // vector u will be passed into another function to create Householder reflection - float malpha, // This float - GrB_Matrix invdiag, - GrB_Vector b, - float tol, - float maxit, - // error msging - char *msg -); - -//------------------------------------------------------------------------------ -// Computes the Fiedler Vector -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGraph_Hdip_Fiedler // compute the Hdip_Fiedler -( - // outputs: - GrB_Vector *iters, // Stores number of inner and outer iterations - float *lamb, // Lambda of hdip_fiedler - GrB_Vector *x, // the hdip fielder result vector - // inputs: - GrB_Matrix L, // input matrix, symmetric, result from Laplacian - float InfNorm, - GrB_Vector kmax, - float emax, - float tol, - char *msg -); - -//------------------------------------------------------------------------------ -// for GPU development -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGr_TriangleCount_GPU -( - // output: - uint64_t *ntriangles, - // input: - const LAGraph_Graph G, - LAGr_TriangleCount_Method *method, - LAGr_TriangleCount_Presort *presort, - char *msg -) ; - -//------------------------------------------------------------------------------ -// Hubs and Authorities -//------------------------------------------------------------------------------ - -LAGRAPHX_PUBLIC -int LAGr_HITS -( - GrB_Vector *hubs, - GrB_Vector *authorities, - int *iters, - const LAGraph_Graph G, - float tol, - int itermax, - char *msg -) ; - -//------------------------------------------------------------------------------ -// graph clustering with quality metrics -//------------------------------------------------------------------------------ +#if defined(COVERAGE) + // for testing only + LAGRAPHX_PUBLIC extern bool random_hack; +#endif -LAGRAPHX_PUBLIC -int LAGr_PeerPressureClustering( - // output: - GrB_Vector *c_f, // final clustering vector - // input: - bool normalize, // if true, normalize the input graph via out-degree - bool make_undirected, // if true, make G undirected which generally leads to a coarser partitioning - double thresh, // Threshold for convergence (percent of vertices that changed clusters) - int max_iter, // Maximum number of iterations - LAGraph_Graph G, // input graph - char *msg -); - -LAGRAPHX_PUBLIC -int LAGr_MarkovClustering( - // output: - GrB_Vector *c_f, // final clustering vector - // input - int e, // expansion coefficient - int i, // inflation coefficient - double pruning_threshold, // threshold for pruning values - double convergence_threshold, // MSE threshold for convergence - int max_iter, // maximum iterations - LAGraph_Graph G, // input graph - char *msg -); - -LAGRAPHX_PUBLIC -int LAGr_PartitionQuality( - // Outputs - double *cov, // Coverage - double *perf, // Performance - // Inputs - GrB_Vector c, // Cluster vector where c[i] = j means vertex i is in cluster j - LAGraph_Graph G, // original graph - char *msg -); - -LAGRAPHX_PUBLIC -int LAGr_Modularity( - // Outputs - double *mod_handle, // Modularity - // Inputs - double gamma, // Resolution parameter - GrB_Vector c, // Cluster vector where c[i] = j means vertex i is in cluster j - LAGraph_Graph G, // original graph - char *msg -) ; - -LAGRAPHX_PUBLIC -int LAGraph_argminmax -( - // output - GrB_Matrix *x, // min/max value in each row/col of A - GrB_Matrix *p, // index of min/max value in each row/col of A - // input - GrB_Matrix A, - int dim, // dim=1: cols of A, dim=2: rows of A - bool is_min, - char *msg -); - - -#if defined ( __cplusplus ) + LAGRAPHX_PUBLIC + int LAGraph_Random_Seed // construct a random seed vector + ( + // input/output + GrB_Vector Seed, // vector of random number seeds, normally GrB_UINT64 + // input + uint64_t seed, // scalar input seed + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_Random_Next // advance to next random vector + ( + // input/output + GrB_Vector Seed, + char *msg); + + LAGRAPHX_PUBLIC + GrB_Info LAGraph_Random_Matrix // random matrix of any built-in type + ( + // output + GrB_Matrix *A, // A is constructed on output + // input + GrB_Type type, // type of matrix to construct + GrB_Index nrows, // # of rows of A + GrB_Index ncols, // # of columns of A + double density, // density: build a sparse matrix with + // density*nrows*cols values if not INFINITY; + // build a dense matrix if INFINITY. + uint64_t seed, // random number seed + char *msg); + + //**************************************************************************** + // binary file I/O + //**************************************************************************** + + // The LAGraph *.lagraph file consists of an ASCII JSON header, followed by + // one or more serialized "blobs" created by GrB_Matrix_serialize (or + // GxB_Matrix_serialize if using SuiteSparse:GraphBLAS). The file can only be + // read back into LAGraph when using the same GraphBLAS library used to create + // it. + + // To create a binary file containing one or more GrB_Matrix objects, the user + // application must first open the file f, create the ascii JSON header with + // LAGraph_SWrite_Header*, and then write one or more binary serialized + // GrB_Matrix blobs from using LAGraph_SWrite_Matrix. + + // Example: + + /* + // serialize the matrices A (of type GrB_FP64) and B (of type GrB_BOOL) + void *Ablob, *Bblob ; + GrB_Index Ablob_size, Bblob_size ; + GxB_Matrix_serialize (&Ablob, &Ablob_size, A, NULL) ; + GxB_Matrix_serialize (&Bblob, &Bblob_size, B, NULL) ; + + // open the file and write the JSON header + FILE *f = fopen ("mymatrices.lagraph", "w") ; + LAGraph_SWrite_HeaderStart (f, "mystuff", msg) ; + LAGraph_SWrite_HeaderItem (f, LAGraph_matrix_kind, "A", "double", 0, + Ablob_size, msg) ; + LAGraph_SWrite_HeaderItem (f, LAGraph_matrix_kind, "B", "bool", 0, + Bblob_size, msg) ; + LAGraph_SWrite_HeaderEnd (f, msg) ; + + // write the matrices in binary + LAGraph_SWrite_Item (f, Ablob, Ablob_size, msg) ; + LAGraph_SWrite_Item (f, Bblob, Bblob_size, msg) ; + + fclose (f) ; + */ + + typedef enum + { + LAGraph_unknown_kind = -1, // unknown kind + LAGraph_matrix_kind = 0, // a serialized GrB_Matrix + LAGraph_vector_kind = 1, // a serialized GrB_Vector (SS:GrB only) + LAGraph_text_kind = 2, // text (char *), possibly compressed + } LAGraph_Contents_kind; + + typedef struct + { + // serialized matrix/vector, or pointer to text, and its size + void *blob; + size_t blob_size; + + // kind of item: matrix, vector, text, or unknown + LAGraph_Contents_kind kind; + + // if kind is text: compression used + // -1: none, 0: default for library, 1000: LZ4, 200x: LZ4HC:x + int compression; + + // name of the object + char name[LAGRAPH_MAX_NAME_LEN + 4]; + + // if kind is matrix or vector: type name + char type_name[LAGRAPH_MAX_NAME_LEN + 4]; + } LAGraph_Contents; + + LAGRAPHX_PUBLIC + int LAGraph_SWrite_HeaderStart // write the first part of the JSON header + ( + FILE *f, // file to write to + const char *name, // name of this collection of matrices + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_SWrite_HeaderItem // write a single item to the JSON header + ( + // inputs: + FILE *f, // file to write to + LAGraph_Contents_kind kind, // matrix, vector, or text + const char *name, // name of the matrix/vector/text; matrices from + // sparse.tamu.edu use the form "Group/Name" + const char *type, // name of type of the matrix/vector + int compression, // text compression method + GrB_Index blob_size, // exact size of serialized blob for this item + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_SWrite_HeaderItem // write a single item to the JSON header + ( + // inputs: + FILE *f, // file to write to + LAGraph_Contents_kind kind, // matrix, vector, or text + const char *name, // name of the matrix/vector/text; matrices from + // sparse.tamu.edu use the form "Group/Name" + const char *type, // name of type of the matrix/vector + // todo: text not yet supported by LAGraph_SWrithe_HeaderItem + int compression, // text compression method + GrB_Index blob_size, // exact size of serialized blob for this item + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_SWrite_HeaderEnd // write the end of the JSON header + ( + FILE *f, // file to write to + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_SWrite_Item // write the serialized blob of a matrix/vector/text + ( + // input: + FILE *f, // file to write to + const void *blob, // serialized blob from G*B_Matrix_serialize + GrB_Index blob_size, // exact size of the serialized blob + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_SRead // read a set of matrices from a *.lagraph file + ( + FILE *f, // file to read from + // output + char **collection, // name of collection (allocated string) + LAGraph_Contents **Contents, // array contents of contents + GrB_Index *ncontents, // # of items in the Contents array + char *msg); + + LAGRAPHX_PUBLIC + void LAGraph_SFreeContents // free the Contents returned by LAGraph_SRead + ( + // input/output + LAGraph_Contents **Contents, // array of size ncontents + GrB_Index ncontents); + + LAGRAPHX_PUBLIC + int LAGraph_SSaveSet // save a set of matrices from a *.lagraph file + ( + // inputs: + char *filename, // name of file to write to + GrB_Matrix *Set, // array of GrB_Matrix of size nmatrices + GrB_Index nmatrices, // # of matrices to write to *.lagraph file + // todo: handle vectors and text in LAGraph_SSaveSet + char *collection, // name of this collection of matrices + char *msg); + + int LAGraph_SLoadSet // load a set of matrices from a *.lagraph file + ( + // input: + char *filename, // name of file to read from + // outputs: + GrB_Matrix **Set_handle, // array of GrB_Matrix of size nmatrices + GrB_Index *nmatrices_handle, // # of matrices loaded from *.lagraph file + // todo: handle vectors and text in LAGraph_SLoadSet + // GrB_Vector **Set_handle, // array of GrB_Vector of size nvector + // GrB_Index **nvectors_handle, // # of vectors loaded from *.lagraph file + // char **Text_handle, // array of pointers to (char *) strings + // GrB_Index **ntext_handle, // # of texts loaded from *.lagraph file + char **collection_handle, // name of this collection of matrices + char *msg); + + LAGRAPHX_PUBLIC + void LAGraph_SFreeSet // free a set of matrices + ( + // input/output + GrB_Matrix **Set_handle, // array of GrB_Matrix of size nmatrices + GrB_Index nmatrices // # of matrices in the set + ); + + LAGRAPHX_PUBLIC + int LAGraph_Incidence_Matrix( + GrB_Matrix *result, + LAGraph_Graph graph, + char *msg); + + //**************************************************************************** + // Algorithms + //**************************************************************************** + + //**************************************************************************** + /** + * Given a symmetric graph A with no-self edges, compute all k-trusses of A. + * + * @param[out] Cset size n, output k-truss subgraphs. + * @param[out] kmax smallest k where k-truss is empty + * @param[out] ntris Array of size n (on input), ntris [k] is num triangles in k-truss + * @param[out] nedges Array of size n (on input), nedges [k] is num edges in k-truss + * @param[out] nstepss Array of size n (on input), nstepss [k] is num steps for k-truss + * @param[in] G input graph, A, not modified. Must be undirected + * or directed with symmetric structure, no self edges. + * @param[in,out] msg any error messages. + * + * @retval GrB_SUCCESS if completed successfully (equal or not) + * @retval GrB_NULL_POINTER if kmax, ntris, nedges, nsteps is NULL + */ + LAGRAPHX_PUBLIC + int LAGraph_AllKTruss // compute all k-trusses of a graph + ( + // outputs + GrB_Matrix *Cset, // size n, output k-truss subgraphs + int64_t *kmax, // smallest k where k-truss is empty + int64_t *ntris, // size max(n,4), ntris [k] is #triangles in k-truss + int64_t *nedges, // size max(n,4), nedges [k] is #edges in k-truss + int64_t *nstepss, // size max(n,4), nstepss [k] is #steps for k-truss + // input + LAGraph_Graph G, // input graph + char *msg); + + //**************************************************************************** + /** + * Given an undirected graph G with no-self edges, LAGraph_KTruss finds the + * k-truss subgraph of G. + * + * @param[out] C k-truss subgraph, of type GrB_UINT32 + * @param[in] G input graph, not modified + * @param[in] k the truss to find + * @param[in,out] msg any error messages. + * + * @retval GrB_SUCCESS if completed successfully (equal or not) + * @retval GrB_NULL_POINTER if C or C_type is NULL + * @return Any GraphBLAS errors that may have been encountered + */ + LAGRAPHX_PUBLIC + int LAGraph_KTruss // compute the k-truss of a graph + ( + // outputs: + GrB_Matrix *C, // output k-truss subgraph, C + // inputs: + LAGraph_Graph G, // input graph + uint32_t k, // find the k-truss, where k >= 3 + char *msg); + + //**************************************************************************** + // Connected components + //**************************************************************************** + + /** + * Determine connected components in an undirected graph. + * + * @param[out] result array of component identifiers for each vertex (allocated + * by the algorithm, ownership returned to caller). + * @param[in] A the graph (symmetric) + * @param[in] sanitize If true, test to ensure A is symmetric + * @param[in,out] msg any error messages. + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER if result is NULL + */ + LAGRAPHX_PUBLIC + int LAGraph_cc_lacc( + GrB_Vector *result, + GrB_Matrix A, + bool sanitize, + char *msg); + + //**************************************************************************** + // Bellman Ford variants + //**************************************************************************** + + /** + * Bellman-Ford single source shortest paths, returning just the shortest path + * lengths. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[in] A matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output or A is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_NO_VALUE if A has a negative weight cycle + */ + LAGRAPHX_PUBLIC + GrB_Info LAGraph_BF_basic( + GrB_Vector *pd_output, + const GrB_Matrix A, + const GrB_Index s); + + /** + * Bellman-Ford single source shortest paths, returning just the shortest path + * lengths. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[in] A matrix for the graph (optional-ish) + * @param[in] AT transpose of A (optional-ish) + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output is NULL or both A and AT are NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ + LAGRAPHX_PUBLIC + GrB_Info LAGraph_BF_basic_pushpull( + GrB_Vector *pd_output, + const GrB_Matrix A, + const GrB_Matrix AT, + const GrB_Index s); + + /** + * Bellman-Ford single source shortest paths, returning just the shortest path + * lengths. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[in] AT transposed adjacency matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output or AT is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ + LAGRAPHX_PUBLIC + GrB_Info LAGraph_BF_basic_mxv( + GrB_Vector *pd_output, // the pointer to the vector of distance + const GrB_Matrix AT, // transposed adjacency matrix for the graph + const GrB_Index s // given index of the source + ); + + /** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[out] ppi_output the pointer to the vector of parent (created internally) + * @param[out] ph_output the pointer to the vector of hops (created internally) + * @param[in] A adjacency matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ + LAGRAPHX_PUBLIC + GrB_Info LAGraph_BF_full( + GrB_Vector *pd_output, + GrB_Vector *ppi_output, + GrB_Vector *ph_output, + const GrB_Matrix A, + const GrB_Index s); + + /** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[out] ppi_output the pointer to the vector of parent (created internally) + * @param[out] ph_output the pointer to the vector of hops (created internally) + * @param[in] A adjacency matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ + LAGRAPHX_PUBLIC + GrB_Info LAGraph_BF_full1( + GrB_Vector *pd_output, + GrB_Vector *ppi_output, + GrB_Vector *ph_output, + const GrB_Matrix A, + const GrB_Index s); + + /** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[out] ppi_output the pointer to the vector of parent (created internally) + * @param[out] ph_output the pointer to the vector of hops (created internally) + * @param[in] A adjacency matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ + LAGRAPHX_PUBLIC + GrB_Info LAGraph_BF_full1a( + GrB_Vector *pd_output, + GrB_Vector *ppi_output, + GrB_Vector *ph_output, + const GrB_Matrix A, + const GrB_Index s); + + /** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[out] ppi_output the pointer to the vector of parent (created internally) + * @param[out] ph_output the pointer to the vector of hops (created internally) + * @param[in] A adjacency matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ + LAGRAPHX_PUBLIC + GrB_Info LAGraph_BF_full2( + GrB_Vector *pd_output, // the pointer to the vector of distance + GrB_Vector *ppi_output, // the pointer to the vector of parent + GrB_Vector *ph_output, // the pointer to the vector of hops + const GrB_Matrix A, // matrix for the graph + const GrB_Index s // given index of the source + ); + + /** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[out] ppi_output the pointer to the vector of parent (created internally) + * @param[out] ph_output the pointer to the vector of hops (created internally) + * @param[in] AT transpose of the adjacency matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or AT is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ + LAGRAPHX_PUBLIC + GrB_Info LAGraph_BF_full_mxv( + GrB_Vector *pd_output, + GrB_Vector *ppi_output, + GrB_Vector *ph_output, + const GrB_Matrix AT, + const GrB_Index s); + + /** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree (integer weights). + * + * @param[out] pd pointer to distance vector d, d(k) = shortest distance + * between s and k if k is reachable from s + * @param[out] ppi pointer to parent index vector pi, pi(k) = parent of + * node k in the shortest path tree + * @param[in] s index of the source + * @param[in] n number of nodes + * @param[in] nz number of edges + * @param[in] Ilist row index vector (size n) + * @param[in] J column index vector (size nz) + * @param[in] W weight vector (size nz), W(i) = weight of edge + * (Ilist(i),J(i)) + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd, ppi, Ilist, J, or W is NULL + * @retval GrB_INVALID_VALUE if s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails. + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ + LAGRAPHX_PUBLIC + GrB_Info LAGraph_BF_pure_c( + int32_t **pd, + + int64_t **ppi, + + const int64_t s, + const int64_t n, + const int64_t nz, + const int64_t *Ilist, + const int64_t *J, + const int32_t *W); + + /** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree (double weights). + * + * @param[out] pd pointer to distance vector d, d(k) = shortest distance + * between s and k if k is reachable from s + * @param[out] ppi pointer to parent index vector pi, pi(k) = parent of + * node k in the shortest path tree + * @param[in] s index of the source + * @param[in] n number of nodes + * @param[in] nz number of edges + * @param[in] Ilist row index vector (size n) + * @param[in] J column index vector (size nz) + * @param[in] W weight vector (size nz), W(i) = weight of edge + * (Ilist(i),J(i)) + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd, ppi, Ilist, J, or W is NULL + * @retval GrB_INVALID_VALUE if s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails. + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ + LAGRAPHX_PUBLIC + GrB_Info LAGraph_BF_pure_c_double( + double **pd, + + int64_t **ppi, + + const int64_t s, + const int64_t n, + const int64_t nz, + const int64_t *Ilist, + const int64_t *J, + const double *W); + + //**************************************************************************** + /** + * Community detection using label propagation algorithm + * + * @param[out] CDLP_handle community vector + * @param[in] G the graph + * @param[in] itermax max number of iterations (0 computes nothing) + * @param[in,out] msg any error messages. + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If t or CDLP_handle is NULL + * @retval GrB_INVALID_OBJECT If A is not stored in CSR format + * @retval GrB_OUT_OF_MEMORY if allocation fails. + * @retval GrB_NO_VALUE if A has a negative weight cycle + */ + LAGRAPHX_PUBLIC + int LAGraph_cdlp( + GrB_Vector *CDLP_handle, + LAGraph_Graph G, + int itermax, + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_cdlp_withsort( + GrB_Vector *CDLP_handle, + LAGraph_Graph G, + int itermax, + char *msg); + + //------------------------------------------------------------------------------ + // LAGr_PageRankGX: PageRank as defined in LDBC Graphalytics (GX) + //------------------------------------------------------------------------------ + + /** LAGr_PageRankGX: computes the PageRank of a directed graph G as defined in + * the LDBC Graphalytics benchmark. + * + * @param[out] centrality centrality(i) is the PageRank of node i. + * @param[out] iters number of iterations taken. + * @param[in] G input graph. + * @param[in] damping damping factor (typically 0.85). + * @param[in] itermax maximum number of iterations (typically 100). + * @param[in,out] msg any error messages. + * + * @retval GrB_SUCCESS if successful. + * @retval GrB_NULL_POINTER if G, centrality, and/our iters are NULL. + * @retval LAGRAPH_NOT_CACHED if G->AT is required but not present, + * or if G->out_degree is not present. + * @retval LAGRAPH_INVALID_GRAPH Graph is invalid + * (@sphinxref{LAGraph_CheckGraph} failed). + * @returns any GraphBLAS errors that may have been encountered. + */ + LAGRAPHX_PUBLIC + int LAGr_PageRankGX( + // output: + GrB_Vector *centrality, + int *iters, + // input: + const LAGraph_Graph G, + float damping, + int itermax, + char *msg); + + //**************************************************************************** + /** + * Sparse deep neural network inference. Performs ReLU inference using input + * feature vectors Y0. + * + * @param[out] Yhandle Y, created on output + * @param[in] W W [0..nlayers-1], each nneurons-by-nneurons + * @param[in] Bias Bias [0..nlayers-1], diagonal nneurons-by-nneurons + * @param[in] nlayers number of layers + * @param[in] Y0 input features: nfeatures-by-nneurons + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NOT_IMPLEMENTED vanilla version has not been implemented yet + * @retval GrB_NULL_POINTER If Yhandle, W, Bias, or Y0 is NULL + * @retval GrB_DOMAIN_MISMATCH if type of Y0 is not FP32 or FP64, or the types of + * W or Bias arent the same as Y0 + */ + LAGRAPHX_PUBLIC + GrB_Info LAGraph_dnn( + // output + GrB_Matrix *Yhandle, + // input: not modified + GrB_Matrix *W, + GrB_Matrix *Bias, + int nlayers, + GrB_Matrix Y0); + + //**************************************************************************** + /** + * Compute all-pairs shortest paths using Floyd-Warshall method + * + * @param[in] G input graph, with edge weights + * @param[out] D output graph, created on output + * @param[out] D_type type of scalar stored in D (see source for explanation) + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NOT_IMPLEMENTED vanilla version has not been implemented yet + * @retval GrB_NULL_POINTER If D or D_type is NULL + * @retval GrB_INVALID_VALUE If G is not square + */ + LAGRAPHX_PUBLIC + GrB_Info LAGraph_FW( + const GrB_Matrix G, + GrB_Matrix *D, + GrB_Type *D_type); + + //**************************************************************************** + /** + * Compute the local clustering coefficient for all nodes in a graph. + * + * @param[out] LCC_handle output vector holding coefficients + * @param[in] G the graph + * @param[in,out] msg any error messages. + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NOT_IMPLEMENTED vanilla version has not been implemented yet + * @retval GrB_NULL_POINTER If LCC_handle or LCC_type is NULL + * @retval GrB_INVALID_VALUE If A is not stored in CSR format + */ + LAGRAPHX_PUBLIC + int LAGraph_lcc // compute lcc for all nodes in A + ( + GrB_Vector *LCC_handle, // output vector + LAGraph_Graph G, // input graph + char *msg); + + //**************************************************************************** + + LAGRAPHX_PUBLIC + int LAGraph_msf( + GrB_Matrix *result, // output: an unsymmetrical matrix, the spanning forest + GrB_Matrix A, // input matrix + bool sanitize, // if true, ensure A is symmetric + char *msg); + + //**************************************************************************** + + LAGRAPHX_PUBLIC + int LAGraph_scc( + GrB_Vector *result, // output: array of component identifiers + GrB_Matrix A, // input matrix + char *msg); + + //**************************************************************************** + LAGRAPHX_PUBLIC + int LAGraph_VertexCentrality_Triangle // vertex triangle-centrality + ( + // outputs: + GrB_Vector *centrality, // centrality(i): triangle centrality of i + uint64_t *ntriangles, // # of triangles in the graph + // inputs: + int method, // 0, 1, 2, or 3 + LAGraph_Graph G, // input graph + char *msg); + + //**************************************************************************** + LAGRAPHX_PUBLIC + int LAGraph_MaximalIndependentSet // maximal independent set + ( + // outputs: + GrB_Vector *mis, // mis(i) = true if i is in the set + // inputs: + LAGraph_Graph G, // input graph + uint64_t seed, // random number seed + GrB_Vector ignore_node, // if NULL, no nodes are ignored. Otherwise + // ignore_node(i) = true if node i is to be + // ignored, and not treated as a candidate + // added to maximal independent set. + char *msg); + + LAGRAPHX_PUBLIC + int LG_CC_FastSV5 // SuiteSparse:GraphBLAS method, with GxB extensions + ( + // output + GrB_Vector *component, // output: array of component identifiers + // inputs + LAGraph_Graph G, // input graph, modified then restored + char *msg); + + //------------------------------------------------------------------------------ + // kcore algorithms + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGraph_KCore_All( + // outputs: + GrB_Vector *decomp, // kcore decomposition + uint64_t *kmax, + // inputs: + LAGraph_Graph G, // input graph + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_KCore( + // outputs: + GrB_Vector *decomp, // kcore decomposition + // inputs: + LAGraph_Graph G, // input graph + uint64_t k, // k level to compare to + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_KCore_Decompose( + // outputs: + GrB_Matrix *D, // kcore decomposition + // inputs: + LAGraph_Graph G, // input graph + GrB_Vector decomp, // input decomposition matrix + uint64_t k, + char *msg); + + //------------------------------------------------------------------------------ + // counting graphlets + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGraph_FastGraphletTransform( + // outputs: + GrB_Matrix *F_net, // 16-by-n matrix of graphlet counts + // inputs: + LAGraph_Graph G, + bool compute_d_15, // probably this makes most sense + char *msg); + + //------------------------------------------------------------------------------ + // matching and coarsening + //------------------------------------------------------------------------------ + + typedef enum + { + LAGraph_Matching_unweighted = 0, + LAGraph_Matching_heavy = 1, + LAGraph_Matching_light = 2, + } LAGraph_Matching_kind; + + LAGRAPHX_PUBLIC + int LAGraph_MaximalMatching( + // outputs: + GrB_Vector *matching, + // inputs: + GrB_Matrix E, // incidence matrix, not part of LAGraph_Graph (for now) + GrB_Matrix E_t, // incidence transposed + LAGraph_Matching_kind matching_type, // refer to above enum + uint64_t seed, // random number seed + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_Coarsen_Matching( + // outputs: + GrB_Matrix *coarsened, // coarsened adjacency + GrB_Vector *parent_result, // description in LAGraph_CoarsenMatching + GrB_Vector *newlabel_result, // description in LAGraph_CoarsenMatching + GrB_Vector *inv_newlabel_result, // description in LAGraph_CoarsenMatching + // inputs: + LAGraph_Graph G, + LAGraph_Matching_kind matching_type, // refer to above enum + bool preserve_mapping, // preserve initial namespace of nodes + bool combine_weights, // whether to sum edge weights or just keep the pattern + uint64_t seed, // used for matching + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_SquareClustering( + // outputs: + GrB_Vector *square_clustering, + // inputs: + LAGraph_Graph G, + char *msg); + + //------------------------------------------------------------------------------ + // a simple example of an algorithm + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGraph_HelloWorld // a simple algorithm, just for illustration + ( + // output + GrB_Matrix *Yhandle, // Y, created on output + // input: not modified + LAGraph_Graph G, + char *msg); + + //------------------------------------------------------------------------------ + // run a breadth first search for multiple source nodes + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGraph_MultiSourceBFS( + // outputs: + GrB_Matrix *level, + GrB_Matrix *parent, + // inputs: + const LAGraph_Graph G, + GrB_Vector src, + char *msg); + + //------------------------------------------------------------------------------ + // estimate the diameter of a graph + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGraph_EstimateDiameter( + // outputs: + GrB_Index *diameter, + GrB_Vector *peripheral, + // inputs: + const LAGraph_Graph G, + GrB_Index maxSrcs, + GrB_Index maxLoops, + uint64_t seed, // seed for randomization + char *msg); + + //------------------------------------------------------------------------------ + // find the exact diameter of a graph + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGraph_ExactDiameter( + // outputs: + GrB_Index *diameter, + GrB_Vector *peripheral, + GrB_Vector *eccentricity, + // inputs: + const LAGraph_Graph G, + GrB_Index k, + char *msg); + + //------------------------------------------------------------------------------ + // HDIP_Fiedler + //------------------------------------------------------------------------------ + + //------------------------------------------------------------------------------ + // applies a Householder Reflection + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGraph_Happly // happly Checked for pointer issues + ( + // outputs: + GrB_Vector y, // y output of Householder reflection on x. + // inputs: + GrB_Vector u, // u, the vector used for application of householder + GrB_Vector x, // x, the vector on which householder reflection is applied + float alpha, // the scalar alpha used for application of householder + // error msg + char *msg); + + //------------------------------------------------------------------------------ + // Compute H*M*H*x = (M-u*x'-x*u)*x + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGraph_hmhx // hmhx checked for pointer issues + ( + // outputs: + GrB_Vector z, // z output of hmhx + // inputs: + GrB_Matrix M, // Matrix used in hmhx + GrB_Vector u, // Vector u used for happly + GrB_Vector x, // Vector x used for happly + float alpha, // the scalar alpha used for happly + char *msg); + + //------------------------------------------------------------------------------ + // Euclidean normalization on a vector + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGraph_norm2 // norm2 checked for pointer mistakes + ( + // outputs: + float norm2, + // inputs: + GrB_Vector v, + // error msg + char *msg); + + //------------------------------------------------------------------------------ + // Computes Laplacian of a Matrix + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGraph_Laplacian // compute the Laplacian matrix + ( + // outputs: + GrB_Matrix *Lap, // the output Laplacian matrix + float *inform, // infinity norm of Lap + // inputs: + GrB_Matrix G, // input matrix, symmetric + char *msg); + + //------------------------------------------------------------------------------ + // Preconditioned Conjugate Gradient + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGraph_mypcg2( + // outputs + GrB_Vector *steper, + GrB_Index *k_result, + // inputs: + GrB_Matrix L, // input matrix, symmetric, result from Laplacian + GrB_Vector u, // vector u will be passed into another function to create Householder reflection + float malpha, // This float + GrB_Matrix invdiag, + GrB_Vector b, + float tol, + float maxit, + // error msging + char *msg); + + //------------------------------------------------------------------------------ + // Computes the Fiedler Vector + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGraph_Hdip_Fiedler // compute the Hdip_Fiedler + ( + // outputs: + GrB_Vector *iters, // Stores number of inner and outer iterations + float *lamb, // Lambda of hdip_fiedler + GrB_Vector *x, // the hdip fielder result vector + // inputs: + GrB_Matrix L, // input matrix, symmetric, result from Laplacian + float InfNorm, + GrB_Vector kmax, + float emax, + float tol, + char *msg); + + //------------------------------------------------------------------------------ + // for GPU development + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGr_TriangleCount_GPU( + // output: + uint64_t *ntriangles, + // input: + const LAGraph_Graph G, + LAGr_TriangleCount_Method *method, + LAGr_TriangleCount_Presort *presort, + char *msg); + + //------------------------------------------------------------------------------ + // Hubs and Authorities + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGr_HITS( + GrB_Vector *hubs, + GrB_Vector *authorities, + int *iters, + const LAGraph_Graph G, + float tol, + int itermax, + char *msg); + + //------------------------------------------------------------------------------ + // graph clustering with quality metrics + //------------------------------------------------------------------------------ + + LAGRAPHX_PUBLIC + int LAGr_PeerPressureClustering( + // output: + GrB_Vector *c_f, // final clustering vector + // input: + bool normalize, // if true, normalize the input graph via out-degree + bool make_undirected, // if true, make G undirected which generally leads to a coarser partitioning + double thresh, // Threshold for convergence (percent of vertices that changed clusters) + int max_iter, // Maximum number of iterations + LAGraph_Graph G, // input graph + char *msg); + + LAGRAPHX_PUBLIC + int LAGr_MarkovClustering( + // output: + GrB_Vector *c_f, // final clustering vector + // input + int e, // expansion coefficient + int i, // inflation coefficient + double pruning_threshold, // threshold for pruning values + double convergence_threshold, // MSE threshold for convergence + int max_iter, // maximum iterations + LAGraph_Graph G, // input graph + char *msg); + + LAGRAPHX_PUBLIC + int LAGr_PartitionQuality( + // Outputs + double *cov, // Coverage + double *perf, // Performance + // Inputs + GrB_Vector c, // Cluster vector where c[i] = j means vertex i is in cluster j + LAGraph_Graph G, // original graph + char *msg); + + LAGRAPHX_PUBLIC + int LAGr_Modularity( + // Outputs + double *mod_handle, // Modularity + // Inputs + double gamma, // Resolution parameter + GrB_Vector c, // Cluster vector where c[i] = j means vertex i is in cluster j + LAGraph_Graph G, // original graph + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_argminmax( + // output + GrB_Matrix *x, // min/max value in each row/col of A + GrB_Matrix *p, // index of min/max value in each row/col of A + // input + GrB_Matrix A, + int dim, // dim=1: cols of A, dim=2: rows of A + bool is_min, + char *msg); + + LAGRAPHX_PUBLIC + int LAGraph_MaximumMatching( + // output/input: + GrB_Vector *mateC, // mateC(j) = i : Column j of C subset is matched to row i of R subset + // input: + LAGraph_Graph G, // input graph + char *msg); + +#if defined(__cplusplus) } #endif From e2bb41aa067aaa3063151040298bc925b56dc963 Mon Sep 17 00:00:00 2001 From: kchristin Date: Fri, 7 Jun 2024 14:48:30 -0500 Subject: [PATCH 03/69] Add test of semiring in MCM --- .../algorithm/LAGraph_MaximumMatching.c | 61 +- experimental/test/test_MaximumMatching.c | 7 + include/LAGraphX.h | 2313 +++++++++-------- 3 files changed, 1268 insertions(+), 1113 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 934e510ce2..39af8ab97f 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -65,6 +65,30 @@ void *initFrontier(vertex *z, void *x, GrB_Index i, GrB_Index j, const void *y) "z->rootC = i; " \ "} " +void *minparent(vertex *z, vertex *x, vertex *y) +{ + z = x->parentC < y->parentC ? x : y; +} + +#define MIN_PARENT_DEFN \ + "void *minparent(vertex *z, vertex *x, vertex *y) " \ + "{ " \ + "z = x->parentC < y->parentC ? x : y; " \ + "} " + +void *select2nd(vertex *z, bool *x, vertex *y) +{ + z->parentC = y->parentC; + z->rootC = y->rootC; +} + +#define SELECT_2ND_DEFN \ + "void *select2nd(vertex *z, bool *x, vertex *y) " \ + "{ " \ + "z->parentC = y->parentC; " \ + "z->rootC = y->rootC;" \ + "} " + int LAGraph_MaximumMatching( // output/input: GrB_Vector *mateC, // mateC(j) = i : Column j of C subset is matched to row i of R subset @@ -112,22 +136,49 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_new(&I, GrB_BOOL, ncols)); GRB_TRY(GrB_Vector_assign_INT32(I, NULL, NULL, 1, GrB_ALL, ncols, NULL)); + GrB_BinaryOp MinParent = NULL; + GRB_TRY(GxB_BinaryOp_new(&MinParent, (void *)minparent, Vertex, Vertex, Vertex, "minparent", MIN_PARENT_DEFN)); + vertex infinityParent = {GrB_INDEX_MAX + 1, 0}; + GrB_Monoid AddMonoid; + GRB_TRY(GrB_Monoid_new_UDT(&AddMonoid, MinParent, &infinityParent)); + + GrB_BinaryOp MultMonoid; + GRB_TRY(GxB_BinaryOp_new(&MultMonoid, (void *)select2nd, + Vertex, GrB_BOOL, Vertex, "select2nd", SELECT_2ND_DEFN)); + GrB_Semiring semiring = NULL; + GRB_TRY(GrB_Semiring_new(&semiring, AddMonoid, MultMonoid)); + do { GRB_TRY(GrB_Vector_clear(pathC)); GRB_TRY(GrB_Vector_clear(parentsR)); // for every col j not matched, assign f(j) = VERTEX(j,j) - GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, *mateC, NULL, initFrontierOp, I, &y, GrB_DESC_RSC)); // for each non-matched col j, f(j) = (j,j) - GrB_Index R[ncols]; + GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, *mateC, NULL, initFrontierOp, I, &y, GrB_DESC_RSC)); + GrB_Index C[ncols]; vertex *X = malloc(ncols * sizeof(vertex)); - GrB_Vector_extractTuples_UDT(R, X, &ncols, frontierC); + GrB_Vector_extractTuples_UDT(C, X, &ncols, frontierC); for (int k = 0; k < ncols; k++) { - printf("\nfc (%d) = (%ld, %ld)", (int)R[k], X[k].parentC, X[k].rootC); + printf("\nfc (%d) = (%ld, %ld)", (int)C[k], X[k].parentC, X[k].rootC); } GxB_Vector_fprint(*mateC, "mateC", GxB_COMPLETE, stdout); - // LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); + // do + // { + GRB_TRY(GrB_mxv(frontierR, NULL, NULL, semiring, A, frontierC, NULL)); + + GRB_TRY(GrB_Vector_nvals(&nvals, frontierC)); + + // } while (nvals); + + GrB_Index R[nrows]; + GrB_Vector_extractTuples_UDT(R, X, &nrows, frontierR); + for (int k = 0; k < nrows; k++) + { + printf("\nfr (%d) = (%ld, %ld)", (int)R[k], X[k].parentC, X[k].rootC); + } + + LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); GRB_TRY(GrB_Vector_nvals(&nvals, pathC)); diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index 51667e311b..c95feccebf 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -13,9 +13,16 @@ void test_MCM() LAGraph_Init(msg); GrB_Vector mateC = NULL; OK(GrB_Vector_new(&mateC, GrB_UINT64, 5)); + GrB_Index Ilist[2] = {3, 4}; + OK(GrB_Vector_assign_UINT64(mateC, NULL, NULL, 1, Ilist, 2, NULL)); + GrB_Index R[9] = {0, 0, 1, 2, 2, 3, 3, 4, 4}; + GrB_Index C[9] = {0, 1, 0, 1, 2, 2, 4, 3, 4}; + bool values[9] = {1, 1, 1, 1, 1, 1, 1, 1, 1}; GrB_Matrix A = NULL; OK(GrB_Matrix_new(&A, GrB_BOOL, 5, 5)); + OK(GrB_Matrix_build_BOOL(A, R, C, values, 9, GrB_FIRST_BOOL)); + GxB_Matrix_fprint(A, "A", GxB_COMPLETE, stdout); OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); OK(LAGraph_MaximumMatching(&mateC, G, msg)); printf("msg: %s\n", msg); diff --git a/include/LAGraphX.h b/include/LAGraphX.h index a4e3433e40..6e13e03ea0 100644 --- a/include/LAGraphX.h +++ b/include/LAGraphX.h @@ -19,1130 +19,1227 @@ #include #include -#if (_MSC_VER && !__INTEL_COMPILER && LGX_DLL) -#ifdef LGX_LIBRARY -// compiling LAGraph itself, exporting symbols to user apps -#define LAGRAPHX_PUBLIC __declspec(dllexport) +#if ( _MSC_VER && !__INTEL_COMPILER && LGX_DLL ) + #ifdef LGX_LIBRARY + // compiling LAGraph itself, exporting symbols to user apps + #define LAGRAPHX_PUBLIC __declspec ( dllexport ) + #else + // compiling the user application, importing symbols from LAGraph + #define LAGRAPHX_PUBLIC __declspec ( dllimport ) + #endif #else -// compiling the user application, importing symbols from LAGraph -#define LAGRAPHX_PUBLIC __declspec(dllimport) -#endif -#else -// for other compilers -#define LAGRAPHX_PUBLIC + // for other compilers + #define LAGRAPHX_PUBLIC #endif //============================================================================== // for C++ applications: //============================================================================== -#if defined(__cplusplus) +#if defined ( __cplusplus ) extern "C" { #endif - //============================================================================== - // Experimental methods: in experimental/algorithm and experimental/utility - //============================================================================== - - // Do not rely on these in production. These methods are still under - // development, and is intended only for illustration or testing, not - // benchmarking. Do not use for benchmarking without asking the authors. +//============================================================================== +// Experimental methods: in experimental/algorithm and experimental/utility +//============================================================================== - //------------------------------------------------------------------------------ - // LAGraph_Random_*: Random number generator - //------------------------------------------------------------------------------ +// Do not rely on these in production. These methods are still under +// development, and is intended only for illustration or testing, not +// benchmarking. Do not use for benchmarking without asking the authors. - LAGRAPHX_PUBLIC - int LAGraph_Random_Init( - char *msg); - LAGRAPHX_PUBLIC - int LAGraph_Random_Finalize( - char *msg); +//------------------------------------------------------------------------------ +// LAGraph_Random_*: Random number generator +//------------------------------------------------------------------------------ -#if defined(COVERAGE) - // for testing only - LAGRAPHX_PUBLIC extern bool random_hack; +LAGRAPHX_PUBLIC +int LAGraph_Random_Init +( + char *msg +) ; +LAGRAPHX_PUBLIC +int LAGraph_Random_Finalize +( + char *msg +) ; + +#if defined ( COVERAGE ) +// for testing only +LAGRAPHX_PUBLIC extern bool random_hack ; #endif - LAGRAPHX_PUBLIC - int LAGraph_Random_Seed // construct a random seed vector - ( - // input/output - GrB_Vector Seed, // vector of random number seeds, normally GrB_UINT64 - // input - uint64_t seed, // scalar input seed - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_Random_Next // advance to next random vector - ( - // input/output - GrB_Vector Seed, - char *msg); - - LAGRAPHX_PUBLIC - GrB_Info LAGraph_Random_Matrix // random matrix of any built-in type - ( - // output - GrB_Matrix *A, // A is constructed on output - // input - GrB_Type type, // type of matrix to construct - GrB_Index nrows, // # of rows of A - GrB_Index ncols, // # of columns of A - double density, // density: build a sparse matrix with - // density*nrows*cols values if not INFINITY; - // build a dense matrix if INFINITY. - uint64_t seed, // random number seed - char *msg); - - //**************************************************************************** - // binary file I/O - //**************************************************************************** - - // The LAGraph *.lagraph file consists of an ASCII JSON header, followed by - // one or more serialized "blobs" created by GrB_Matrix_serialize (or - // GxB_Matrix_serialize if using SuiteSparse:GraphBLAS). The file can only be - // read back into LAGraph when using the same GraphBLAS library used to create - // it. - - // To create a binary file containing one or more GrB_Matrix objects, the user - // application must first open the file f, create the ascii JSON header with - // LAGraph_SWrite_Header*, and then write one or more binary serialized - // GrB_Matrix blobs from using LAGraph_SWrite_Matrix. - - // Example: - - /* - // serialize the matrices A (of type GrB_FP64) and B (of type GrB_BOOL) - void *Ablob, *Bblob ; - GrB_Index Ablob_size, Bblob_size ; - GxB_Matrix_serialize (&Ablob, &Ablob_size, A, NULL) ; - GxB_Matrix_serialize (&Bblob, &Bblob_size, B, NULL) ; - - // open the file and write the JSON header - FILE *f = fopen ("mymatrices.lagraph", "w") ; - LAGraph_SWrite_HeaderStart (f, "mystuff", msg) ; - LAGraph_SWrite_HeaderItem (f, LAGraph_matrix_kind, "A", "double", 0, - Ablob_size, msg) ; - LAGraph_SWrite_HeaderItem (f, LAGraph_matrix_kind, "B", "bool", 0, - Bblob_size, msg) ; - LAGraph_SWrite_HeaderEnd (f, msg) ; - - // write the matrices in binary - LAGraph_SWrite_Item (f, Ablob, Ablob_size, msg) ; - LAGraph_SWrite_Item (f, Bblob, Bblob_size, msg) ; - - fclose (f) ; - */ - - typedef enum - { - LAGraph_unknown_kind = -1, // unknown kind - LAGraph_matrix_kind = 0, // a serialized GrB_Matrix - LAGraph_vector_kind = 1, // a serialized GrB_Vector (SS:GrB only) - LAGraph_text_kind = 2, // text (char *), possibly compressed - } LAGraph_Contents_kind; - - typedef struct - { - // serialized matrix/vector, or pointer to text, and its size - void *blob; - size_t blob_size; - - // kind of item: matrix, vector, text, or unknown - LAGraph_Contents_kind kind; - - // if kind is text: compression used - // -1: none, 0: default for library, 1000: LZ4, 200x: LZ4HC:x - int compression; - - // name of the object - char name[LAGRAPH_MAX_NAME_LEN + 4]; - - // if kind is matrix or vector: type name - char type_name[LAGRAPH_MAX_NAME_LEN + 4]; - } LAGraph_Contents; - - LAGRAPHX_PUBLIC - int LAGraph_SWrite_HeaderStart // write the first part of the JSON header - ( - FILE *f, // file to write to - const char *name, // name of this collection of matrices - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_SWrite_HeaderItem // write a single item to the JSON header - ( - // inputs: - FILE *f, // file to write to - LAGraph_Contents_kind kind, // matrix, vector, or text - const char *name, // name of the matrix/vector/text; matrices from - // sparse.tamu.edu use the form "Group/Name" - const char *type, // name of type of the matrix/vector - int compression, // text compression method - GrB_Index blob_size, // exact size of serialized blob for this item - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_SWrite_HeaderItem // write a single item to the JSON header - ( - // inputs: - FILE *f, // file to write to - LAGraph_Contents_kind kind, // matrix, vector, or text - const char *name, // name of the matrix/vector/text; matrices from - // sparse.tamu.edu use the form "Group/Name" - const char *type, // name of type of the matrix/vector - // todo: text not yet supported by LAGraph_SWrithe_HeaderItem - int compression, // text compression method - GrB_Index blob_size, // exact size of serialized blob for this item - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_SWrite_HeaderEnd // write the end of the JSON header - ( - FILE *f, // file to write to - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_SWrite_Item // write the serialized blob of a matrix/vector/text - ( - // input: - FILE *f, // file to write to - const void *blob, // serialized blob from G*B_Matrix_serialize - GrB_Index blob_size, // exact size of the serialized blob - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_SRead // read a set of matrices from a *.lagraph file - ( - FILE *f, // file to read from - // output - char **collection, // name of collection (allocated string) - LAGraph_Contents **Contents, // array contents of contents - GrB_Index *ncontents, // # of items in the Contents array - char *msg); - - LAGRAPHX_PUBLIC - void LAGraph_SFreeContents // free the Contents returned by LAGraph_SRead - ( - // input/output - LAGraph_Contents **Contents, // array of size ncontents - GrB_Index ncontents); - - LAGRAPHX_PUBLIC - int LAGraph_SSaveSet // save a set of matrices from a *.lagraph file - ( - // inputs: - char *filename, // name of file to write to - GrB_Matrix *Set, // array of GrB_Matrix of size nmatrices - GrB_Index nmatrices, // # of matrices to write to *.lagraph file - // todo: handle vectors and text in LAGraph_SSaveSet - char *collection, // name of this collection of matrices - char *msg); - - int LAGraph_SLoadSet // load a set of matrices from a *.lagraph file - ( - // input: - char *filename, // name of file to read from - // outputs: - GrB_Matrix **Set_handle, // array of GrB_Matrix of size nmatrices - GrB_Index *nmatrices_handle, // # of matrices loaded from *.lagraph file - // todo: handle vectors and text in LAGraph_SLoadSet - // GrB_Vector **Set_handle, // array of GrB_Vector of size nvector - // GrB_Index **nvectors_handle, // # of vectors loaded from *.lagraph file - // char **Text_handle, // array of pointers to (char *) strings - // GrB_Index **ntext_handle, // # of texts loaded from *.lagraph file - char **collection_handle, // name of this collection of matrices - char *msg); - - LAGRAPHX_PUBLIC - void LAGraph_SFreeSet // free a set of matrices - ( - // input/output - GrB_Matrix **Set_handle, // array of GrB_Matrix of size nmatrices - GrB_Index nmatrices // # of matrices in the set - ); - - LAGRAPHX_PUBLIC - int LAGraph_Incidence_Matrix( - GrB_Matrix *result, - LAGraph_Graph graph, - char *msg); - - //**************************************************************************** - // Algorithms - //**************************************************************************** - - //**************************************************************************** - /** - * Given a symmetric graph A with no-self edges, compute all k-trusses of A. - * - * @param[out] Cset size n, output k-truss subgraphs. - * @param[out] kmax smallest k where k-truss is empty - * @param[out] ntris Array of size n (on input), ntris [k] is num triangles in k-truss - * @param[out] nedges Array of size n (on input), nedges [k] is num edges in k-truss - * @param[out] nstepss Array of size n (on input), nstepss [k] is num steps for k-truss - * @param[in] G input graph, A, not modified. Must be undirected - * or directed with symmetric structure, no self edges. - * @param[in,out] msg any error messages. - * - * @retval GrB_SUCCESS if completed successfully (equal or not) - * @retval GrB_NULL_POINTER if kmax, ntris, nedges, nsteps is NULL - */ - LAGRAPHX_PUBLIC - int LAGraph_AllKTruss // compute all k-trusses of a graph - ( - // outputs - GrB_Matrix *Cset, // size n, output k-truss subgraphs - int64_t *kmax, // smallest k where k-truss is empty - int64_t *ntris, // size max(n,4), ntris [k] is #triangles in k-truss - int64_t *nedges, // size max(n,4), nedges [k] is #edges in k-truss - int64_t *nstepss, // size max(n,4), nstepss [k] is #steps for k-truss - // input - LAGraph_Graph G, // input graph - char *msg); - - //**************************************************************************** - /** - * Given an undirected graph G with no-self edges, LAGraph_KTruss finds the - * k-truss subgraph of G. - * - * @param[out] C k-truss subgraph, of type GrB_UINT32 - * @param[in] G input graph, not modified - * @param[in] k the truss to find - * @param[in,out] msg any error messages. - * - * @retval GrB_SUCCESS if completed successfully (equal or not) - * @retval GrB_NULL_POINTER if C or C_type is NULL - * @return Any GraphBLAS errors that may have been encountered - */ - LAGRAPHX_PUBLIC - int LAGraph_KTruss // compute the k-truss of a graph - ( - // outputs: - GrB_Matrix *C, // output k-truss subgraph, C - // inputs: - LAGraph_Graph G, // input graph - uint32_t k, // find the k-truss, where k >= 3 - char *msg); - - //**************************************************************************** - // Connected components - //**************************************************************************** - - /** - * Determine connected components in an undirected graph. - * - * @param[out] result array of component identifiers for each vertex (allocated - * by the algorithm, ownership returned to caller). - * @param[in] A the graph (symmetric) - * @param[in] sanitize If true, test to ensure A is symmetric - * @param[in,out] msg any error messages. - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER if result is NULL - */ - LAGRAPHX_PUBLIC - int LAGraph_cc_lacc( - GrB_Vector *result, - GrB_Matrix A, - bool sanitize, - char *msg); - - //**************************************************************************** - // Bellman Ford variants - //**************************************************************************** - - /** - * Bellman-Ford single source shortest paths, returning just the shortest path - * lengths. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[in] A matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output or A is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_NO_VALUE if A has a negative weight cycle - */ - LAGRAPHX_PUBLIC - GrB_Info LAGraph_BF_basic( - GrB_Vector *pd_output, - const GrB_Matrix A, - const GrB_Index s); - - /** - * Bellman-Ford single source shortest paths, returning just the shortest path - * lengths. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[in] A matrix for the graph (optional-ish) - * @param[in] AT transpose of A (optional-ish) - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output is NULL or both A and AT are NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ - LAGRAPHX_PUBLIC - GrB_Info LAGraph_BF_basic_pushpull( - GrB_Vector *pd_output, - const GrB_Matrix A, - const GrB_Matrix AT, - const GrB_Index s); - - /** - * Bellman-Ford single source shortest paths, returning just the shortest path - * lengths. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[in] AT transposed adjacency matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output or AT is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ - LAGRAPHX_PUBLIC - GrB_Info LAGraph_BF_basic_mxv( - GrB_Vector *pd_output, // the pointer to the vector of distance - const GrB_Matrix AT, // transposed adjacency matrix for the graph - const GrB_Index s // given index of the source - ); - - /** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[out] ppi_output the pointer to the vector of parent (created internally) - * @param[out] ph_output the pointer to the vector of hops (created internally) - * @param[in] A adjacency matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ - LAGRAPHX_PUBLIC - GrB_Info LAGraph_BF_full( - GrB_Vector *pd_output, - GrB_Vector *ppi_output, - GrB_Vector *ph_output, - const GrB_Matrix A, - const GrB_Index s); - - /** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[out] ppi_output the pointer to the vector of parent (created internally) - * @param[out] ph_output the pointer to the vector of hops (created internally) - * @param[in] A adjacency matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ - LAGRAPHX_PUBLIC - GrB_Info LAGraph_BF_full1( - GrB_Vector *pd_output, - GrB_Vector *ppi_output, - GrB_Vector *ph_output, - const GrB_Matrix A, - const GrB_Index s); - - /** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[out] ppi_output the pointer to the vector of parent (created internally) - * @param[out] ph_output the pointer to the vector of hops (created internally) - * @param[in] A adjacency matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ - LAGRAPHX_PUBLIC - GrB_Info LAGraph_BF_full1a( - GrB_Vector *pd_output, - GrB_Vector *ppi_output, - GrB_Vector *ph_output, - const GrB_Matrix A, - const GrB_Index s); - - /** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[out] ppi_output the pointer to the vector of parent (created internally) - * @param[out] ph_output the pointer to the vector of hops (created internally) - * @param[in] A adjacency matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ - LAGRAPHX_PUBLIC - GrB_Info LAGraph_BF_full2( - GrB_Vector *pd_output, // the pointer to the vector of distance - GrB_Vector *ppi_output, // the pointer to the vector of parent - GrB_Vector *ph_output, // the pointer to the vector of hops - const GrB_Matrix A, // matrix for the graph - const GrB_Index s // given index of the source - ); - - /** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree. - * - * @param[out] pd_output the pointer to the vector of distance (created internally) - * @param[out] ppi_output the pointer to the vector of parent (created internally) - * @param[out] ph_output the pointer to the vector of hops (created internally) - * @param[in] AT transpose of the adjacency matrix for the graph - * @param[in] s index of the source - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or AT is NULL - * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ - LAGRAPHX_PUBLIC - GrB_Info LAGraph_BF_full_mxv( - GrB_Vector *pd_output, - GrB_Vector *ppi_output, - GrB_Vector *ph_output, - const GrB_Matrix AT, - const GrB_Index s); - - /** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree (integer weights). - * - * @param[out] pd pointer to distance vector d, d(k) = shortest distance - * between s and k if k is reachable from s - * @param[out] ppi pointer to parent index vector pi, pi(k) = parent of - * node k in the shortest path tree - * @param[in] s index of the source - * @param[in] n number of nodes - * @param[in] nz number of edges - * @param[in] Ilist row index vector (size n) - * @param[in] J column index vector (size nz) - * @param[in] W weight vector (size nz), W(i) = weight of edge - * (Ilist(i),J(i)) - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd, ppi, Ilist, J, or W is NULL - * @retval GrB_INVALID_VALUE if s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails. - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ - LAGRAPHX_PUBLIC - GrB_Info LAGraph_BF_pure_c( - int32_t **pd, - - int64_t **ppi, - - const int64_t s, - const int64_t n, - const int64_t nz, - const int64_t *Ilist, - const int64_t *J, - const int32_t *W); - - /** - * Bellman-Ford single source shortest paths, returning both the path lengths - * and the shortest-path tree (double weights). - * - * @param[out] pd pointer to distance vector d, d(k) = shortest distance - * between s and k if k is reachable from s - * @param[out] ppi pointer to parent index vector pi, pi(k) = parent of - * node k in the shortest path tree - * @param[in] s index of the source - * @param[in] n number of nodes - * @param[in] nz number of edges - * @param[in] Ilist row index vector (size n) - * @param[in] J column index vector (size nz) - * @param[in] W weight vector (size nz), W(i) = weight of edge - * (Ilist(i),J(i)) - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If pd, ppi, Ilist, J, or W is NULL - * @retval GrB_INVALID_VALUE if s is not a valid vertex index - * @retval GrB_OUT_OF_MEMORY if allocation fails. - * @retval GrB_NO_VALUE if A has a negative weight cycle - * - */ - LAGRAPHX_PUBLIC - GrB_Info LAGraph_BF_pure_c_double( - double **pd, - - int64_t **ppi, - - const int64_t s, - const int64_t n, - const int64_t nz, - const int64_t *Ilist, - const int64_t *J, - const double *W); - - //**************************************************************************** - /** - * Community detection using label propagation algorithm - * - * @param[out] CDLP_handle community vector - * @param[in] G the graph - * @param[in] itermax max number of iterations (0 computes nothing) - * @param[in,out] msg any error messages. - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NULL_POINTER If t or CDLP_handle is NULL - * @retval GrB_INVALID_OBJECT If A is not stored in CSR format - * @retval GrB_OUT_OF_MEMORY if allocation fails. - * @retval GrB_NO_VALUE if A has a negative weight cycle - */ - LAGRAPHX_PUBLIC - int LAGraph_cdlp( - GrB_Vector *CDLP_handle, - LAGraph_Graph G, - int itermax, - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_cdlp_withsort( - GrB_Vector *CDLP_handle, - LAGraph_Graph G, - int itermax, - char *msg); - - //------------------------------------------------------------------------------ - // LAGr_PageRankGX: PageRank as defined in LDBC Graphalytics (GX) - //------------------------------------------------------------------------------ - - /** LAGr_PageRankGX: computes the PageRank of a directed graph G as defined in - * the LDBC Graphalytics benchmark. - * - * @param[out] centrality centrality(i) is the PageRank of node i. - * @param[out] iters number of iterations taken. - * @param[in] G input graph. - * @param[in] damping damping factor (typically 0.85). - * @param[in] itermax maximum number of iterations (typically 100). - * @param[in,out] msg any error messages. - * - * @retval GrB_SUCCESS if successful. - * @retval GrB_NULL_POINTER if G, centrality, and/our iters are NULL. - * @retval LAGRAPH_NOT_CACHED if G->AT is required but not present, - * or if G->out_degree is not present. - * @retval LAGRAPH_INVALID_GRAPH Graph is invalid - * (@sphinxref{LAGraph_CheckGraph} failed). - * @returns any GraphBLAS errors that may have been encountered. - */ - LAGRAPHX_PUBLIC - int LAGr_PageRankGX( - // output: - GrB_Vector *centrality, - int *iters, - // input: - const LAGraph_Graph G, - float damping, - int itermax, - char *msg); - - //**************************************************************************** - /** - * Sparse deep neural network inference. Performs ReLU inference using input - * feature vectors Y0. - * - * @param[out] Yhandle Y, created on output - * @param[in] W W [0..nlayers-1], each nneurons-by-nneurons - * @param[in] Bias Bias [0..nlayers-1], diagonal nneurons-by-nneurons - * @param[in] nlayers number of layers - * @param[in] Y0 input features: nfeatures-by-nneurons - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NOT_IMPLEMENTED vanilla version has not been implemented yet - * @retval GrB_NULL_POINTER If Yhandle, W, Bias, or Y0 is NULL - * @retval GrB_DOMAIN_MISMATCH if type of Y0 is not FP32 or FP64, or the types of - * W or Bias arent the same as Y0 - */ - LAGRAPHX_PUBLIC - GrB_Info LAGraph_dnn( - // output - GrB_Matrix *Yhandle, - // input: not modified - GrB_Matrix *W, - GrB_Matrix *Bias, - int nlayers, - GrB_Matrix Y0); - - //**************************************************************************** - /** - * Compute all-pairs shortest paths using Floyd-Warshall method - * - * @param[in] G input graph, with edge weights - * @param[out] D output graph, created on output - * @param[out] D_type type of scalar stored in D (see source for explanation) - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NOT_IMPLEMENTED vanilla version has not been implemented yet - * @retval GrB_NULL_POINTER If D or D_type is NULL - * @retval GrB_INVALID_VALUE If G is not square - */ - LAGRAPHX_PUBLIC - GrB_Info LAGraph_FW( - const GrB_Matrix G, - GrB_Matrix *D, - GrB_Type *D_type); - - //**************************************************************************** - /** - * Compute the local clustering coefficient for all nodes in a graph. - * - * @param[out] LCC_handle output vector holding coefficients - * @param[in] G the graph - * @param[in,out] msg any error messages. - * - * @retval GrB_SUCCESS if completed successfully - * @retval GrB_NOT_IMPLEMENTED vanilla version has not been implemented yet - * @retval GrB_NULL_POINTER If LCC_handle or LCC_type is NULL - * @retval GrB_INVALID_VALUE If A is not stored in CSR format - */ - LAGRAPHX_PUBLIC - int LAGraph_lcc // compute lcc for all nodes in A - ( - GrB_Vector *LCC_handle, // output vector - LAGraph_Graph G, // input graph - char *msg); - - //**************************************************************************** - - LAGRAPHX_PUBLIC - int LAGraph_msf( - GrB_Matrix *result, // output: an unsymmetrical matrix, the spanning forest - GrB_Matrix A, // input matrix - bool sanitize, // if true, ensure A is symmetric - char *msg); - - //**************************************************************************** - - LAGRAPHX_PUBLIC - int LAGraph_scc( - GrB_Vector *result, // output: array of component identifiers - GrB_Matrix A, // input matrix - char *msg); - - //**************************************************************************** - LAGRAPHX_PUBLIC - int LAGraph_VertexCentrality_Triangle // vertex triangle-centrality - ( - // outputs: - GrB_Vector *centrality, // centrality(i): triangle centrality of i - uint64_t *ntriangles, // # of triangles in the graph - // inputs: - int method, // 0, 1, 2, or 3 - LAGraph_Graph G, // input graph - char *msg); - - //**************************************************************************** - LAGRAPHX_PUBLIC - int LAGraph_MaximalIndependentSet // maximal independent set - ( - // outputs: - GrB_Vector *mis, // mis(i) = true if i is in the set - // inputs: - LAGraph_Graph G, // input graph - uint64_t seed, // random number seed - GrB_Vector ignore_node, // if NULL, no nodes are ignored. Otherwise - // ignore_node(i) = true if node i is to be - // ignored, and not treated as a candidate - // added to maximal independent set. - char *msg); - - LAGRAPHX_PUBLIC - int LG_CC_FastSV5 // SuiteSparse:GraphBLAS method, with GxB extensions - ( - // output - GrB_Vector *component, // output: array of component identifiers - // inputs - LAGraph_Graph G, // input graph, modified then restored - char *msg); - - //------------------------------------------------------------------------------ - // kcore algorithms - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGraph_KCore_All( - // outputs: - GrB_Vector *decomp, // kcore decomposition - uint64_t *kmax, - // inputs: - LAGraph_Graph G, // input graph - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_KCore( - // outputs: - GrB_Vector *decomp, // kcore decomposition - // inputs: - LAGraph_Graph G, // input graph - uint64_t k, // k level to compare to - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_KCore_Decompose( - // outputs: - GrB_Matrix *D, // kcore decomposition - // inputs: - LAGraph_Graph G, // input graph - GrB_Vector decomp, // input decomposition matrix - uint64_t k, - char *msg); - - //------------------------------------------------------------------------------ - // counting graphlets - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGraph_FastGraphletTransform( - // outputs: - GrB_Matrix *F_net, // 16-by-n matrix of graphlet counts - // inputs: - LAGraph_Graph G, - bool compute_d_15, // probably this makes most sense - char *msg); - - //------------------------------------------------------------------------------ - // matching and coarsening - //------------------------------------------------------------------------------ - - typedef enum - { - LAGraph_Matching_unweighted = 0, - LAGraph_Matching_heavy = 1, - LAGraph_Matching_light = 2, - } LAGraph_Matching_kind; - - LAGRAPHX_PUBLIC - int LAGraph_MaximalMatching( - // outputs: - GrB_Vector *matching, - // inputs: - GrB_Matrix E, // incidence matrix, not part of LAGraph_Graph (for now) - GrB_Matrix E_t, // incidence transposed - LAGraph_Matching_kind matching_type, // refer to above enum - uint64_t seed, // random number seed - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_Coarsen_Matching( - // outputs: - GrB_Matrix *coarsened, // coarsened adjacency - GrB_Vector *parent_result, // description in LAGraph_CoarsenMatching - GrB_Vector *newlabel_result, // description in LAGraph_CoarsenMatching - GrB_Vector *inv_newlabel_result, // description in LAGraph_CoarsenMatching - // inputs: - LAGraph_Graph G, - LAGraph_Matching_kind matching_type, // refer to above enum - bool preserve_mapping, // preserve initial namespace of nodes - bool combine_weights, // whether to sum edge weights or just keep the pattern - uint64_t seed, // used for matching - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_SquareClustering( - // outputs: - GrB_Vector *square_clustering, - // inputs: - LAGraph_Graph G, - char *msg); - - //------------------------------------------------------------------------------ - // a simple example of an algorithm - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGraph_HelloWorld // a simple algorithm, just for illustration - ( - // output - GrB_Matrix *Yhandle, // Y, created on output - // input: not modified - LAGraph_Graph G, - char *msg); - - //------------------------------------------------------------------------------ - // run a breadth first search for multiple source nodes - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGraph_MultiSourceBFS( - // outputs: - GrB_Matrix *level, - GrB_Matrix *parent, - // inputs: - const LAGraph_Graph G, - GrB_Vector src, - char *msg); - - //------------------------------------------------------------------------------ - // estimate the diameter of a graph - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGraph_EstimateDiameter( - // outputs: - GrB_Index *diameter, - GrB_Vector *peripheral, - // inputs: - const LAGraph_Graph G, - GrB_Index maxSrcs, - GrB_Index maxLoops, - uint64_t seed, // seed for randomization - char *msg); - - //------------------------------------------------------------------------------ - // find the exact diameter of a graph - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGraph_ExactDiameter( - // outputs: - GrB_Index *diameter, - GrB_Vector *peripheral, - GrB_Vector *eccentricity, - // inputs: - const LAGraph_Graph G, - GrB_Index k, - char *msg); - - //------------------------------------------------------------------------------ - // HDIP_Fiedler - //------------------------------------------------------------------------------ - - //------------------------------------------------------------------------------ - // applies a Householder Reflection - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGraph_Happly // happly Checked for pointer issues - ( - // outputs: - GrB_Vector y, // y output of Householder reflection on x. - // inputs: - GrB_Vector u, // u, the vector used for application of householder - GrB_Vector x, // x, the vector on which householder reflection is applied - float alpha, // the scalar alpha used for application of householder - // error msg - char *msg); - - //------------------------------------------------------------------------------ - // Compute H*M*H*x = (M-u*x'-x*u)*x - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGraph_hmhx // hmhx checked for pointer issues - ( - // outputs: - GrB_Vector z, // z output of hmhx - // inputs: - GrB_Matrix M, // Matrix used in hmhx - GrB_Vector u, // Vector u used for happly - GrB_Vector x, // Vector x used for happly - float alpha, // the scalar alpha used for happly - char *msg); - - //------------------------------------------------------------------------------ - // Euclidean normalization on a vector - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGraph_norm2 // norm2 checked for pointer mistakes - ( - // outputs: - float norm2, - // inputs: - GrB_Vector v, - // error msg - char *msg); - - //------------------------------------------------------------------------------ - // Computes Laplacian of a Matrix - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGraph_Laplacian // compute the Laplacian matrix - ( - // outputs: - GrB_Matrix *Lap, // the output Laplacian matrix - float *inform, // infinity norm of Lap - // inputs: - GrB_Matrix G, // input matrix, symmetric - char *msg); - - //------------------------------------------------------------------------------ - // Preconditioned Conjugate Gradient - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGraph_mypcg2( - // outputs - GrB_Vector *steper, - GrB_Index *k_result, - // inputs: - GrB_Matrix L, // input matrix, symmetric, result from Laplacian - GrB_Vector u, // vector u will be passed into another function to create Householder reflection - float malpha, // This float - GrB_Matrix invdiag, - GrB_Vector b, - float tol, - float maxit, - // error msging - char *msg); - - //------------------------------------------------------------------------------ - // Computes the Fiedler Vector - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGraph_Hdip_Fiedler // compute the Hdip_Fiedler - ( - // outputs: - GrB_Vector *iters, // Stores number of inner and outer iterations - float *lamb, // Lambda of hdip_fiedler - GrB_Vector *x, // the hdip fielder result vector - // inputs: - GrB_Matrix L, // input matrix, symmetric, result from Laplacian - float InfNorm, - GrB_Vector kmax, - float emax, - float tol, - char *msg); - - //------------------------------------------------------------------------------ - // for GPU development - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGr_TriangleCount_GPU( - // output: - uint64_t *ntriangles, - // input: - const LAGraph_Graph G, - LAGr_TriangleCount_Method *method, - LAGr_TriangleCount_Presort *presort, - char *msg); - - //------------------------------------------------------------------------------ - // Hubs and Authorities - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGr_HITS( - GrB_Vector *hubs, - GrB_Vector *authorities, - int *iters, - const LAGraph_Graph G, - float tol, - int itermax, - char *msg); - - //------------------------------------------------------------------------------ - // graph clustering with quality metrics - //------------------------------------------------------------------------------ - - LAGRAPHX_PUBLIC - int LAGr_PeerPressureClustering( - // output: - GrB_Vector *c_f, // final clustering vector - // input: - bool normalize, // if true, normalize the input graph via out-degree - bool make_undirected, // if true, make G undirected which generally leads to a coarser partitioning - double thresh, // Threshold for convergence (percent of vertices that changed clusters) - int max_iter, // Maximum number of iterations - LAGraph_Graph G, // input graph - char *msg); - - LAGRAPHX_PUBLIC - int LAGr_MarkovClustering( - // output: - GrB_Vector *c_f, // final clustering vector - // input - int e, // expansion coefficient - int i, // inflation coefficient - double pruning_threshold, // threshold for pruning values - double convergence_threshold, // MSE threshold for convergence - int max_iter, // maximum iterations - LAGraph_Graph G, // input graph - char *msg); - - LAGRAPHX_PUBLIC - int LAGr_PartitionQuality( - // Outputs - double *cov, // Coverage - double *perf, // Performance - // Inputs - GrB_Vector c, // Cluster vector where c[i] = j means vertex i is in cluster j - LAGraph_Graph G, // original graph - char *msg); - - LAGRAPHX_PUBLIC - int LAGr_Modularity( - // Outputs - double *mod_handle, // Modularity - // Inputs - double gamma, // Resolution parameter - GrB_Vector c, // Cluster vector where c[i] = j means vertex i is in cluster j - LAGraph_Graph G, // original graph - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_argminmax( - // output - GrB_Matrix *x, // min/max value in each row/col of A - GrB_Matrix *p, // index of min/max value in each row/col of A - // input - GrB_Matrix A, - int dim, // dim=1: cols of A, dim=2: rows of A - bool is_min, - char *msg); - - LAGRAPHX_PUBLIC - int LAGraph_MaximumMatching( - // output/input: - GrB_Vector *mateC, // mateC(j) = i : Column j of C subset is matched to row i of R subset - // input: - LAGraph_Graph G, // input graph - char *msg); - -#if defined(__cplusplus) +LAGRAPHX_PUBLIC +int LAGraph_Random_Seed // construct a random seed vector +( + // input/output + GrB_Vector Seed, // vector of random number seeds, normally GrB_UINT64 + // input + uint64_t seed, // scalar input seed + char *msg +) ; + +LAGRAPHX_PUBLIC +int LAGraph_Random_Next // advance to next random vector +( + // input/output + GrB_Vector Seed, + char *msg +) ; + +LAGRAPHX_PUBLIC +GrB_Info LAGraph_Random_Matrix // random matrix of any built-in type +( + // output + GrB_Matrix *A, // A is constructed on output + // input + GrB_Type type, // type of matrix to construct + GrB_Index nrows, // # of rows of A + GrB_Index ncols, // # of columns of A + double density, // density: build a sparse matrix with + // density*nrows*cols values if not INFINITY; + // build a dense matrix if INFINITY. + uint64_t seed, // random number seed + char *msg +) ; + +//**************************************************************************** +// binary file I/O +//**************************************************************************** + +// The LAGraph *.lagraph file consists of an ASCII JSON header, followed by +// one or more serialized "blobs" created by GrB_Matrix_serialize (or +// GxB_Matrix_serialize if using SuiteSparse:GraphBLAS). The file can only be +// read back into LAGraph when using the same GraphBLAS library used to create +// it. + +// To create a binary file containing one or more GrB_Matrix objects, the user +// application must first open the file f, create the ascii JSON header with +// LAGraph_SWrite_Header*, and then write one or more binary serialized +// GrB_Matrix blobs from using LAGraph_SWrite_Matrix. + +// Example: + +/* + // serialize the matrices A (of type GrB_FP64) and B (of type GrB_BOOL) + void *Ablob, *Bblob ; + GrB_Index Ablob_size, Bblob_size ; + GxB_Matrix_serialize (&Ablob, &Ablob_size, A, NULL) ; + GxB_Matrix_serialize (&Bblob, &Bblob_size, B, NULL) ; + + // open the file and write the JSON header + FILE *f = fopen ("mymatrices.lagraph", "w") ; + LAGraph_SWrite_HeaderStart (f, "mystuff", msg) ; + LAGraph_SWrite_HeaderItem (f, LAGraph_matrix_kind, "A", "double", 0, + Ablob_size, msg) ; + LAGraph_SWrite_HeaderItem (f, LAGraph_matrix_kind, "B", "bool", 0, + Bblob_size, msg) ; + LAGraph_SWrite_HeaderEnd (f, msg) ; + + // write the matrices in binary + LAGraph_SWrite_Item (f, Ablob, Ablob_size, msg) ; + LAGraph_SWrite_Item (f, Bblob, Bblob_size, msg) ; + + fclose (f) ; +*/ + +typedef enum +{ + LAGraph_unknown_kind = -1, // unknown kind + LAGraph_matrix_kind = 0, // a serialized GrB_Matrix + LAGraph_vector_kind = 1, // a serialized GrB_Vector (SS:GrB only) + LAGraph_text_kind = 2, // text (char *), possibly compressed +} +LAGraph_Contents_kind ; + +typedef struct +{ + // serialized matrix/vector, or pointer to text, and its size + void *blob ; + size_t blob_size ; + + // kind of item: matrix, vector, text, or unknown + LAGraph_Contents_kind kind ; + + // if kind is text: compression used + // -1: none, 0: default for library, 1000: LZ4, 200x: LZ4HC:x + int compression ; + + // name of the object + char name [LAGRAPH_MAX_NAME_LEN+4] ; + + // if kind is matrix or vector: type name + char type_name [LAGRAPH_MAX_NAME_LEN+4] ; +} +LAGraph_Contents ; + +LAGRAPHX_PUBLIC +int LAGraph_SWrite_HeaderStart // write the first part of the JSON header +( + FILE *f, // file to write to + const char *name, // name of this collection of matrices + char *msg +) ; + +LAGRAPHX_PUBLIC +int LAGraph_SWrite_HeaderItem // write a single item to the JSON header +( + // inputs: + FILE *f, // file to write to + LAGraph_Contents_kind kind, // matrix, vector, or text + const char *name, // name of the matrix/vector/text; matrices from + // sparse.tamu.edu use the form "Group/Name" + const char *type, // name of type of the matrix/vector + int compression, // text compression method + GrB_Index blob_size, // exact size of serialized blob for this item + char *msg +) ; + +LAGRAPHX_PUBLIC +int LAGraph_SWrite_HeaderItem // write a single item to the JSON header +( + // inputs: + FILE *f, // file to write to + LAGraph_Contents_kind kind, // matrix, vector, or text + const char *name, // name of the matrix/vector/text; matrices from + // sparse.tamu.edu use the form "Group/Name" + const char *type, // name of type of the matrix/vector + // todo: text not yet supported by LAGraph_SWrithe_HeaderItem + int compression, // text compression method + GrB_Index blob_size, // exact size of serialized blob for this item + char *msg +) ; + +LAGRAPHX_PUBLIC +int LAGraph_SWrite_HeaderEnd // write the end of the JSON header +( + FILE *f, // file to write to + char *msg +) ; + +LAGRAPHX_PUBLIC +int LAGraph_SWrite_Item // write the serialized blob of a matrix/vector/text +( + // input: + FILE *f, // file to write to + const void *blob, // serialized blob from G*B_Matrix_serialize + GrB_Index blob_size, // exact size of the serialized blob + char *msg +) ; + +LAGRAPHX_PUBLIC +int LAGraph_SRead // read a set of matrices from a *.lagraph file +( + FILE *f, // file to read from + // output + char **collection, // name of collection (allocated string) + LAGraph_Contents **Contents, // array contents of contents + GrB_Index *ncontents, // # of items in the Contents array + char *msg +) ; + +LAGRAPHX_PUBLIC +void LAGraph_SFreeContents // free the Contents returned by LAGraph_SRead +( + // input/output + LAGraph_Contents **Contents, // array of size ncontents + GrB_Index ncontents +) ; + +LAGRAPHX_PUBLIC +int LAGraph_SSaveSet // save a set of matrices from a *.lagraph file +( + // inputs: + char *filename, // name of file to write to + GrB_Matrix *Set, // array of GrB_Matrix of size nmatrices + GrB_Index nmatrices, // # of matrices to write to *.lagraph file +// todo: handle vectors and text in LAGraph_SSaveSet + char *collection, // name of this collection of matrices + char *msg +) ; + +int LAGraph_SLoadSet // load a set of matrices from a *.lagraph file +( + // input: + char *filename, // name of file to read from + // outputs: + GrB_Matrix **Set_handle, // array of GrB_Matrix of size nmatrices + GrB_Index *nmatrices_handle, // # of matrices loaded from *.lagraph file +// todo: handle vectors and text in LAGraph_SLoadSet +// GrB_Vector **Set_handle, // array of GrB_Vector of size nvector +// GrB_Index **nvectors_handle, // # of vectors loaded from *.lagraph file +// char **Text_handle, // array of pointers to (char *) strings +// GrB_Index **ntext_handle, // # of texts loaded from *.lagraph file + char **collection_handle, // name of this collection of matrices + char *msg +) ; + +LAGRAPHX_PUBLIC +void LAGraph_SFreeSet // free a set of matrices +( + // input/output + GrB_Matrix **Set_handle, // array of GrB_Matrix of size nmatrices + GrB_Index nmatrices // # of matrices in the set +) ; + +LAGRAPHX_PUBLIC +int LAGraph_Incidence_Matrix +( + GrB_Matrix *result, + LAGraph_Graph graph, + char *msg +) ; + +//**************************************************************************** +// Algorithms +//**************************************************************************** + +//**************************************************************************** +/** + * Given a symmetric graph A with no-self edges, compute all k-trusses of A. + * + * @param[out] Cset size n, output k-truss subgraphs. + * @param[out] kmax smallest k where k-truss is empty + * @param[out] ntris Array of size n (on input), ntris [k] is num triangles in k-truss + * @param[out] nedges Array of size n (on input), nedges [k] is num edges in k-truss + * @param[out] nstepss Array of size n (on input), nstepss [k] is num steps for k-truss + * @param[in] G input graph, A, not modified. Must be undirected + * or directed with symmetric structure, no self edges. + * @param[in,out] msg any error messages. + * + * @retval GrB_SUCCESS if completed successfully (equal or not) + * @retval GrB_NULL_POINTER if kmax, ntris, nedges, nsteps is NULL + */ +LAGRAPHX_PUBLIC +int LAGraph_AllKTruss // compute all k-trusses of a graph +( + // outputs + GrB_Matrix *Cset, // size n, output k-truss subgraphs + int64_t *kmax, // smallest k where k-truss is empty + int64_t *ntris, // size max(n,4), ntris [k] is #triangles in k-truss + int64_t *nedges, // size max(n,4), nedges [k] is #edges in k-truss + int64_t *nstepss, // size max(n,4), nstepss [k] is #steps for k-truss + // input + LAGraph_Graph G, // input graph + char *msg +) ; + +//**************************************************************************** +/** + * Given an undirected graph G with no-self edges, LAGraph_KTruss finds the + * k-truss subgraph of G. + * + * @param[out] C k-truss subgraph, of type GrB_UINT32 + * @param[in] G input graph, not modified + * @param[in] k the truss to find + * @param[in,out] msg any error messages. + * + * @retval GrB_SUCCESS if completed successfully (equal or not) + * @retval GrB_NULL_POINTER if C or C_type is NULL + * @return Any GraphBLAS errors that may have been encountered + */ +LAGRAPHX_PUBLIC +int LAGraph_KTruss // compute the k-truss of a graph +( + // outputs: + GrB_Matrix *C, // output k-truss subgraph, C + // inputs: + LAGraph_Graph G, // input graph + uint32_t k, // find the k-truss, where k >= 3 + char *msg +) ; + +//**************************************************************************** +// Connected components +//**************************************************************************** + +/** + * Determine connected components in an undirected graph. + * + * @param[out] result array of component identifiers for each vertex (allocated + * by the algorithm, ownership returned to caller). + * @param[in] A the graph (symmetric) + * @param[in] sanitize If true, test to ensure A is symmetric + * @param[in,out] msg any error messages. + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER if result is NULL + */ +LAGRAPHX_PUBLIC +int LAGraph_cc_lacc ( + GrB_Vector *result, + GrB_Matrix A, + bool sanitize, + char *msg +) ; + +//**************************************************************************** +// Bellman Ford variants +//**************************************************************************** + +/** + * Bellman-Ford single source shortest paths, returning just the shortest path + * lengths. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[in] A matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output or A is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_NO_VALUE if A has a negative weight cycle + */ +LAGRAPHX_PUBLIC +GrB_Info LAGraph_BF_basic +( + GrB_Vector *pd_output, + const GrB_Matrix A, + const GrB_Index s +) ; + +/** + * Bellman-Ford single source shortest paths, returning just the shortest path + * lengths. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[in] A matrix for the graph (optional-ish) + * @param[in] AT transpose of A (optional-ish) + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output is NULL or both A and AT are NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ +LAGRAPHX_PUBLIC +GrB_Info LAGraph_BF_basic_pushpull +( + GrB_Vector *pd_output, + const GrB_Matrix A, + const GrB_Matrix AT, + const GrB_Index s +) ; + +/** + * Bellman-Ford single source shortest paths, returning just the shortest path + * lengths. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[in] AT transposed adjacency matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output or AT is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ +LAGRAPHX_PUBLIC +GrB_Info LAGraph_BF_basic_mxv +( + GrB_Vector *pd_output, //the pointer to the vector of distance + const GrB_Matrix AT, //transposed adjacency matrix for the graph + const GrB_Index s //given index of the source +) ; + +/** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[out] ppi_output the pointer to the vector of parent (created internally) + * @param[out] ph_output the pointer to the vector of hops (created internally) + * @param[in] A adjacency matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ +LAGRAPHX_PUBLIC +GrB_Info LAGraph_BF_full +( + GrB_Vector *pd_output, + GrB_Vector *ppi_output, + GrB_Vector *ph_output, + const GrB_Matrix A, + const GrB_Index s +) ; + +/** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[out] ppi_output the pointer to the vector of parent (created internally) + * @param[out] ph_output the pointer to the vector of hops (created internally) + * @param[in] A adjacency matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ +LAGRAPHX_PUBLIC +GrB_Info LAGraph_BF_full1 +( + GrB_Vector *pd_output, + GrB_Vector *ppi_output, + GrB_Vector *ph_output, + const GrB_Matrix A, + const GrB_Index s +) ; + +/** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[out] ppi_output the pointer to the vector of parent (created internally) + * @param[out] ph_output the pointer to the vector of hops (created internally) + * @param[in] A adjacency matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ +LAGRAPHX_PUBLIC +GrB_Info LAGraph_BF_full1a +( + GrB_Vector *pd_output, + GrB_Vector *ppi_output, + GrB_Vector *ph_output, + const GrB_Matrix A, + const GrB_Index s +) ; + +/** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[out] ppi_output the pointer to the vector of parent (created internally) + * @param[out] ph_output the pointer to the vector of hops (created internally) + * @param[in] A adjacency matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or A is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ +LAGRAPHX_PUBLIC +GrB_Info LAGraph_BF_full2 +( + GrB_Vector *pd_output, //the pointer to the vector of distance + GrB_Vector *ppi_output, //the pointer to the vector of parent + GrB_Vector *ph_output, //the pointer to the vector of hops + const GrB_Matrix A, //matrix for the graph + const GrB_Index s //given index of the source +) ; + +/** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree. + * + * @param[out] pd_output the pointer to the vector of distance (created internally) + * @param[out] ppi_output the pointer to the vector of parent (created internally) + * @param[out] ph_output the pointer to the vector of hops (created internally) + * @param[in] AT transpose of the adjacency matrix for the graph + * @param[in] s index of the source + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd_output, ppi_output, ph_output, or AT is NULL + * @retval GrB_INVALID_VALUE if A is not square, s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ +LAGRAPHX_PUBLIC +GrB_Info LAGraph_BF_full_mxv +( + GrB_Vector *pd_output, + GrB_Vector *ppi_output, + GrB_Vector *ph_output, + const GrB_Matrix AT, + const GrB_Index s +) ; + +/** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree (integer weights). + * + * @param[out] pd pointer to distance vector d, d(k) = shortest distance + * between s and k if k is reachable from s + * @param[out] ppi pointer to parent index vector pi, pi(k) = parent of + * node k in the shortest path tree + * @param[in] s index of the source + * @param[in] n number of nodes + * @param[in] nz number of edges + * @param[in] Ilist row index vector (size n) + * @param[in] J column index vector (size nz) + * @param[in] W weight vector (size nz), W(i) = weight of edge + * (Ilist(i),J(i)) + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd, ppi, Ilist, J, or W is NULL + * @retval GrB_INVALID_VALUE if s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails. + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ +LAGRAPHX_PUBLIC +GrB_Info LAGraph_BF_pure_c +( + int32_t **pd, + + int64_t **ppi, + + const int64_t s, + const int64_t n, + const int64_t nz, + const int64_t *Ilist, + const int64_t *J, + const int32_t *W +) ; + +/** + * Bellman-Ford single source shortest paths, returning both the path lengths + * and the shortest-path tree (double weights). + * + * @param[out] pd pointer to distance vector d, d(k) = shortest distance + * between s and k if k is reachable from s + * @param[out] ppi pointer to parent index vector pi, pi(k) = parent of + * node k in the shortest path tree + * @param[in] s index of the source + * @param[in] n number of nodes + * @param[in] nz number of edges + * @param[in] Ilist row index vector (size n) + * @param[in] J column index vector (size nz) + * @param[in] W weight vector (size nz), W(i) = weight of edge + * (Ilist(i),J(i)) + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If pd, ppi, Ilist, J, or W is NULL + * @retval GrB_INVALID_VALUE if s is not a valid vertex index + * @retval GrB_OUT_OF_MEMORY if allocation fails. + * @retval GrB_NO_VALUE if A has a negative weight cycle + * + */ +LAGRAPHX_PUBLIC +GrB_Info LAGraph_BF_pure_c_double +( + double **pd, + + int64_t **ppi, + + const int64_t s, + const int64_t n, + const int64_t nz, + const int64_t *Ilist, + const int64_t *J, + const double *W +) ; + +//**************************************************************************** +/** + * Community detection using label propagation algorithm + * + * @param[out] CDLP_handle community vector + * @param[in] G the graph + * @param[in] itermax max number of iterations (0 computes nothing) + * @param[in,out] msg any error messages. + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NULL_POINTER If t or CDLP_handle is NULL + * @retval GrB_INVALID_OBJECT If A is not stored in CSR format + * @retval GrB_OUT_OF_MEMORY if allocation fails. + * @retval GrB_NO_VALUE if A has a negative weight cycle + */ +LAGRAPHX_PUBLIC +int LAGraph_cdlp +( + GrB_Vector *CDLP_handle, + LAGraph_Graph G, + int itermax, + char *msg +) ; + +LAGRAPHX_PUBLIC +int LAGraph_cdlp_withsort +( + GrB_Vector *CDLP_handle, + LAGraph_Graph G, + int itermax, + char *msg +) ; + + +//------------------------------------------------------------------------------ +// LAGr_PageRankGX: PageRank as defined in LDBC Graphalytics (GX) +//------------------------------------------------------------------------------ + +/** LAGr_PageRankGX: computes the PageRank of a directed graph G as defined in + * the LDBC Graphalytics benchmark. + * + * @param[out] centrality centrality(i) is the PageRank of node i. + * @param[out] iters number of iterations taken. + * @param[in] G input graph. + * @param[in] damping damping factor (typically 0.85). + * @param[in] itermax maximum number of iterations (typically 100). + * @param[in,out] msg any error messages. + * + * @retval GrB_SUCCESS if successful. + * @retval GrB_NULL_POINTER if G, centrality, and/our iters are NULL. + * @retval LAGRAPH_NOT_CACHED if G->AT is required but not present, + * or if G->out_degree is not present. + * @retval LAGRAPH_INVALID_GRAPH Graph is invalid + * (@sphinxref{LAGraph_CheckGraph} failed). + * @returns any GraphBLAS errors that may have been encountered. + */ +LAGRAPHX_PUBLIC +int LAGr_PageRankGX +( + // output: + GrB_Vector *centrality, + int *iters, + // input: + const LAGraph_Graph G, + float damping, + int itermax, + char *msg +) ; + +//**************************************************************************** +/** + * Sparse deep neural network inference. Performs ReLU inference using input + * feature vectors Y0. + * + * @param[out] Yhandle Y, created on output + * @param[in] W W [0..nlayers-1], each nneurons-by-nneurons + * @param[in] Bias Bias [0..nlayers-1], diagonal nneurons-by-nneurons + * @param[in] nlayers number of layers + * @param[in] Y0 input features: nfeatures-by-nneurons + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NOT_IMPLEMENTED vanilla version has not been implemented yet + * @retval GrB_NULL_POINTER If Yhandle, W, Bias, or Y0 is NULL + * @retval GrB_DOMAIN_MISMATCH if type of Y0 is not FP32 or FP64, or the types of + * W or Bias arent the same as Y0 + */ +LAGRAPHX_PUBLIC +GrB_Info LAGraph_dnn +( + // output + GrB_Matrix *Yhandle, + // input: not modified + GrB_Matrix *W, + GrB_Matrix *Bias, + int nlayers, + GrB_Matrix Y0 +) ; + +//**************************************************************************** +/** + * Compute all-pairs shortest paths using Floyd-Warshall method + * + * @param[in] G input graph, with edge weights + * @param[out] D output graph, created on output + * @param[out] D_type type of scalar stored in D (see source for explanation) + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NOT_IMPLEMENTED vanilla version has not been implemented yet + * @retval GrB_NULL_POINTER If D or D_type is NULL + * @retval GrB_INVALID_VALUE If G is not square + */ +LAGRAPHX_PUBLIC +GrB_Info LAGraph_FW +( + const GrB_Matrix G, + GrB_Matrix *D, + GrB_Type *D_type +) ; + +//**************************************************************************** +/** + * Compute the local clustering coefficient for all nodes in a graph. + * + * @param[out] LCC_handle output vector holding coefficients + * @param[in] G the graph + * @param[in,out] msg any error messages. + * + * @retval GrB_SUCCESS if completed successfully + * @retval GrB_NOT_IMPLEMENTED vanilla version has not been implemented yet + * @retval GrB_NULL_POINTER If LCC_handle or LCC_type is NULL + * @retval GrB_INVALID_VALUE If A is not stored in CSR format + */ +LAGRAPHX_PUBLIC +int LAGraph_lcc // compute lcc for all nodes in A +( + GrB_Vector *LCC_handle, // output vector + LAGraph_Graph G, // input graph + char *msg +) ; + +//**************************************************************************** + +LAGRAPHX_PUBLIC +int LAGraph_msf +( + GrB_Matrix *result, // output: an unsymmetrical matrix, the spanning forest + GrB_Matrix A, // input matrix + bool sanitize, // if true, ensure A is symmetric + char *msg +) ; + +//**************************************************************************** + +LAGRAPHX_PUBLIC +int LAGraph_scc ( + GrB_Vector *result, // output: array of component identifiers + GrB_Matrix A, // input matrix + char *msg +) ; + +//**************************************************************************** +LAGRAPHX_PUBLIC +int LAGraph_VertexCentrality_Triangle // vertex triangle-centrality +( + // outputs: + GrB_Vector *centrality, // centrality(i): triangle centrality of i + uint64_t *ntriangles, // # of triangles in the graph + // inputs: + int method, // 0, 1, 2, or 3 + LAGraph_Graph G, // input graph + char *msg +) ; + +//**************************************************************************** +LAGRAPHX_PUBLIC +int LAGraph_MaximalIndependentSet // maximal independent set +( + // outputs: + GrB_Vector *mis, // mis(i) = true if i is in the set + // inputs: + LAGraph_Graph G, // input graph + uint64_t seed, // random number seed + GrB_Vector ignore_node, // if NULL, no nodes are ignored. Otherwise + // ignore_node(i) = true if node i is to be + // ignored, and not treated as a candidate + // added to maximal independent set. + char *msg +) ; + +LAGRAPHX_PUBLIC +int LG_CC_FastSV5 // SuiteSparse:GraphBLAS method, with GxB extensions +( + // output + GrB_Vector *component, // output: array of component identifiers + // inputs + LAGraph_Graph G, // input graph, modified then restored + char *msg +) ; + +//------------------------------------------------------------------------------ +// kcore algorithms +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGraph_KCore_All +( + // outputs: + GrB_Vector *decomp, // kcore decomposition + uint64_t *kmax, + // inputs: + LAGraph_Graph G, // input graph + char *msg +) ; + +LAGRAPHX_PUBLIC +int LAGraph_KCore +( + // outputs: + GrB_Vector *decomp, // kcore decomposition + // inputs: + LAGraph_Graph G, // input graph + uint64_t k, //k level to compare to + char *msg +) ; + +LAGRAPHX_PUBLIC +int LAGraph_KCore_Decompose +( + // outputs: + GrB_Matrix *D, // kcore decomposition + // inputs: + LAGraph_Graph G, // input graph + GrB_Vector decomp, // input decomposition matrix + uint64_t k, + char *msg +) ; + +//------------------------------------------------------------------------------ +// counting graphlets +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGraph_FastGraphletTransform +( + // outputs: + GrB_Matrix *F_net, // 16-by-n matrix of graphlet counts + // inputs: + LAGraph_Graph G, + bool compute_d_15, // probably this makes most sense + char *msg +) ; + +//------------------------------------------------------------------------------ +// matching and coarsening +//------------------------------------------------------------------------------ + +typedef enum +{ + LAGraph_Matching_unweighted = 0, + LAGraph_Matching_heavy = 1, + LAGraph_Matching_light = 2, +} +LAGraph_Matching_kind ; + +LAGRAPHX_PUBLIC +int LAGraph_MaximalMatching +( + // outputs: + GrB_Vector *matching, + // inputs: + GrB_Matrix E, // incidence matrix, not part of LAGraph_Graph (for now) + GrB_Matrix E_t, // incidence transposed + LAGraph_Matching_kind matching_type, // refer to above enum + uint64_t seed, // random number seed + char *msg +) ; + +LAGRAPHX_PUBLIC +int LAGraph_Coarsen_Matching +( + // outputs: + GrB_Matrix *coarsened, // coarsened adjacency + GrB_Vector *parent_result, // description in LAGraph_CoarsenMatching + GrB_Vector *newlabel_result, // description in LAGraph_CoarsenMatching + GrB_Vector *inv_newlabel_result, // description in LAGraph_CoarsenMatching + // inputs: + LAGraph_Graph G, + LAGraph_Matching_kind matching_type, // refer to above enum + bool preserve_mapping, // preserve initial namespace of nodes + bool combine_weights, // whether to sum edge weights or just keep the pattern + uint64_t seed, // used for matching + char *msg +) ; + +LAGRAPHX_PUBLIC +int LAGraph_SquareClustering +( + // outputs: + GrB_Vector *square_clustering, + // inputs: + LAGraph_Graph G, + char *msg +) ; + +//------------------------------------------------------------------------------ +// a simple example of an algorithm +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGraph_HelloWorld // a simple algorithm, just for illustration +( + // output + GrB_Matrix *Yhandle, // Y, created on output + // input: not modified + LAGraph_Graph G, + char *msg +) ; + +//------------------------------------------------------------------------------ +// run a breadth first search for multiple source nodes +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGraph_MultiSourceBFS +( + // outputs: + GrB_Matrix *level, + GrB_Matrix *parent, + // inputs: + const LAGraph_Graph G, + GrB_Vector src, + char *msg +) ; + +//------------------------------------------------------------------------------ +// estimate the diameter of a graph +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGraph_EstimateDiameter +( + // outputs: + GrB_Index *diameter, + GrB_Vector *peripheral, + // inputs: + const LAGraph_Graph G, + GrB_Index maxSrcs, + GrB_Index maxLoops, + uint64_t seed, // seed for randomization + char *msg +) ; + +//------------------------------------------------------------------------------ +// find the exact diameter of a graph +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGraph_ExactDiameter +( + // outputs: + GrB_Index *diameter, + GrB_Vector *peripheral, + GrB_Vector *eccentricity, + // inputs: + const LAGraph_Graph G, + GrB_Index k, + char *msg +) ; + +//------------------------------------------------------------------------------ +// HDIP_Fiedler +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +// applies a Householder Reflection +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGraph_Happly // happly Checked for pointer issues +( + // outputs: + GrB_Vector y, // y output of Householder reflection on x. + // inputs: + GrB_Vector u, // u, the vector used for application of householder + GrB_Vector x, // x, the vector on which householder reflection is applied + float alpha, // the scalar alpha used for application of householder + // error msg + char *msg +); + +//------------------------------------------------------------------------------ +// Compute H*M*H*x = (M-u*x'-x*u)*x +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGraph_hmhx // hmhx checked for pointer issues +( + // outputs: + GrB_Vector z, // z output of hmhx + // inputs: + GrB_Matrix M, // Matrix used in hmhx + GrB_Vector u, // Vector u used for happly + GrB_Vector x, // Vector x used for happly + float alpha, // the scalar alpha used for happly + char *msg +); + +//------------------------------------------------------------------------------ +// Euclidean normalization on a vector +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGraph_norm2 // norm2 checked for pointer mistakes +( + // outputs: + float norm2, + // inputs: + GrB_Vector v, + // error msg + char *msg +); + +//------------------------------------------------------------------------------ +// Computes Laplacian of a Matrix +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGraph_Laplacian // compute the Laplacian matrix +( + // outputs: + GrB_Matrix *Lap, // the output Laplacian matrix + float *inform, // infinity norm of Lap + // inputs: + GrB_Matrix G, // input matrix, symmetric + char *msg +); + +//------------------------------------------------------------------------------ +// Preconditioned Conjugate Gradient +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGraph_mypcg2( + // outputs + GrB_Vector *steper, + GrB_Index *k_result, + // inputs: + GrB_Matrix L, // input matrix, symmetric, result from Laplacian + GrB_Vector u, // vector u will be passed into another function to create Householder reflection + float malpha, // This float + GrB_Matrix invdiag, + GrB_Vector b, + float tol, + float maxit, + // error msging + char *msg +); + +//------------------------------------------------------------------------------ +// Computes the Fiedler Vector +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGraph_Hdip_Fiedler // compute the Hdip_Fiedler +( + // outputs: + GrB_Vector *iters, // Stores number of inner and outer iterations + float *lamb, // Lambda of hdip_fiedler + GrB_Vector *x, // the hdip fielder result vector + // inputs: + GrB_Matrix L, // input matrix, symmetric, result from Laplacian + float InfNorm, + GrB_Vector kmax, + float emax, + float tol, + char *msg +); + +//------------------------------------------------------------------------------ +// for GPU development +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGr_TriangleCount_GPU +( + // output: + uint64_t *ntriangles, + // input: + const LAGraph_Graph G, + LAGr_TriangleCount_Method *method, + LAGr_TriangleCount_Presort *presort, + char *msg +) ; + +//------------------------------------------------------------------------------ +// Hubs and Authorities +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGr_HITS +( + GrB_Vector *hubs, + GrB_Vector *authorities, + int *iters, + const LAGraph_Graph G, + float tol, + int itermax, + char *msg +) ; + +//------------------------------------------------------------------------------ +// graph clustering with quality metrics +//------------------------------------------------------------------------------ + +LAGRAPHX_PUBLIC +int LAGr_PeerPressureClustering( + // output: + GrB_Vector *c_f, // final clustering vector + // input: + bool normalize, // if true, normalize the input graph via out-degree + bool make_undirected, // if true, make G undirected which generally leads to a coarser partitioning + double thresh, // Threshold for convergence (percent of vertices that changed clusters) + int max_iter, // Maximum number of iterations + LAGraph_Graph G, // input graph + char *msg +); + +LAGRAPHX_PUBLIC +int LAGr_MarkovClustering( + // output: + GrB_Vector *c_f, // final clustering vector + // input + int e, // expansion coefficient + int i, // inflation coefficient + double pruning_threshold, // threshold for pruning values + double convergence_threshold, // MSE threshold for convergence + int max_iter, // maximum iterations + LAGraph_Graph G, // input graph + char *msg +); + +LAGRAPHX_PUBLIC +int LAGr_PartitionQuality( + // Outputs + double *cov, // Coverage + double *perf, // Performance + // Inputs + GrB_Vector c, // Cluster vector where c[i] = j means vertex i is in cluster j + LAGraph_Graph G, // original graph + char *msg +); + +LAGRAPHX_PUBLIC +int LAGr_Modularity( + // Outputs + double *mod_handle, // Modularity + // Inputs + double gamma, // Resolution parameter + GrB_Vector c, // Cluster vector where c[i] = j means vertex i is in cluster j + LAGraph_Graph G, // original graph + char *msg +) ; + +LAGRAPHX_PUBLIC +int LAGraph_argminmax +( + // output + GrB_Matrix *x, // min/max value in each row/col of A + GrB_Matrix *p, // index of min/max value in each row/col of A + // input + GrB_Matrix A, + int dim, // dim=1: cols of A, dim=2: rows of A + bool is_min, + char *msg +); + +LAGRAPHX_PUBLIC +int LAGraph_MaximumMatching( + // output/input: + GrB_Vector *mateC, // mateC(j) = i : Column j of C subset is matched to row i of R subset + // input: + LAGraph_Graph G, // input graph + char *msg); + +#if defined ( __cplusplus ) } #endif From d8b48faf8ff6d756c32b8316c0f0d6635645a85c Mon Sep 17 00:00:00 2001 From: kchristin Date: Fri, 7 Jun 2024 18:06:16 -0500 Subject: [PATCH 04/69] Discard visited rows and Set parents of newly visited rows --- .../algorithm/LAGraph_MaximumMatching.c | 58 +++++++++++++------ 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 39af8ab97f..af5bd261e1 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -38,31 +38,31 @@ typedef struct { - GrB_Index parentC; - GrB_Index rootC; + uint64_t parentC; + uint64_t rootC; } vertex; // repeat the typedef as a string, to give to GraphBLAS -#define VERTEX_DEFN \ - "typedef struct " \ - "{ " \ - "GrB_Index parentC; " \ - "GrB_Index rootC; " \ - "} " \ +#define VERTEX_DEFN \ + "typedef struct " \ + "{ " \ + "uint64_t parentC; " \ + "uint64_t rootC; " \ + "} " \ "vertex; " int a = 0; -void *initFrontier(vertex *z, void *x, GrB_Index i, GrB_Index j, const void *y) +void *initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const void *y) { z->parentC = i; z->rootC = i; } -#define INIT_FRONTIER_DEFN \ - "void *initFrontier(vertex *z, void *x, GrB_Index i, GrB_Index j, const void *y) " \ - "{ " \ - "z->parentC = i; " \ - "z->rootC = i; " \ +#define INIT_FRONTIER_DEFN \ + "void *initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const void *y) " \ + "{ " \ + "z->parentC = i; " \ + "z->rootC = i; " \ "} " void *minparent(vertex *z, vertex *x, vertex *y) @@ -89,6 +89,17 @@ void *select2nd(vertex *z, bool *x, vertex *y) "z->rootC = y->rootC;" \ "} " +void *keepParents(uint64_t *z, vertex *x) +{ + *z = x->parentC; +} + +#define KEEP_PARENTS_DEFN \ + "void *keepParents(uint64_t *z, vertex *x) " \ + "{ " \ + "*z = x->parentC; " \ + "} " + int LAGraph_MaximumMatching( // output/input: GrB_Vector *mateC, // mateC(j) = i : Column j of C subset is matched to row i of R subset @@ -148,6 +159,9 @@ int LAGraph_MaximumMatching( GrB_Semiring semiring = NULL; GRB_TRY(GrB_Semiring_new(&semiring, AddMonoid, MultMonoid)); + GrB_UnaryOp parentsOp = NULL; + GRB_TRY(GxB_UnaryOp_new(&parentsOp, (void *)keepParents, GrB_UINT64, Vertex, "keepParents", KEEP_PARENTS_DEFN)); + do { GRB_TRY(GrB_Vector_clear(pathC)); @@ -165,17 +179,27 @@ int LAGraph_MaximumMatching( // do // { - GRB_TRY(GrB_mxv(frontierR, NULL, NULL, semiring, A, frontierC, NULL)); + GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, semiring, A, frontierC, GrB_DESC_RSC)); // perform one step of BFS from C nodes and keep only unvisited rows + GRB_TRY(GrB_Vector_apply(parentsR, NULL, NULL, parentsOp, frontierR, NULL)); // set parents of row frontier GRB_TRY(GrB_Vector_nvals(&nvals, frontierC)); // } while (nvals); GrB_Index R[nrows]; - GrB_Vector_extractTuples_UDT(R, X, &nrows, frontierR); + vertex *Y = malloc(nrows * sizeof(vertex)); + GrB_Vector_extractTuples_UDT(R, Y, &nrows, frontierR); + for (int k = 0; k < nrows; k++) + { + printf("\nfr (%d) = (%ld, %ld)", (int)R[k], Y[k].parentC, Y[k].rootC); + } + + uint64_t P[nrows]; + GrB_Index N[nrows]; + GrB_Vector_extractTuples_UINT64(N, P, &nrows, parentsR); for (int k = 0; k < nrows; k++) { - printf("\nfr (%d) = (%ld, %ld)", (int)R[k], X[k].parentC, X[k].rootC); + printf("\npr (%d) = %ld", (int)N[k], P[k]); } LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); From 9f49b4c7da223835ad53d880a00cb962e7814cb4 Mon Sep 17 00:00:00 2001 From: kchristin Date: Sat, 8 Jun 2024 12:43:40 -0500 Subject: [PATCH 05/69] Compute mateR through inverting mateC --- .../algorithm/LAGraph_MaximumMatching.c | 64 ++++++++++++------- 1 file changed, 42 insertions(+), 22 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index af5bd261e1..b9ee6dc30f 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -102,7 +102,7 @@ void *keepParents(uint64_t *z, vertex *x) int LAGraph_MaximumMatching( // output/input: - GrB_Vector *mateC, // mateC(j) = i : Column j of C subset is matched to row i of R subset + GrB_Vector *mateC, // mateC(j) = i : Column j of the C subset is matched to row i of the R subset // input: LAGraph_Graph G, // input graph char *msg) @@ -143,7 +143,7 @@ int LAGraph_MaximumMatching( uint64_t nvals = 0; bool y = 0; // see if I can get rid of this - GrB_Vector I = NULL; // dense matrix of 1's + GrB_Vector I = NULL; // dense vector of 1's GRB_TRY(GrB_Vector_new(&I, GrB_BOOL, ncols)); GRB_TRY(GrB_Vector_assign_INT32(I, NULL, NULL, 1, GrB_ALL, ncols, NULL)); @@ -162,45 +162,65 @@ int LAGraph_MaximumMatching( GrB_UnaryOp parentsOp = NULL; GRB_TRY(GxB_UnaryOp_new(&parentsOp, (void *)keepParents, GrB_UINT64, Vertex, "keepParents", KEEP_PARENTS_DEFN)); + GrB_Vector ufrontierR = NULL; // unmatched rows of R frontier + GRB_TRY(GrB_Vector_new(&ufrontierR, Vertex, nrows)); + + GrB_Vector mateR = NULL; // mateR(i) = j : Row i of the R subset is matched to column j of the C subset + GRB_TRY(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); + do { GRB_TRY(GrB_Vector_clear(pathC)); GRB_TRY(GrB_Vector_clear(parentsR)); // for every col j not matched, assign f(j) = VERTEX(j,j) GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, *mateC, NULL, initFrontierOp, I, &y, GrB_DESC_RSC)); - GrB_Index C[ncols]; - vertex *X = malloc(ncols * sizeof(vertex)); - GrB_Vector_extractTuples_UDT(C, X, &ncols, frontierC); - for (int k = 0; k < ncols; k++) - { - printf("\nfc (%d) = (%ld, %ld)", (int)C[k], X[k].parentC, X[k].rootC); - } + + /* debug + GrB_Index C[ncols]; + vertex *V = malloc(ncols * sizeof(vertex)); + GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); + for (int k = 0; k < ncols; k++) + { + printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, V[k].rootC); + } GxB_Vector_fprint(*mateC, "mateC", GxB_COMPLETE, stdout); + */ + + uint64_t nmatched = 0; + GRB_TRY(GrB_Vector_nvals(&nmatched, *mateC)); + GrB_Index J[nmatched]; + uint64_t X[nmatched]; + GRB_TRY(GrB_Vector_extractTuples_UINT64(J, X, &nmatched, *mateC)); + GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); + + /* debug + GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); + */ // do // { GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, semiring, A, frontierC, GrB_DESC_RSC)); // perform one step of BFS from C nodes and keep only unvisited rows GRB_TRY(GrB_Vector_apply(parentsR, NULL, NULL, parentsOp, frontierR, NULL)); // set parents of row frontier - GRB_TRY(GrB_Vector_nvals(&nvals, frontierC)); - - // } while (nvals); + GRB_TRY(GrB_Vector_assign(ufrontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RSC)); // select unmatched rows of the R frontier + GRB_TRY(GrB_Vector_assign(frontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RS)) // select matched rows of the R frontier + /* debug GrB_Index R[nrows]; - vertex *Y = malloc(nrows * sizeof(vertex)); - GrB_Vector_extractTuples_UDT(R, Y, &nrows, frontierR); + vertex *VR = malloc(nrows * sizeof(vertex)); + GrB_Vector_extractTuples_UDT(R, VR, &nrows, frontierR); for (int k = 0; k < nrows; k++) { - printf("\nfr (%d) = (%ld, %ld)", (int)R[k], Y[k].parentC, Y[k].rootC); + printf("\nfr (%d) = (%ld, %ld)", (int)R[k], VR[k].parentC, VR[k].rootC); } + GxB_Vector_fprint(parentsR, "pr", GxB_COMPLETE, stdout); + */ - uint64_t P[nrows]; - GrB_Index N[nrows]; - GrB_Vector_extractTuples_UINT64(N, P, &nrows, parentsR); - for (int k = 0; k < nrows; k++) - { - printf("\npr (%d) = %ld", (int)N[k], P[k]); - } + GRB_TRY(GrB_Vector_nvals(&nvals, frontierC)); + + // } while (nvals); + + // GRB_TRY(GrB_Vector_assign()) LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); From ee80f2737b96a9f5919fb995b1a6630933fd8bce Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 10 Jun 2024 10:14:52 -0500 Subject: [PATCH 06/69] Update pathC --- .../algorithm/LAGraph_MaximumMatching.c | 42 +++++++++++++++++-- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index b9ee6dc30f..70ba8c6c6e 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -100,6 +100,17 @@ void *keepParents(uint64_t *z, vertex *x) "*z = x->parentC; " \ "} " +void *keepRoots(uint64_t *z, vertex *x) +{ + *z = x->rootC; +} + +#define KEEP_ROOTS_DEFN \ + "void *keepRoots(uint64_t *z, vertex *x) " \ + "{ " \ + "*z = x->rootC; " \ + "} " + int LAGraph_MaximumMatching( // output/input: GrB_Vector *mateC, // mateC(j) = i : Column j of the C subset is matched to row i of the R subset @@ -159,8 +170,11 @@ int LAGraph_MaximumMatching( GrB_Semiring semiring = NULL; GRB_TRY(GrB_Semiring_new(&semiring, AddMonoid, MultMonoid)); - GrB_UnaryOp parentsOp = NULL; - GRB_TRY(GxB_UnaryOp_new(&parentsOp, (void *)keepParents, GrB_UINT64, Vertex, "keepParents", KEEP_PARENTS_DEFN)); + GrB_UnaryOp getParentsOp = NULL; + GRB_TRY(GxB_UnaryOp_new(&getParentsOp, (void *)keepParents, GrB_UINT64, Vertex, "keepParents", KEEP_PARENTS_DEFN)); + + GrB_UnaryOp getRootsOp = NULL; + GRB_TRY(GxB_UnaryOp_new(&getRootsOp, (void *)keepRoots, GrB_UINT64, Vertex, "keepRoots", KEEP_ROOTS_DEFN)); GrB_Vector ufrontierR = NULL; // unmatched rows of R frontier GRB_TRY(GrB_Vector_new(&ufrontierR, Vertex, nrows)); @@ -168,6 +182,9 @@ int LAGraph_MaximumMatching( GrB_Vector mateR = NULL; // mateR(i) = j : Row i of the R subset is matched to column j of the C subset GRB_TRY(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); + GrB_Vector rootsR = NULL; + GRB_TRY(GrB_Vector_new(&rootsR, GrB_UINT64, nrows)); + do { GRB_TRY(GrB_Vector_clear(pathC)); @@ -191,7 +208,7 @@ int LAGraph_MaximumMatching( GrB_Index J[nmatched]; uint64_t X[nmatched]; GRB_TRY(GrB_Vector_extractTuples_UINT64(J, X, &nmatched, *mateC)); - GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); + GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); // clear mateR first? cause I use first /* debug GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); @@ -200,7 +217,7 @@ int LAGraph_MaximumMatching( // do // { GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, semiring, A, frontierC, GrB_DESC_RSC)); // perform one step of BFS from C nodes and keep only unvisited rows - GRB_TRY(GrB_Vector_apply(parentsR, NULL, NULL, parentsOp, frontierR, NULL)); // set parents of row frontier + GRB_TRY(GrB_Vector_apply(parentsR, NULL, NULL, getParentsOp, frontierR, NULL)); // set parents of row frontier // does it erase the previous values GRB_TRY(GrB_Vector_assign(ufrontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RSC)); // select unmatched rows of the R frontier GRB_TRY(GrB_Vector_assign(frontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RS)) // select matched rows of the R frontier @@ -215,6 +232,23 @@ int LAGraph_MaximumMatching( } GxB_Vector_fprint(parentsR, "pr", GxB_COMPLETE, stdout); */ + uint64_t nUfR = 0; + GRB_TRY(GrB_Vector_nvals(&nUfR, ufrontierR)); + + if (nUfR) + { + GRB_TRY(GrB_Vector_apply(rootsR, NULL, NULL, getRootsOp, ufrontierR, NULL)); // get roots of row unmatched nodes of the R frontier + + GrB_Index i[nUfR]; + uint64_t values[nUfR]; + GRB_TRY(GrB_Vector_extractTuples_UINT64(i, values, &nUfR, rootsR)); + GRB_TRY(GrB_Vector_build_UINT64(pathC, values, i, nUfR, GrB_FIRST_UINT64)); // does it erase the previous values + + // GrB_Index + // GRB_TRY() + } + + // GRB_TRY(); GRB_TRY(GrB_Vector_nvals(&nvals, frontierC)); From efbc6ea845f244a2ffbe69d1f31497c6f5a8e8fb Mon Sep 17 00:00:00 2001 From: kchristin Date: Wed, 12 Jun 2024 11:28:38 -0500 Subject: [PATCH 07/69] Fix vector_build usage --- experimental/algorithm/LAGraph_MaximumMatching.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 70ba8c6c6e..e21ab34aa5 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -185,6 +185,9 @@ int LAGraph_MaximumMatching( GrB_Vector rootsR = NULL; GRB_TRY(GrB_Vector_new(&rootsR, GrB_UINT64, nrows)); + GrB_Vector pathUpdate = NULL; + GRB_TRY(GrB_Vector_new(&pathUpdate, GrB_UINT64, ncols)); + do { GRB_TRY(GrB_Vector_clear(pathC)); @@ -208,7 +211,8 @@ int LAGraph_MaximumMatching( GrB_Index J[nmatched]; uint64_t X[nmatched]; GRB_TRY(GrB_Vector_extractTuples_UINT64(J, X, &nmatched, *mateC)); - GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); // clear mateR first? cause I use first + GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method + GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); /* debug GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); @@ -242,7 +246,9 @@ int LAGraph_MaximumMatching( GrB_Index i[nUfR]; uint64_t values[nUfR]; GRB_TRY(GrB_Vector_extractTuples_UINT64(i, values, &nUfR, rootsR)); - GRB_TRY(GrB_Vector_build_UINT64(pathC, values, i, nUfR, GrB_FIRST_UINT64)); // does it erase the previous values + GRB_TRY(GrB_Vector_clear(pathUpdate)); + GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, values, i, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates + GRB_TRY(GrB_Vector_assign(pathC, NULL, NULL, pathUpdate, GrB_ALL, NULL)); // GrB_Index // GRB_TRY() From 402f381ebbafbc98ee61e7dd4901f255ab749bd2 Mon Sep 17 00:00:00 2001 From: kchristin Date: Wed, 12 Jun 2024 17:13:12 -0500 Subject: [PATCH 08/69] Draft: Add PRUNE function --- .../algorithm/LAGraph_MaximumMatching.c | 74 +++++++++++++++---- 1 file changed, 60 insertions(+), 14 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index e21ab34aa5..5166c95fa3 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -111,6 +111,19 @@ void *keepRoots(uint64_t *z, vertex *x) "*z = x->rootC; " \ "} " +void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, const void *y) +{ + z->parentC = *x; + z->rootC = i; +} + +#define BUILT_FC_TUPLES_DEFN \ + "void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, const void *y) " \ + "{ " \ + "z->parentC = *x; " \ + "z->rootC = i; " \ + "} " + int LAGraph_MaximumMatching( // output/input: GrB_Vector *mateC, // mateC(j) = i : Column j of the C subset is matched to row i of the R subset @@ -182,12 +195,24 @@ int LAGraph_MaximumMatching( GrB_Vector mateR = NULL; // mateR(i) = j : Row i of the R subset is matched to column j of the C subset GRB_TRY(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); - GrB_Vector rootsR = NULL; - GRB_TRY(GrB_Vector_new(&rootsR, GrB_UINT64, nrows)); + GrB_Vector rootsufR = NULL; + GRB_TRY(GrB_Vector_new(&rootsufR, GrB_UINT64, nrows)); GrB_Vector pathUpdate = NULL; GRB_TRY(GrB_Vector_new(&pathUpdate, GrB_UINT64, ncols)); + GrB_Vector rootufRIndexes = NULL; + GRB_TRY(GrB_Vector_new(&rootufRIndexes, GrB_UINT64, ncols)); + + GrB_Vector rootsfR = NULL; + GRB_TRY(GrB_Vector_new(&rootsfR, GrB_UINT64, nrows)); + + GrB_Vector rootfRIndexes = NULL; + GRB_TRY(GrB_Vector_new(&rootfRIndexes, GrB_UINT64, ncols)); + + GrB_IndexUnaryOp buildfCTuplesOp = NULL; + GRB_TRY(GxB_IndexUnaryOp_new(&buildfCTuplesOp, (void *)buildfCTuples, Vertex, GrB_UINT64, GrB_BOOL, "buildfCTuples", BUILT_FC_TUPLES_DEFN)); + do { GRB_TRY(GrB_Vector_clear(pathC)); @@ -241,31 +266,52 @@ int LAGraph_MaximumMatching( if (nUfR) { - GRB_TRY(GrB_Vector_apply(rootsR, NULL, NULL, getRootsOp, ufrontierR, NULL)); // get roots of row unmatched nodes of the R frontier + GRB_TRY(GrB_Vector_apply(rootsufR, NULL, NULL, getRootsOp, ufrontierR, NULL)); // get roots of row unmatched nodes in the R frontier - GrB_Index i[nUfR]; - uint64_t values[nUfR]; - GRB_TRY(GrB_Vector_extractTuples_UINT64(i, values, &nUfR, rootsR)); + GrB_Index i[nrows]; // free this + uint64_t values[nrows]; + GRB_TRY(GrB_Vector_extractTuples_UINT64(i, values, &nUfR, rootsufR)); GRB_TRY(GrB_Vector_clear(pathUpdate)); GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, values, i, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates - GRB_TRY(GrB_Vector_assign(pathC, NULL, NULL, pathUpdate, GrB_ALL, NULL)); + GRB_TRY(GrB_Vector_assign(pathC, NULL, NULL, pathUpdate, GrB_ALL, nUfR, NULL)); - // GrB_Index - // GRB_TRY() - } + GrB_Index npathValues = 0; + GRB_TRY(GxB_Vector_unpack_CSC(pathUpdate, NULL, (void **)&values, NULL, &npathValues, NULL, NULL, NULL, NULL)); // free pathUpdate + + GRB_TRY(GrB_Vector_assign(rootufRIndexes, rootufRIndexes, NULL, I, values, ncols, NULL)); // see if ncols is ok + + GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, frontierR, NULL)); // get roots of row nodes in the current R frontier + + GRB_TRY(GrB_Vector_extractTuples_UINT64(i, values, &nrows, rootsfR)); // see if I have to make n more specific (nvals of frontier R) + // TODO: i = mateR + // GRB_TRY(GrB_Vector_assign(mateR, NULL, NULL, frontierR, values, nrows, NULL)); // keep rows that are included in indexes with their column mates (all these rows have mates) + GRB_TRY(GrB_Vector_clear(rootfRIndexes)); + GRB_TRY(GrB_Vector_build_UINT64(rootfRIndexes, values, i, nrows, GrB_FIRST_UINT64)); + + GRB_TRY(GrB_Vector_assign(rootfRIndexes, rootufRIndexes, NULL, rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); // keep only col roots that are not included in ufR + // rootfRIndexes(j) = i, where i is the col mate of the row included in the current R frontier and the col root is j + GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, buildfCTuplesOp, rootfRIndexes, &y, NULL)); - // GRB_TRY(); + GRB_TRY(GrB_Vector_assign(frontierC, NULL, NULL, frontierC, i, nrows, NULL)); + + // /* debug + GrB_Index C[ncols]; + vertex *V = malloc(ncols * sizeof(vertex)); + GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); + for (int k = 0; k < ncols; k++) + { + printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, V[k].rootC); + } + // */ + } GRB_TRY(GrB_Vector_nvals(&nvals, frontierC)); // } while (nvals); - // GRB_TRY(GrB_Vector_assign()) - LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); GRB_TRY(GrB_Vector_nvals(&nvals, pathC)); - } while (nvals); // only in the first and last iteration should this condition be false return (GrB_SUCCESS); From 23d648b90dea8f3afcbddc0c376fee0d2445ac37 Mon Sep 17 00:00:00 2001 From: kchristin Date: Thu, 13 Jun 2024 16:56:45 -0500 Subject: [PATCH 09/69] Finish PRUNE function --- .../algorithm/LAGraph_MaximumMatching.c | 53 +++++++++++-------- experimental/test/test_MaximumMatching.c | 7 +-- 2 files changed, 36 insertions(+), 24 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 5166c95fa3..2dc31f0a0a 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -113,15 +113,15 @@ void *keepRoots(uint64_t *z, vertex *x) void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, const void *y) { - z->parentC = *x; - z->rootC = i; + z->parentC = i; + z->rootC = *x; } #define BUILT_FC_TUPLES_DEFN \ "void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, const void *y) " \ "{ " \ - "z->parentC = *x; " \ - "z->rootC = i; " \ + "z->parentC = i; " \ + "z->rootC = *x; " \ "} " int LAGraph_MaximumMatching( @@ -268,32 +268,43 @@ int LAGraph_MaximumMatching( { GRB_TRY(GrB_Vector_apply(rootsufR, NULL, NULL, getRootsOp, ufrontierR, NULL)); // get roots of row unmatched nodes in the R frontier - GrB_Index i[nrows]; // free this - uint64_t values[nrows]; - GRB_TRY(GrB_Vector_extractTuples_UINT64(i, values, &nUfR, rootsufR)); + GrB_Index *IrootsufR = (GrB_Index *)malloc(nUfR * sizeof(GrB_Index)); + GrB_Index *VrootsufR = (GrB_Index *)malloc(nUfR * sizeof(GrB_Index)); + GRB_TRY(GrB_Vector_extractTuples_UINT64(IrootsufR, VrootsufR, &nUfR, rootsufR)); GRB_TRY(GrB_Vector_clear(pathUpdate)); - GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, values, i, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates + GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates GRB_TRY(GrB_Vector_assign(pathC, NULL, NULL, pathUpdate, GrB_ALL, nUfR, NULL)); - - GrB_Index npathValues = 0; - GRB_TRY(GxB_Vector_unpack_CSC(pathUpdate, NULL, (void **)&values, NULL, &npathValues, NULL, NULL, NULL, NULL)); // free pathUpdate - - GRB_TRY(GrB_Vector_assign(rootufRIndexes, rootufRIndexes, NULL, I, values, ncols, NULL)); // see if ncols is ok + free(IrootsufR); + free(VrootsufR); GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, frontierR, NULL)); // get roots of row nodes in the current R frontier - GRB_TRY(GrB_Vector_extractTuples_UINT64(i, values, &nrows, rootsfR)); // see if I have to make n more specific (nvals of frontier R) - // TODO: i = mateR - // GRB_TRY(GrB_Vector_assign(mateR, NULL, NULL, frontierR, values, nrows, NULL)); // keep rows that are included in indexes with their column mates (all these rows have mates) + GrB_Index *VmatesfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); + GrB_Index *VrootsfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); + GrB_Index nfR, nRootsfR, Ibytes = 0, Valbytes = 0; + GrB_Index *dummy; + GrB_Index n_dummy = 1, bytes_dummy; + GRB_TRY(GrB_Vector_assign(mateR, frontierR, NULL, mateR, GrB_ALL, nrows, GrB_DESC_RS)); // keep only mates of rows in frontierR + GRB_TRY(GxB_Vector_unpack_CSC(mateR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Valbytes, NULL, &nfR, NULL, NULL)); // keep mates of the R frontier (ordered indices) + GRB_TRY(GxB_Vector_unpack_CSC(rootsfR, (GrB_Index **)&dummy, (void **)&VrootsfR, &bytes_dummy, &Ibytes, NULL, &nRootsfR, NULL, NULL)); // keep roots of the R frontier (ordered indices) GRB_TRY(GrB_Vector_clear(rootfRIndexes)); - GRB_TRY(GrB_Vector_build_UINT64(rootfRIndexes, values, i, nrows, GrB_FIRST_UINT64)); + GRB_TRY(GrB_Vector_build_UINT64(rootfRIndexes, VrootsfR, VmatesfR, nRootsfR, GrB_FIRST_UINT64)); // rootfRIndexes(j) = i, where i is the col mate of the row included in the current R frontier and the col root is j + GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&VrootsfR, (void **)&dummy, &Ibytes, &n_dummy, NULL, &nRootsfR, NULL, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootsfR, (void **)&VmatesfR, Ibytes, Valbytes, NULL, nRootsfR, NULL, NULL)); + GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); // keep only col roots that are not included in ufR + free(VmatesfR); + free(VrootsfR); + + GrB_Index *IrootfRIndexes = (GrB_Index *)malloc(ncols * sizeof(GrB_Index)); + GrB_Index *VrootfRIndexes = (GrB_Index *)malloc(ncols * sizeof(GrB_Index)); + GrB_Index nRootfRIndexes = 0; + GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&IrootfRIndexes, (void **)&VrootfRIndexes, &Ibytes, &Valbytes, NULL, &nRootfRIndexes, NULL, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootfRIndexes, (void **)&IrootfRIndexes, Valbytes, Ibytes, NULL, nRootfRIndexes, NULL, NULL)); // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) of the new frontier C + free(IrootfRIndexes); + free(VrootfRIndexes); - GRB_TRY(GrB_Vector_assign(rootfRIndexes, rootufRIndexes, NULL, rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); // keep only col roots that are not included in ufR - // rootfRIndexes(j) = i, where i is the col mate of the row included in the current R frontier and the col root is j GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, buildfCTuplesOp, rootfRIndexes, &y, NULL)); - GRB_TRY(GrB_Vector_assign(frontierC, NULL, NULL, frontierC, i, nrows, NULL)); - // /* debug GrB_Index C[ncols]; vertex *V = malloc(ncols * sizeof(vertex)); diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index c95feccebf..d18535e716 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -13,8 +13,9 @@ void test_MCM() LAGraph_Init(msg); GrB_Vector mateC = NULL; OK(GrB_Vector_new(&mateC, GrB_UINT64, 5)); - GrB_Index Ilist[2] = {3, 4}; - OK(GrB_Vector_assign_UINT64(mateC, NULL, NULL, 1, Ilist, 2, NULL)); + GrB_Index Ilist[2] = {2, 3}; + uint64_t Vlist[2] = {2, 4}; + OK(GrB_Vector_build_UINT64(mateC, Ilist, Vlist, 2, NULL)); GrB_Index R[9] = {0, 0, 1, 2, 2, 3, 3, 4, 4}; GrB_Index C[9] = {0, 1, 0, 1, 2, 2, 4, 3, 4}; @@ -22,7 +23,7 @@ void test_MCM() GrB_Matrix A = NULL; OK(GrB_Matrix_new(&A, GrB_BOOL, 5, 5)); OK(GrB_Matrix_build_BOOL(A, R, C, values, 9, GrB_FIRST_BOOL)); - GxB_Matrix_fprint(A, "A", GxB_COMPLETE, stdout); + // GxB_Matrix_fprint(A, "A", GxB_COMPLETE, stdout); OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); OK(LAGraph_MaximumMatching(&mateC, G, msg)); printf("msg: %s\n", msg); From 8c761f7f05ed375189577ce50810624a1ea050c7 Mon Sep 17 00:00:00 2001 From: kchristin Date: Fri, 14 Jun 2024 12:38:41 -0500 Subject: [PATCH 10/69] Improve PRUNE, finish inner loop body and clean up --- .../algorithm/LAGraph_MaximumMatching.c | 183 +++++++++++------- 1 file changed, 113 insertions(+), 70 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 2dc31f0a0a..26c54ffde2 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -124,6 +124,17 @@ void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, const void * "z->rootC = *x; " \ "} " +void *setParentsMates(vertex *z, uint64_t *x) +{ + z->parentC = *x; +}; + +#define SET_PARENTS_MATES_DEFN \ + "void *setParentsMates(vertex *z, uint64_t *x) " \ + "{ " \ + "z->parentC = *x; " \ + "} " + int LAGraph_MaximumMatching( // output/input: GrB_Vector *mateC, // mateC(j) = i : Column j of the C subset is matched to row i of the R subset @@ -213,6 +224,9 @@ int LAGraph_MaximumMatching( GrB_IndexUnaryOp buildfCTuplesOp = NULL; GRB_TRY(GxB_IndexUnaryOp_new(&buildfCTuplesOp, (void *)buildfCTuples, Vertex, GrB_UINT64, GrB_BOOL, "buildfCTuples", BUILT_FC_TUPLES_DEFN)); + GrB_UnaryOp setParentsMatesOp = NULL; + GRB_TRY(GxB_UnaryOp_new(&setParentsMatesOp, (void *)setParentsMates, Vertex, GrB_UINT64, "setParentsMates", SET_PARENTS_MATES_DEFN)); + do { GRB_TRY(GrB_Vector_clear(pathC)); @@ -243,82 +257,111 @@ int LAGraph_MaximumMatching( GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); */ - // do - // { - GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, semiring, A, frontierC, GrB_DESC_RSC)); // perform one step of BFS from C nodes and keep only unvisited rows - GRB_TRY(GrB_Vector_apply(parentsR, NULL, NULL, getParentsOp, frontierR, NULL)); // set parents of row frontier // does it erase the previous values - - GRB_TRY(GrB_Vector_assign(ufrontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RSC)); // select unmatched rows of the R frontier - GRB_TRY(GrB_Vector_assign(frontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RS)) // select matched rows of the R frontier - - /* debug - GrB_Index R[nrows]; - vertex *VR = malloc(nrows * sizeof(vertex)); - GrB_Vector_extractTuples_UDT(R, VR, &nrows, frontierR); - for (int k = 0; k < nrows; k++) + do { - printf("\nfr (%d) = (%ld, %ld)", (int)R[k], VR[k].parentC, VR[k].rootC); - } - GxB_Vector_fprint(parentsR, "pr", GxB_COMPLETE, stdout); - */ - uint64_t nUfR = 0; - GRB_TRY(GrB_Vector_nvals(&nUfR, ufrontierR)); + // perform one step of BFS from C nodes and keep only unvisited rows + GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, semiring, A, frontierC, GrB_DESC_RSC)); + // set parents of row frontier // does it erase the previous values + GRB_TRY(GrB_Vector_apply(parentsR, NULL, NULL, getParentsOp, frontierR, NULL)); + + // select unmatched rows of the R frontier + GRB_TRY(GrB_Vector_assign(ufrontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RSC)); + // select matched rows of the R frontier + GRB_TRY(GrB_Vector_assign(frontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RS)); + // keep only mates of rows in frontierR + GRB_TRY(GrB_Vector_assign(mateR, frontierR, NULL, mateR, GrB_ALL, nrows, GrB_DESC_RS)); + + /* debug + GrB_Index R[nrows]; + vertex *VR = malloc(nrows * sizeof(vertex)); + GrB_Vector_extractTuples_UDT(R, VR, &nrows, frontierR); + for (int k = 0; k < nrows; k++) + { + printf("\nfr (%d) = (%ld, %ld)", (int)R[k], VR[k].parentC, VR[k].rootC); + } + GxB_Vector_fprint(parentsR, "pr", GxB_COMPLETE, stdout); + */ + uint64_t nUfR = 0; + GRB_TRY(GrB_Vector_nvals(&nUfR, ufrontierR)); - if (nUfR) - { - GRB_TRY(GrB_Vector_apply(rootsufR, NULL, NULL, getRootsOp, ufrontierR, NULL)); // get roots of row unmatched nodes in the R frontier - - GrB_Index *IrootsufR = (GrB_Index *)malloc(nUfR * sizeof(GrB_Index)); - GrB_Index *VrootsufR = (GrB_Index *)malloc(nUfR * sizeof(GrB_Index)); - GRB_TRY(GrB_Vector_extractTuples_UINT64(IrootsufR, VrootsufR, &nUfR, rootsufR)); - GRB_TRY(GrB_Vector_clear(pathUpdate)); - GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates - GRB_TRY(GrB_Vector_assign(pathC, NULL, NULL, pathUpdate, GrB_ALL, nUfR, NULL)); - free(IrootsufR); - free(VrootsufR); - - GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, frontierR, NULL)); // get roots of row nodes in the current R frontier - - GrB_Index *VmatesfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); - GrB_Index *VrootsfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); - GrB_Index nfR, nRootsfR, Ibytes = 0, Valbytes = 0; - GrB_Index *dummy; - GrB_Index n_dummy = 1, bytes_dummy; - GRB_TRY(GrB_Vector_assign(mateR, frontierR, NULL, mateR, GrB_ALL, nrows, GrB_DESC_RS)); // keep only mates of rows in frontierR - GRB_TRY(GxB_Vector_unpack_CSC(mateR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Valbytes, NULL, &nfR, NULL, NULL)); // keep mates of the R frontier (ordered indices) - GRB_TRY(GxB_Vector_unpack_CSC(rootsfR, (GrB_Index **)&dummy, (void **)&VrootsfR, &bytes_dummy, &Ibytes, NULL, &nRootsfR, NULL, NULL)); // keep roots of the R frontier (ordered indices) - GRB_TRY(GrB_Vector_clear(rootfRIndexes)); - GRB_TRY(GrB_Vector_build_UINT64(rootfRIndexes, VrootsfR, VmatesfR, nRootsfR, GrB_FIRST_UINT64)); // rootfRIndexes(j) = i, where i is the col mate of the row included in the current R frontier and the col root is j - GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&VrootsfR, (void **)&dummy, &Ibytes, &n_dummy, NULL, &nRootsfR, NULL, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootsfR, (void **)&VmatesfR, Ibytes, Valbytes, NULL, nRootsfR, NULL, NULL)); - GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); // keep only col roots that are not included in ufR - free(VmatesfR); - free(VrootsfR); - - GrB_Index *IrootfRIndexes = (GrB_Index *)malloc(ncols * sizeof(GrB_Index)); - GrB_Index *VrootfRIndexes = (GrB_Index *)malloc(ncols * sizeof(GrB_Index)); - GrB_Index nRootfRIndexes = 0; - GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&IrootfRIndexes, (void **)&VrootfRIndexes, &Ibytes, &Valbytes, NULL, &nRootfRIndexes, NULL, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootfRIndexes, (void **)&IrootfRIndexes, Valbytes, Ibytes, NULL, nRootfRIndexes, NULL, NULL)); // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) of the new frontier C - free(IrootfRIndexes); - free(VrootfRIndexes); - - GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, buildfCTuplesOp, rootfRIndexes, &y, NULL)); - - // /* debug - GrB_Index C[ncols]; - vertex *V = malloc(ncols * sizeof(vertex)); - GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); - for (int k = 0; k < ncols; k++) + if (nUfR) + { + // get roots of unmatched row nodes in the R frontier + GRB_TRY(GrB_Vector_apply(rootsufR, NULL, NULL, getRootsOp, ufrontierR, NULL)); + + GrB_Index *IrootsufR = (GrB_Index *)malloc(nUfR * sizeof(GrB_Index)); + GrB_Index *VrootsufR = (GrB_Index *)malloc(nUfR * sizeof(GrB_Index)); + GrB_Index Ibytes = 0, Valbytes = 0; + GRB_TRY(GxB_Vector_unpack_CSC(rootsufR, (GrB_Index **)&IrootsufR, (void **)&VrootsufR, &Ibytes, &Valbytes, NULL, &nUfR, NULL, NULL)); // does it have space afterwards or should I pack again? + GRB_TRY(GrB_Vector_clear(pathUpdate)); + GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates + GRB_TRY(GrB_Vector_assign(pathC, NULL, NULL, pathUpdate, GrB_ALL, nUfR, NULL)); + free(IrootsufR); + free(VrootsufR); + + // get roots of row nodes in the current R frontier + GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, frontierR, NULL)); + + GrB_Index *VmatesfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); + GrB_Index *VrootsfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); + GrB_Index nfR = 0, nRootsfR = 0; + GrB_Index *dummy; // should allocate space for this erither way? + GrB_Index n_dummy = 1, bytes_dummy = 0; + // keep mates of the R frontier (ordered indices) + GRB_TRY(GxB_Vector_unpack_CSC(mateR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Valbytes, NULL, &nfR, NULL, NULL)); + // keep roots of the R frontier (ordered indices) + GRB_TRY(GxB_Vector_unpack_CSC(rootsfR, (GrB_Index **)&dummy, (void **)&VrootsfR, &bytes_dummy, &Ibytes, NULL, &nRootsfR, NULL, NULL)); + GRB_TRY(GrB_Vector_clear(rootfRIndexes)); + GRB_TRY(GrB_Vector_build_UINT64(rootfRIndexes, VrootsfR, VmatesfR, nRootsfR, GrB_FIRST_UINT64)); // rootfRIndexes(j) = i, where i is the col mate of the first row + // included in the current R frontier with a col root of j + // keep only col roots that are not included in ufR + GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); + free(VmatesfR); + free(VrootsfR); + + GrB_Index *IrootfRIndexes = (GrB_Index *)malloc(ncols * sizeof(GrB_Index)); + GrB_Index *VrootfRIndexes = (GrB_Index *)malloc(ncols * sizeof(GrB_Index)); + GrB_Index nRootfRIndexes = 0; + GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&IrootfRIndexes, (void **)&VrootfRIndexes, &Ibytes, &Valbytes, NULL, &nRootfRIndexes, NULL, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootfRIndexes, (void **)&IrootfRIndexes, Valbytes, Ibytes, NULL, nRootfRIndexes, NULL, NULL)); // rootfRIndexes(i) = j, + // where (i,j) = (parentC, rootC) of the new frontier C + free(IrootfRIndexes); + free(VrootfRIndexes); + + // build tuple of (parentC, rootC) + GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, buildfCTuplesOp, rootfRIndexes, &y, NULL)); + + // /* debug + GrB_Index C[ncols]; + vertex *V = malloc(ncols * sizeof(vertex)); + GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); + for (int k = 0; k < ncols; k++) + { + printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, V[k].rootC); + } + // */ + } + else { - printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, V[k].rootC); + // apply op on frontier to set parents to mates + GRB_TRY(GrB_Vector_apply(frontierR, NULL, NULL, setParentsMatesOp, mateR, NULL)); // fR(i) = (column mate of i, rootC) + // invert fr + GrB_Index *VmatesfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); + GrB_Index *VfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); + GrB_Index *dummy; + GrB_Index bytes_dummy = 0, Vmatesbytes = 0, VfRBytes = 0, nfR = 0; + GRB_TRY(GxB_Vector_unpack_CSC(mateR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Vmatesbytes, NULL, &nfR, NULL, NULL)); // mateR already only contains the rows of fR + GRB_TRY(GxB_Vector_unpack_CSC(frontierR, (GrB_Index **)&dummy, (void **)&VfR, &bytes_dummy, &VfRBytes, NULL, &nfR, NULL, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(frontierR, (GrB_Index **)&VmatesfR, (void **)&VfR, Vmatesbytes, VfRBytes, NULL, nfR, NULL, NULL)); + free(VmatesfR); + free(VfR); + // assign to fC + GRB_TRY(GrB_Vector_assign(frontierC, NULL, NULL, frontierR, GrB_ALL, ncols, NULL)); } - // */ - } - GRB_TRY(GrB_Vector_nvals(&nvals, frontierC)); + GRB_TRY(GrB_Vector_nvals(&nvals, frontierC)); - // } while (nvals); + } while (nvals); LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); From 5112c8d519ba7fb1c83b0979549f166f10c5bd2c Mon Sep 17 00:00:00 2001 From: kchristin Date: Thu, 20 Jun 2024 10:14:09 -0500 Subject: [PATCH 11/69] Implement comments --- .../algorithm/LAGraph_MaximumMatching.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 26c54ffde2..328383f187 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -51,7 +51,6 @@ typedef struct "} " \ "vertex; " -int a = 0; void *initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const void *y) { z->parentC = i; @@ -67,13 +66,13 @@ void *initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const void *y) void *minparent(vertex *z, vertex *x, vertex *y) { - z = x->parentC < y->parentC ? x : y; + *z = x->parentC < y->parentC ? *x : *y; } #define MIN_PARENT_DEFN \ "void *minparent(vertex *z, vertex *x, vertex *y) " \ "{ " \ - "z = x->parentC < y->parentC ? x : y; " \ + "*z = x->parentC < y->parentC ? *x : *y; " \ "} " void *select2nd(vertex *z, bool *x, vertex *y) @@ -247,11 +246,15 @@ int LAGraph_MaximumMatching( uint64_t nmatched = 0; GRB_TRY(GrB_Vector_nvals(&nmatched, *mateC)); - GrB_Index J[nmatched]; - uint64_t X[nmatched]; - GRB_TRY(GrB_Vector_extractTuples_UINT64(J, X, &nmatched, *mateC)); - GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method - GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); + GrB_Index *J = (GrB_Index *)malloc(nmatched * sizeof(GrB_Index)); + GrB_Index *X = (GrB_Index *)malloc(nmatched * sizeof(GrB_Index)); + GrB_Index Jbytes = 0, Xbytes = 0; + GRB_TRY(GxB_Vector_unpack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, NULL, NULL)); + GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method + GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); // build does not take ownership of the lists J and X, but only copies them + GRB_TRY(GxB_Vector_pack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, NULL, NULL)); + free(J); + free(X); /* debug GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); From d28e141043594962e4ee0b78a60e8e5d3c80c240 Mon Sep 17 00:00:00 2001 From: kchristin Date: Thu, 20 Jun 2024 17:24:01 -0500 Subject: [PATCH 12/69] Draft: fix previous build warning, add augment and test multiple iterations case --- .../algorithm/LAGraph_MaximumMatching.c | 92 ++++++++++++++++--- 1 file changed, 77 insertions(+), 15 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 328383f187..bc1c480d76 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -199,6 +199,9 @@ int LAGraph_MaximumMatching( GrB_UnaryOp getRootsOp = NULL; GRB_TRY(GxB_UnaryOp_new(&getRootsOp, (void *)keepRoots, GrB_UINT64, Vertex, "keepRoots", KEEP_ROOTS_DEFN)); + GrB_Vector parentsUpdate = NULL; // unmatched rows of R frontier + GRB_TRY(GrB_Vector_new(&parentsUpdate, GrB_UINT64, nrows)); + GrB_Vector ufrontierR = NULL; // unmatched rows of R frontier GRB_TRY(GrB_Vector_new(&ufrontierR, Vertex, nrows)); @@ -226,23 +229,30 @@ int LAGraph_MaximumMatching( GrB_UnaryOp setParentsMatesOp = NULL; GRB_TRY(GxB_UnaryOp_new(&setParentsMatesOp, (void *)setParentsMates, Vertex, GrB_UINT64, "setParentsMates", SET_PARENTS_MATES_DEFN)); + GrB_Vector ur = NULL; + GRB_TRY(GrB_Vector_new(&ur, GrB_UINT64, nrows)); + + GrB_Vector pathCopy = NULL; + GRB_TRY(GrB_Vector_new(&pathCopy, GrB_UINT64, ncols)); + do { GRB_TRY(GrB_Vector_clear(pathC)); GRB_TRY(GrB_Vector_clear(parentsR)); + GrB_Vector_wait(parentsR, GrB_MATERIALIZE); // for every col j not matched, assign f(j) = VERTEX(j,j) GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, *mateC, NULL, initFrontierOp, I, &y, GrB_DESC_RSC)); - /* debug - GrB_Index C[ncols]; - vertex *V = malloc(ncols * sizeof(vertex)); - GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); - for (int k = 0; k < ncols; k++) - { - printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, V[k].rootC); - } + // /* debug + GrB_Index C[ncols]; + vertex *V = malloc(ncols * sizeof(vertex)); + GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); + for (int k = 0; k < ncols; k++) + { + printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, V[k].rootC); + } GxB_Vector_fprint(*mateC, "mateC", GxB_COMPLETE, stdout); - */ + // */ uint64_t nmatched = 0; GRB_TRY(GrB_Vector_nvals(&nmatched, *mateC)); @@ -264,8 +274,10 @@ int LAGraph_MaximumMatching( { // perform one step of BFS from C nodes and keep only unvisited rows GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, semiring, A, frontierC, GrB_DESC_RSC)); - // set parents of row frontier // does it erase the previous values - GRB_TRY(GrB_Vector_apply(parentsR, NULL, NULL, getParentsOp, frontierR, NULL)); + GrB_Vector_wait(frontierR, GrB_MATERIALIZE); + // set parents of row frontier + GRB_TRY(GrB_Vector_apply(parentsUpdate, NULL, NULL, getParentsOp, frontierR, NULL)); // previous values are erased + GRB_TRY(GrB_Vector_assign(parentsR, NULL, GrB_SECOND_UINT64, parentsUpdate, GrB_ALL, nrows, NULL)); // select unmatched rows of the R frontier GRB_TRY(GrB_Vector_assign(ufrontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RSC)); @@ -274,7 +286,7 @@ int LAGraph_MaximumMatching( // keep only mates of rows in frontierR GRB_TRY(GrB_Vector_assign(mateR, frontierR, NULL, mateR, GrB_ALL, nrows, GrB_DESC_RS)); - /* debug + // /* debug GrB_Index R[nrows]; vertex *VR = malloc(nrows * sizeof(vertex)); GrB_Vector_extractTuples_UDT(R, VR, &nrows, frontierR); @@ -283,7 +295,7 @@ int LAGraph_MaximumMatching( printf("\nfr (%d) = (%ld, %ld)", (int)R[k], VR[k].parentC, VR[k].rootC); } GxB_Vector_fprint(parentsR, "pr", GxB_COMPLETE, stdout); - */ + // */ uint64_t nUfR = 0; GRB_TRY(GrB_Vector_nvals(&nUfR, ufrontierR)); @@ -366,10 +378,60 @@ int LAGraph_MaximumMatching( } while (nvals); - LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); - GRB_TRY(GrB_Vector_nvals(&nvals, pathC)); + uint64_t npathCopy = nvals; + GrB_Index *Ipath = (GrB_Index *)malloc(nvals * sizeof(GrB_Index)); // max space for Ipath (nvals will either reduce by iteration or remain the same) + GrB_Index *Xpath = (GrB_Index *)malloc(nvals * sizeof(GrB_Index)); + GrB_Index IpathBytes = 0, XpathBytes = 0; + + while (nvals) + { + GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); + + // invert pathC + GRB_TRY(GxB_Vector_unpack_CSC(pathC, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, NULL, NULL)); + GRB_TRY(GrB_Vector_clear(ur)); // do I need this if I have unpacked before? + GRB_TRY(GrB_Vector_build_UINT64(ur, Xpath, Ipath, nvals, GrB_FIRST_UINT64)); // can I unpack ur and pack with different size of Ilist etc.? + + GxB_Vector_fprint(ur, "ur", GxB_COMPLETE, stdout); + GxB_Vector_fprint(parentsR, "parentsR", GxB_COMPLETE, stdout); + + // assign parents of rows to rows + GRB_TRY(GrB_Vector_nvals(&nvals, ur)); + GRB_TRY(GrB_Vector_assign(ur, ur, NULL, parentsR, GrB_ALL, nrows, NULL)); + GxB_Vector_fprint(ur, "ur with updated parents", GxB_COMPLETE, stdout); + + // invert ur + GRB_TRY(GxB_Vector_unpack_CSC(ur, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, NULL, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(pathC, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, nvals, NULL, NULL)); + + GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); + + // keep a copy of the previous row matches of the matched cols that will alter mates + GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, *mateC, GrB_ALL, ncols, NULL)); // what does ni refer to? + + GxB_Vector_fprint(pathCopy, "pathCopy", GxB_COMPLETE, stdout); + + // update mateC + GRB_TRY(GrB_Vector_assign(*mateC, NULL, GrB_SECOND_UINT64, pathC, GrB_ALL, ncols, NULL)); + // swap path and pathCopy + GrB_Vector temp = pathC; + pathC = pathCopy; + pathCopy = temp; + + GRB_TRY(GrB_Vector_nvals(&nvals, pathC)); + + // /* debug + GxB_Vector_fprint(*mateC, "mateC", GxB_COMPLETE, stdout); + // */ + } + free(Ipath); + free(Xpath); + + nvals = npathCopy; } while (nvals); // only in the first and last iteration should this condition be false + LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); + return (GrB_SUCCESS); } \ No newline at end of file From 18f23b2275813570a37422a6049391fbfad622fc Mon Sep 17 00:00:00 2001 From: kchristin Date: Fri, 21 Jun 2024 15:12:50 -0500 Subject: [PATCH 13/69] Use mateR copy for each iteration and check if vectors are empty before inverting --- .../algorithm/LAGraph_MaximumMatching.c | 142 +++++++++++------- 1 file changed, 84 insertions(+), 58 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index bc1c480d76..15e5934660 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -235,15 +235,17 @@ int LAGraph_MaximumMatching( GrB_Vector pathCopy = NULL; GRB_TRY(GrB_Vector_new(&pathCopy, GrB_UINT64, ncols)); + GrB_Vector currentMatesR = NULL; + GRB_TRY(GrB_Vector_new(¤tMatesR, GrB_UINT64, nrows)); + do { GRB_TRY(GrB_Vector_clear(pathC)); GRB_TRY(GrB_Vector_clear(parentsR)); - GrB_Vector_wait(parentsR, GrB_MATERIALIZE); // for every col j not matched, assign f(j) = VERTEX(j,j) GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, *mateC, NULL, initFrontierOp, I, &y, GrB_DESC_RSC)); - // /* debug + /* debug GrB_Index C[ncols]; vertex *V = malloc(ncols * sizeof(vertex)); GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); @@ -252,19 +254,22 @@ int LAGraph_MaximumMatching( printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, V[k].rootC); } GxB_Vector_fprint(*mateC, "mateC", GxB_COMPLETE, stdout); - // */ + */ uint64_t nmatched = 0; GRB_TRY(GrB_Vector_nvals(&nmatched, *mateC)); - GrB_Index *J = (GrB_Index *)malloc(nmatched * sizeof(GrB_Index)); - GrB_Index *X = (GrB_Index *)malloc(nmatched * sizeof(GrB_Index)); - GrB_Index Jbytes = 0, Xbytes = 0; - GRB_TRY(GxB_Vector_unpack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, NULL, NULL)); - GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method - GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); // build does not take ownership of the lists J and X, but only copies them - GRB_TRY(GxB_Vector_pack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, NULL, NULL)); - free(J); - free(X); + if (nmatched) + { + GrB_Index *J = (GrB_Index *)malloc(nmatched * sizeof(GrB_Index)); + GrB_Index *X = (GrB_Index *)malloc(nmatched * sizeof(GrB_Index)); + GrB_Index Jbytes = 0, Xbytes = 0; + GRB_TRY(GxB_Vector_unpack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, NULL, NULL)); + GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method + GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); // build does not take ownership of the lists J and X, but only copies them + GRB_TRY(GxB_Vector_pack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, NULL, NULL)); + free(J); + free(X); + } /* debug GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); @@ -274,30 +279,33 @@ int LAGraph_MaximumMatching( { // perform one step of BFS from C nodes and keep only unvisited rows GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, semiring, A, frontierC, GrB_DESC_RSC)); - GrB_Vector_wait(frontierR, GrB_MATERIALIZE); // set parents of row frontier - GRB_TRY(GrB_Vector_apply(parentsUpdate, NULL, NULL, getParentsOp, frontierR, NULL)); // previous values are erased - GRB_TRY(GrB_Vector_assign(parentsR, NULL, GrB_SECOND_UINT64, parentsUpdate, GrB_ALL, nrows, NULL)); + GRB_TRY(GrB_Vector_apply(parentsUpdate, NULL, NULL, getParentsOp, frontierR, NULL)); // previous values are erased + GRB_TRY(GrB_Vector_assign(parentsR, NULL, GrB_SECOND_UINT64, parentsUpdate, GrB_ALL, nrows, NULL)); // update parents without deleting the ones not updated // select unmatched rows of the R frontier GRB_TRY(GrB_Vector_assign(ufrontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RSC)); // select matched rows of the R frontier GRB_TRY(GrB_Vector_assign(frontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RS)); // keep only mates of rows in frontierR - GRB_TRY(GrB_Vector_assign(mateR, frontierR, NULL, mateR, GrB_ALL, nrows, GrB_DESC_RS)); + GRB_TRY(GrB_Vector_assign(currentMatesR, frontierR, NULL, mateR, GrB_ALL, nrows, GrB_DESC_RS)); - // /* debug - GrB_Index R[nrows]; - vertex *VR = malloc(nrows * sizeof(vertex)); + /* debug + GxB_Vector_fprint(currentMatesR, "currentMatesR", GxB_COMPLETE, stdout); + GrB_Index *R = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); + vertex *VR = (vertex *)malloc(nrows * sizeof(vertex)); + GrB_Vector_nvals(&nvals, frontierR); GrB_Vector_extractTuples_UDT(R, VR, &nrows, frontierR); for (int k = 0; k < nrows; k++) { printf("\nfr (%d) = (%ld, %ld)", (int)R[k], VR[k].parentC, VR[k].rootC); } GxB_Vector_fprint(parentsR, "pr", GxB_COMPLETE, stdout); - // */ - uint64_t nUfR = 0; + */ + + uint64_t nUfR = 0, nfR = 0; GRB_TRY(GrB_Vector_nvals(&nUfR, ufrontierR)); + GRB_TRY(GrB_Vector_nvals(&nfR, frontierR)); if (nUfR) { @@ -309,44 +317,51 @@ int LAGraph_MaximumMatching( GrB_Index Ibytes = 0, Valbytes = 0; GRB_TRY(GxB_Vector_unpack_CSC(rootsufR, (GrB_Index **)&IrootsufR, (void **)&VrootsufR, &Ibytes, &Valbytes, NULL, &nUfR, NULL, NULL)); // does it have space afterwards or should I pack again? GRB_TRY(GrB_Vector_clear(pathUpdate)); - GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates - GRB_TRY(GrB_Vector_assign(pathC, NULL, NULL, pathUpdate, GrB_ALL, nUfR, NULL)); + GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates + GRB_TRY(GrB_Vector_assign(pathC, NULL, GrB_SECOND_UINT64, pathUpdate, GrB_ALL, nUfR, NULL)); // update path without deleting the values not updated free(IrootsufR); free(VrootsufR); // get roots of row nodes in the current R frontier GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, frontierR, NULL)); - GrB_Index *VmatesfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); - GrB_Index *VrootsfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); - GrB_Index nfR = 0, nRootsfR = 0; - GrB_Index *dummy; // should allocate space for this erither way? - GrB_Index n_dummy = 1, bytes_dummy = 0; - // keep mates of the R frontier (ordered indices) - GRB_TRY(GxB_Vector_unpack_CSC(mateR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Valbytes, NULL, &nfR, NULL, NULL)); - // keep roots of the R frontier (ordered indices) - GRB_TRY(GxB_Vector_unpack_CSC(rootsfR, (GrB_Index **)&dummy, (void **)&VrootsfR, &bytes_dummy, &Ibytes, NULL, &nRootsfR, NULL, NULL)); - GRB_TRY(GrB_Vector_clear(rootfRIndexes)); - GRB_TRY(GrB_Vector_build_UINT64(rootfRIndexes, VrootsfR, VmatesfR, nRootsfR, GrB_FIRST_UINT64)); // rootfRIndexes(j) = i, where i is the col mate of the first row - // included in the current R frontier with a col root of j - // keep only col roots that are not included in ufR - GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); - free(VmatesfR); - free(VrootsfR); + /* debug + GxB_Vector_fprint(rootsfR, "rootsfR", GxB_COMPLETE, stdout); + */ - GrB_Index *IrootfRIndexes = (GrB_Index *)malloc(ncols * sizeof(GrB_Index)); - GrB_Index *VrootfRIndexes = (GrB_Index *)malloc(ncols * sizeof(GrB_Index)); - GrB_Index nRootfRIndexes = 0; - GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&IrootfRIndexes, (void **)&VrootfRIndexes, &Ibytes, &Valbytes, NULL, &nRootfRIndexes, NULL, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootfRIndexes, (void **)&IrootfRIndexes, Valbytes, Ibytes, NULL, nRootfRIndexes, NULL, NULL)); // rootfRIndexes(i) = j, - // where (i,j) = (parentC, rootC) of the new frontier C - free(IrootfRIndexes); - free(VrootfRIndexes); + if (nfR) + { + GrB_Index *VmatesfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); + GrB_Index *VrootsfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); + GrB_Index nRootsfR = 0; + GrB_Index *dummy; // should allocate space for this erither way? + GrB_Index n_dummy = 1, bytes_dummy = 0; + // keep mates of the R frontier (ordered indices) + GRB_TRY(GxB_Vector_unpack_CSC(currentMatesR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Valbytes, NULL, &nfR, NULL, NULL)); + // keep roots of the R frontier (ordered indices) + GRB_TRY(GxB_Vector_unpack_CSC(rootsfR, (GrB_Index **)&dummy, (void **)&VrootsfR, &bytes_dummy, &Ibytes, NULL, &nRootsfR, NULL, NULL)); + GRB_TRY(GrB_Vector_clear(rootfRIndexes)); + GRB_TRY(GrB_Vector_build_UINT64(rootfRIndexes, VrootsfR, VmatesfR, nRootsfR, GrB_FIRST_UINT64)); // rootfRIndexes(j) = i, where i is the col mate of the first row + // included in the current R frontier with a col root of j + // keep only col roots that are not included in ufR + GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); + free(VmatesfR); + free(VrootsfR); + + GrB_Index *IrootfRIndexes = (GrB_Index *)malloc(ncols * sizeof(GrB_Index)); + GrB_Index *VrootfRIndexes = (GrB_Index *)malloc(ncols * sizeof(GrB_Index)); + GrB_Index nRootfRIndexes = 0; + GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&IrootfRIndexes, (void **)&VrootfRIndexes, &Ibytes, &Valbytes, NULL, &nRootfRIndexes, NULL, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootfRIndexes, (void **)&IrootfRIndexes, Valbytes, Ibytes, NULL, nRootfRIndexes, NULL, NULL)); // rootfRIndexes(i) = j, + // where (i,j) = (parentC, rootC) of the new frontier C + free(IrootfRIndexes); + free(VrootfRIndexes); + } // build tuple of (parentC, rootC) GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, buildfCTuplesOp, rootfRIndexes, &y, NULL)); - // /* debug + /* debug GrB_Index C[ncols]; vertex *V = malloc(ncols * sizeof(vertex)); GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); @@ -354,24 +369,24 @@ int LAGraph_MaximumMatching( { printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, V[k].rootC); } - // */ + */ } else { // apply op on frontier to set parents to mates - GRB_TRY(GrB_Vector_apply(frontierR, NULL, NULL, setParentsMatesOp, mateR, NULL)); // fR(i) = (column mate of i, rootC) + GRB_TRY(GrB_Vector_apply(frontierR, NULL, NULL, setParentsMatesOp, currentMatesR, NULL)); // fR(i) = (column mate of i, rootC) // invert fr GrB_Index *VmatesfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); GrB_Index *VfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); GrB_Index *dummy; GrB_Index bytes_dummy = 0, Vmatesbytes = 0, VfRBytes = 0, nfR = 0; - GRB_TRY(GxB_Vector_unpack_CSC(mateR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Vmatesbytes, NULL, &nfR, NULL, NULL)); // mateR already only contains the rows of fR + GRB_TRY(GxB_Vector_unpack_CSC(currentMatesR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Vmatesbytes, NULL, &nfR, NULL, NULL)); // currentMatesR already contains only the rows of fR GRB_TRY(GxB_Vector_unpack_CSC(frontierR, (GrB_Index **)&dummy, (void **)&VfR, &bytes_dummy, &VfRBytes, NULL, &nfR, NULL, NULL)); GRB_TRY(GxB_Vector_pack_CSC(frontierR, (GrB_Index **)&VmatesfR, (void **)&VfR, Vmatesbytes, VfRBytes, NULL, nfR, NULL, NULL)); free(VmatesfR); free(VfR); // assign to fC - GRB_TRY(GrB_Vector_assign(frontierC, NULL, NULL, frontierR, GrB_ALL, ncols, NULL)); + GRB_TRY(GrB_Vector_assign(frontierC, NULL, NULL, frontierR, GrB_ALL, ncols, GrB_DESC_RS)); } GRB_TRY(GrB_Vector_nvals(&nvals, frontierC)); @@ -386,31 +401,38 @@ int LAGraph_MaximumMatching( while (nvals) { - GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); - // invert pathC GRB_TRY(GxB_Vector_unpack_CSC(pathC, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, NULL, NULL)); GRB_TRY(GrB_Vector_clear(ur)); // do I need this if I have unpacked before? GRB_TRY(GrB_Vector_build_UINT64(ur, Xpath, Ipath, nvals, GrB_FIRST_UINT64)); // can I unpack ur and pack with different size of Ilist etc.? + /* debug GxB_Vector_fprint(ur, "ur", GxB_COMPLETE, stdout); GxB_Vector_fprint(parentsR, "parentsR", GxB_COMPLETE, stdout); + */ // assign parents of rows to rows GRB_TRY(GrB_Vector_nvals(&nvals, ur)); - GRB_TRY(GrB_Vector_assign(ur, ur, NULL, parentsR, GrB_ALL, nrows, NULL)); + GRB_TRY(GrB_Vector_assign(ur, ur, NULL, parentsR, GrB_ALL, nrows, GrB_DESC_RS)); // why is GrB_DESC_RS needed? + + /* debug GxB_Vector_fprint(ur, "ur with updated parents", GxB_COMPLETE, stdout); + */ // invert ur GRB_TRY(GxB_Vector_unpack_CSC(ur, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, NULL, NULL)); GRB_TRY(GxB_Vector_pack_CSC(pathC, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, nvals, NULL, NULL)); + /* debug GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); + */ // keep a copy of the previous row matches of the matched cols that will alter mates - GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, *mateC, GrB_ALL, ncols, NULL)); // what does ni refer to? + GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, *mateC, GrB_ALL, ncols, GrB_DESC_RS)); // what does ni refer to? + /* debug GxB_Vector_fprint(pathCopy, "pathCopy", GxB_COMPLETE, stdout); + */ // update mateC GRB_TRY(GrB_Vector_assign(*mateC, NULL, GrB_SECOND_UINT64, pathC, GrB_ALL, ncols, NULL)); @@ -421,9 +443,9 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_nvals(&nvals, pathC)); - // /* debug + /* debug GxB_Vector_fprint(*mateC, "mateC", GxB_COMPLETE, stdout); - // */ + */ } free(Ipath); free(Xpath); @@ -431,6 +453,10 @@ int LAGraph_MaximumMatching( nvals = npathCopy; } while (nvals); // only in the first and last iteration should this condition be false + // /* debug + GxB_Vector_fprint(*mateC, "mateC", GxB_COMPLETE, stdout); + // */ + LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); return (GrB_SUCCESS); From 80a08e4025ef7779763ce6ed9337d39de695434a Mon Sep 17 00:00:00 2001 From: kchristin Date: Fri, 21 Jun 2024 15:26:35 -0500 Subject: [PATCH 14/69] Improve descriptor in ur assignment and add explanation in a comment --- experimental/algorithm/LAGraph_MaximumMatching.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 15e5934660..0341452ba2 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -413,7 +413,7 @@ int LAGraph_MaximumMatching( // assign parents of rows to rows GRB_TRY(GrB_Vector_nvals(&nvals, ur)); - GRB_TRY(GrB_Vector_assign(ur, ur, NULL, parentsR, GrB_ALL, nrows, GrB_DESC_RS)); // why is GrB_DESC_RS needed? + GRB_TRY(GrB_Vector_assign(ur, ur, NULL, parentsR, GrB_ALL, nrows, GrB_DESC_S)); // update the values of ur (descriptor needed to use mask's structure and not values) /* debug GxB_Vector_fprint(ur, "ur with updated parents", GxB_COMPLETE, stdout); From 582a59c3ca4750317fac0251f03f550006332930 Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 24 Jun 2024 10:04:17 -0500 Subject: [PATCH 15/69] Fix how parents of fR are updated --- .../algorithm/LAGraph_MaximumMatching.c | 41 ++++++++++++++----- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 0341452ba2..4f5d3632d6 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -123,15 +123,30 @@ void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, const void * "z->rootC = *x; " \ "} " -void *setParentsMates(vertex *z, uint64_t *x) +void *vertexTypecast(vertex *z, uint64_t *x) { z->parentC = *x; + z->rootC = *x; +} + +#define VERTEX_TYPECAST_DEFN \ + "void *vertexTypecast(vertex *z, uint64_t *x) " \ + "{ " \ + "z->parentC = *x; " \ + "z->rootC = *x; " \ + "} " + +void *setParentsMates(vertex *z, vertex *x, vertex *y) +{ + z->parentC = y->parentC; + z->rootC = x->rootC; }; -#define SET_PARENTS_MATES_DEFN \ - "void *setParentsMates(vertex *z, uint64_t *x) " \ - "{ " \ - "z->parentC = *x; " \ +#define SET_PARENTS_MATES_DEFN \ + "void *setParentsMates(vertex *z, vertex *x, vertex *y) " \ + "{ " \ + "z->parentC = y->parentC; " \ + "z->rootC = x->rootC; " \ "} " int LAGraph_MaximumMatching( @@ -226,8 +241,11 @@ int LAGraph_MaximumMatching( GrB_IndexUnaryOp buildfCTuplesOp = NULL; GRB_TRY(GxB_IndexUnaryOp_new(&buildfCTuplesOp, (void *)buildfCTuples, Vertex, GrB_UINT64, GrB_BOOL, "buildfCTuples", BUILT_FC_TUPLES_DEFN)); - GrB_UnaryOp setParentsMatesOp = NULL; - GRB_TRY(GxB_UnaryOp_new(&setParentsMatesOp, (void *)setParentsMates, Vertex, GrB_UINT64, "setParentsMates", SET_PARENTS_MATES_DEFN)); + GrB_UnaryOp vertexTypecastOp = NULL; + GRB_TRY(GxB_UnaryOp_new(&vertexTypecastOp, (void *)vertexTypecast, Vertex, GrB_UINT64, "vertexTypecast", VERTEX_TYPECAST_DEFN)); + + GrB_BinaryOp setParentsMatesOp = NULL; + GRB_TRY(GxB_BinaryOp_new(&setParentsMatesOp, (void *)setParentsMates, Vertex, Vertex, Vertex, "setParentsMates", SET_PARENTS_MATES_DEFN)); GrB_Vector ur = NULL; GRB_TRY(GrB_Vector_new(&ur, GrB_UINT64, nrows)); @@ -265,9 +283,10 @@ int LAGraph_MaximumMatching( GrB_Index Jbytes = 0, Xbytes = 0; GRB_TRY(GxB_Vector_unpack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, NULL, NULL)); GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method - GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); // build does not take ownership of the lists J and X, but only copies them + GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); // build does not take ownership of the lists J and X, but only copies them, + // these lists will be given again to mateC GRB_TRY(GxB_Vector_pack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, NULL, NULL)); - free(J); + free(J); // do they belong to mateC now? free(X); } @@ -373,8 +392,8 @@ int LAGraph_MaximumMatching( } else { - // apply op on frontier to set parents to mates - GRB_TRY(GrB_Vector_apply(frontierR, NULL, NULL, setParentsMatesOp, currentMatesR, NULL)); // fR(i) = (column mate of i, rootC) + // typecast mateR to ensure domain match with frontier R and apply op on frontier to set parents to mates + GRB_TRY(GrB_Vector_apply(frontierR, NULL, setParentsMatesOp, vertexTypecastOp, currentMatesR, NULL)); // fR(i) = (column mate of i, rootC) // add the structural mask // invert fr GrB_Index *VmatesfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); GrB_Index *VfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); From 6671d1e76ff496648990bb094382545370572790 Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 24 Jun 2024 14:57:02 -0500 Subject: [PATCH 16/69] Delete unnecessary allocations and wrong deallocations to avoid memory leaks --- .../algorithm/LAGraph_MaximumMatching.c | 43 ++++++------------- 1 file changed, 13 insertions(+), 30 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 4f5d3632d6..ae54769dd0 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -278,16 +278,13 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_nvals(&nmatched, *mateC)); if (nmatched) { - GrB_Index *J = (GrB_Index *)malloc(nmatched * sizeof(GrB_Index)); - GrB_Index *X = (GrB_Index *)malloc(nmatched * sizeof(GrB_Index)); + GrB_Index *J, *X; // unpack allocates space for these lists GrB_Index Jbytes = 0, Xbytes = 0; GRB_TRY(GxB_Vector_unpack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, NULL, NULL)); GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); // build does not take ownership of the lists J and X, but only copies them, // these lists will be given again to mateC GRB_TRY(GxB_Vector_pack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, NULL, NULL)); - free(J); // do they belong to mateC now? - free(X); } /* debug @@ -331,15 +328,14 @@ int LAGraph_MaximumMatching( // get roots of unmatched row nodes in the R frontier GRB_TRY(GrB_Vector_apply(rootsufR, NULL, NULL, getRootsOp, ufrontierR, NULL)); - GrB_Index *IrootsufR = (GrB_Index *)malloc(nUfR * sizeof(GrB_Index)); - GrB_Index *VrootsufR = (GrB_Index *)malloc(nUfR * sizeof(GrB_Index)); + GrB_Index *IrootsufR, *VrootsufR; GrB_Index Ibytes = 0, Valbytes = 0; - GRB_TRY(GxB_Vector_unpack_CSC(rootsufR, (GrB_Index **)&IrootsufR, (void **)&VrootsufR, &Ibytes, &Valbytes, NULL, &nUfR, NULL, NULL)); // does it have space afterwards or should I pack again? + GRB_TRY(GxB_Vector_unpack_CSC(rootsufR, (GrB_Index **)&IrootsufR, (void **)&VrootsufR, &Ibytes, &Valbytes, NULL, &nUfR, NULL, NULL)); GRB_TRY(GrB_Vector_clear(pathUpdate)); GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates GRB_TRY(GrB_Vector_assign(pathC, NULL, GrB_SECOND_UINT64, pathUpdate, GrB_ALL, nUfR, NULL)); // update path without deleting the values not updated - free(IrootsufR); - free(VrootsufR); + LAGraph_Free(IrootsufR); // build copies the lists so they need to be freed + LAGraph_Free(VrootsufR); // get roots of row nodes in the current R frontier GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, frontierR, NULL)); @@ -350,10 +346,8 @@ int LAGraph_MaximumMatching( if (nfR) { - GrB_Index *VmatesfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); - GrB_Index *VrootsfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); + GrB_Index *VmatesfR, *VrootsfR, *dummy; GrB_Index nRootsfR = 0; - GrB_Index *dummy; // should allocate space for this erither way? GrB_Index n_dummy = 1, bytes_dummy = 0; // keep mates of the R frontier (ordered indices) GRB_TRY(GxB_Vector_unpack_CSC(currentMatesR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Valbytes, NULL, &nfR, NULL, NULL)); @@ -364,17 +358,14 @@ int LAGraph_MaximumMatching( // included in the current R frontier with a col root of j // keep only col roots that are not included in ufR GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); - free(VmatesfR); - free(VrootsfR); + LAGraph_Free(VmatesfR); + LAGraph_Free(VrootsfR); - GrB_Index *IrootfRIndexes = (GrB_Index *)malloc(ncols * sizeof(GrB_Index)); - GrB_Index *VrootfRIndexes = (GrB_Index *)malloc(ncols * sizeof(GrB_Index)); + GrB_Index *IrootfRIndexes, *VrootfRIndexes; GrB_Index nRootfRIndexes = 0; GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&IrootfRIndexes, (void **)&VrootfRIndexes, &Ibytes, &Valbytes, NULL, &nRootfRIndexes, NULL, NULL)); GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootfRIndexes, (void **)&IrootfRIndexes, Valbytes, Ibytes, NULL, nRootfRIndexes, NULL, NULL)); // rootfRIndexes(i) = j, // where (i,j) = (parentC, rootC) of the new frontier C - free(IrootfRIndexes); - free(VrootfRIndexes); } // build tuple of (parentC, rootC) @@ -395,15 +386,11 @@ int LAGraph_MaximumMatching( // typecast mateR to ensure domain match with frontier R and apply op on frontier to set parents to mates GRB_TRY(GrB_Vector_apply(frontierR, NULL, setParentsMatesOp, vertexTypecastOp, currentMatesR, NULL)); // fR(i) = (column mate of i, rootC) // add the structural mask // invert fr - GrB_Index *VmatesfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); - GrB_Index *VfR = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); - GrB_Index *dummy; + GrB_Index *VmatesfR, *VfR, *dummy; GrB_Index bytes_dummy = 0, Vmatesbytes = 0, VfRBytes = 0, nfR = 0; GRB_TRY(GxB_Vector_unpack_CSC(currentMatesR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Vmatesbytes, NULL, &nfR, NULL, NULL)); // currentMatesR already contains only the rows of fR GRB_TRY(GxB_Vector_unpack_CSC(frontierR, (GrB_Index **)&dummy, (void **)&VfR, &bytes_dummy, &VfRBytes, NULL, &nfR, NULL, NULL)); GRB_TRY(GxB_Vector_pack_CSC(frontierR, (GrB_Index **)&VmatesfR, (void **)&VfR, Vmatesbytes, VfRBytes, NULL, nfR, NULL, NULL)); - free(VmatesfR); - free(VfR); // assign to fC GRB_TRY(GrB_Vector_assign(frontierC, NULL, NULL, frontierR, GrB_ALL, ncols, GrB_DESC_RS)); } @@ -414,16 +401,14 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_nvals(&nvals, pathC)); uint64_t npathCopy = nvals; - GrB_Index *Ipath = (GrB_Index *)malloc(nvals * sizeof(GrB_Index)); // max space for Ipath (nvals will either reduce by iteration or remain the same) - GrB_Index *Xpath = (GrB_Index *)malloc(nvals * sizeof(GrB_Index)); + GrB_Index *Ipath, *Xpath; GrB_Index IpathBytes = 0, XpathBytes = 0; while (nvals) { // invert pathC GRB_TRY(GxB_Vector_unpack_CSC(pathC, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, NULL, NULL)); - GRB_TRY(GrB_Vector_clear(ur)); // do I need this if I have unpacked before? - GRB_TRY(GrB_Vector_build_UINT64(ur, Xpath, Ipath, nvals, GrB_FIRST_UINT64)); // can I unpack ur and pack with different size of Ilist etc.? + GRB_TRY(GrB_Vector_build_UINT64(ur, Xpath, Ipath, nvals, GrB_FIRST_UINT64)); // ur is already empty because in the previous iteration it was unpacked /* debug GxB_Vector_fprint(ur, "ur", GxB_COMPLETE, stdout); @@ -447,7 +432,7 @@ int LAGraph_MaximumMatching( */ // keep a copy of the previous row matches of the matched cols that will alter mates - GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, *mateC, GrB_ALL, ncols, GrB_DESC_RS)); // what does ni refer to? + GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, *mateC, GrB_ALL, ncols, GrB_DESC_RS)); // what does ni refer to? // number of all the rows (even if they're empty) /* debug GxB_Vector_fprint(pathCopy, "pathCopy", GxB_COMPLETE, stdout); @@ -466,8 +451,6 @@ int LAGraph_MaximumMatching( GxB_Vector_fprint(*mateC, "mateC", GxB_COMPLETE, stdout); */ } - free(Ipath); - free(Xpath); nvals = npathCopy; } while (nvals); // only in the first and last iteration should this condition be false From c9b567082c3680eae9c7cc77e65664a77dd3c2d7 Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 24 Jun 2024 16:41:32 -0500 Subject: [PATCH 17/69] Use jumble flag of pack when inverting and allow indices to be unsorted when not required --- .../algorithm/LAGraph_MaximumMatching.c | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index ae54769dd0..80159be741 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -256,6 +256,8 @@ int LAGraph_MaximumMatching( GrB_Vector currentMatesR = NULL; GRB_TRY(GrB_Vector_new(¤tMatesR, GrB_UINT64, nrows)); + bool jumbled = 1; + do { GRB_TRY(GrB_Vector_clear(pathC)); @@ -280,11 +282,12 @@ int LAGraph_MaximumMatching( { GrB_Index *J, *X; // unpack allocates space for these lists GrB_Index Jbytes = 0, Xbytes = 0; - GRB_TRY(GxB_Vector_unpack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, NULL, NULL)); - GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method - GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); // build does not take ownership of the lists J and X, but only copies them, - // these lists will be given again to mateC - GRB_TRY(GxB_Vector_pack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, NULL, NULL)); + GRB_TRY(GxB_Vector_unpack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); // mateC and mateR do not have duplicates, so the order doesn't matter + GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method + GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, NULL)); // build does not take ownership of the lists J and X, but only copies them, + // these lists will be given again to mateC + // mateC has no duplicates in the values list, so mateR doesn't need to handle dups + GRB_TRY(GxB_Vector_pack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, jumbled, NULL)); } /* debug @@ -298,6 +301,7 @@ int LAGraph_MaximumMatching( // set parents of row frontier GRB_TRY(GrB_Vector_apply(parentsUpdate, NULL, NULL, getParentsOp, frontierR, NULL)); // previous values are erased GRB_TRY(GrB_Vector_assign(parentsR, NULL, GrB_SECOND_UINT64, parentsUpdate, GrB_ALL, nrows, NULL)); // update parents without deleting the ones not updated + // when GrB_ALL is used, ni is the number of rows of the vector // select unmatched rows of the R frontier GRB_TRY(GrB_Vector_assign(ufrontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RSC)); @@ -330,11 +334,11 @@ int LAGraph_MaximumMatching( GrB_Index *IrootsufR, *VrootsufR; GrB_Index Ibytes = 0, Valbytes = 0; - GRB_TRY(GxB_Vector_unpack_CSC(rootsufR, (GrB_Index **)&IrootsufR, (void **)&VrootsufR, &Ibytes, &Valbytes, NULL, &nUfR, NULL, NULL)); + GRB_TRY(GxB_Vector_unpack_CSC(rootsufR, (GrB_Index **)&IrootsufR, (void **)&VrootsufR, &Ibytes, &Valbytes, NULL, &nUfR, NULL, NULL)); // sorted indices so we keep the min child GRB_TRY(GrB_Vector_clear(pathUpdate)); - GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates - GRB_TRY(GrB_Vector_assign(pathC, NULL, GrB_SECOND_UINT64, pathUpdate, GrB_ALL, nUfR, NULL)); // update path without deleting the values not updated - LAGraph_Free(IrootsufR); // build copies the lists so they need to be freed + GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates + GRB_TRY(GrB_Vector_assign(pathC, NULL, GrB_SECOND_UINT64, pathUpdate, GrB_ALL, ncols, NULL)); // update path without deleting the values not updated + LAGraph_Free(IrootsufR); // build copies the lists so they need to be freed LAGraph_Free(VrootsufR); // get roots of row nodes in the current R frontier @@ -363,9 +367,9 @@ int LAGraph_MaximumMatching( GrB_Index *IrootfRIndexes, *VrootfRIndexes; GrB_Index nRootfRIndexes = 0; - GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&IrootfRIndexes, (void **)&VrootfRIndexes, &Ibytes, &Valbytes, NULL, &nRootfRIndexes, NULL, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootfRIndexes, (void **)&IrootfRIndexes, Valbytes, Ibytes, NULL, nRootfRIndexes, NULL, NULL)); // rootfRIndexes(i) = j, - // where (i,j) = (parentC, rootC) of the new frontier C + GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&IrootfRIndexes, (void **)&VrootfRIndexes, &Ibytes, &Valbytes, NULL, &nRootfRIndexes, &jumbled, NULL)); // no need to sort them + GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootfRIndexes, (void **)&IrootfRIndexes, Valbytes, Ibytes, NULL, nRootfRIndexes, jumbled, NULL)); // rootfRIndexes(i) = j, + // where (i,j) = (parentC, rootC) of the new frontier C } // build tuple of (parentC, rootC) @@ -390,7 +394,8 @@ int LAGraph_MaximumMatching( GrB_Index bytes_dummy = 0, Vmatesbytes = 0, VfRBytes = 0, nfR = 0; GRB_TRY(GxB_Vector_unpack_CSC(currentMatesR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Vmatesbytes, NULL, &nfR, NULL, NULL)); // currentMatesR already contains only the rows of fR GRB_TRY(GxB_Vector_unpack_CSC(frontierR, (GrB_Index **)&dummy, (void **)&VfR, &bytes_dummy, &VfRBytes, NULL, &nfR, NULL, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(frontierR, (GrB_Index **)&VmatesfR, (void **)&VfR, Vmatesbytes, VfRBytes, NULL, nfR, NULL, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(frontierR, (GrB_Index **)&VmatesfR, (void **)&VfR, Vmatesbytes, VfRBytes, NULL, nfR, jumbled, NULL)); // the values are not ordered, + // so the indices of the inverted fR are jumbled // assign to fC GRB_TRY(GrB_Vector_assign(frontierC, NULL, NULL, frontierR, GrB_ALL, ncols, GrB_DESC_RS)); } @@ -407,8 +412,8 @@ int LAGraph_MaximumMatching( while (nvals) { // invert pathC - GRB_TRY(GxB_Vector_unpack_CSC(pathC, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, NULL, NULL)); - GRB_TRY(GrB_Vector_build_UINT64(ur, Xpath, Ipath, nvals, GrB_FIRST_UINT64)); // ur is already empty because in the previous iteration it was unpacked + GRB_TRY(GxB_Vector_unpack_CSC(pathC, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, &jumbled, NULL)); // pathC doesn't have dup values as it stems from an invertion + GRB_TRY(GxB_Vector_pack_CSC(ur, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, nvals, jumbled, NULL)); // ur is already empty because in the previous iteration it was unpacked /* debug GxB_Vector_fprint(ur, "ur", GxB_COMPLETE, stdout); @@ -416,7 +421,6 @@ int LAGraph_MaximumMatching( */ // assign parents of rows to rows - GRB_TRY(GrB_Vector_nvals(&nvals, ur)); GRB_TRY(GrB_Vector_assign(ur, ur, NULL, parentsR, GrB_ALL, nrows, GrB_DESC_S)); // update the values of ur (descriptor needed to use mask's structure and not values) /* debug @@ -424,15 +428,15 @@ int LAGraph_MaximumMatching( */ // invert ur - GRB_TRY(GxB_Vector_unpack_CSC(ur, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, NULL, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(pathC, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, nvals, NULL, NULL)); + GRB_TRY(GxB_Vector_unpack_CSC(ur, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, &jumbled, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(pathC, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, nvals, jumbled, NULL)); /* debug GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); */ // keep a copy of the previous row matches of the matched cols that will alter mates - GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, *mateC, GrB_ALL, ncols, GrB_DESC_RS)); // what does ni refer to? // number of all the rows (even if they're empty) + GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, *mateC, GrB_ALL, ncols, GrB_DESC_RS)); /* debug GxB_Vector_fprint(pathCopy, "pathCopy", GxB_COMPLETE, stdout); From 42479d700e883bccc372e228d838673450bff34c Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 24 Jun 2024 16:48:41 -0500 Subject: [PATCH 18/69] Fix LAGraph_Free calls --- experimental/algorithm/LAGraph_MaximumMatching.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 80159be741..c4b22fb00f 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -338,8 +338,8 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_clear(pathUpdate)); GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates GRB_TRY(GrB_Vector_assign(pathC, NULL, GrB_SECOND_UINT64, pathUpdate, GrB_ALL, ncols, NULL)); // update path without deleting the values not updated - LAGraph_Free(IrootsufR); // build copies the lists so they need to be freed - LAGraph_Free(VrootsufR); + LG_TRY(LAGraph_Free((void **)&IrootsufR, msg)); // build copies the lists so they need to be freed + LG_TRY(LAGraph_Free((void **)&VrootsufR, msg)); // get roots of row nodes in the current R frontier GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, frontierR, NULL)); @@ -362,8 +362,8 @@ int LAGraph_MaximumMatching( // included in the current R frontier with a col root of j // keep only col roots that are not included in ufR GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); - LAGraph_Free(VmatesfR); - LAGraph_Free(VrootsfR); + LG_TRY(LAGraph_Free((void **)&VmatesfR, msg)); + LG_TRY(LAGraph_Free((void **)&VrootsfR, msg)); GrB_Index *IrootfRIndexes, *VrootfRIndexes; GrB_Index nRootfRIndexes = 0; From 610304f7c57b6eb6b40b2244870f19685b51c1f1 Mon Sep 17 00:00:00 2001 From: kchristin Date: Tue, 25 Jun 2024 13:19:44 -0500 Subject: [PATCH 19/69] Make I a bool vector, add another vector to copy to output and free work in the end --- .../algorithm/LAGraph_MaximumMatching.c | 141 +++++++++++------- 1 file changed, 89 insertions(+), 52 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index c4b22fb00f..5a921a4e79 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -20,17 +20,45 @@ // add explanation of paper -// #define LG_FREE_WORK \ -// { -// } - -// #define LG_FREE_ALL \ -// { \ -// // LG_FREE_WORK ; \ -// // GrB_free (centrality) ; -// } +#define LG_FREE_WORK \ + { \ + GrB_free(&pathC); \ + GrB_free(&parentsR); \ + GrB_free(&Vertex); \ + GrB_free(&frontierC); \ + GrB_free(&frontierR); \ + GrB_free(&initFrontierOp); \ + GrB_free(&I); \ + GrB_free(&MinParent); \ + GrB_free(&AddMonoid); \ + GrB_free(&MultOp); \ + GrB_free(&semiring); \ + GrB_free(&getParentsOp); \ + GrB_free(&getRootsOp); \ + GrB_free(&parentsUpdate); \ + GrB_free(&ufrontierR); \ + GrB_free(&mateR); \ + GrB_free(&rootsufR); \ + GrB_free(&pathUpdate); \ + GrB_free(&rootufRIndexes); \ + GrB_free(&rootsfR); \ + GrB_free(&rootfRIndexes); \ + GrB_free(&buildfCTuplesOp); \ + GrB_free(&vertexTypecastOp); \ + GrB_free(&setParentsMatesOp); \ + GrB_free(&ur); \ + GrB_free(&pathCopy); \ + GrB_free(¤tMatesR); \ + } + +#define LG_FREE_ALL \ + { \ + LG_FREE_WORK; \ + GrB_free(&mateCcopy); \ + } #include "LG_internal.h" +#include "LAGraphX.h" //------------------------------------------------------------------------------ // the Vertex tuple: (parentC, rootC) @@ -161,6 +189,37 @@ int LAGraph_MaximumMatching( // check inputs //-------------------------------------------------------------------------- + GrB_Vector pathC = NULL; // make this bitmap, if dense I would have to give all the entries and make the matrix 1-based + GrB_Vector parentsR = NULL; // parents of row nodes that are reachable from paths of the initial column frontier + GrB_Type Vertex = NULL; + GrB_Vector frontierC = NULL; + GrB_Vector frontierR = NULL; + GrB_IndexUnaryOp initFrontierOp = NULL; + GrB_Vector I = NULL; // dense vector of 1's + GrB_BinaryOp MinParent = NULL; + GrB_Monoid AddMonoid = NULL; + GrB_BinaryOp MultOp = NULL; + GrB_Semiring semiring = NULL; + GrB_UnaryOp getParentsOp = NULL; + GrB_UnaryOp getRootsOp = NULL; + GrB_Vector parentsUpdate = NULL; // unmatched rows of R frontier + GrB_Vector ufrontierR = NULL; // unmatched rows of R frontier + GrB_Vector mateR = NULL; // mateR(i) = j : Row i of the R subset is matched to column j of the C subset + GrB_Vector rootsufR = NULL; + GrB_Vector pathUpdate = NULL; + GrB_Vector rootufRIndexes = NULL; + GrB_Vector rootsfR = NULL; + GrB_Vector rootfRIndexes = NULL; + GrB_IndexUnaryOp buildfCTuplesOp = NULL; + GrB_UnaryOp vertexTypecastOp = NULL; + GrB_BinaryOp setParentsMatesOp = NULL; + GrB_Vector ur = NULL; + GrB_Vector pathCopy = NULL; + GrB_Vector currentMatesR = NULL; + + GrB_Vector mateCcopy = *mateC; + + LG_CLEAR_MSG; LG_TRY(LAGraph_CheckGraph(G, msg)); @@ -172,88 +231,63 @@ int LAGraph_MaximumMatching( uint64_t nrows = 0; GRB_TRY(GrB_Matrix_nrows(&nrows, A)); - GrB_Vector pathC = NULL; // make this bitmap, if dense I would have to give all the entries and make the matrix 1-based GRB_TRY(GrB_Vector_new(&pathC, GrB_UINT64, ncols)); - GrB_Vector parentsR = NULL; // parents of row nodes that are reachable from paths of the initial column frontier GRB_TRY(GrB_Vector_new(&parentsR, GrB_UINT64, nrows)); - GrB_Type Vertex = NULL; GRB_TRY(GxB_Type_new(&Vertex, sizeof(vertex), "vertex", VERTEX_DEFN)); - GrB_Vector frontierC = NULL; GRB_TRY(GrB_Vector_new(&frontierC, Vertex, ncols)); - GrB_Vector frontierR = NULL; + GRB_TRY(GrB_Vector_new(&frontierR, Vertex, nrows)); - GrB_IndexUnaryOp initFrontierOp = NULL; GRB_TRY(GxB_IndexUnaryOp_new(&initFrontierOp, (void *)initFrontier, Vertex, GrB_BOOL, GrB_BOOL, "initFrontier", INIT_FRONTIER_DEFN)); uint64_t nvals = 0; bool y = 0; // see if I can get rid of this - GrB_Vector I = NULL; // dense vector of 1's GRB_TRY(GrB_Vector_new(&I, GrB_BOOL, ncols)); - GRB_TRY(GrB_Vector_assign_INT32(I, NULL, NULL, 1, GrB_ALL, ncols, NULL)); + GRB_TRY(GrB_Vector_assign_BOOL(I, NULL, NULL, 1, GrB_ALL, ncols, NULL)); - GrB_BinaryOp MinParent = NULL; GRB_TRY(GxB_BinaryOp_new(&MinParent, (void *)minparent, Vertex, Vertex, Vertex, "minparent", MIN_PARENT_DEFN)); vertex infinityParent = {GrB_INDEX_MAX + 1, 0}; - GrB_Monoid AddMonoid; GRB_TRY(GrB_Monoid_new_UDT(&AddMonoid, MinParent, &infinityParent)); - GrB_BinaryOp MultMonoid; - GRB_TRY(GxB_BinaryOp_new(&MultMonoid, (void *)select2nd, + GRB_TRY(GxB_BinaryOp_new(&MultOp, (void *)select2nd, Vertex, GrB_BOOL, Vertex, "select2nd", SELECT_2ND_DEFN)); - GrB_Semiring semiring = NULL; - GRB_TRY(GrB_Semiring_new(&semiring, AddMonoid, MultMonoid)); - GrB_UnaryOp getParentsOp = NULL; + GRB_TRY(GrB_Semiring_new(&semiring, AddMonoid, MultOp)); + GRB_TRY(GxB_UnaryOp_new(&getParentsOp, (void *)keepParents, GrB_UINT64, Vertex, "keepParents", KEEP_PARENTS_DEFN)); - GrB_UnaryOp getRootsOp = NULL; GRB_TRY(GxB_UnaryOp_new(&getRootsOp, (void *)keepRoots, GrB_UINT64, Vertex, "keepRoots", KEEP_ROOTS_DEFN)); - GrB_Vector parentsUpdate = NULL; // unmatched rows of R frontier GRB_TRY(GrB_Vector_new(&parentsUpdate, GrB_UINT64, nrows)); - GrB_Vector ufrontierR = NULL; // unmatched rows of R frontier GRB_TRY(GrB_Vector_new(&ufrontierR, Vertex, nrows)); - GrB_Vector mateR = NULL; // mateR(i) = j : Row i of the R subset is matched to column j of the C subset GRB_TRY(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); - GrB_Vector rootsufR = NULL; GRB_TRY(GrB_Vector_new(&rootsufR, GrB_UINT64, nrows)); - GrB_Vector pathUpdate = NULL; GRB_TRY(GrB_Vector_new(&pathUpdate, GrB_UINT64, ncols)); - GrB_Vector rootufRIndexes = NULL; GRB_TRY(GrB_Vector_new(&rootufRIndexes, GrB_UINT64, ncols)); - GrB_Vector rootsfR = NULL; GRB_TRY(GrB_Vector_new(&rootsfR, GrB_UINT64, nrows)); - GrB_Vector rootfRIndexes = NULL; GRB_TRY(GrB_Vector_new(&rootfRIndexes, GrB_UINT64, ncols)); - GrB_IndexUnaryOp buildfCTuplesOp = NULL; GRB_TRY(GxB_IndexUnaryOp_new(&buildfCTuplesOp, (void *)buildfCTuples, Vertex, GrB_UINT64, GrB_BOOL, "buildfCTuples", BUILT_FC_TUPLES_DEFN)); - GrB_UnaryOp vertexTypecastOp = NULL; GRB_TRY(GxB_UnaryOp_new(&vertexTypecastOp, (void *)vertexTypecast, Vertex, GrB_UINT64, "vertexTypecast", VERTEX_TYPECAST_DEFN)); - GrB_BinaryOp setParentsMatesOp = NULL; GRB_TRY(GxB_BinaryOp_new(&setParentsMatesOp, (void *)setParentsMates, Vertex, Vertex, Vertex, "setParentsMates", SET_PARENTS_MATES_DEFN)); - GrB_Vector ur = NULL; GRB_TRY(GrB_Vector_new(&ur, GrB_UINT64, nrows)); - GrB_Vector pathCopy = NULL; GRB_TRY(GrB_Vector_new(&pathCopy, GrB_UINT64, ncols)); - GrB_Vector currentMatesR = NULL; GRB_TRY(GrB_Vector_new(¤tMatesR, GrB_UINT64, nrows)); bool jumbled = 1; @@ -263,7 +297,7 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_clear(pathC)); GRB_TRY(GrB_Vector_clear(parentsR)); // for every col j not matched, assign f(j) = VERTEX(j,j) - GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, *mateC, NULL, initFrontierOp, I, &y, GrB_DESC_RSC)); + GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, mateCcopy, NULL, initFrontierOp, I, &y, GrB_DESC_RSC)); /* debug GrB_Index C[ncols]; @@ -273,21 +307,21 @@ int LAGraph_MaximumMatching( { printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, V[k].rootC); } - GxB_Vector_fprint(*mateC, "mateC", GxB_COMPLETE, stdout); + GxB_Vector_fprint(mateCcopy, "mateC", GxB_COMPLETE, stdout); */ uint64_t nmatched = 0; - GRB_TRY(GrB_Vector_nvals(&nmatched, *mateC)); + GRB_TRY(GrB_Vector_nvals(&nmatched, mateCcopy)); if (nmatched) { GrB_Index *J, *X; // unpack allocates space for these lists GrB_Index Jbytes = 0, Xbytes = 0; - GRB_TRY(GxB_Vector_unpack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); // mateC and mateR do not have duplicates, so the order doesn't matter - GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method - GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, NULL)); // build does not take ownership of the lists J and X, but only copies them, - // these lists will be given again to mateC - // mateC has no duplicates in the values list, so mateR doesn't need to handle dups - GRB_TRY(GxB_Vector_pack_CSC(*mateC, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, jumbled, NULL)); + GRB_TRY(GxB_Vector_unpack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); // mateC and mateR do not have duplicates, so the order doesn't matter + GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method + GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, NULL)); // build does not take ownership of the lists J and X, but only copies them, + // these lists will be given again to mateC + // mateC has no duplicates in the values list, so mateR doesn't need to handle dups + GRB_TRY(GxB_Vector_pack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, jumbled, NULL)); } /* debug @@ -436,14 +470,14 @@ int LAGraph_MaximumMatching( */ // keep a copy of the previous row matches of the matched cols that will alter mates - GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, *mateC, GrB_ALL, ncols, GrB_DESC_RS)); + GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, mateCcopy, GrB_ALL, ncols, GrB_DESC_RS)); /* debug GxB_Vector_fprint(pathCopy, "pathCopy", GxB_COMPLETE, stdout); */ // update mateC - GRB_TRY(GrB_Vector_assign(*mateC, NULL, GrB_SECOND_UINT64, pathC, GrB_ALL, ncols, NULL)); + GRB_TRY(GrB_Vector_assign(mateCcopy, NULL, GrB_SECOND_UINT64, pathC, GrB_ALL, ncols, NULL)); // swap path and pathCopy GrB_Vector temp = pathC; pathC = pathCopy; @@ -452,7 +486,7 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_nvals(&nvals, pathC)); /* debug - GxB_Vector_fprint(*mateC, "mateC", GxB_COMPLETE, stdout); + GxB_Vector_fprint(mateCcopy, "mateC", GxB_COMPLETE, stdout); */ } @@ -460,9 +494,12 @@ int LAGraph_MaximumMatching( } while (nvals); // only in the first and last iteration should this condition be false // /* debug - GxB_Vector_fprint(*mateC, "mateC", GxB_COMPLETE, stdout); + GxB_Vector_fprint(mateCcopy, "mateC", GxB_COMPLETE, stdout); // */ + (*mateC) = mateCcopy; + LG_FREE_WORK; + LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); return (GrB_SUCCESS); From 2c8c11cbb07a96e5dba04554a1867c28beb1e2db Mon Sep 17 00:00:00 2001 From: kchristin Date: Tue, 25 Jun 2024 17:12:28 -0500 Subject: [PATCH 20/69] Add the burble and evaluation of the matching in MCM test --- .../algorithm/LAGraph_MaximumMatching.c | 11 ++-- experimental/test/test_MaximumMatching.c | 57 ++++++++++++++++--- 2 files changed, 54 insertions(+), 14 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 5a921a4e79..bf3de5a641 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -189,7 +189,7 @@ int LAGraph_MaximumMatching( // check inputs //-------------------------------------------------------------------------- - GrB_Vector pathC = NULL; // make this bitmap, if dense I would have to give all the entries and make the matrix 1-based + GrB_Vector pathC = NULL; // make this bitmap, if dense I would have to give all the entries and make the matrix 1-based GrB_Vector parentsR = NULL; // parents of row nodes that are reachable from paths of the initial column frontier GrB_Type Vertex = NULL; GrB_Vector frontierC = NULL; @@ -203,8 +203,8 @@ int LAGraph_MaximumMatching( GrB_UnaryOp getParentsOp = NULL; GrB_UnaryOp getRootsOp = NULL; GrB_Vector parentsUpdate = NULL; // unmatched rows of R frontier - GrB_Vector ufrontierR = NULL; // unmatched rows of R frontier - GrB_Vector mateR = NULL; // mateR(i) = j : Row i of the R subset is matched to column j of the C subset + GrB_Vector ufrontierR = NULL; // unmatched rows of R frontier + GrB_Vector mateR = NULL; // mateR(i) = j : Row i of the R subset is matched to column j of the C subset GrB_Vector rootsufR = NULL; GrB_Vector pathUpdate = NULL; GrB_Vector rootufRIndexes = NULL; @@ -219,7 +219,6 @@ int LAGraph_MaximumMatching( GrB_Vector mateCcopy = *mateC; - LG_CLEAR_MSG; LG_TRY(LAGraph_CheckGraph(G, msg)); @@ -247,7 +246,7 @@ int LAGraph_MaximumMatching( bool y = 0; // see if I can get rid of this GRB_TRY(GrB_Vector_new(&I, GrB_BOOL, ncols)); - GRB_TRY(GrB_Vector_assign_BOOL(I, NULL, NULL, 1, GrB_ALL, ncols, NULL)); + GRB_TRY(GrB_Vector_assign_BOOL(I, NULL, NULL, 1, GrB_ALL, ncols, NULL)); // pack with GrB_ALL as indexes? GRB_TRY(GxB_BinaryOp_new(&MinParent, (void *)minparent, Vertex, Vertex, Vertex, "minparent", MIN_PARENT_DEFN)); vertex infinityParent = {GrB_INDEX_MAX + 1, 0}; @@ -500,7 +499,7 @@ int LAGraph_MaximumMatching( (*mateC) = mateCcopy; LG_FREE_WORK; - LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); + // LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); return (GrB_SUCCESS); } \ No newline at end of file diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index d18535e716..4a51a16f06 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -4,6 +4,8 @@ #include #include #include +#include "LG_internal.h" + char msg[LAGRAPH_MSG_LEN]; LAGraph_Graph G = NULL; @@ -11,23 +13,62 @@ LAGraph_Graph G = NULL; void test_MCM() { LAGraph_Init(msg); - GrB_Vector mateC = NULL; - OK(GrB_Vector_new(&mateC, GrB_UINT64, 5)); - GrB_Index Ilist[2] = {2, 3}; - uint64_t Vlist[2] = {2, 4}; - OK(GrB_Vector_build_UINT64(mateC, Ilist, Vlist, 2, NULL)); + + // OK(LG_SET_BURBLE(1)); GrB_Index R[9] = {0, 0, 1, 2, 2, 3, 3, 4, 4}; GrB_Index C[9] = {0, 1, 0, 1, 2, 2, 4, 3, 4}; bool values[9] = {1, 1, 1, 1, 1, 1, 1, 1, 1}; GrB_Matrix A = NULL; - OK(GrB_Matrix_new(&A, GrB_BOOL, 5, 5)); - OK(GrB_Matrix_build_BOOL(A, R, C, values, 9, GrB_FIRST_BOOL)); + GrB_Index nrows = 5, ncols = 5; + OK(GrB_Matrix_new(&A, GrB_BOOL, nrows, ncols)); + OK(GrB_Matrix_build_BOOL(A, R, C, values, 9, GrB_FIRST_BOOL)); // change to pack // GxB_Matrix_fprint(A, "A", GxB_COMPLETE, stdout); - OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); + OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); // A is set to NULL afterwards + + GrB_Vector mateC = NULL; + OK(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); + GrB_Index Ilist[2] = {2, 3}; + uint64_t Vlist[2] = {2, 4}; + OK(GrB_Vector_build_UINT64(mateC, Ilist, Vlist, 2, NULL)); + OK(LAGraph_MaximumMatching(&mateC, G, msg)); printf("msg: %s\n", msg); + GrB_Index *J = NULL, *X = NULL; + GrB_Index Jbytes = 0, Xbytes = 0, nmatched = 0; + bool jumbled = 1; + + GrB_Vector mateR = NULL; + OK(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); + + // invert to check for dups + OK(GxB_Vector_unpack_CSC(mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); + OK(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); + GrB_Index nmateR = 0; + OK(GrB_Vector_nvals(&nmateR, mateR)); + // if nvals of mateC and mateR don't match, then there's at least one row that is used in at least one matching + TEST_CHECK(nmatched == nmateR); + OK(LAGraph_Free((void **)&mateR, msg)); + + // pack matched values in a matrix + GrB_Matrix M = NULL; + A = G->A; + bool x[1] = {1}; + bool val[nmatched]; + for (uint64_t i = 0; i < nmatched; i++) + val[i] = 1; + OK(GrB_Matrix_new(&M, GrB_BOOL, nrows, ncols)); + OK(GrB_Matrix_build_BOOL(M, X, J, val, nmatched, NULL)); + // mask with matrix A to check if all edges are present in A + OK(GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, GrB_DESC_S)); + GrB_Index nvalsM = 0; + OK(GrB_Matrix_nvals(&nvalsM, M)); + // if values have been eliminated then edges do not exist in A + TEST_CHECK(nvalsM == nmatched); + + // sprank must be equal to nvals of mateC (nmatched) + LAGraph_Finalize(msg); } From f8723548db3139db48af115bebe2fa7f65f44ec9 Mon Sep 17 00:00:00 2001 From: kchristin Date: Wed, 26 Jun 2024 16:50:14 -0500 Subject: [PATCH 21/69] Fix shared jumbled var among vectors bug --- .../algorithm/LAGraph_MaximumMatching.c | 45 ++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index bf3de5a641..fddaa542d0 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -289,8 +289,6 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_new(¤tMatesR, GrB_UINT64, nrows)); - bool jumbled = 1; - do { GRB_TRY(GrB_Vector_clear(pathC)); @@ -315,12 +313,13 @@ int LAGraph_MaximumMatching( { GrB_Index *J, *X; // unpack allocates space for these lists GrB_Index Jbytes = 0, Xbytes = 0; - GRB_TRY(GxB_Vector_unpack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); // mateC and mateR do not have duplicates, so the order doesn't matter - GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method - GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, NULL)); // build does not take ownership of the lists J and X, but only copies them, - // these lists will be given again to mateC - // mateC has no duplicates in the values list, so mateR doesn't need to handle dups - GRB_TRY(GxB_Vector_pack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, jumbled, NULL)); + bool jumbledMateC = 0; + GRB_TRY(GxB_Vector_unpack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbledMateC, NULL)); // mateC and mateR do not have duplicates, so the order doesn't matter + GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method + GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, NULL)); // build does not take ownership of the lists J and X, but only copies them, + // these lists will be given again to mateC + // mateC has no duplicates in the values list, so mateR doesn't need to handle dups + GRB_TRY(GxB_Vector_pack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, true, NULL)); } /* debug @@ -400,9 +399,10 @@ int LAGraph_MaximumMatching( GrB_Index *IrootfRIndexes, *VrootfRIndexes; GrB_Index nRootfRIndexes = 0; - GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&IrootfRIndexes, (void **)&VrootfRIndexes, &Ibytes, &Valbytes, NULL, &nRootfRIndexes, &jumbled, NULL)); // no need to sort them - GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootfRIndexes, (void **)&IrootfRIndexes, Valbytes, Ibytes, NULL, nRootfRIndexes, jumbled, NULL)); // rootfRIndexes(i) = j, - // where (i,j) = (parentC, rootC) of the new frontier C + bool jumbledRoots = 1; + GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&IrootfRIndexes, (void **)&VrootfRIndexes, &Ibytes, &Valbytes, NULL, &nRootfRIndexes, &jumbledRoots, NULL)); // no need to sort them + GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootfRIndexes, (void **)&IrootfRIndexes, Valbytes, Ibytes, NULL, nRootfRIndexes, true, NULL)); // rootfRIndexes(i) = j, + // where (i,j) = (parentC, rootC) of the new frontier C } // build tuple of (parentC, rootC) @@ -427,8 +427,8 @@ int LAGraph_MaximumMatching( GrB_Index bytes_dummy = 0, Vmatesbytes = 0, VfRBytes = 0, nfR = 0; GRB_TRY(GxB_Vector_unpack_CSC(currentMatesR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Vmatesbytes, NULL, &nfR, NULL, NULL)); // currentMatesR already contains only the rows of fR GRB_TRY(GxB_Vector_unpack_CSC(frontierR, (GrB_Index **)&dummy, (void **)&VfR, &bytes_dummy, &VfRBytes, NULL, &nfR, NULL, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(frontierR, (GrB_Index **)&VmatesfR, (void **)&VfR, Vmatesbytes, VfRBytes, NULL, nfR, jumbled, NULL)); // the values are not ordered, - // so the indices of the inverted fR are jumbled + GRB_TRY(GxB_Vector_pack_CSC(frontierR, (GrB_Index **)&VmatesfR, (void **)&VfR, Vmatesbytes, VfRBytes, NULL, nfR, true, NULL)); // the values are not ordered, + // so the indices of the inverted fR are jumbled // assign to fC GRB_TRY(GrB_Vector_assign(frontierC, NULL, NULL, frontierR, GrB_ALL, ncols, GrB_DESC_RS)); } @@ -441,17 +441,19 @@ int LAGraph_MaximumMatching( uint64_t npathCopy = nvals; GrB_Index *Ipath, *Xpath; GrB_Index IpathBytes = 0, XpathBytes = 0; - while (nvals) { + GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); + // invert pathC - GRB_TRY(GxB_Vector_unpack_CSC(pathC, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, &jumbled, NULL)); // pathC doesn't have dup values as it stems from an invertion - GRB_TRY(GxB_Vector_pack_CSC(ur, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, nvals, jumbled, NULL)); // ur is already empty because in the previous iteration it was unpacked + bool jumbledPathC = 1; + GRB_TRY(GxB_Vector_unpack_CSC(pathC, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, &jumbledPathC, NULL)); // pathC doesn't have dup values as it stems from an invertion + GRB_TRY(GxB_Vector_pack_CSC(ur, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, nvals, true, NULL)); // ur is already empty because in the previous iteration it was unpacked - /* debug + // /* debug GxB_Vector_fprint(ur, "ur", GxB_COMPLETE, stdout); - GxB_Vector_fprint(parentsR, "parentsR", GxB_COMPLETE, stdout); - */ + // GxB_Vector_fprint(parentsR, "parentsR", GxB_COMPLETE, stdout); + // */ // assign parents of rows to rows GRB_TRY(GrB_Vector_assign(ur, ur, NULL, parentsR, GrB_ALL, nrows, GrB_DESC_S)); // update the values of ur (descriptor needed to use mask's structure and not values) @@ -461,8 +463,9 @@ int LAGraph_MaximumMatching( */ // invert ur - GRB_TRY(GxB_Vector_unpack_CSC(ur, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, &jumbled, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(pathC, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, nvals, jumbled, NULL)); + bool jumbledUR = 1; + GRB_TRY(GxB_Vector_unpack_CSC(ur, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, &jumbledUR, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(pathC, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, nvals, true, NULL)); /* debug GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); From f3a5c0b89d5269dbf588f7573ae1df27c856e13d Mon Sep 17 00:00:00 2001 From: kchristin Date: Wed, 26 Jun 2024 16:50:43 -0500 Subject: [PATCH 22/69] Test with a matrix from the data set of LAGraph --- experimental/test/test_MaximumMatching.c | 51 ++++++++++++++++-------- 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index 4a51a16f06..a8d4072112 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -6,38 +6,56 @@ #include #include "LG_internal.h" - char msg[LAGRAPH_MSG_LEN]; LAGraph_Graph G = NULL; +#define LEN 512 +char filename[LEN + 1]; + void test_MCM() { LAGraph_Init(msg); - // OK(LG_SET_BURBLE(1)); + OK(LG_SET_BURBLE(1)); - GrB_Index R[9] = {0, 0, 1, 2, 2, 3, 3, 4, 4}; - GrB_Index C[9] = {0, 1, 0, 1, 2, 2, 4, 3, 4}; - bool values[9] = {1, 1, 1, 1, 1, 1, 1, 1, 1}; GrB_Matrix A = NULL; - GrB_Index nrows = 5, ncols = 5; + snprintf(filename, LEN, LG_DATA_DIR "%s", "west0067.mtx"); + FILE *f = fopen(filename, "r"); + TEST_CHECK(f != NULL); + OK(LAGraph_MMRead(&A, f, msg)); + OK(fclose(f)); + GrB_Index nrows = 0, ncols = 0, nvals = 0; + OK(GrB_Matrix_nrows(&nrows, A)); + OK(GrB_Matrix_ncols(&ncols, A)); + OK(GrB_Matrix_nvals(&nvals, A)); + + // make A a bool matrix and iso-valued + GrB_Index *I, *J, *X; + double *dummy; + OK(LAGraph_Malloc((void **)&I, nvals, sizeof(GrB_Index), msg)); + OK(LAGraph_Malloc((void **)&J, nvals, sizeof(GrB_Index), msg)); + OK(LAGraph_Malloc((void **)&dummy, nvals, sizeof(double), msg)); + + GrB_Index Ibytes = 0, Jbytes = 0, Xbytes = 0; + bool jumbled = 1; + bool iso_value[nvals]; + for (uint64_t i = 0; i < nvals; i++) + iso_value[i] = 1; + OK(GrB_Matrix_extractTuples_FP64(I, J, dummy, &nvals, A)); + TEST_CHECK(I != NULL); OK(GrB_Matrix_new(&A, GrB_BOOL, nrows, ncols)); - OK(GrB_Matrix_build_BOOL(A, R, C, values, 9, GrB_FIRST_BOOL)); // change to pack - // GxB_Matrix_fprint(A, "A", GxB_COMPLETE, stdout); - OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); // A is set to NULL afterwards + OK(GrB_Matrix_build_BOOL(A, I, J, iso_value, nvals, GrB_FIRST_BOOL)); + + OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); + TEST_CHECK(A == NULL); // A has been moved into G->A GrB_Vector mateC = NULL; OK(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); - GrB_Index Ilist[2] = {2, 3}; - uint64_t Vlist[2] = {2, 4}; - OK(GrB_Vector_build_UINT64(mateC, Ilist, Vlist, 2, NULL)); OK(LAGraph_MaximumMatching(&mateC, G, msg)); printf("msg: %s\n", msg); - GrB_Index *J = NULL, *X = NULL; - GrB_Index Jbytes = 0, Xbytes = 0, nmatched = 0; - bool jumbled = 1; + GrB_Index nmatched = 0; GrB_Vector mateR = NULL; OK(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); @@ -54,7 +72,6 @@ void test_MCM() // pack matched values in a matrix GrB_Matrix M = NULL; A = G->A; - bool x[1] = {1}; bool val[nmatched]; for (uint64_t i = 0; i < nmatched; i++) val[i] = 1; @@ -74,5 +91,5 @@ void test_MCM() TEST_LIST = { - {"Dummy", test_MCM}, // just one test in this example + {"MaximumMatching", test_MCM}, // just one test in this example {NULL, NULL}}; \ No newline at end of file From 4032a53de3b13865deea9cb227e49034f256fba6 Mon Sep 17 00:00:00 2001 From: kchristin Date: Thu, 27 Jun 2024 12:00:58 -0500 Subject: [PATCH 23/69] Add second test and comment out any debugging prints --- .../algorithm/LAGraph_MaximumMatching.c | 14 +-- experimental/test/test_MaximumMatching.c | 107 ++++++++++++++++-- 2 files changed, 105 insertions(+), 16 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index fddaa542d0..cff2398435 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -443,17 +443,15 @@ int LAGraph_MaximumMatching( GrB_Index IpathBytes = 0, XpathBytes = 0; while (nvals) { - GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); - // invert pathC bool jumbledPathC = 1; GRB_TRY(GxB_Vector_unpack_CSC(pathC, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, &jumbledPathC, NULL)); // pathC doesn't have dup values as it stems from an invertion GRB_TRY(GxB_Vector_pack_CSC(ur, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, nvals, true, NULL)); // ur is already empty because in the previous iteration it was unpacked - // /* debug + /* debug GxB_Vector_fprint(ur, "ur", GxB_COMPLETE, stdout); - // GxB_Vector_fprint(parentsR, "parentsR", GxB_COMPLETE, stdout); - // */ + GxB_Vector_fprint(parentsR, "parentsR", GxB_COMPLETE, stdout); + */ // assign parents of rows to rows GRB_TRY(GrB_Vector_assign(ur, ur, NULL, parentsR, GrB_ALL, nrows, GrB_DESC_S)); // update the values of ur (descriptor needed to use mask's structure and not values) @@ -495,14 +493,12 @@ int LAGraph_MaximumMatching( nvals = npathCopy; } while (nvals); // only in the first and last iteration should this condition be false - // /* debug + /* debug GxB_Vector_fprint(mateCcopy, "mateC", GxB_COMPLETE, stdout); - // */ + */ (*mateC) = mateCcopy; LG_FREE_WORK; - // LG_ASSERT_MSG(1 == 0, GrB_INVALID_VALUE, "dummy"); - return (GrB_SUCCESS); } \ No newline at end of file diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index a8d4072112..debf929fa3 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -16,7 +16,7 @@ void test_MCM() { LAGraph_Init(msg); - OK(LG_SET_BURBLE(1)); + // OK(LG_SET_BURBLE(1)); GrB_Matrix A = NULL; snprintf(filename, LEN, LG_DATA_DIR "%s", "west0067.mtx"); @@ -32,13 +32,13 @@ void test_MCM() // make A a bool matrix and iso-valued GrB_Index *I, *J, *X; double *dummy; + bool *iso_value; + OK(LAGraph_Malloc((void **)&I, nvals, sizeof(GrB_Index), msg)); OK(LAGraph_Malloc((void **)&J, nvals, sizeof(GrB_Index), msg)); OK(LAGraph_Malloc((void **)&dummy, nvals, sizeof(double), msg)); + OK(LAGraph_Malloc((void **)&iso_value, nvals, sizeof(bool), msg)); - GrB_Index Ibytes = 0, Jbytes = 0, Xbytes = 0; - bool jumbled = 1; - bool iso_value[nvals]; for (uint64_t i = 0; i < nvals; i++) iso_value[i] = 1; OK(GrB_Matrix_extractTuples_FP64(I, J, dummy, &nvals, A)); @@ -46,6 +46,11 @@ void test_MCM() OK(GrB_Matrix_new(&A, GrB_BOOL, nrows, ncols)); OK(GrB_Matrix_build_BOOL(A, I, J, iso_value, nvals, GrB_FIRST_BOOL)); + OK(LAGraph_Free((void **)&I, msg)); + OK(LAGraph_Free((void **)&J, msg)); + OK(LAGraph_Free((void **)&dummy, msg)); + OK(LAGraph_Free((void **)&iso_value, msg)); + OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); TEST_CHECK(A == NULL); // A has been moved into G->A @@ -53,7 +58,7 @@ void test_MCM() OK(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); OK(LAGraph_MaximumMatching(&mateC, G, msg)); - printf("msg: %s\n", msg); + printf("\nmsg: %s\n", msg); GrB_Index nmatched = 0; @@ -61,22 +66,25 @@ void test_MCM() OK(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); // invert to check for dups + GrB_Index Ibytes = 0, Jbytes = 0, Xbytes = 0; + bool jumbled = 1; OK(GxB_Vector_unpack_CSC(mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); OK(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); GrB_Index nmateR = 0; OK(GrB_Vector_nvals(&nmateR, mateR)); // if nvals of mateC and mateR don't match, then there's at least one row that is used in at least one matching TEST_CHECK(nmatched == nmateR); - OK(LAGraph_Free((void **)&mateR, msg)); // pack matched values in a matrix GrB_Matrix M = NULL; A = G->A; - bool val[nmatched]; + bool *val; + OK(LAGraph_Malloc((void **)&val, nmatched, sizeof(bool), msg)); for (uint64_t i = 0; i < nmatched; i++) val[i] = 1; OK(GrB_Matrix_new(&M, GrB_BOOL, nrows, ncols)); OK(GrB_Matrix_build_BOOL(M, X, J, val, nmatched, NULL)); + OK(LAGraph_Free((void **)&val, msg)); // mask with matrix A to check if all edges are present in A OK(GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, GrB_DESC_S)); GrB_Index nvalsM = 0; @@ -85,6 +93,91 @@ void test_MCM() TEST_CHECK(nvalsM == nmatched); // sprank must be equal to nvals of mateC (nmatched) + const uint64_t matlab_res = 67; + TEST_CHECK(nmatched == matlab_res); + + OK(LAGraph_Delete(&G, msg)); + OK(GrB_Vector_free(&mateC)); + OK(GrB_Vector_free(&mateR)); + OK(GrB_Matrix_free(&M)); + + // ---------------- second test ----------------- + + snprintf(filename, LEN, LG_DATA_DIR "%s", "zenios.mtx"); + f = fopen(filename, "r"); + TEST_CHECK(f != NULL); + OK(LAGraph_MMRead(&A, f, msg)); + OK(fclose(f)); + nrows = 0, ncols = 0, nvals = 0; + OK(GrB_Matrix_nrows(&nrows, A)); + OK(GrB_Matrix_ncols(&ncols, A)); + OK(GrB_Matrix_nvals(&nvals, A)); + + OK(LAGraph_Malloc((void **)&I, nvals, sizeof(GrB_Index), msg)); + OK(LAGraph_Malloc((void **)&J, nvals, sizeof(GrB_Index), msg)); + OK(LAGraph_Malloc((void **)&dummy, nvals, sizeof(double), msg)); + OK(LAGraph_Malloc((void **)&iso_value, nvals, sizeof(bool), msg)); + + for (uint64_t i = 0; i < nvals; i++) + iso_value[i] = 1; + OK(GrB_Matrix_extractTuples_FP64(I, J, dummy, &nvals, A)); + TEST_CHECK(I != NULL); + OK(GrB_Matrix_new(&A, GrB_BOOL, nrows, ncols)); + OK(GrB_Matrix_build_BOOL(A, I, J, iso_value, nvals, GrB_FIRST_BOOL)); + + OK(LAGraph_Free((void **)&I, msg)); + OK(LAGraph_Free((void **)&J, msg)); + OK(LAGraph_Free((void **)&dummy, msg)); + OK(LAGraph_Free((void **)&iso_value, msg)); + + OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); + TEST_CHECK(A == NULL); // A has been moved into G->A + + mateC = NULL; + OK(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); + + OK(LAGraph_MaximumMatching(&mateC, G, msg)); + printf("msg: %s\n", msg); + + nmatched = 0; + + mateR = NULL; + OK(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); + + // invert to check for dups + Ibytes = 0, Jbytes = 0, Xbytes = 0; + jumbled = 1; + OK(GxB_Vector_unpack_CSC(mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); + OK(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); + nmateR = 0; + OK(GrB_Vector_nvals(&nmateR, mateR)); + // if nvals of mateC and mateR don't match, then there's at least one row that is used in at least one matching + TEST_CHECK(nmatched == nmateR); + + // pack matched values in a matrix + M = NULL; + A = G->A; + OK(LAGraph_Malloc((void **)&val, nmatched, sizeof(bool), msg)); + for (uint64_t i = 0; i < nmatched; i++) + val[i] = 1; + OK(GrB_Matrix_new(&M, GrB_BOOL, nrows, ncols)); + OK(GrB_Matrix_build_BOOL(M, X, J, val, nmatched, NULL)); + OK(LAGraph_Free((void **)&val, msg)); + // mask with matrix A to check if all edges are present in A + OK(GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, GrB_DESC_S)); + nvalsM = 0; + OK(GrB_Matrix_nvals(&nvalsM, M)); + // if values have been eliminated then edges do not exist in A + TEST_CHECK(nvalsM == nmatched); + + // sprank must be equal to nvals of mateC (nmatched) + const uint64_t matlab_res_2 = 2873; + TEST_CHECK(nmatched == matlab_res_2); + + OK(LAGraph_Delete(&G, msg)); + OK(GrB_Vector_free(&mateC)); + OK(GrB_Vector_free(&mateR)); + OK(GrB_Matrix_free(&M)); LAGraph_Finalize(msg); } From bddfc3685fc3a0bdc75a4292446fe10911f5f995 Mon Sep 17 00:00:00 2001 From: kchristin Date: Thu, 27 Jun 2024 12:19:30 -0500 Subject: [PATCH 24/69] Specify nvals name per vector --- .../algorithm/LAGraph_MaximumMatching.c | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index cff2398435..cc0f37aa43 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -242,9 +242,6 @@ int LAGraph_MaximumMatching( GRB_TRY(GxB_IndexUnaryOp_new(&initFrontierOp, (void *)initFrontier, Vertex, GrB_BOOL, GrB_BOOL, "initFrontier", INIT_FRONTIER_DEFN)); - uint64_t nvals = 0; - bool y = 0; // see if I can get rid of this - GRB_TRY(GrB_Vector_new(&I, GrB_BOOL, ncols)); GRB_TRY(GrB_Vector_assign_BOOL(I, NULL, NULL, 1, GrB_ALL, ncols, NULL)); // pack with GrB_ALL as indexes? @@ -289,6 +286,9 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_new(¤tMatesR, GrB_UINT64, nrows)); + uint64_t npath = 0; + bool y = 0; // see if I can get rid of this + do { GRB_TRY(GrB_Vector_clear(pathC)); @@ -326,6 +326,8 @@ int LAGraph_MaximumMatching( GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); */ + uint64_t nfC = 0; + do { // perform one step of BFS from C nodes and keep only unvisited rows @@ -343,6 +345,7 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_assign(currentMatesR, frontierR, NULL, mateR, GrB_ALL, nrows, GrB_DESC_RS)); /* debug + uint64_t nvals = 0; GxB_Vector_fprint(currentMatesR, "currentMatesR", GxB_COMPLETE, stdout); GrB_Index *R = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); vertex *VR = (vertex *)malloc(nrows * sizeof(vertex)); @@ -433,20 +436,20 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_assign(frontierC, NULL, NULL, frontierR, GrB_ALL, ncols, GrB_DESC_RS)); } - GRB_TRY(GrB_Vector_nvals(&nvals, frontierC)); + GRB_TRY(GrB_Vector_nvals(&nfC, frontierC)); - } while (nvals); + } while (nfC); - GRB_TRY(GrB_Vector_nvals(&nvals, pathC)); - uint64_t npathCopy = nvals; + GRB_TRY(GrB_Vector_nvals(&npath, pathC)); + uint64_t npathCopy = npath; GrB_Index *Ipath, *Xpath; GrB_Index IpathBytes = 0, XpathBytes = 0; - while (nvals) + while (npath) { // invert pathC bool jumbledPathC = 1; - GRB_TRY(GxB_Vector_unpack_CSC(pathC, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, &jumbledPathC, NULL)); // pathC doesn't have dup values as it stems from an invertion - GRB_TRY(GxB_Vector_pack_CSC(ur, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, nvals, true, NULL)); // ur is already empty because in the previous iteration it was unpacked + GRB_TRY(GxB_Vector_unpack_CSC(pathC, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &npath, &jumbledPathC, NULL)); // pathC doesn't have dup values as it stems from an invertion + GRB_TRY(GxB_Vector_pack_CSC(ur, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, npath, true, NULL)); // ur is already empty because in the previous iteration it was unpacked /* debug GxB_Vector_fprint(ur, "ur", GxB_COMPLETE, stdout); @@ -462,8 +465,8 @@ int LAGraph_MaximumMatching( // invert ur bool jumbledUR = 1; - GRB_TRY(GxB_Vector_unpack_CSC(ur, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &nvals, &jumbledUR, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(pathC, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, nvals, true, NULL)); + GRB_TRY(GxB_Vector_unpack_CSC(ur, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &npath, &jumbledUR, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(pathC, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, npath, true, NULL)); /* debug GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); @@ -483,15 +486,15 @@ int LAGraph_MaximumMatching( pathC = pathCopy; pathCopy = temp; - GRB_TRY(GrB_Vector_nvals(&nvals, pathC)); + GRB_TRY(GrB_Vector_nvals(&npath, pathC)); /* debug GxB_Vector_fprint(mateCcopy, "mateC", GxB_COMPLETE, stdout); */ } - nvals = npathCopy; - } while (nvals); // only in the first and last iteration should this condition be false + npath = npathCopy; + } while (npath); // only in the first and last iteration should this condition be false /* debug GxB_Vector_fprint(mateCcopy, "mateC", GxB_COMPLETE, stdout); From eaf9d0e6bca4d6106e4bbc4ed08dd86c3cfbc184 Mon Sep 17 00:00:00 2001 From: kchristin Date: Thu, 27 Jun 2024 15:04:52 -0500 Subject: [PATCH 25/69] Parametrize tests of multiple data sets --- experimental/test/test_MaximumMatching.c | 252 ++++++++--------------- 1 file changed, 91 insertions(+), 161 deletions(-) diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index debf929fa3..8ee00342e4 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -12,172 +12,102 @@ LAGraph_Graph G = NULL; #define LEN 512 char filename[LEN + 1]; -void test_MCM() +#define NTESTS 2 + +const char *filenames[NTESTS] = {"random_weighted_bipartite2.mtx", "test_FW_2500.mtx"}; +const uint64_t spranks[NTESTS] = {298, 2009}; + +void test_MCM(void) { LAGraph_Init(msg); // OK(LG_SET_BURBLE(1)); - GrB_Matrix A = NULL; - snprintf(filename, LEN, LG_DATA_DIR "%s", "west0067.mtx"); - FILE *f = fopen(filename, "r"); - TEST_CHECK(f != NULL); - OK(LAGraph_MMRead(&A, f, msg)); - OK(fclose(f)); - GrB_Index nrows = 0, ncols = 0, nvals = 0; - OK(GrB_Matrix_nrows(&nrows, A)); - OK(GrB_Matrix_ncols(&ncols, A)); - OK(GrB_Matrix_nvals(&nvals, A)); - - // make A a bool matrix and iso-valued - GrB_Index *I, *J, *X; - double *dummy; - bool *iso_value; - - OK(LAGraph_Malloc((void **)&I, nvals, sizeof(GrB_Index), msg)); - OK(LAGraph_Malloc((void **)&J, nvals, sizeof(GrB_Index), msg)); - OK(LAGraph_Malloc((void **)&dummy, nvals, sizeof(double), msg)); - OK(LAGraph_Malloc((void **)&iso_value, nvals, sizeof(bool), msg)); - - for (uint64_t i = 0; i < nvals; i++) - iso_value[i] = 1; - OK(GrB_Matrix_extractTuples_FP64(I, J, dummy, &nvals, A)); - TEST_CHECK(I != NULL); - OK(GrB_Matrix_new(&A, GrB_BOOL, nrows, ncols)); - OK(GrB_Matrix_build_BOOL(A, I, J, iso_value, nvals, GrB_FIRST_BOOL)); - - OK(LAGraph_Free((void **)&I, msg)); - OK(LAGraph_Free((void **)&J, msg)); - OK(LAGraph_Free((void **)&dummy, msg)); - OK(LAGraph_Free((void **)&iso_value, msg)); - - OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); - TEST_CHECK(A == NULL); // A has been moved into G->A - - GrB_Vector mateC = NULL; - OK(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); - - OK(LAGraph_MaximumMatching(&mateC, G, msg)); - printf("\nmsg: %s\n", msg); - - GrB_Index nmatched = 0; - - GrB_Vector mateR = NULL; - OK(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); - - // invert to check for dups - GrB_Index Ibytes = 0, Jbytes = 0, Xbytes = 0; - bool jumbled = 1; - OK(GxB_Vector_unpack_CSC(mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); - OK(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); - GrB_Index nmateR = 0; - OK(GrB_Vector_nvals(&nmateR, mateR)); - // if nvals of mateC and mateR don't match, then there's at least one row that is used in at least one matching - TEST_CHECK(nmatched == nmateR); - - // pack matched values in a matrix - GrB_Matrix M = NULL; - A = G->A; - bool *val; - OK(LAGraph_Malloc((void **)&val, nmatched, sizeof(bool), msg)); - for (uint64_t i = 0; i < nmatched; i++) - val[i] = 1; - OK(GrB_Matrix_new(&M, GrB_BOOL, nrows, ncols)); - OK(GrB_Matrix_build_BOOL(M, X, J, val, nmatched, NULL)); - OK(LAGraph_Free((void **)&val, msg)); - // mask with matrix A to check if all edges are present in A - OK(GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, GrB_DESC_S)); - GrB_Index nvalsM = 0; - OK(GrB_Matrix_nvals(&nvalsM, M)); - // if values have been eliminated then edges do not exist in A - TEST_CHECK(nvalsM == nmatched); - - // sprank must be equal to nvals of mateC (nmatched) - const uint64_t matlab_res = 67; - TEST_CHECK(nmatched == matlab_res); - - OK(LAGraph_Delete(&G, msg)); - OK(GrB_Vector_free(&mateC)); - OK(GrB_Vector_free(&mateR)); - OK(GrB_Matrix_free(&M)); - - // ---------------- second test ----------------- - - snprintf(filename, LEN, LG_DATA_DIR "%s", "zenios.mtx"); - f = fopen(filename, "r"); - TEST_CHECK(f != NULL); - OK(LAGraph_MMRead(&A, f, msg)); - OK(fclose(f)); - nrows = 0, ncols = 0, nvals = 0; - OK(GrB_Matrix_nrows(&nrows, A)); - OK(GrB_Matrix_ncols(&ncols, A)); - OK(GrB_Matrix_nvals(&nvals, A)); - - OK(LAGraph_Malloc((void **)&I, nvals, sizeof(GrB_Index), msg)); - OK(LAGraph_Malloc((void **)&J, nvals, sizeof(GrB_Index), msg)); - OK(LAGraph_Malloc((void **)&dummy, nvals, sizeof(double), msg)); - OK(LAGraph_Malloc((void **)&iso_value, nvals, sizeof(bool), msg)); - - for (uint64_t i = 0; i < nvals; i++) - iso_value[i] = 1; - OK(GrB_Matrix_extractTuples_FP64(I, J, dummy, &nvals, A)); - TEST_CHECK(I != NULL); - OK(GrB_Matrix_new(&A, GrB_BOOL, nrows, ncols)); - OK(GrB_Matrix_build_BOOL(A, I, J, iso_value, nvals, GrB_FIRST_BOOL)); - - OK(LAGraph_Free((void **)&I, msg)); - OK(LAGraph_Free((void **)&J, msg)); - OK(LAGraph_Free((void **)&dummy, msg)); - OK(LAGraph_Free((void **)&iso_value, msg)); - - OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); - TEST_CHECK(A == NULL); // A has been moved into G->A - - mateC = NULL; - OK(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); - - OK(LAGraph_MaximumMatching(&mateC, G, msg)); - printf("msg: %s\n", msg); - - nmatched = 0; - - mateR = NULL; - OK(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); - - // invert to check for dups - Ibytes = 0, Jbytes = 0, Xbytes = 0; - jumbled = 1; - OK(GxB_Vector_unpack_CSC(mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); - OK(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); - nmateR = 0; - OK(GrB_Vector_nvals(&nmateR, mateR)); - // if nvals of mateC and mateR don't match, then there's at least one row that is used in at least one matching - TEST_CHECK(nmatched == nmateR); - - // pack matched values in a matrix - M = NULL; - A = G->A; - OK(LAGraph_Malloc((void **)&val, nmatched, sizeof(bool), msg)); - for (uint64_t i = 0; i < nmatched; i++) - val[i] = 1; - OK(GrB_Matrix_new(&M, GrB_BOOL, nrows, ncols)); - OK(GrB_Matrix_build_BOOL(M, X, J, val, nmatched, NULL)); - OK(LAGraph_Free((void **)&val, msg)); - // mask with matrix A to check if all edges are present in A - OK(GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, GrB_DESC_S)); - nvalsM = 0; - OK(GrB_Matrix_nvals(&nvalsM, M)); - // if values have been eliminated then edges do not exist in A - TEST_CHECK(nvalsM == nmatched); - - // sprank must be equal to nvals of mateC (nmatched) - const uint64_t matlab_res_2 = 2873; - TEST_CHECK(nmatched == matlab_res_2); - - OK(LAGraph_Delete(&G, msg)); - OK(GrB_Vector_free(&mateC)); - OK(GrB_Vector_free(&mateR)); - OK(GrB_Matrix_free(&M)); + for (uint64_t test = 0; test < NTESTS; test++) + { + + GrB_Matrix A = NULL; + snprintf(filename, LEN, LG_DATA_DIR "%s", filenames[test]); + FILE *f = fopen(filename, "r"); + TEST_CHECK(f != NULL); + OK(LAGraph_MMRead(&A, f, msg)); + OK(fclose(f)); + GrB_Index nrows = 0, ncols = 0, nvals = 0; + OK(GrB_Matrix_nrows(&nrows, A)); + OK(GrB_Matrix_ncols(&ncols, A)); + OK(GrB_Matrix_nvals(&nvals, A)); + + // make A a bool matrix and iso-valued + GrB_Index *I, *J, *X; + double *dummy; + bool *iso_value; + + OK(LAGraph_Malloc((void **)&I, nvals, sizeof(GrB_Index), msg)); + OK(LAGraph_Malloc((void **)&J, nvals, sizeof(GrB_Index), msg)); + OK(LAGraph_Malloc((void **)&dummy, nvals, sizeof(double), msg)); + OK(LAGraph_Malloc((void **)&iso_value, nvals, sizeof(bool), msg)); + + for (uint64_t i = 0; i < nvals; i++) + iso_value[i] = 1; + OK(GrB_Matrix_extractTuples_FP64(I, J, dummy, &nvals, A)); + TEST_CHECK(I != NULL); + OK(GrB_Matrix_new(&A, GrB_BOOL, nrows, ncols)); + OK(GrB_Matrix_build_BOOL(A, I, J, iso_value, nvals, GrB_FIRST_BOOL)); + + OK(LAGraph_Free((void **)&I, msg)); + OK(LAGraph_Free((void **)&J, msg)); + OK(LAGraph_Free((void **)&dummy, msg)); + OK(LAGraph_Free((void **)&iso_value, msg)); + + OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); + TEST_CHECK(A == NULL); // A has been moved into G->A + + GrB_Vector mateC = NULL; + OK(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); + + OK(LAGraph_MaximumMatching(&mateC, G, msg)); + printf("\nmsg: %s\n", msg); + + GrB_Index nmatched = 0; + + GrB_Vector mateR = NULL; + OK(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); + + // invert to check for dups + GrB_Index Ibytes = 0, Jbytes = 0, Xbytes = 0; + bool jumbled = 1; + OK(GxB_Vector_unpack_CSC(mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); + OK(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); + GrB_Index nmateR = 0; + OK(GrB_Vector_nvals(&nmateR, mateR)); + // if nvals of mateC and mateR don't match, then there's at least one row that is used in at least one matching + TEST_CHECK(nmatched == nmateR); + + // pack matched values in a matrix + GrB_Matrix M = NULL; + A = G->A; + bool *val; + OK(LAGraph_Malloc((void **)&val, nmatched, sizeof(bool), msg)); + for (uint64_t i = 0; i < nmatched; i++) + val[i] = 1; + OK(GrB_Matrix_new(&M, GrB_BOOL, nrows, ncols)); + OK(GrB_Matrix_build_BOOL(M, X, J, val, nmatched, NULL)); + OK(LAGraph_Free((void **)&val, msg)); + // mask with matrix A to check if all edges are present in A + OK(GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, GrB_DESC_S)); + GrB_Index nvalsM = 0; + OK(GrB_Matrix_nvals(&nvalsM, M)); + // if values have been eliminated then edges do not exist in A + TEST_CHECK(nvalsM == nmatched); + + // sprank must be equal to nvals of mateC (nmatched) + TEST_CHECK(nmatched == spranks[test]); + + OK(LAGraph_Delete(&G, msg)); + OK(GrB_Vector_free(&mateC)); + OK(GrB_Vector_free(&mateR)); + OK(GrB_Matrix_free(&M)); + } LAGraph_Finalize(msg); } From 52fce12c855f7549a4ebc2bee09bf968526dfa3f Mon Sep 17 00:00:00 2001 From: kchristin Date: Thu, 27 Jun 2024 16:26:40 -0500 Subject: [PATCH 26/69] Change input graph to matrix to support rectangular adjacency matrices --- experimental/algorithm/LAGraph_MaximumMatching.c | 7 +++---- experimental/test/test_MaximumMatching.c | 14 +++++--------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index cc0f37aa43..5cca778ae4 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -181,7 +181,7 @@ int LAGraph_MaximumMatching( // output/input: GrB_Vector *mateC, // mateC(j) = i : Column j of the C subset is matched to row i of the R subset // input: - LAGraph_Graph G, // input graph + GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph of a BIPARTITE kind char *msg) { @@ -221,9 +221,6 @@ int LAGraph_MaximumMatching( LG_CLEAR_MSG; - LG_TRY(LAGraph_CheckGraph(G, msg)); - - GrB_Matrix A = G->A; uint64_t ncols = 0; GRB_TRY(GrB_Matrix_ncols(&ncols, A)); @@ -433,7 +430,9 @@ int LAGraph_MaximumMatching( GRB_TRY(GxB_Vector_pack_CSC(frontierR, (GrB_Index **)&VmatesfR, (void **)&VfR, Vmatesbytes, VfRBytes, NULL, nfR, true, NULL)); // the values are not ordered, // so the indices of the inverted fR are jumbled // assign to fC + GRB_TRY(GrB_Vector_resize(frontierR, ncols)); // if ncols == nrows, a re-allocation will not happen GRB_TRY(GrB_Vector_assign(frontierC, NULL, NULL, frontierR, GrB_ALL, ncols, GrB_DESC_RS)); + GRB_TRY(GrB_Vector_resize(frontierR, nrows)); } GRB_TRY(GrB_Vector_nvals(&nfC, frontierC)); diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index 8ee00342e4..477da0870d 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -12,10 +12,10 @@ LAGraph_Graph G = NULL; #define LEN 512 char filename[LEN + 1]; -#define NTESTS 2 +#define NTESTS 5 -const char *filenames[NTESTS] = {"random_weighted_bipartite2.mtx", "test_FW_2500.mtx"}; -const uint64_t spranks[NTESTS] = {298, 2009}; +const char *filenames[NTESTS] = {"random_weighted_bipartite2.mtx", "test_FW_2500.mtx", "LFAT5_hypersparse.mtx", "lp_afiro_structure.mtx", "sources_7.mtx"}; +const uint64_t spranks[NTESTS] = {298, 2009, 14, 27, 1}; void test_MCM(void) { @@ -59,13 +59,10 @@ void test_MCM(void) OK(LAGraph_Free((void **)&dummy, msg)); OK(LAGraph_Free((void **)&iso_value, msg)); - OK(LAGraph_New(&G, &A, LAGraph_ADJACENCY_DIRECTED, msg)); - TEST_CHECK(A == NULL); // A has been moved into G->A - GrB_Vector mateC = NULL; OK(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); - OK(LAGraph_MaximumMatching(&mateC, G, msg)); + OK(LAGraph_MaximumMatching(&mateC, A, msg)); printf("\nmsg: %s\n", msg); GrB_Index nmatched = 0; @@ -85,7 +82,6 @@ void test_MCM(void) // pack matched values in a matrix GrB_Matrix M = NULL; - A = G->A; bool *val; OK(LAGraph_Malloc((void **)&val, nmatched, sizeof(bool), msg)); for (uint64_t i = 0; i < nmatched; i++) @@ -103,10 +99,10 @@ void test_MCM(void) // sprank must be equal to nvals of mateC (nmatched) TEST_CHECK(nmatched == spranks[test]); - OK(LAGraph_Delete(&G, msg)); OK(GrB_Vector_free(&mateC)); OK(GrB_Vector_free(&mateR)); OK(GrB_Matrix_free(&M)); + OK(GrB_Matrix_free(&A)); } LAGraph_Finalize(msg); From 4091ddba00472461496c0e32bd05609e3d82e0e7 Mon Sep 17 00:00:00 2001 From: kchristin Date: Thu, 27 Jun 2024 16:27:30 -0500 Subject: [PATCH 27/69] Change input graph of MaximumMatching to matrix --- include/LAGraphX.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/LAGraphX.h b/include/LAGraphX.h index 6e13e03ea0..7f7911dec4 100644 --- a/include/LAGraphX.h +++ b/include/LAGraphX.h @@ -1236,8 +1236,9 @@ int LAGraph_MaximumMatching( // output/input: GrB_Vector *mateC, // mateC(j) = i : Column j of C subset is matched to row i of R subset // input: - LAGraph_Graph G, // input graph - char *msg); + GrB_Matrix A, // input adjacency matrix + char *msg +); #if defined ( __cplusplus ) } From 31c67d14c1dc3a2790666ba384d795850e8e7ad1 Mon Sep 17 00:00:00 2001 From: kchristin Date: Fri, 28 Jun 2024 13:41:56 -0500 Subject: [PATCH 28/69] Use ur vector to compute mateR instead of inverting mateC --- .../algorithm/LAGraph_MaximumMatching.c | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 5cca778ae4..d2b318d72d 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -286,6 +286,24 @@ int LAGraph_MaximumMatching( uint64_t npath = 0; bool y = 0; // see if I can get rid of this + uint64_t nmatched = 0; + GRB_TRY(GrB_Vector_nvals(&nmatched, mateCcopy)); + if (nmatched) + { + GrB_Index *J, *X; // unpack allocates space for these lists + GrB_Index Jbytes = 0, Xbytes = 0; + bool jumbledMateC = 0; + GRB_TRY(GxB_Vector_unpack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbledMateC, NULL)); // mateC and mateR do not have duplicates, so the order doesn't matter + GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method + GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, NULL)); // build does not take ownership of the lists J and X, but only copies them, + // these lists will be given again to mateC + // mateC has no duplicates in the values list, so mateR doesn't need to handle dups + GRB_TRY(GxB_Vector_pack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, true, NULL)); + } + /* debug + GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); + */ + do { GRB_TRY(GrB_Vector_clear(pathC)); @@ -304,25 +322,6 @@ int LAGraph_MaximumMatching( GxB_Vector_fprint(mateCcopy, "mateC", GxB_COMPLETE, stdout); */ - uint64_t nmatched = 0; - GRB_TRY(GrB_Vector_nvals(&nmatched, mateCcopy)); - if (nmatched) - { - GrB_Index *J, *X; // unpack allocates space for these lists - GrB_Index Jbytes = 0, Xbytes = 0; - bool jumbledMateC = 0; - GRB_TRY(GxB_Vector_unpack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbledMateC, NULL)); // mateC and mateR do not have duplicates, so the order doesn't matter - GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method - GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, NULL)); // build does not take ownership of the lists J and X, but only copies them, - // these lists will be given again to mateC - // mateC has no duplicates in the values list, so mateR doesn't need to handle dups - GRB_TRY(GxB_Vector_pack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, true, NULL)); - } - - /* debug - GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); - */ - uint64_t nfC = 0; do @@ -462,6 +461,9 @@ int LAGraph_MaximumMatching( GxB_Vector_fprint(ur, "ur with updated parents", GxB_COMPLETE, stdout); */ + // update mateR + GRB_TRY(GrB_Vector_assign(mateR, NULL, GrB_SECOND_UINT64, ur, GrB_ALL, nrows, NULL)); + // invert ur bool jumbledUR = 1; GRB_TRY(GxB_Vector_unpack_CSC(ur, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &npath, &jumbledUR, NULL)); From 325e9bc888bac3899cd3f5bbeb9fcd1215cada37 Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 1 Jul 2024 18:12:38 -0500 Subject: [PATCH 29/69] Fix and improve the algorithm --- .../algorithm/LAGraph_MaximumMatching.c | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index d2b318d72d..dcec9da4bf 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -372,15 +372,17 @@ int LAGraph_MaximumMatching( LG_TRY(LAGraph_Free((void **)&IrootsufR, msg)); // build copies the lists so they need to be freed LG_TRY(LAGraph_Free((void **)&VrootsufR, msg)); - // get roots of row nodes in the current R frontier - GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, frontierR, NULL)); - - /* debug - GxB_Vector_fprint(rootsfR, "rootsfR", GxB_COMPLETE, stdout); - */ + GRB_TRY(GrB_Vector_clear(rootfRIndexes)); if (nfR) { + // get roots of row nodes in the current R frontier + GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, frontierR, NULL)); + + /* debug + GxB_Vector_fprint(rootsfR, "rootsfR", GxB_COMPLETE, stdout); + */ + GrB_Index *VmatesfR, *VrootsfR, *dummy; GrB_Index nRootsfR = 0; GrB_Index n_dummy = 1, bytes_dummy = 0; @@ -388,7 +390,6 @@ int LAGraph_MaximumMatching( GRB_TRY(GxB_Vector_unpack_CSC(currentMatesR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Valbytes, NULL, &nfR, NULL, NULL)); // keep roots of the R frontier (ordered indices) GRB_TRY(GxB_Vector_unpack_CSC(rootsfR, (GrB_Index **)&dummy, (void **)&VrootsfR, &bytes_dummy, &Ibytes, NULL, &nRootsfR, NULL, NULL)); - GRB_TRY(GrB_Vector_clear(rootfRIndexes)); GRB_TRY(GrB_Vector_build_UINT64(rootfRIndexes, VrootsfR, VmatesfR, nRootsfR, GrB_FIRST_UINT64)); // rootfRIndexes(j) = i, where i is the col mate of the first row // included in the current R frontier with a col root of j // keep only col roots that are not included in ufR @@ -426,12 +427,9 @@ int LAGraph_MaximumMatching( GrB_Index bytes_dummy = 0, Vmatesbytes = 0, VfRBytes = 0, nfR = 0; GRB_TRY(GxB_Vector_unpack_CSC(currentMatesR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Vmatesbytes, NULL, &nfR, NULL, NULL)); // currentMatesR already contains only the rows of fR GRB_TRY(GxB_Vector_unpack_CSC(frontierR, (GrB_Index **)&dummy, (void **)&VfR, &bytes_dummy, &VfRBytes, NULL, &nfR, NULL, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(frontierR, (GrB_Index **)&VmatesfR, (void **)&VfR, Vmatesbytes, VfRBytes, NULL, nfR, true, NULL)); // the values are not ordered, - // so the indices of the inverted fR are jumbled // assign to fC - GRB_TRY(GrB_Vector_resize(frontierR, ncols)); // if ncols == nrows, a re-allocation will not happen - GRB_TRY(GrB_Vector_assign(frontierC, NULL, NULL, frontierR, GrB_ALL, ncols, GrB_DESC_RS)); - GRB_TRY(GrB_Vector_resize(frontierR, nrows)); + GRB_TRY(GxB_Vector_pack_CSC(frontierC, (GrB_Index **)&VmatesfR, (void **)&VfR, Vmatesbytes, VfRBytes, NULL, nfR, true, NULL)); // the values are not ordered, + // so the indices of the inverted fR are jumbled } GRB_TRY(GrB_Vector_nvals(&nfC, frontierC)); From 0faf31aa7fbfb44b968dd35c51c3f73f9784df91 Mon Sep 17 00:00:00 2001 From: kchristin Date: Wed, 3 Jul 2024 10:44:46 -0500 Subject: [PATCH 30/69] Revert vscode changes --- .vscode/settings.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 85513aa41e..26fec30dc4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,5 @@ { "files.associations": { - "lg_internal.h": "c", - "compare": "c" + "lg_internal.h": "c" } } \ No newline at end of file From ccd3a56fe673dbe6ce91b2af4f4ba809672912df Mon Sep 17 00:00:00 2001 From: kchristin Date: Wed, 3 Jul 2024 11:51:55 -0500 Subject: [PATCH 31/69] Merge apply and assign operations for the parentsR update --- experimental/algorithm/LAGraph_MaximumMatching.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index dcec9da4bf..00370b15d3 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -329,9 +329,7 @@ int LAGraph_MaximumMatching( // perform one step of BFS from C nodes and keep only unvisited rows GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, semiring, A, frontierC, GrB_DESC_RSC)); // set parents of row frontier - GRB_TRY(GrB_Vector_apply(parentsUpdate, NULL, NULL, getParentsOp, frontierR, NULL)); // previous values are erased - GRB_TRY(GrB_Vector_assign(parentsR, NULL, GrB_SECOND_UINT64, parentsUpdate, GrB_ALL, nrows, NULL)); // update parents without deleting the ones not updated - // when GrB_ALL is used, ni is the number of rows of the vector + GRB_TRY(GrB_Vector_apply(parentsR, NULL, GrB_SECOND_UINT64, getParentsOp, frontierR, NULL)); // update parents without deleting the ones not updated // select unmatched rows of the R frontier GRB_TRY(GrB_Vector_assign(ufrontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RSC)); @@ -369,6 +367,7 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_clear(pathUpdate)); GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates GRB_TRY(GrB_Vector_assign(pathC, NULL, GrB_SECOND_UINT64, pathUpdate, GrB_ALL, ncols, NULL)); // update path without deleting the values not updated + // when GrB_ALL is used, ni is the number of rows of the vector LG_TRY(LAGraph_Free((void **)&IrootsufR, msg)); // build copies the lists so they need to be freed LG_TRY(LAGraph_Free((void **)&VrootsufR, msg)); From 3239a8f08cf6cd9af3c554b3ba943228856a6b7b Mon Sep 17 00:00:00 2001 From: kchristin Date: Wed, 3 Jul 2024 12:22:54 -0500 Subject: [PATCH 32/69] Change update operations to use a mask instead of an extension accumulator --- experimental/algorithm/LAGraph_MaximumMatching.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 00370b15d3..9085da1c9e 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -329,7 +329,7 @@ int LAGraph_MaximumMatching( // perform one step of BFS from C nodes and keep only unvisited rows GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, semiring, A, frontierC, GrB_DESC_RSC)); // set parents of row frontier - GRB_TRY(GrB_Vector_apply(parentsR, NULL, GrB_SECOND_UINT64, getParentsOp, frontierR, NULL)); // update parents without deleting the ones not updated + GRB_TRY(GrB_Vector_apply(parentsR, frontierR, NULL, getParentsOp, frontierR, GrB_DESC_S)); // use input as mask to only update or insert parents without deleting the ones not updated // select unmatched rows of the R frontier GRB_TRY(GrB_Vector_assign(ufrontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RSC)); @@ -365,10 +365,10 @@ int LAGraph_MaximumMatching( GrB_Index Ibytes = 0, Valbytes = 0; GRB_TRY(GxB_Vector_unpack_CSC(rootsufR, (GrB_Index **)&IrootsufR, (void **)&VrootsufR, &Ibytes, &Valbytes, NULL, &nUfR, NULL, NULL)); // sorted indices so we keep the min child GRB_TRY(GrB_Vector_clear(pathUpdate)); - GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates - GRB_TRY(GrB_Vector_assign(pathC, NULL, GrB_SECOND_UINT64, pathUpdate, GrB_ALL, ncols, NULL)); // update path without deleting the values not updated - // when GrB_ALL is used, ni is the number of rows of the vector - LG_TRY(LAGraph_Free((void **)&IrootsufR, msg)); // build copies the lists so they need to be freed + GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates + GRB_TRY(GrB_Vector_assign(pathC, pathUpdate, NULL, pathUpdate, GrB_ALL, ncols, GrB_DESC_S)); // update path without deleting the values not updated + // when GrB_ALL is used, ni is the number of rows of the vector + LG_TRY(LAGraph_Free((void **)&IrootsufR, msg)); // build copies the lists so they need to be freed LG_TRY(LAGraph_Free((void **)&VrootsufR, msg)); GRB_TRY(GrB_Vector_clear(rootfRIndexes)); @@ -459,7 +459,7 @@ int LAGraph_MaximumMatching( */ // update mateR - GRB_TRY(GrB_Vector_assign(mateR, NULL, GrB_SECOND_UINT64, ur, GrB_ALL, nrows, NULL)); + GRB_TRY(GrB_Vector_assign(mateR, ur, NULL, ur, GrB_ALL, nrows, GrB_DESC_S)); // invert ur bool jumbledUR = 1; @@ -478,7 +478,7 @@ int LAGraph_MaximumMatching( */ // update mateC - GRB_TRY(GrB_Vector_assign(mateCcopy, NULL, GrB_SECOND_UINT64, pathC, GrB_ALL, ncols, NULL)); + GRB_TRY(GrB_Vector_assign(mateCcopy, pathC, NULL, pathC, GrB_ALL, ncols, GrB_DESC_S)); // swap path and pathCopy GrB_Vector temp = pathC; pathC = pathCopy; From f7f5f754b697ad2d78ade781d82b077f1c50f080 Mon Sep 17 00:00:00 2001 From: kchristin Date: Wed, 3 Jul 2024 15:55:53 -0500 Subject: [PATCH 33/69] Use extracted jumbled var for mateC pack operation --- experimental/algorithm/LAGraph_MaximumMatching.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 9085da1c9e..a0fe427f7d 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -298,7 +298,7 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, NULL)); // build does not take ownership of the lists J and X, but only copies them, // these lists will be given again to mateC // mateC has no duplicates in the values list, so mateR doesn't need to handle dups - GRB_TRY(GxB_Vector_pack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, true, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, jumbledMateC, NULL)); } /* debug GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); From 0752b16aa25a1b90bd5680e74e51730b3be2a8b8 Mon Sep 17 00:00:00 2001 From: kchristin Date: Fri, 5 Jul 2024 12:10:07 -0500 Subject: [PATCH 34/69] Add test cases where JIT is off and the mateC is not empty at the beginning --- experimental/test/test_MaximumMatching.c | 171 ++++++++++++----------- 1 file changed, 90 insertions(+), 81 deletions(-) diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index 477da0870d..579cec1b87 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -21,90 +21,99 @@ void test_MCM(void) { LAGraph_Init(msg); - // OK(LG_SET_BURBLE(1)); + OK(LG_SET_BURBLE(1)); - for (uint64_t test = 0; test < NTESTS; test++) + for (uint8_t jit = 0; jit < 2; jit++) { - - GrB_Matrix A = NULL; - snprintf(filename, LEN, LG_DATA_DIR "%s", filenames[test]); - FILE *f = fopen(filename, "r"); - TEST_CHECK(f != NULL); - OK(LAGraph_MMRead(&A, f, msg)); - OK(fclose(f)); - GrB_Index nrows = 0, ncols = 0, nvals = 0; - OK(GrB_Matrix_nrows(&nrows, A)); - OK(GrB_Matrix_ncols(&ncols, A)); - OK(GrB_Matrix_nvals(&nvals, A)); - - // make A a bool matrix and iso-valued - GrB_Index *I, *J, *X; - double *dummy; - bool *iso_value; - - OK(LAGraph_Malloc((void **)&I, nvals, sizeof(GrB_Index), msg)); - OK(LAGraph_Malloc((void **)&J, nvals, sizeof(GrB_Index), msg)); - OK(LAGraph_Malloc((void **)&dummy, nvals, sizeof(double), msg)); - OK(LAGraph_Malloc((void **)&iso_value, nvals, sizeof(bool), msg)); - - for (uint64_t i = 0; i < nvals; i++) - iso_value[i] = 1; - OK(GrB_Matrix_extractTuples_FP64(I, J, dummy, &nvals, A)); - TEST_CHECK(I != NULL); - OK(GrB_Matrix_new(&A, GrB_BOOL, nrows, ncols)); - OK(GrB_Matrix_build_BOOL(A, I, J, iso_value, nvals, GrB_FIRST_BOOL)); - - OK(LAGraph_Free((void **)&I, msg)); - OK(LAGraph_Free((void **)&J, msg)); - OK(LAGraph_Free((void **)&dummy, msg)); - OK(LAGraph_Free((void **)&iso_value, msg)); - - GrB_Vector mateC = NULL; - OK(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); - - OK(LAGraph_MaximumMatching(&mateC, A, msg)); - printf("\nmsg: %s\n", msg); - - GrB_Index nmatched = 0; - - GrB_Vector mateR = NULL; - OK(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); - - // invert to check for dups - GrB_Index Ibytes = 0, Jbytes = 0, Xbytes = 0; - bool jumbled = 1; - OK(GxB_Vector_unpack_CSC(mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); - OK(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); - GrB_Index nmateR = 0; - OK(GrB_Vector_nvals(&nmateR, mateR)); - // if nvals of mateC and mateR don't match, then there's at least one row that is used in at least one matching - TEST_CHECK(nmatched == nmateR); - - // pack matched values in a matrix - GrB_Matrix M = NULL; - bool *val; - OK(LAGraph_Malloc((void **)&val, nmatched, sizeof(bool), msg)); - for (uint64_t i = 0; i < nmatched; i++) - val[i] = 1; - OK(GrB_Matrix_new(&M, GrB_BOOL, nrows, ncols)); - OK(GrB_Matrix_build_BOOL(M, X, J, val, nmatched, NULL)); - OK(LAGraph_Free((void **)&val, msg)); - // mask with matrix A to check if all edges are present in A - OK(GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, GrB_DESC_S)); - GrB_Index nvalsM = 0; - OK(GrB_Matrix_nvals(&nvalsM, M)); - // if values have been eliminated then edges do not exist in A - TEST_CHECK(nvalsM == nmatched); - - // sprank must be equal to nvals of mateC (nmatched) - TEST_CHECK(nmatched == spranks[test]); - - OK(GrB_Vector_free(&mateC)); - OK(GrB_Vector_free(&mateR)); - OK(GrB_Matrix_free(&M)); - OK(GrB_Matrix_free(&A)); + uint8_t JIT_flag = jit * 4; // JIT_OFF = 0 and JIT_ON = 4 + OK(GxB_Global_Option_set(GxB_JIT_C_CONTROL, JIT_flag)); + for (uint64_t test = 0; test < NTESTS; test++) + { + + GrB_Matrix A = NULL; + snprintf(filename, LEN, LG_DATA_DIR "%s", filenames[test]); + FILE *f = fopen(filename, "r"); + TEST_CHECK(f != NULL); + OK(LAGraph_MMRead(&A, f, msg)); + OK(fclose(f)); + GrB_Index nrows = 0, ncols = 0, nvals = 0; + OK(GrB_Matrix_nrows(&nrows, A)); + OK(GrB_Matrix_ncols(&ncols, A)); + OK(GrB_Matrix_nvals(&nvals, A)); + + // make A a bool matrix and iso-valued + GrB_Index *I, *J, *X; + double *dummy; + bool *iso_value; + + OK(LAGraph_Malloc((void **)&I, nvals, sizeof(GrB_Index), msg)); + OK(LAGraph_Malloc((void **)&J, nvals, sizeof(GrB_Index), msg)); + OK(LAGraph_Malloc((void **)&dummy, nvals, sizeof(double), msg)); + OK(LAGraph_Malloc((void **)&iso_value, nvals, sizeof(bool), msg)); + + for (uint64_t i = 0; i < nvals; i++) + iso_value[i] = 1; + OK(GrB_Matrix_extractTuples_FP64(I, J, dummy, &nvals, A)); + TEST_CHECK(I != NULL); + OK(GrB_Matrix_new(&A, GrB_BOOL, nrows, ncols)); + OK(GrB_Matrix_build_BOOL(A, I, J, iso_value, nvals, GrB_FIRST_BOOL)); + + OK(LAGraph_Free((void **)&I, msg)); + OK(LAGraph_Free((void **)&J, msg)); + OK(LAGraph_Free((void **)&dummy, msg)); + OK(LAGraph_Free((void **)&iso_value, msg)); + + GrB_Vector mateC = NULL; + OK(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); + + if (filenames[test] == "lp_afiro_structure.mtx") + { + OK(GrB_Vector_setElement_UINT64(mateC, 0, 19)); // col 20 matched with row 1 + } + + OK(LAGraph_MaximumMatching(&mateC, A, msg)); + printf("\nmsg: %s\n", msg); + + GrB_Index nmatched = 0; + + GrB_Vector mateR = NULL; + OK(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); + + // invert to check for dups + GrB_Index Ibytes = 0, Jbytes = 0, Xbytes = 0; + bool jumbled = 1; + OK(GxB_Vector_unpack_CSC(mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); + OK(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); + GrB_Index nmateR = 0; + OK(GrB_Vector_nvals(&nmateR, mateR)); + // if nvals of mateC and mateR don't match, then there's at least one row that is used in at least one matching + TEST_CHECK(nmatched == nmateR); + + // pack matched values in a matrix + GrB_Matrix M = NULL; + bool *val; + OK(LAGraph_Malloc((void **)&val, nmatched, sizeof(bool), msg)); + for (uint64_t i = 0; i < nmatched; i++) + val[i] = 1; + OK(GrB_Matrix_new(&M, GrB_BOOL, nrows, ncols)); + OK(GrB_Matrix_build_BOOL(M, X, J, val, nmatched, NULL)); + OK(LAGraph_Free((void **)&val, msg)); + // mask with matrix A to check if all edges are present in A + OK(GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, GrB_DESC_S)); + GrB_Index nvalsM = 0; + OK(GrB_Matrix_nvals(&nvalsM, M)); + // if values have been eliminated then edges do not exist in A + TEST_CHECK(nvalsM == nmatched); + + // sprank must be equal to nvals of mateC (nmatched) + TEST_CHECK(nmatched == spranks[test]); + + OK(GrB_Vector_free(&mateC)); + OK(GrB_Vector_free(&mateR)); + OK(GrB_Matrix_free(&M)); + OK(GrB_Matrix_free(&A)); + } } - LAGraph_Finalize(msg); } From f8ee5d3c98891a6e9e0bb473b095bf6c2dc67c58 Mon Sep 17 00:00:00 2001 From: Tim Davis Date: Fri, 5 Jul 2024 12:16:58 -0500 Subject: [PATCH 35/69] burble --- experimental/algorithm/LAGraph_MaximumMatching.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index a0fe427f7d..aed269e21e 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -185,6 +185,8 @@ int LAGraph_MaximumMatching( char *msg) { + GrB_set (GrB_GLOBAL, true, GxB_BURBLE) ; + //-------------------------------------------------------------------------- // check inputs //-------------------------------------------------------------------------- @@ -420,7 +422,9 @@ int LAGraph_MaximumMatching( else { // typecast mateR to ensure domain match with frontier R and apply op on frontier to set parents to mates + printf ("Hi, calling apply with setParentsMatesOp as the accum\n") ; GRB_TRY(GrB_Vector_apply(frontierR, NULL, setParentsMatesOp, vertexTypecastOp, currentMatesR, NULL)); // fR(i) = (column mate of i, rootC) // add the structural mask + printf ("OK did that\n") ; // invert fr GrB_Index *VmatesfR, *VfR, *dummy; GrB_Index bytes_dummy = 0, Vmatesbytes = 0, VfRBytes = 0, nfR = 0; @@ -501,5 +505,6 @@ int LAGraph_MaximumMatching( (*mateC) = mateCcopy; LG_FREE_WORK; + GrB_set (GrB_GLOBAL, false, GxB_BURBLE) ; return (GrB_SUCCESS); -} \ No newline at end of file +} From c5bd7bdcca607b0f0e9541d584f764a4c9a45fd2 Mon Sep 17 00:00:00 2001 From: Tim Davis Date: Fri, 5 Jul 2024 15:03:14 -0500 Subject: [PATCH 36/69] July 5th code session --- .../algorithm/LAGraph_MaximumMatching.c | 283 +++++++++++++----- 1 file changed, 206 insertions(+), 77 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index aed269e21e..9da4322b31 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -20,43 +20,6 @@ // add explanation of paper -#define LG_FREE_WORK \ - { \ - GrB_free(&pathC); \ - GrB_free(&parentsR); \ - GrB_free(&Vertex); \ - GrB_free(&frontierC); \ - GrB_free(&frontierR); \ - GrB_free(&initFrontierOp); \ - GrB_free(&I); \ - GrB_free(&MinParent); \ - GrB_free(&AddMonoid); \ - GrB_free(&MultOp); \ - GrB_free(&semiring); \ - GrB_free(&getParentsOp); \ - GrB_free(&getRootsOp); \ - GrB_free(&parentsUpdate); \ - GrB_free(&ufrontierR); \ - GrB_free(&mateR); \ - GrB_free(&rootsufR); \ - GrB_free(&pathUpdate); \ - GrB_free(&rootufRIndexes); \ - GrB_free(&rootsfR); \ - GrB_free(&rootfRIndexes); \ - GrB_free(&buildfCTuplesOp); \ - GrB_free(&vertexTypecastOp); \ - GrB_free(&setParentsMatesOp); \ - GrB_free(&ur); \ - GrB_free(&pathCopy); \ - GrB_free(¤tMatesR); \ - } - -#define LG_FREE_ALL \ - { \ - LG_FREE_WORK; \ - GrB_free(&mateCcopy); \ - } - #include "LG_internal.h" #include "LAGraphX.h" @@ -103,6 +66,8 @@ void *minparent(vertex *z, vertex *x, vertex *y) "*z = x->parentC < y->parentC ? *x : *y; " \ "} " +// FIXME: revise GraphBLAS so we can tell it that the select2nd operator +// does not use the 'x' input. void *select2nd(vertex *z, bool *x, vertex *y) { z->parentC = y->parentC; @@ -177,15 +142,134 @@ void *setParentsMates(vertex *z, vertex *x, vertex *y) "z->rootC = x->rootC; " \ "} " +//------------------------------------------------------------------------------ +// invert_noduplicates +//------------------------------------------------------------------------------ + +// invert_noduplicates "inverts" an input vector by swapping its row indices +// and its values, returning the result in an output vector. +// +// For example, for the indices/values of an input vector (in) with 5 entries +// and length 100: +// +// indices: 0 3 5 42 99 +// values: 4 98 1 3 12 +// +// on output, the out vector will contain: +// +// indices: 4 98 1 3 12 +// values: 0 3 5 42 99 +// +// The output vector will normally be jumbled since the values will not appear +// in any particular order. The method assumes that the input values are in +// range 0 to n-1 where n = length(out), and that no values in the input vector +// are duplicated. Both the in vector and out vector must have the same type +// (GrB_UINT64). The lengths of the two vectors need not be the same, so long +// as the indices remain in range. Results are undefined if these conditions +// do not hold. +// +// The in and out vectors may be aliased. If not aliased, the input vector is +// cleared of all entries on output. If in and out are aliased, then the +// inversion is performed in-place. +// +// In SuiteSparse:GraphBLAS, this method takes O(1) time if the in vector is in +// CSC (sparse, by column) format. Otherwise it can take O(e) time if e = +// nvals(in), because the unpack below will convert the in vector to CSC and +// then unpack it. + +#undef LG_FREE_ALL +#define LG_FREE_ALL \ + { \ + LAGraph_Free ((void *) &I, NULL) ; \ + LAGraph_Free ((void *) &X, NULL) ; \ + } + +static GrB_Info invert_noduplicates +( + GrB_Vector out, // output, contents (except type and size) ignored on input + GrB_Vector in, // input vector, empty on output (unless in == out) + char *msg +) +{ + // the values in the input vector must not contain any duplicates (this is not checked). + // the output vector will normally be returned in a jumbled state. + bool jumbled = 1; + GrB_Index *I = NULL ; + GrB_Index *X = NULL ; + GrB_Index IBytes = 0, XBytes = 0; + uint64_t nvals = 0 ; + #if LAGRAPH_SUITESPARSE + GRB_TRY(GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X, &IBytes, &XBytes, NULL, &nvals, &jumbled, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(out, (GrB_Index **)&X, (void **)&I, XBytes, IBytes, NULL, nvals, true, NULL)); + #else + // vanilla case using extractTuples and build: + allocate I and X + GrB_extractTuples (I, X, in, ...) + GrB_build (out, X, I, ...) + // free I and X: + LG_FREE_ALL ; + #endif +} + +//------------------------------------------------------------------------------ +// LAGraph_MaximumMatching +//------------------------------------------------------------------------------ + +#undef LG_FREE_WORK +#define LG_FREE_WORK \ + { \ + GrB_free(&pathC); \ + GrB_free(&parentsR); \ + GrB_free(&Vertex); \ + GrB_free(&frontierC); \ + GrB_free(&frontierR); \ + GrB_free(&initFrontierOp); \ + GrB_free(&I); \ + GrB_free(&MinParent); \ + GrB_free(&MinParent_Monoid); \ + GrB_free(&Select2ndOp); \ + GrB_free(&MinParent_2nd_Semiring); \ + GrB_free(&getParentsOp); \ + GrB_free(&getRootsOp); \ + GrB_free(&parentsUpdate); \ + GrB_free(&ufrontierR); \ + GrB_free(&mateR); \ + GrB_free(&rootsufR); \ + GrB_free(&pathUpdate); \ + GrB_free(&rootufRIndexes); \ + GrB_free(&rootsfR); \ + GrB_free(&rootfRIndexes); \ + GrB_free(&buildfCTuplesOp); \ + GrB_free(&vertexTypecastOp); \ + GrB_free(&setParentsMatesOp); \ + GrB_free(&vr); \ + GrB_free(&pathCopy); \ + GrB_free(¤tMatesR); \ + } + +#undef LG_FREE_ALL +#define LG_FREE_ALL \ + { \ + LG_FREE_WORK; \ + GrB_free(&mateCcopy); \ + } + int LAGraph_MaximumMatching( // output/input: + GrB_Vector *mateC, // mateC(j) = i : Column j of the C subset is matched to row i of the R subset + + // output: + // GrB_Vector *mateC_handle, // ignored on input + // input: + // GrB_Vector mateC_init, // input only, not modified, ignored if NULL + // input: GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph of a BIPARTITE kind char *msg) { - GrB_set (GrB_GLOBAL, true, GxB_BURBLE) ; + // GrB_set (GrB_GLOBAL, true, GxB_BURBLE) ; //-------------------------------------------------------------------------- // check inputs @@ -199,9 +283,9 @@ int LAGraph_MaximumMatching( GrB_IndexUnaryOp initFrontierOp = NULL; GrB_Vector I = NULL; // dense vector of 1's GrB_BinaryOp MinParent = NULL; - GrB_Monoid AddMonoid = NULL; - GrB_BinaryOp MultOp = NULL; - GrB_Semiring semiring = NULL; + GrB_Monoid MinParent_Monoid = NULL; + GrB_BinaryOp Select2ndOp = NULL; + GrB_Semiring MinParent_2nd_Semiring = NULL; GrB_UnaryOp getParentsOp = NULL; GrB_UnaryOp getRootsOp = NULL; GrB_Vector parentsUpdate = NULL; // unmatched rows of R frontier @@ -215,20 +299,36 @@ int LAGraph_MaximumMatching( GrB_IndexUnaryOp buildfCTuplesOp = NULL; GrB_UnaryOp vertexTypecastOp = NULL; GrB_BinaryOp setParentsMatesOp = NULL; - GrB_Vector ur = NULL; + GrB_Vector vr = NULL; GrB_Vector pathCopy = NULL; GrB_Vector currentMatesR = NULL; + // FIXME: no need for mateCcopy, just use mateC GrB_Vector mateCcopy = *mateC; LG_CLEAR_MSG; +// LG_ASSERT (mateC_handle != NULL, GrB_NULL_POINTER) ; +// LG_ASSERT (A != NULL, GrB_NULL_POINTER) ; +// (*mateC_handle) = NULL ; + +// GrB_Vector mateC = NULL : + uint64_t ncols = 0; GRB_TRY(GrB_Matrix_ncols(&ncols, A)); uint64_t nrows = 0; GRB_TRY(GrB_Matrix_nrows(&nrows, A)); +#if 0 + GRB_TRY (GrB_Vector_new (&mateC, GrB_UINT64, ncols)) ; + if (mateC_init != NULL) + { + // mateC = (uint64_t) mateC_init + GRB_TRY (GrB_assign (mateC, NULL, NULL, mateC_init, GrB_ALL, ncols, NULL)) ; + } +#endif + GRB_TRY(GrB_Vector_new(&pathC, GrB_UINT64, ncols)); GRB_TRY(GrB_Vector_new(&parentsR, GrB_UINT64, nrows)); @@ -246,12 +346,12 @@ int LAGraph_MaximumMatching( GRB_TRY(GxB_BinaryOp_new(&MinParent, (void *)minparent, Vertex, Vertex, Vertex, "minparent", MIN_PARENT_DEFN)); vertex infinityParent = {GrB_INDEX_MAX + 1, 0}; - GRB_TRY(GrB_Monoid_new_UDT(&AddMonoid, MinParent, &infinityParent)); + GRB_TRY(GrB_Monoid_new_UDT(&MinParent_Monoid, MinParent, &infinityParent)); - GRB_TRY(GxB_BinaryOp_new(&MultOp, (void *)select2nd, + GRB_TRY(GxB_BinaryOp_new(&Select2ndOp, (void *)select2nd, Vertex, GrB_BOOL, Vertex, "select2nd", SELECT_2ND_DEFN)); - GRB_TRY(GrB_Semiring_new(&semiring, AddMonoid, MultOp)); + GRB_TRY(GrB_Semiring_new(&MinParent_2nd_Semiring, MinParent_Monoid, Select2ndOp)); GRB_TRY(GxB_UnaryOp_new(&getParentsOp, (void *)keepParents, GrB_UINT64, Vertex, "keepParents", KEEP_PARENTS_DEFN)); @@ -279,7 +379,7 @@ int LAGraph_MaximumMatching( GRB_TRY(GxB_BinaryOp_new(&setParentsMatesOp, (void *)setParentsMates, Vertex, Vertex, Vertex, "setParentsMates", SET_PARENTS_MATES_DEFN)); - GRB_TRY(GrB_Vector_new(&ur, GrB_UINT64, nrows)); + GRB_TRY(GrB_Vector_new(&vr, GrB_UINT64, nrows)); GRB_TRY(GrB_Vector_new(&pathCopy, GrB_UINT64, ncols)); @@ -288,10 +388,14 @@ int LAGraph_MaximumMatching( uint64_t npath = 0; bool y = 0; // see if I can get rid of this + // FIXME: 80 characters wide? or at least something small than 243 uint64_t nmatched = 0; GRB_TRY(GrB_Vector_nvals(&nmatched, mateCcopy)); if (nmatched) { + + // FIXME: make this a helper function { + // mateR = invert (mateC), but do not clear the input GrB_Index *J, *X; // unpack allocates space for these lists GrB_Index Jbytes = 0, Xbytes = 0; bool jumbledMateC = 0; @@ -301,6 +405,8 @@ int LAGraph_MaximumMatching( // these lists will be given again to mateC // mateC has no duplicates in the values list, so mateR doesn't need to handle dups GRB_TRY(GxB_Vector_pack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, jumbledMateC, NULL)); + // } end of helper function + } /* debug GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); @@ -308,7 +414,6 @@ int LAGraph_MaximumMatching( do { - GRB_TRY(GrB_Vector_clear(pathC)); GRB_TRY(GrB_Vector_clear(parentsR)); // for every col j not matched, assign f(j) = VERTEX(j,j) GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, mateCcopy, NULL, initFrontierOp, I, &y, GrB_DESC_RSC)); @@ -328,8 +433,12 @@ int LAGraph_MaximumMatching( do { - // perform one step of BFS from C nodes and keep only unvisited rows - GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, semiring, A, frontierC, GrB_DESC_RSC)); + // STEPS 1,2: Explore neighbors of column frontier (one step of BFS), + // keeping only unvisited rows in the frontierR + GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, MinParent_2nd_Semiring, A, frontierC, GrB_DESC_RSC)); + + // STEPS 3,4: Select matched and unmatched row vertices + // set parents of row frontier GRB_TRY(GrB_Vector_apply(parentsR, frontierR, NULL, getParentsOp, frontierR, GrB_DESC_S)); // use input as mask to only update or insert parents without deleting the ones not updated @@ -360,19 +469,27 @@ int LAGraph_MaximumMatching( if (nUfR) { + // STEP 5: + // get roots of unmatched row nodes in the R frontier GRB_TRY(GrB_Vector_apply(rootsufR, NULL, NULL, getRootsOp, ufrontierR, NULL)); + // FIXME: make this a helper function { + // pathUpdate = invert (rootsufR), but need to handle duplicates GrB_Index *IrootsufR, *VrootsufR; GrB_Index Ibytes = 0, Valbytes = 0; GRB_TRY(GxB_Vector_unpack_CSC(rootsufR, (GrB_Index **)&IrootsufR, (void **)&VrootsufR, &Ibytes, &Valbytes, NULL, &nUfR, NULL, NULL)); // sorted indices so we keep the min child GRB_TRY(GrB_Vector_clear(pathUpdate)); GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates + // build copies the lists so they need to be freed: + LG_TRY(LAGraph_Free((void **)&IrootsufR, msg)); + LG_TRY(LAGraph_Free((void **)&VrootsufR, msg)); + // } end of helper function + GRB_TRY(GrB_Vector_assign(pathC, pathUpdate, NULL, pathUpdate, GrB_ALL, ncols, GrB_DESC_S)); // update path without deleting the values not updated // when GrB_ALL is used, ni is the number of rows of the vector - LG_TRY(LAGraph_Free((void **)&IrootsufR, msg)); // build copies the lists so they need to be freed - LG_TRY(LAGraph_Free((void **)&VrootsufR, msg)); + // STEP 6: GRB_TRY(GrB_Vector_clear(rootfRIndexes)); if (nfR) @@ -384,28 +501,32 @@ int LAGraph_MaximumMatching( GxB_Vector_fprint(rootsfR, "rootsfR", GxB_COMPLETE, stdout); */ + // FIXME: make this a helper function { GrB_Index *VmatesfR, *VrootsfR, *dummy; GrB_Index nRootsfR = 0; GrB_Index n_dummy = 1, bytes_dummy = 0; // keep mates of the R frontier (ordered indices) GRB_TRY(GxB_Vector_unpack_CSC(currentMatesR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Valbytes, NULL, &nfR, NULL, NULL)); + LG_TRY(LAGraph_Free((void **)&dummy, msg)); // keep roots of the R frontier (ordered indices) GRB_TRY(GxB_Vector_unpack_CSC(rootsfR, (GrB_Index **)&dummy, (void **)&VrootsfR, &bytes_dummy, &Ibytes, NULL, &nRootsfR, NULL, NULL)); + LG_TRY(LAGraph_Free((void **)&dummy, msg)); + GRB_TRY(GrB_Vector_clear(rootfRIndexes)); GRB_TRY(GrB_Vector_build_UINT64(rootfRIndexes, VrootsfR, VmatesfR, nRootsfR, GrB_FIRST_UINT64)); // rootfRIndexes(j) = i, where i is the col mate of the first row // included in the current R frontier with a col root of j - // keep only col roots that are not included in ufR - GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); LG_TRY(LAGraph_Free((void **)&VmatesfR, msg)); LG_TRY(LAGraph_Free((void **)&VrootsfR, msg)); + // } end of helper function - GrB_Index *IrootfRIndexes, *VrootfRIndexes; - GrB_Index nRootfRIndexes = 0; - bool jumbledRoots = 1; - GRB_TRY(GxB_Vector_unpack_CSC(rootfRIndexes, (GrB_Index **)&IrootfRIndexes, (void **)&VrootfRIndexes, &Ibytes, &Valbytes, NULL, &nRootfRIndexes, &jumbledRoots, NULL)); // no need to sort them - GRB_TRY(GxB_Vector_pack_CSC(rootfRIndexes, (GrB_Index **)&VrootfRIndexes, (void **)&IrootfRIndexes, Valbytes, Ibytes, NULL, nRootfRIndexes, true, NULL)); // rootfRIndexes(i) = j, - // where (i,j) = (parentC, rootC) of the new frontier C + // keep only col roots that are not included in ufR + GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); + + // rootfRIndexes = invert (rootfRIndexes), so that + // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) of the new frontier C + LAGRAPH_TRY (invert_noduplicates (rootfRIndexes, rootfRIndexes, msg)) ; } + // STEP 7b: when ufrontierR is not empty // build tuple of (parentC, rootC) GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, buildfCTuplesOp, rootfRIndexes, &y, NULL)); @@ -421,54 +542,61 @@ int LAGraph_MaximumMatching( } else { + // STEP 7: when ufrontierR is empty + // typecast mateR to ensure domain match with frontier R and apply op on frontier to set parents to mates - printf ("Hi, calling apply with setParentsMatesOp as the accum\n") ; GRB_TRY(GrB_Vector_apply(frontierR, NULL, setParentsMatesOp, vertexTypecastOp, currentMatesR, NULL)); // fR(i) = (column mate of i, rootC) // add the structural mask - printf ("OK did that\n") ; // invert fr + + // FIXME: make this a helper function { GrB_Index *VmatesfR, *VfR, *dummy; GrB_Index bytes_dummy = 0, Vmatesbytes = 0, VfRBytes = 0, nfR = 0; GRB_TRY(GxB_Vector_unpack_CSC(currentMatesR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Vmatesbytes, NULL, &nfR, NULL, NULL)); // currentMatesR already contains only the rows of fR + LG_TRY(LAGraph_Free((void **)&dummy, msg)); GRB_TRY(GxB_Vector_unpack_CSC(frontierR, (GrB_Index **)&dummy, (void **)&VfR, &bytes_dummy, &VfRBytes, NULL, &nfR, NULL, NULL)); + LG_TRY(LAGraph_Free((void **)&dummy, msg)); // assign to fC GRB_TRY(GxB_Vector_pack_CSC(frontierC, (GrB_Index **)&VmatesfR, (void **)&VfR, Vmatesbytes, VfRBytes, NULL, nfR, true, NULL)); // the values are not ordered, // so the indices of the inverted fR are jumbled + // } end of helper function + } GRB_TRY(GrB_Vector_nvals(&nfC, frontierC)); } while (nfC); + //---------------------------------------------------------------------- + // STEP 8: Augment matching by all augmenting paths discovered in this phase + //---------------------------------------------------------------------- + GRB_TRY(GrB_Vector_nvals(&npath, pathC)); uint64_t npathCopy = npath; - GrB_Index *Ipath, *Xpath; - GrB_Index IpathBytes = 0, XpathBytes = 0; +// GrB_Index *Ipath, *Xpath; +// GrB_Index IpathBytes = 0, XpathBytes = 0; while (npath) { - // invert pathC - bool jumbledPathC = 1; - GRB_TRY(GxB_Vector_unpack_CSC(pathC, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &npath, &jumbledPathC, NULL)); // pathC doesn't have dup values as it stems from an invertion - GRB_TRY(GxB_Vector_pack_CSC(ur, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, npath, true, NULL)); // ur is already empty because in the previous iteration it was unpacked + // vr = invert (pathC), leaving pathC empty + // pathC doesn't have dup values as it stems from an invertion + LAGRAPH_TRY (invert_noduplicates (vr, pathC, msg)) ; /* debug - GxB_Vector_fprint(ur, "ur", GxB_COMPLETE, stdout); + GxB_Vector_fprint(vr, "vr", GxB_COMPLETE, stdout); GxB_Vector_fprint(parentsR, "parentsR", GxB_COMPLETE, stdout); */ // assign parents of rows to rows - GRB_TRY(GrB_Vector_assign(ur, ur, NULL, parentsR, GrB_ALL, nrows, GrB_DESC_S)); // update the values of ur (descriptor needed to use mask's structure and not values) + GRB_TRY(GrB_Vector_assign(vr, vr, NULL, parentsR, GrB_ALL, nrows, GrB_DESC_S)); // update the values of vr (descriptor needed to use mask's structure and not values) /* debug - GxB_Vector_fprint(ur, "ur with updated parents", GxB_COMPLETE, stdout); + GxB_Vector_fprint(vr, "vr with updated parents", GxB_COMPLETE, stdout); */ - // update mateR - GRB_TRY(GrB_Vector_assign(mateR, ur, NULL, ur, GrB_ALL, nrows, GrB_DESC_S)); + // update mateR: mateR = vr + GRB_TRY(GrB_Vector_assign(mateR, vr, NULL, vr, GrB_ALL, nrows, GrB_DESC_S)); - // invert ur - bool jumbledUR = 1; - GRB_TRY(GxB_Vector_unpack_CSC(ur, (GrB_Index **)&Ipath, (void **)&Xpath, &IpathBytes, &XpathBytes, NULL, &npath, &jumbledUR, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(pathC, (GrB_Index **)&Xpath, (void **)&Ipath, XpathBytes, IpathBytes, NULL, npath, true, NULL)); + // pathC = invert (vr), leaving vr empty (vr has no duplicates) + LAGRAPH_TRY (invert_noduplicates (pathC, vr, msg)) ; /* debug GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); @@ -505,6 +633,7 @@ int LAGraph_MaximumMatching( (*mateC) = mateCcopy; LG_FREE_WORK; - GrB_set (GrB_GLOBAL, false, GxB_BURBLE) ; + // GrB_set (GrB_GLOBAL, false, GxB_BURBLE) ; +// (*mateC_handle) = mateC ; return (GrB_SUCCESS); } From 32152a5d5ac002dea1f0ae99c877ffb7db89c2ce Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 8 Jul 2024 14:00:13 -0500 Subject: [PATCH 37/69] Work on FIXME comments --- .../algorithm/LAGraph_MaximumMatching.c | 568 ++++++++++-------- experimental/test/test_MaximumMatching.c | 38 +- include/LAGraphX.h | 12 +- 3 files changed, 364 insertions(+), 254 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 9da4322b31..d24fc620fc 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -20,8 +20,8 @@ // add explanation of paper -#include "LG_internal.h" #include "LAGraphX.h" +#include "LG_internal.h" //------------------------------------------------------------------------------ // the Vertex tuple: (parentC, rootC) @@ -34,12 +34,12 @@ typedef struct } vertex; // repeat the typedef as a string, to give to GraphBLAS -#define VERTEX_DEFN \ - "typedef struct " \ - "{ " \ - "uint64_t parentC; " \ - "uint64_t rootC; " \ - "} " \ +#define VERTEX_DEFN \ + "typedef struct " \ + "{ " \ + "uint64_t parentC; " \ + "uint64_t rootC; " \ + "} " \ "vertex; " void *initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const void *y) @@ -48,11 +48,13 @@ void *initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const void *y) z->rootC = i; } -#define INIT_FRONTIER_DEFN \ - "void *initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const void *y) " \ - "{ " \ - "z->parentC = i; " \ - "z->rootC = i; " \ +#define INIT_FRONTIER_DEFN \ + "void *initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const " \ + "void " \ + "*y) " \ + "{ " \ + "z->parentC = i; " \ + "z->rootC = i; " \ "} " void *minparent(vertex *z, vertex *x, vertex *y) @@ -60,10 +62,10 @@ void *minparent(vertex *z, vertex *x, vertex *y) *z = x->parentC < y->parentC ? *x : *y; } -#define MIN_PARENT_DEFN \ - "void *minparent(vertex *z, vertex *x, vertex *y) " \ - "{ " \ - "*z = x->parentC < y->parentC ? *x : *y; " \ +#define MIN_PARENT_DEFN \ + "void *minparent(vertex *z, vertex *x, vertex *y) " \ + "{ " \ + "*z = x->parentC < y->parentC ? *x : *y; " \ "} " // FIXME: revise GraphBLAS so we can tell it that the select2nd operator @@ -74,46 +76,42 @@ void *select2nd(vertex *z, bool *x, vertex *y) z->rootC = y->rootC; } -#define SELECT_2ND_DEFN \ - "void *select2nd(vertex *z, bool *x, vertex *y) " \ - "{ " \ - "z->parentC = y->parentC; " \ - "z->rootC = y->rootC;" \ +#define SELECT_2ND_DEFN \ + "void *select2nd(vertex *z, bool *x, vertex *y) " \ + "{ " \ + "z->parentC = y->parentC; " \ + "z->rootC = y->rootC;" \ "} " -void *keepParents(uint64_t *z, vertex *x) -{ - *z = x->parentC; -} +void *keepParents(uint64_t *z, vertex *x) { *z = x->parentC; } -#define KEEP_PARENTS_DEFN \ - "void *keepParents(uint64_t *z, vertex *x) " \ - "{ " \ - "*z = x->parentC; " \ +#define KEEP_PARENTS_DEFN \ + "void *keepParents(uint64_t *z, vertex *x) " \ + "{ " \ + "*z = x->parentC; " \ "} " -void *keepRoots(uint64_t *z, vertex *x) -{ - *z = x->rootC; -} +void *keepRoots(uint64_t *z, vertex *x) { *z = x->rootC; } -#define KEEP_ROOTS_DEFN \ - "void *keepRoots(uint64_t *z, vertex *x) " \ - "{ " \ - "*z = x->rootC; " \ +#define KEEP_ROOTS_DEFN \ + "void *keepRoots(uint64_t *z, vertex *x) " \ + "{ " \ + "*z = x->rootC; " \ "} " -void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, const void *y) +void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, + const void *y) { z->parentC = i; z->rootC = *x; } -#define BUILT_FC_TUPLES_DEFN \ - "void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, const void *y) " \ - "{ " \ - "z->parentC = i; " \ - "z->rootC = *x; " \ +#define BUILT_FC_TUPLES_DEFN \ + "void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, " \ + "const void *y) " \ + "{ " \ + "z->parentC = i; " \ + "z->rootC = *x; " \ "} " void *vertexTypecast(vertex *z, uint64_t *x) @@ -122,11 +120,11 @@ void *vertexTypecast(vertex *z, uint64_t *x) z->rootC = *x; } -#define VERTEX_TYPECAST_DEFN \ - "void *vertexTypecast(vertex *z, uint64_t *x) " \ - "{ " \ - "z->parentC = *x; " \ - "z->rootC = *x; " \ +#define VERTEX_TYPECAST_DEFN \ + "void *vertexTypecast(vertex *z, uint64_t *x) " \ + "{ " \ + "z->parentC = *x; " \ + "z->rootC = *x; " \ "} " void *setParentsMates(vertex *z, vertex *x, vertex *y) @@ -135,11 +133,11 @@ void *setParentsMates(vertex *z, vertex *x, vertex *y) z->rootC = x->rootC; }; -#define SET_PARENTS_MATES_DEFN \ - "void *setParentsMates(vertex *z, vertex *x, vertex *y) " \ - "{ " \ - "z->parentC = y->parentC; " \ - "z->rootC = x->rootC; " \ +#define SET_PARENTS_MATES_DEFN \ + "void *setParentsMates(vertex *z, vertex *x, vertex *y) " \ + "{ " \ + "z->parentC = y->parentC; " \ + "z->rootC = x->rootC; " \ "} " //------------------------------------------------------------------------------ @@ -177,95 +175,164 @@ void *setParentsMates(vertex *z, vertex *x, vertex *y) // nvals(in), because the unpack below will convert the in vector to CSC and // then unpack it. -#undef LG_FREE_ALL -#define LG_FREE_ALL \ - { \ - LAGraph_Free ((void *) &I, NULL) ; \ - LAGraph_Free ((void *) &X, NULL) ; \ +#undef LG_FREE_ALL +#define LG_FREE_ALL \ + { \ + LAGraph_Free((void *)&I, NULL); \ + LAGraph_Free((void *)&X1, NULL); \ + LAGraph_Free((void *)&X2, NULL); \ } -static GrB_Info invert_noduplicates -( +static GrB_Info invert_noduplicates( GrB_Vector out, // output, contents (except type and size) ignored on input GrB_Vector in, // input vector, empty on output (unless in == out) - char *msg -) + char *msg) { - // the values in the input vector must not contain any duplicates (this is not checked). - // the output vector will normally be returned in a jumbled state. + // the values in the input vector must not contain any duplicates (this is + // not checked). the output vector will normally be returned in a jumbled + // state. bool jumbled = 1; - GrB_Index *I = NULL ; - GrB_Index *X = NULL ; + GrB_Index *I = NULL; + GrB_Index *X1 = NULL; + GrB_Index *X2; // not used GrB_Index IBytes = 0, XBytes = 0; - uint64_t nvals = 0 ; - #if LAGRAPH_SUITESPARSE - GRB_TRY(GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X, &IBytes, &XBytes, NULL, &nvals, &jumbled, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(out, (GrB_Index **)&X, (void **)&I, XBytes, IBytes, NULL, nvals, true, NULL)); - #else + uint64_t nvals = 0; + // #if LAGRAPH_SUITESPARSE + GRB_TRY(GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X1, &IBytes, + &XBytes, NULL, &nvals, &jumbled, NULL)); + GRB_TRY(GxB_Vector_pack_CSC(out, (GrB_Index **)&X1, (void **)&I, XBytes, + IBytes, NULL, nvals, true, NULL)); + // #else // vanilla case using extractTuples and build: - allocate I and X - GrB_extractTuples (I, X, in, ...) - GrB_build (out, X, I, ...) - // free I and X: - LG_FREE_ALL ; - #endif + // allocate I and X GrB_extractTuples(I, X, in, ...) GrB_build(out, X, I, + // ...) free I and X: LG_FREE_ALL; + // #endif +} + +static GrB_Info invert_duplicates( + GrB_Vector out, // output, contents (except type and size) cleared on input + GrB_Vector in, // input vector, empty on output (unless in == out) + char *msg) +{ + // the values in the input vector must not contain any duplicates (this is + // not checked). the output vector will normally be returned in a jumbled + // state. + bool jumbled = 1; + GrB_Index *I = NULL; + GrB_Index *X1 = NULL; + GrB_Index *X2; // not used + GrB_Index IBytes = 0, XBytes = 0; + uint64_t nvals = 0; + GRB_TRY( + GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X1, &IBytes, + &XBytes, NULL, &nvals, NULL, + NULL)); // sorted indices so we keep the min child + GRB_TRY(GrB_Vector_clear(out)); + GRB_TRY(GrB_Vector_build_UINT64(out, X1, I, nvals, GrB_FIRST_UINT64)); + // build copies the lists so they need to be freed in LG_FREE_ALL +} + +static GrB_Info invert_two_in_duplicates( // keep this same name with different + // args? not for the JIT + GrB_Vector out, // output, contents (except type and size) cleared on input + GrB_Vector in1, // input vector, empty on output (unless in1 == out) + GrB_Vector in2, // input vector, empty on output (unless in2 == out) + char *msg) +{ + GrB_Index *I = NULL; + GrB_Index *X1 = NULL; + GrB_Index *X2 = NULL; + GrB_Index IBytes = 0, X1Bytes = 0, X2Bytes = 0; + uint64_t nvals1 = 0, nvals2 = 0; + // keep mates of the R frontier (ordered indices) + GRB_TRY(GxB_Vector_unpack_CSC(in1, (GrB_Index **)&I, (void **)&X1, &IBytes, + &X1Bytes, NULL, &nvals1, NULL, NULL)); + // keep roots of the R frontier (ordered indices) + GRB_TRY(GxB_Vector_unpack_CSC(in2, (GrB_Index **)&I, (void **)&X2, &IBytes, + &X2Bytes, NULL, &nvals2, NULL, NULL)); + GRB_TRY(GrB_Vector_clear(out)); + GRB_TRY(GrB_Vector_build_UINT64(out, X2, X1, nvals2, GrB_FIRST_UINT64)); +} + +static GrB_Info invert_two_in_noduplicates( // keep this same name with + // different args? not for the JIT + GrB_Vector out, // output, contents (except type and size) ignored on input + GrB_Vector in1, // input vector, empty on output (unless in1 == out) + GrB_Vector in2, // input vector, empty on output (unless in2 == out) + char *msg) +{ + GrB_Index *I = NULL; + GrB_Index *X1 = NULL; + GrB_Index *X2 = NULL; + GrB_Index IBytes = 0, X1Bytes = 0, X2Bytes = 0; + uint64_t nvals1 = 0, nvals2 = 0; + // keep mates of the R frontier (ordered indices) + GRB_TRY(GxB_Vector_unpack_CSC(in1, (GrB_Index **)&I, (void **)&X1, &IBytes, + &X1Bytes, NULL, &nvals1, NULL, NULL)); + // keep roots of the R frontier (ordered indices) + GRB_TRY(GxB_Vector_unpack_CSC(in2, (GrB_Index **)&I, (void **)&X2, &IBytes, + &X2Bytes, NULL, &nvals2, NULL, NULL)); + + // currentMatesR already contains only the rows of fR + // assign to fC + GRB_TRY(GxB_Vector_pack_CSC(out, (GrB_Index **)&X2, (void **)&X1, X2Bytes, + X1Bytes, NULL, nvals2, true, + NULL)); // the values are not ordered, + // so the indices are jumbled } //------------------------------------------------------------------------------ // LAGraph_MaximumMatching //------------------------------------------------------------------------------ -#undef LG_FREE_WORK -#define LG_FREE_WORK \ - { \ - GrB_free(&pathC); \ - GrB_free(&parentsR); \ - GrB_free(&Vertex); \ - GrB_free(&frontierC); \ - GrB_free(&frontierR); \ - GrB_free(&initFrontierOp); \ - GrB_free(&I); \ - GrB_free(&MinParent); \ - GrB_free(&MinParent_Monoid); \ - GrB_free(&Select2ndOp); \ - GrB_free(&MinParent_2nd_Semiring); \ - GrB_free(&getParentsOp); \ - GrB_free(&getRootsOp); \ - GrB_free(&parentsUpdate); \ - GrB_free(&ufrontierR); \ - GrB_free(&mateR); \ - GrB_free(&rootsufR); \ - GrB_free(&pathUpdate); \ - GrB_free(&rootufRIndexes); \ - GrB_free(&rootsfR); \ - GrB_free(&rootfRIndexes); \ - GrB_free(&buildfCTuplesOp); \ - GrB_free(&vertexTypecastOp); \ - GrB_free(&setParentsMatesOp); \ - GrB_free(&vr); \ - GrB_free(&pathCopy); \ - GrB_free(¤tMatesR); \ +#undef LG_FREE_WORK +#define LG_FREE_WORK \ + { \ + GrB_free(&pathC); \ + GrB_free(&parentsR); \ + GrB_free(&Vertex); \ + GrB_free(&frontierC); \ + GrB_free(&frontierR); \ + GrB_free(&initFrontierOp); \ + GrB_free(&I); \ + GrB_free(&MinParent); \ + GrB_free(&MinParent_Monoid); \ + GrB_free(&Select2ndOp); \ + GrB_free(&MinParent_2nd_Semiring); \ + GrB_free(&getParentsOp); \ + GrB_free(&getRootsOp); \ + GrB_free(&parentsUpdate); \ + GrB_free(&ufrontierR); \ + GrB_free(&mateR); \ + GrB_free(&rootsufR); \ + GrB_free(&pathUpdate); \ + GrB_free(&rootufRIndexes); \ + GrB_free(&rootsfR); \ + GrB_free(&rootfRIndexes); \ + GrB_free(&buildfCTuplesOp); \ + GrB_free(&vertexTypecastOp); \ + GrB_free(&setParentsMatesOp); \ + GrB_free(&vr); \ + GrB_free(&pathCopy); \ + GrB_free(¤tMatesR); \ } -#undef LG_FREE_ALL -#define LG_FREE_ALL \ - { \ - LG_FREE_WORK; \ - GrB_free(&mateCcopy); \ +#undef LG_FREE_ALL +#define LG_FREE_ALL \ + { \ + LG_FREE_WORK; \ + GrB_free(&mateC); \ } int LAGraph_MaximumMatching( - // output/input: - - GrB_Vector *mateC, // mateC(j) = i : Column j of the C subset is matched to row i of the R subset - // output: - // GrB_Vector *mateC_handle, // ignored on input - // input: - // GrB_Vector mateC_init, // input only, not modified, ignored if NULL - + GrB_Vector + *mateC_handle, // mateC(j) = i : Column j of the C subset is matched to + // row i of the R subset (ignored on input) // input: - GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph of a BIPARTITE kind + GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph of a + // BIPARTITE kind + GrB_Vector mateC_init, // input only, not modified, ignored if NULL char *msg) { @@ -275,8 +342,10 @@ int LAGraph_MaximumMatching( // check inputs //-------------------------------------------------------------------------- - GrB_Vector pathC = NULL; // make this bitmap, if dense I would have to give all the entries and make the matrix 1-based - GrB_Vector parentsR = NULL; // parents of row nodes that are reachable from paths of the initial column frontier + GrB_Vector pathC = NULL; // make this bitmap, if dense I would have to give + // all the entries and make the matrix 1-based + GrB_Vector parentsR = NULL; // parents of row nodes that are reachable from + // paths of the initial column frontier GrB_Type Vertex = NULL; GrB_Vector frontierC = NULL; GrB_Vector frontierR = NULL; @@ -290,7 +359,8 @@ int LAGraph_MaximumMatching( GrB_UnaryOp getRootsOp = NULL; GrB_Vector parentsUpdate = NULL; // unmatched rows of R frontier GrB_Vector ufrontierR = NULL; // unmatched rows of R frontier - GrB_Vector mateR = NULL; // mateR(i) = j : Row i of the R subset is matched to column j of the C subset + GrB_Vector mateR = NULL; // mateR(i) = j : Row i of the R subset is matched + // to column j of the C subset GrB_Vector rootsufR = NULL; GrB_Vector pathUpdate = NULL; GrB_Vector rootufRIndexes = NULL; @@ -304,15 +374,14 @@ int LAGraph_MaximumMatching( GrB_Vector currentMatesR = NULL; // FIXME: no need for mateCcopy, just use mateC - GrB_Vector mateCcopy = *mateC; + GrB_Vector mateC = NULL; LG_CLEAR_MSG; -// LG_ASSERT (mateC_handle != NULL, GrB_NULL_POINTER) ; -// LG_ASSERT (A != NULL, GrB_NULL_POINTER) ; -// (*mateC_handle) = NULL ; - -// GrB_Vector mateC = NULL : + LG_ASSERT_MSG(mateC_handle != NULL, GrB_NULL_POINTER, + "mateC handle is NULL"); + LG_ASSERT_MSG(A != NULL, GrB_NULL_POINTER, "A matrix is NULL"); + (*mateC_handle) = NULL; uint64_t ncols = 0; GRB_TRY(GrB_Matrix_ncols(&ncols, A)); @@ -320,14 +389,13 @@ int LAGraph_MaximumMatching( uint64_t nrows = 0; GRB_TRY(GrB_Matrix_nrows(&nrows, A)); -#if 0 - GRB_TRY (GrB_Vector_new (&mateC, GrB_UINT64, ncols)) ; + GRB_TRY(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); if (mateC_init != NULL) { // mateC = (uint64_t) mateC_init - GRB_TRY (GrB_assign (mateC, NULL, NULL, mateC_init, GrB_ALL, ncols, NULL)) ; + GRB_TRY(GrB_assign(mateC, NULL, NULL, mateC_init, GrB_ALL, ncols, + NULL)); // how about mateC = mate_init? } -#endif GRB_TRY(GrB_Vector_new(&pathC, GrB_UINT64, ncols)); @@ -339,23 +407,30 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_new(&frontierR, Vertex, nrows)); - GRB_TRY(GxB_IndexUnaryOp_new(&initFrontierOp, (void *)initFrontier, Vertex, GrB_BOOL, GrB_BOOL, "initFrontier", INIT_FRONTIER_DEFN)); + GRB_TRY(GxB_IndexUnaryOp_new(&initFrontierOp, (void *)initFrontier, Vertex, + GrB_BOOL, GrB_BOOL, "initFrontier", + INIT_FRONTIER_DEFN)); GRB_TRY(GrB_Vector_new(&I, GrB_BOOL, ncols)); - GRB_TRY(GrB_Vector_assign_BOOL(I, NULL, NULL, 1, GrB_ALL, ncols, NULL)); // pack with GrB_ALL as indexes? + GRB_TRY(GrB_Vector_assign_BOOL(I, NULL, NULL, 1, GrB_ALL, ncols, + NULL)); // pack with GrB_ALL as indexes? - GRB_TRY(GxB_BinaryOp_new(&MinParent, (void *)minparent, Vertex, Vertex, Vertex, "minparent", MIN_PARENT_DEFN)); + GRB_TRY(GxB_BinaryOp_new(&MinParent, (void *)minparent, Vertex, Vertex, + Vertex, "minparent", MIN_PARENT_DEFN)); vertex infinityParent = {GrB_INDEX_MAX + 1, 0}; GRB_TRY(GrB_Monoid_new_UDT(&MinParent_Monoid, MinParent, &infinityParent)); - GRB_TRY(GxB_BinaryOp_new(&Select2ndOp, (void *)select2nd, - Vertex, GrB_BOOL, Vertex, "select2nd", SELECT_2ND_DEFN)); + GRB_TRY(GxB_BinaryOp_new(&Select2ndOp, (void *)select2nd, Vertex, GrB_BOOL, + Vertex, "select2nd", SELECT_2ND_DEFN)); - GRB_TRY(GrB_Semiring_new(&MinParent_2nd_Semiring, MinParent_Monoid, Select2ndOp)); + GRB_TRY(GrB_Semiring_new(&MinParent_2nd_Semiring, MinParent_Monoid, + Select2ndOp)); - GRB_TRY(GxB_UnaryOp_new(&getParentsOp, (void *)keepParents, GrB_UINT64, Vertex, "keepParents", KEEP_PARENTS_DEFN)); + GRB_TRY(GxB_UnaryOp_new(&getParentsOp, (void *)keepParents, GrB_UINT64, + Vertex, "keepParents", KEEP_PARENTS_DEFN)); - GRB_TRY(GxB_UnaryOp_new(&getRootsOp, (void *)keepRoots, GrB_UINT64, Vertex, "keepRoots", KEEP_ROOTS_DEFN)); + GRB_TRY(GxB_UnaryOp_new(&getRootsOp, (void *)keepRoots, GrB_UINT64, Vertex, + "keepRoots", KEEP_ROOTS_DEFN)); GRB_TRY(GrB_Vector_new(&parentsUpdate, GrB_UINT64, nrows)); @@ -373,11 +448,17 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_new(&rootfRIndexes, GrB_UINT64, ncols)); - GRB_TRY(GxB_IndexUnaryOp_new(&buildfCTuplesOp, (void *)buildfCTuples, Vertex, GrB_UINT64, GrB_BOOL, "buildfCTuples", BUILT_FC_TUPLES_DEFN)); + GRB_TRY(GxB_IndexUnaryOp_new(&buildfCTuplesOp, (void *)buildfCTuples, + Vertex, GrB_UINT64, GrB_BOOL, "buildfCTuples", + BUILT_FC_TUPLES_DEFN)); - GRB_TRY(GxB_UnaryOp_new(&vertexTypecastOp, (void *)vertexTypecast, Vertex, GrB_UINT64, "vertexTypecast", VERTEX_TYPECAST_DEFN)); + GRB_TRY(GxB_UnaryOp_new(&vertexTypecastOp, (void *)vertexTypecast, Vertex, + GrB_UINT64, "vertexTypecast", + VERTEX_TYPECAST_DEFN)); - GRB_TRY(GxB_BinaryOp_new(&setParentsMatesOp, (void *)setParentsMates, Vertex, Vertex, Vertex, "setParentsMates", SET_PARENTS_MATES_DEFN)); + GRB_TRY(GxB_BinaryOp_new(&setParentsMatesOp, (void *)setParentsMates, + Vertex, Vertex, Vertex, "setParentsMates", + SET_PARENTS_MATES_DEFN)); GRB_TRY(GrB_Vector_new(&vr, GrB_UINT64, nrows)); @@ -390,7 +471,7 @@ int LAGraph_MaximumMatching( // FIXME: 80 characters wide? or at least something small than 243 uint64_t nmatched = 0; - GRB_TRY(GrB_Vector_nvals(&nmatched, mateCcopy)); + GRB_TRY(GrB_Vector_nvals(&nmatched, mateC)); if (nmatched) { @@ -399,14 +480,23 @@ int LAGraph_MaximumMatching( GrB_Index *J, *X; // unpack allocates space for these lists GrB_Index Jbytes = 0, Xbytes = 0; bool jumbledMateC = 0; - GRB_TRY(GxB_Vector_unpack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbledMateC, NULL)); // mateC and mateR do not have duplicates, so the order doesn't matter - GRB_TRY(GrB_Vector_clear(mateR)); // clear mateR first as a prerequisite of the build method - GRB_TRY(GrB_Vector_build_UINT64(mateR, X, J, nmatched, NULL)); // build does not take ownership of the lists J and X, but only copies them, - // these lists will be given again to mateC - // mateC has no duplicates in the values list, so mateR doesn't need to handle dups - GRB_TRY(GxB_Vector_pack_CSC(mateCcopy, (GrB_Index **)&J, (void **)&X, Jbytes, Xbytes, NULL, nmatched, jumbledMateC, NULL)); + GRB_TRY(GxB_Vector_unpack_CSC( + mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, + &nmatched, &jumbledMateC, + NULL)); // mateC and mateR do not have duplicates, so the + // order doesn't matter + GRB_TRY(GrB_Vector_clear( + mateR)); // clear mateR first as a prerequisite of the build method + GRB_TRY(GrB_Vector_build_UINT64( + mateR, X, J, nmatched, + NULL)); // build does not take ownership of the lists J and X, + // but only copies them, these lists will be given + // again to mateC mateC has no duplicates in the + // values list, so mateR doesn't need to handle dups + GRB_TRY(GxB_Vector_pack_CSC(mateC, (GrB_Index **)&J, (void **)&X, + Jbytes, Xbytes, NULL, nmatched, + jumbledMateC, NULL)); // } end of helper function - } /* debug GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); @@ -416,7 +506,8 @@ int LAGraph_MaximumMatching( { GRB_TRY(GrB_Vector_clear(parentsR)); // for every col j not matched, assign f(j) = VERTEX(j,j) - GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, mateCcopy, NULL, initFrontierOp, I, &y, GrB_DESC_RSC)); + GRB_TRY(GrB_Vector_apply_IndexOp_UDT( + frontierC, mateC, NULL, initFrontierOp, I, &y, GrB_DESC_RSC)); /* debug GrB_Index C[ncols]; @@ -424,41 +515,50 @@ int LAGraph_MaximumMatching( GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); for (int k = 0; k < ncols; k++) { - printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, V[k].rootC); + printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, + V[k].rootC); } - GxB_Vector_fprint(mateCcopy, "mateC", GxB_COMPLETE, stdout); + GxB_Vector_fprint(mateC, "mateC", GxB_COMPLETE, stdout); */ uint64_t nfC = 0; do { - // STEPS 1,2: Explore neighbors of column frontier (one step of BFS), - // keeping only unvisited rows in the frontierR - GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, MinParent_2nd_Semiring, A, frontierC, GrB_DESC_RSC)); + // STEPS 1,2: Explore neighbors of column frontier (one step of + // BFS), keeping only unvisited rows in the frontierR + GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, MinParent_2nd_Semiring, + A, frontierC, GrB_DESC_RSC)); // STEPS 3,4: Select matched and unmatched row vertices // set parents of row frontier - GRB_TRY(GrB_Vector_apply(parentsR, frontierR, NULL, getParentsOp, frontierR, GrB_DESC_S)); // use input as mask to only update or insert parents without deleting the ones not updated + GRB_TRY(GrB_Vector_apply( + parentsR, frontierR, NULL, getParentsOp, frontierR, + GrB_DESC_S)); // use input as mask to only update or insert + // parents without deleting the ones not updated // select unmatched rows of the R frontier - GRB_TRY(GrB_Vector_assign(ufrontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RSC)); + GRB_TRY(GrB_Vector_assign(ufrontierR, mateR, NULL, frontierR, + GrB_ALL, nrows, GrB_DESC_RSC)); // select matched rows of the R frontier - GRB_TRY(GrB_Vector_assign(frontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RS)); + GRB_TRY(GrB_Vector_assign(frontierR, mateR, NULL, frontierR, + GrB_ALL, nrows, GrB_DESC_RS)); // keep only mates of rows in frontierR - GRB_TRY(GrB_Vector_assign(currentMatesR, frontierR, NULL, mateR, GrB_ALL, nrows, GrB_DESC_RS)); + GRB_TRY(GrB_Vector_assign(currentMatesR, frontierR, NULL, mateR, + GrB_ALL, nrows, GrB_DESC_RS)); /* debug uint64_t nvals = 0; - GxB_Vector_fprint(currentMatesR, "currentMatesR", GxB_COMPLETE, stdout); - GrB_Index *R = (GrB_Index *)malloc(nrows * sizeof(GrB_Index)); - vertex *VR = (vertex *)malloc(nrows * sizeof(vertex)); - GrB_Vector_nvals(&nvals, frontierR); + GxB_Vector_fprint(currentMatesR, "currentMatesR", GxB_COMPLETE, + stdout); GrB_Index *R = (GrB_Index *)malloc(nrows * + sizeof(GrB_Index)); vertex *VR = (vertex *)malloc(nrows * + sizeof(vertex)); GrB_Vector_nvals(&nvals, frontierR); GrB_Vector_extractTuples_UDT(R, VR, &nrows, frontierR); for (int k = 0; k < nrows; k++) { - printf("\nfr (%d) = (%ld, %ld)", (int)R[k], VR[k].parentC, VR[k].rootC); + printf("\nfr (%d) = (%ld, %ld)", (int)R[k], VR[k].parentC, + VR[k].rootC); } GxB_Vector_fprint(parentsR, "pr", GxB_COMPLETE, stdout); */ @@ -472,22 +572,18 @@ int LAGraph_MaximumMatching( // STEP 5: // get roots of unmatched row nodes in the R frontier - GRB_TRY(GrB_Vector_apply(rootsufR, NULL, NULL, getRootsOp, ufrontierR, NULL)); + GRB_TRY(GrB_Vector_apply(rootsufR, NULL, NULL, getRootsOp, + ufrontierR, NULL)); - // FIXME: make this a helper function { + // FIXME: make this a helper function // pathUpdate = invert (rootsufR), but need to handle duplicates - GrB_Index *IrootsufR, *VrootsufR; - GrB_Index Ibytes = 0, Valbytes = 0; - GRB_TRY(GxB_Vector_unpack_CSC(rootsufR, (GrB_Index **)&IrootsufR, (void **)&VrootsufR, &Ibytes, &Valbytes, NULL, &nUfR, NULL, NULL)); // sorted indices so we keep the min child - GRB_TRY(GrB_Vector_clear(pathUpdate)); - GRB_TRY(GrB_Vector_build_UINT64(pathUpdate, VrootsufR, IrootsufR, nUfR, GrB_FIRST_UINT64)); // useful to handle duplicates - // build copies the lists so they need to be freed: - LG_TRY(LAGraph_Free((void **)&IrootsufR, msg)); - LG_TRY(LAGraph_Free((void **)&VrootsufR, msg)); - // } end of helper function - - GRB_TRY(GrB_Vector_assign(pathC, pathUpdate, NULL, pathUpdate, GrB_ALL, ncols, GrB_DESC_S)); // update path without deleting the values not updated - // when GrB_ALL is used, ni is the number of rows of the vector + LAGRAPH_TRY(invert_duplicates(pathUpdate, rootsufR, msg)); + + GRB_TRY(GrB_Vector_assign( + pathC, pathUpdate, NULL, pathUpdate, GrB_ALL, ncols, + GrB_DESC_S)); // update path without deleting the values + // not updated when GrB_ALL is used, ni is + // the number of rows of the vector // STEP 6: GRB_TRY(GrB_Vector_clear(rootfRIndexes)); @@ -495,40 +591,38 @@ int LAGraph_MaximumMatching( if (nfR) { // get roots of row nodes in the current R frontier - GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, frontierR, NULL)); + GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, + frontierR, NULL)); /* debug GxB_Vector_fprint(rootsfR, "rootsfR", GxB_COMPLETE, stdout); */ - // FIXME: make this a helper function { - GrB_Index *VmatesfR, *VrootsfR, *dummy; - GrB_Index nRootsfR = 0; - GrB_Index n_dummy = 1, bytes_dummy = 0; - // keep mates of the R frontier (ordered indices) - GRB_TRY(GxB_Vector_unpack_CSC(currentMatesR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Valbytes, NULL, &nfR, NULL, NULL)); - LG_TRY(LAGraph_Free((void **)&dummy, msg)); - // keep roots of the R frontier (ordered indices) - GRB_TRY(GxB_Vector_unpack_CSC(rootsfR, (GrB_Index **)&dummy, (void **)&VrootsfR, &bytes_dummy, &Ibytes, NULL, &nRootsfR, NULL, NULL)); - LG_TRY(LAGraph_Free((void **)&dummy, msg)); - GRB_TRY(GrB_Vector_clear(rootfRIndexes)); - GRB_TRY(GrB_Vector_build_UINT64(rootfRIndexes, VrootsfR, VmatesfR, nRootsfR, GrB_FIRST_UINT64)); // rootfRIndexes(j) = i, where i is the col mate of the first row - // included in the current R frontier with a col root of j - LG_TRY(LAGraph_Free((void **)&VmatesfR, msg)); - LG_TRY(LAGraph_Free((void **)&VrootsfR, msg)); - // } end of helper function + // FIXME: make this a helper function + LAGRAPH_TRY(invert_two_in_duplicates( + rootfRIndexes, currentMatesR, rootsfR, + msg)); // rootsfRIndexes(j) = i, where i + // is the col mate of the first + // row included in the current R + // frontier with a col root of j // keep only col roots that are not included in ufR - GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); + GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, + rootfRIndexes, GrB_ALL, ncols, + GrB_DESC_RSC)); // rootfRIndexes = invert (rootfRIndexes), so that - // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) of the new frontier C - LAGRAPH_TRY (invert_noduplicates (rootfRIndexes, rootfRIndexes, msg)) ; + // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) of + // the new frontier C + LAGRAPH_TRY( + invert_noduplicates(rootfRIndexes, rootfRIndexes, msg)); } // STEP 7b: when ufrontierR is not empty // build tuple of (parentC, rootC) - GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, buildfCTuplesOp, rootfRIndexes, &y, NULL)); + GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, + buildfCTuplesOp, + rootfRIndexes, &y, NULL)); /* debug GrB_Index C[ncols]; @@ -536,7 +630,8 @@ int LAGraph_MaximumMatching( GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); for (int k = 0; k < ncols; k++) { - printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, V[k].rootC); + printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, + V[k].rootC); } */ } @@ -544,22 +639,18 @@ int LAGraph_MaximumMatching( { // STEP 7: when ufrontierR is empty - // typecast mateR to ensure domain match with frontier R and apply op on frontier to set parents to mates - GRB_TRY(GrB_Vector_apply(frontierR, NULL, setParentsMatesOp, vertexTypecastOp, currentMatesR, NULL)); // fR(i) = (column mate of i, rootC) // add the structural mask + // typecast mateR to ensure domain match with frontier R and + // apply op on frontier to set parents to mates + GRB_TRY(GrB_Vector_apply( + frontierR, NULL, setParentsMatesOp, vertexTypecastOp, + currentMatesR, + NULL)); // fR(i) = (column mate of i, rootC) // + // add the structural mask // invert fr - // FIXME: make this a helper function { - GrB_Index *VmatesfR, *VfR, *dummy; - GrB_Index bytes_dummy = 0, Vmatesbytes = 0, VfRBytes = 0, nfR = 0; - GRB_TRY(GxB_Vector_unpack_CSC(currentMatesR, (GrB_Index **)&dummy, (void **)&VmatesfR, &bytes_dummy, &Vmatesbytes, NULL, &nfR, NULL, NULL)); // currentMatesR already contains only the rows of fR - LG_TRY(LAGraph_Free((void **)&dummy, msg)); - GRB_TRY(GxB_Vector_unpack_CSC(frontierR, (GrB_Index **)&dummy, (void **)&VfR, &bytes_dummy, &VfRBytes, NULL, &nfR, NULL, NULL)); - LG_TRY(LAGraph_Free((void **)&dummy, msg)); - // assign to fC - GRB_TRY(GxB_Vector_pack_CSC(frontierC, (GrB_Index **)&VmatesfR, (void **)&VfR, Vmatesbytes, VfRBytes, NULL, nfR, true, NULL)); // the values are not ordered, - // so the indices of the inverted fR are jumbled - // } end of helper function - + // FIXME: make this a helper function + LAGRAPH_TRY(invert_two_in_noduplicates(frontierC, frontierR, + currentMatesR, msg)); } GRB_TRY(GrB_Vector_nvals(&nfC, frontierC)); @@ -567,18 +658,19 @@ int LAGraph_MaximumMatching( } while (nfC); //---------------------------------------------------------------------- - // STEP 8: Augment matching by all augmenting paths discovered in this phase + // STEP 8: Augment matching by all augmenting paths discovered in this + // phase //---------------------------------------------------------------------- GRB_TRY(GrB_Vector_nvals(&npath, pathC)); uint64_t npathCopy = npath; -// GrB_Index *Ipath, *Xpath; -// GrB_Index IpathBytes = 0, XpathBytes = 0; + // GrB_Index *Ipath, *Xpath; + // GrB_Index IpathBytes = 0, XpathBytes = 0; while (npath) { // vr = invert (pathC), leaving pathC empty // pathC doesn't have dup values as it stems from an invertion - LAGRAPH_TRY (invert_noduplicates (vr, pathC, msg)) ; + LAGRAPH_TRY(invert_noduplicates(vr, pathC, msg)); /* debug GxB_Vector_fprint(vr, "vr", GxB_COMPLETE, stdout); @@ -586,31 +678,39 @@ int LAGraph_MaximumMatching( */ // assign parents of rows to rows - GRB_TRY(GrB_Vector_assign(vr, vr, NULL, parentsR, GrB_ALL, nrows, GrB_DESC_S)); // update the values of vr (descriptor needed to use mask's structure and not values) + GRB_TRY(GrB_Vector_assign( + vr, vr, NULL, parentsR, GrB_ALL, nrows, + GrB_DESC_S)); // update the values of vr (descriptor needed to + // use mask's structure and not values) /* debug - GxB_Vector_fprint(vr, "vr with updated parents", GxB_COMPLETE, stdout); + GxB_Vector_fprint(vr, "vr with updated parents", GxB_COMPLETE, + stdout); */ // update mateR: mateR = vr - GRB_TRY(GrB_Vector_assign(mateR, vr, NULL, vr, GrB_ALL, nrows, GrB_DESC_S)); + GRB_TRY(GrB_Vector_assign(mateR, vr, NULL, vr, GrB_ALL, nrows, + GrB_DESC_S)); // pathC = invert (vr), leaving vr empty (vr has no duplicates) - LAGRAPH_TRY (invert_noduplicates (pathC, vr, msg)) ; + LAGRAPH_TRY(invert_noduplicates(pathC, vr, msg)); /* debug GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); */ - // keep a copy of the previous row matches of the matched cols that will alter mates - GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, mateCcopy, GrB_ALL, ncols, GrB_DESC_RS)); + // keep a copy of the previous row matches of the matched cols that + // will alter mates + GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, mateC, GrB_ALL, + ncols, GrB_DESC_RS)); /* debug GxB_Vector_fprint(pathCopy, "pathCopy", GxB_COMPLETE, stdout); */ // update mateC - GRB_TRY(GrB_Vector_assign(mateCcopy, pathC, NULL, pathC, GrB_ALL, ncols, GrB_DESC_S)); + GRB_TRY(GrB_Vector_assign(mateC, pathC, NULL, pathC, GrB_ALL, ncols, + GrB_DESC_S)); // swap path and pathCopy GrB_Vector temp = pathC; pathC = pathCopy; @@ -619,21 +719,21 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_nvals(&npath, pathC)); /* debug - GxB_Vector_fprint(mateCcopy, "mateC", GxB_COMPLETE, stdout); + GxB_Vector_fprint(mateC, "mateC", GxB_COMPLETE, stdout); */ } npath = npathCopy; - } while (npath); // only in the first and last iteration should this condition be false + } while (npath); // only in the first and last iteration should this + // condition be false /* debug - GxB_Vector_fprint(mateCcopy, "mateC", GxB_COMPLETE, stdout); + GxB_Vector_fprint(mateC, "mateC", GxB_COMPLETE, stdout); */ - (*mateC) = mateCcopy; + (*mateC_handle) = mateC; LG_FREE_WORK; // GrB_set (GrB_GLOBAL, false, GxB_BURBLE) ; -// (*mateC_handle) = mateC ; return (GrB_SUCCESS); } diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index 579cec1b87..2e46b01261 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -1,10 +1,10 @@ -#include #include +#include +#include "LG_internal.h" #include #include #include -#include "LG_internal.h" char msg[LAGRAPH_MSG_LEN]; LAGraph_Graph G = NULL; @@ -14,7 +14,9 @@ char filename[LEN + 1]; #define NTESTS 5 -const char *filenames[NTESTS] = {"random_weighted_bipartite2.mtx", "test_FW_2500.mtx", "LFAT5_hypersparse.mtx", "lp_afiro_structure.mtx", "sources_7.mtx"}; +const char *filenames[NTESTS] = {"random_weighted_bipartite2.mtx", + "test_FW_2500.mtx", "LFAT5_hypersparse.mtx", + "lp_afiro_structure.mtx", "sources_7.mtx"}; const uint64_t spranks[NTESTS] = {298, 2009, 14, 27, 1}; void test_MCM(void) @@ -56,7 +58,8 @@ void test_MCM(void) OK(GrB_Matrix_extractTuples_FP64(I, J, dummy, &nvals, A)); TEST_CHECK(I != NULL); OK(GrB_Matrix_new(&A, GrB_BOOL, nrows, ncols)); - OK(GrB_Matrix_build_BOOL(A, I, J, iso_value, nvals, GrB_FIRST_BOOL)); + OK(GrB_Matrix_build_BOOL(A, I, J, iso_value, nvals, + GrB_FIRST_BOOL)); OK(LAGraph_Free((void **)&I, msg)); OK(LAGraph_Free((void **)&J, msg)); @@ -66,12 +69,16 @@ void test_MCM(void) GrB_Vector mateC = NULL; OK(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); + GrB_Vector mateC_init = NULL; + if (filenames[test] == "lp_afiro_structure.mtx") { - OK(GrB_Vector_setElement_UINT64(mateC, 0, 19)); // col 20 matched with row 1 + OK(GrB_Vector_new(&mateC_init, GrB_UINT64, ncols)); + OK(GrB_Vector_setElement_UINT64( + mateC, 0, 19)); // col 20 matched with row 1 (1-based) } - OK(LAGraph_MaximumMatching(&mateC, A, msg)); + OK(LAGraph_MaximumMatching(&mateC, A, mateC_init, msg)); printf("\nmsg: %s\n", msg); GrB_Index nmatched = 0; @@ -82,11 +89,15 @@ void test_MCM(void) // invert to check for dups GrB_Index Ibytes = 0, Jbytes = 0, Xbytes = 0; bool jumbled = 1; - OK(GxB_Vector_unpack_CSC(mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, &nmatched, &jumbled, NULL)); - OK(GrB_Vector_build_UINT64(mateR, X, J, nmatched, GrB_FIRST_UINT64)); + OK(GxB_Vector_unpack_CSC(mateC, (GrB_Index **)&J, (void **)&X, + &Jbytes, &Xbytes, NULL, &nmatched, + &jumbled, NULL)); + OK(GrB_Vector_build_UINT64(mateR, X, J, nmatched, + GrB_FIRST_UINT64)); GrB_Index nmateR = 0; OK(GrB_Vector_nvals(&nmateR, mateR)); - // if nvals of mateC and mateR don't match, then there's at least one row that is used in at least one matching + // if nvals of mateC and mateR don't match, then there's at least + // one row that is used in at least one matching TEST_CHECK(nmatched == nmateR); // pack matched values in a matrix @@ -99,7 +110,8 @@ void test_MCM(void) OK(GrB_Matrix_build_BOOL(M, X, J, val, nmatched, NULL)); OK(LAGraph_Free((void **)&val, msg)); // mask with matrix A to check if all edges are present in A - OK(GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, GrB_DESC_S)); + OK(GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, + GrB_DESC_S)); GrB_Index nvalsM = 0; OK(GrB_Matrix_nvals(&nvalsM, M)); // if values have been eliminated then edges do not exist in A @@ -117,7 +129,5 @@ void test_MCM(void) LAGraph_Finalize(msg); } -TEST_LIST = - { - {"MaximumMatching", test_MCM}, // just one test in this example - {NULL, NULL}}; \ No newline at end of file +TEST_LIST = {{"MaximumMatching", test_MCM}, // just one test in this example + {NULL, NULL}}; \ No newline at end of file diff --git a/include/LAGraphX.h b/include/LAGraphX.h index 7f7911dec4..525c53e62c 100644 --- a/include/LAGraphX.h +++ b/include/LAGraphX.h @@ -1233,12 +1233,12 @@ int LAGraph_argminmax LAGRAPHX_PUBLIC int LAGraph_MaximumMatching( - // output/input: - GrB_Vector *mateC, // mateC(j) = i : Column j of C subset is matched to row i of R subset - // input: - GrB_Matrix A, // input adjacency matrix - char *msg -); + // output + GrB_Vector *mateC_handle, // mateC(j) = i : Column j of the C subset is matched to row i of the R subset (ignored on input) + // input + GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph of a BIPARTITE kind + GrB_Vector mateC_init, // input only, not modified, ignored if NULL + char *msg); #if defined ( __cplusplus ) } From 180f964787b94f4136e9cbc199528e4701c13780 Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 8 Jul 2024 18:30:48 -0500 Subject: [PATCH 38/69] Finish helper invert functions and polish them --- .../algorithm/LAGraph_MaximumMatching.c | 256 ++++++++---------- 1 file changed, 118 insertions(+), 138 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index d24fc620fc..b0b44a0e0d 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -141,10 +141,10 @@ void *setParentsMates(vertex *z, vertex *x, vertex *y) "} " //------------------------------------------------------------------------------ -// invert_noduplicates +// invert //------------------------------------------------------------------------------ -// invert_noduplicates "inverts" an input vector by swapping its row indices +// This function "inverts" an input vector by swapping its row indices // and its values, returning the result in an output vector. // // For example, for the indices/values of an input vector (in) with 5 entries @@ -160,11 +160,11 @@ void *setParentsMates(vertex *z, vertex *x, vertex *y) // // The output vector will normally be jumbled since the values will not appear // in any particular order. The method assumes that the input values are in -// range 0 to n-1 where n = length(out), and that no values in the input vector -// are duplicated. Both the in vector and out vector must have the same type -// (GrB_UINT64). The lengths of the two vectors need not be the same, so long -// as the indices remain in range. Results are undefined if these conditions -// do not hold. +// range 0 to n-1 where n = length(out). The values in the input vector +// may be duplicated and this argument of the function must be set accordingly. +// Both the in vector and out vector must have the same type (GrB_UINT64). The +// lengths of the two vectors need not be the same, so long as the indices +// remain in range. Results are undefined if these conditions do not hold. // // The in and out vectors may be aliased. If not aliased, the input vector is // cleared of all entries on output. If in and out are aliased, then the @@ -183,60 +183,79 @@ void *setParentsMates(vertex *z, vertex *x, vertex *y) LAGraph_Free((void *)&X2, NULL); \ } -static GrB_Info invert_noduplicates( - GrB_Vector out, // output, contents (except type and size) ignored on input - GrB_Vector in, // input vector, empty on output (unless in == out) +static inline GrB_Info invert_nondestructive( + GrB_Vector out, // output, contents (except type and size) cleared on input + GrB_Vector in, // input vector, empty on output (unless in1 == out) char *msg) { - // the values in the input vector must not contain any duplicates (this is - // not checked). the output vector will normally be returned in a jumbled - // state. bool jumbled = 1; GrB_Index *I = NULL; GrB_Index *X1 = NULL; - GrB_Index *X2; // not used + GrB_Index *X2 = NULL; // not used GrB_Index IBytes = 0, XBytes = 0; uint64_t nvals = 0; - // #if LAGRAPH_SUITESPARSE - GRB_TRY(GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X1, &IBytes, - &XBytes, NULL, &nvals, &jumbled, NULL)); - GRB_TRY(GxB_Vector_pack_CSC(out, (GrB_Index **)&X1, (void **)&I, XBytes, - IBytes, NULL, nvals, true, NULL)); - // #else - // vanilla case using extractTuples and build: - // allocate I and X GrB_extractTuples(I, X, in, ...) GrB_build(out, X, I, - // ...) free I and X: LG_FREE_ALL; - // #endif + + GRB_TRY( + GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X1, &IBytes, + &XBytes, NULL, &nvals, &jumbled, + NULL)); // the output and input should have no + // duplicates, so the order doesn't matter + GRB_TRY(GrB_Vector_clear(out)); // clear the output first as a prerequisite + // of the build method + GRB_TRY(GrB_Vector_build_UINT64( + out, X1, I, nvals, + NULL)); // build does not take ownership of the lists I and X, + // but only copies them, these lists will be given + // again to the input + // the input should have no duplicates in the + // values list, so dups are not handled + GRB_TRY(GxB_Vector_pack_CSC(in, (GrB_Index **)&I, (void **)&X1, IBytes, + XBytes, NULL, nvals, jumbled, NULL)); } -static GrB_Info invert_duplicates( +static GrB_Info invert( GrB_Vector out, // output, contents (except type and size) cleared on input GrB_Vector in, // input vector, empty on output (unless in == out) + bool dups, // flag that indicates if duplicates exist in the input vector's + // values char *msg) { - // the values in the input vector must not contain any duplicates (this is - // not checked). the output vector will normally be returned in a jumbled - // state. - bool jumbled = 1; - GrB_Index *I = NULL; + // the output vector will normally be returned in a jumbled state + bool jumbled = dups ? 0 : 1; // if there are duplicates, we want the indices + // to be ordered so we can keep the min child + GrB_Index *I = NULL; // unpack allocates space for these lists GrB_Index *X1 = NULL; - GrB_Index *X2; // not used + GrB_Index *X2 = NULL; // not used GrB_Index IBytes = 0, XBytes = 0; uint64_t nvals = 0; - GRB_TRY( - GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X1, &IBytes, - &XBytes, NULL, &nvals, NULL, - NULL)); // sorted indices so we keep the min child - GRB_TRY(GrB_Vector_clear(out)); - GRB_TRY(GrB_Vector_build_UINT64(out, X1, I, nvals, GrB_FIRST_UINT64)); - // build copies the lists so they need to be freed in LG_FREE_ALL + // #if LAGRAPH_SUITESPARSE + GRB_TRY(GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X1, &IBytes, + &XBytes, NULL, &nvals, &jumbled, + NULL)); // #else + // vanilla case using extractTuples and build: + // allocate I and X GrB_extractTuples(I, X, in, ...) GrB_build(out, X, I, + // ...) free I and X: LG_FREE_ALL; + // #endif + if (!dups) + { + GRB_TRY(GxB_Vector_pack_CSC(out, (GrB_Index **)&X1, (void **)&I, XBytes, + IBytes, NULL, nvals, true, NULL)); + } + else + { + GRB_TRY(GrB_Vector_clear(out)); + GRB_TRY(GrB_Vector_build_UINT64(out, X1, I, nvals, GrB_FIRST_UINT64)); + // build copies the lists so they need to be freed in LG_FREE_ALL + LG_FREE_ALL; + } } -static GrB_Info invert_two_in_duplicates( // keep this same name with different - // args? not for the JIT +static inline GrB_Info invert_2( GrB_Vector out, // output, contents (except type and size) cleared on input GrB_Vector in1, // input vector, empty on output (unless in1 == out) GrB_Vector in2, // input vector, empty on output (unless in2 == out) + bool dups, // flag that indicates if duplicates exist in the input vector's + // values char *msg) { GrB_Index *I = NULL; @@ -244,41 +263,25 @@ static GrB_Info invert_two_in_duplicates( // keep this same name with different GrB_Index *X2 = NULL; GrB_Index IBytes = 0, X1Bytes = 0, X2Bytes = 0; uint64_t nvals1 = 0, nvals2 = 0; - // keep mates of the R frontier (ordered indices) - GRB_TRY(GxB_Vector_unpack_CSC(in1, (GrB_Index **)&I, (void **)&X1, &IBytes, - &X1Bytes, NULL, &nvals1, NULL, NULL)); - // keep roots of the R frontier (ordered indices) - GRB_TRY(GxB_Vector_unpack_CSC(in2, (GrB_Index **)&I, (void **)&X2, &IBytes, - &X2Bytes, NULL, &nvals2, NULL, NULL)); - GRB_TRY(GrB_Vector_clear(out)); - GRB_TRY(GrB_Vector_build_UINT64(out, X2, X1, nvals2, GrB_FIRST_UINT64)); -} - -static GrB_Info invert_two_in_noduplicates( // keep this same name with - // different args? not for the JIT - GrB_Vector out, // output, contents (except type and size) ignored on input - GrB_Vector in1, // input vector, empty on output (unless in1 == out) - GrB_Vector in2, // input vector, empty on output (unless in2 == out) - char *msg) -{ - GrB_Index *I = NULL; - GrB_Index *X1 = NULL; - GrB_Index *X2 = NULL; - GrB_Index IBytes = 0, X1Bytes = 0, X2Bytes = 0; - uint64_t nvals1 = 0, nvals2 = 0; - // keep mates of the R frontier (ordered indices) GRB_TRY(GxB_Vector_unpack_CSC(in1, (GrB_Index **)&I, (void **)&X1, &IBytes, &X1Bytes, NULL, &nvals1, NULL, NULL)); - // keep roots of the R frontier (ordered indices) + LAGraph_Free((void *)&I, NULL); GRB_TRY(GxB_Vector_unpack_CSC(in2, (GrB_Index **)&I, (void **)&X2, &IBytes, &X2Bytes, NULL, &nvals2, NULL, NULL)); - - // currentMatesR already contains only the rows of fR - // assign to fC - GRB_TRY(GxB_Vector_pack_CSC(out, (GrB_Index **)&X2, (void **)&X1, X2Bytes, - X1Bytes, NULL, nvals2, true, - NULL)); // the values are not ordered, - // so the indices are jumbled + if (!dups) + { + LAGraph_Free((void *)&I, NULL); + GRB_TRY(GxB_Vector_pack_CSC(out, (GrB_Index **)&X2, (void **)&X1, + X2Bytes, X1Bytes, NULL, nvals2, true, + NULL)); // the values are not ordered, + // so the indices are jumbled + } + else + { + GRB_TRY(GrB_Vector_clear(out)); + GRB_TRY(GrB_Vector_build_UINT64(out, X2, X1, nvals2, GrB_FIRST_UINT64)); + LG_FREE_ALL; + } } //------------------------------------------------------------------------------ @@ -327,11 +330,11 @@ static GrB_Info invert_two_in_noduplicates( // keep this same name with int LAGraph_MaximumMatching( // output: GrB_Vector - *mateC_handle, // mateC(j) = i : Column j of the C subset is matched to - // row i of the R subset (ignored on input) + *mateC_handle, // mateC(j) = i : Column j of the C subset is matched + // to row i of the R subset (ignored on input) // input: - GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph of a - // BIPARTITE kind + GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph + // of a BIPARTITE kind GrB_Vector mateC_init, // input only, not modified, ignored if NULL char *msg) { @@ -342,10 +345,11 @@ int LAGraph_MaximumMatching( // check inputs //-------------------------------------------------------------------------- - GrB_Vector pathC = NULL; // make this bitmap, if dense I would have to give - // all the entries and make the matrix 1-based - GrB_Vector parentsR = NULL; // parents of row nodes that are reachable from - // paths of the initial column frontier + GrB_Vector pathC = NULL; // make this bitmap/sparse, + // if dense I would have to give + // all the entries and make the matrix 1-based + GrB_Vector parentsR = NULL; // parents of row nodes that are reachable + // from paths of the initial column frontier GrB_Type Vertex = NULL; GrB_Vector frontierC = NULL; GrB_Vector frontierR = NULL; @@ -359,8 +363,8 @@ int LAGraph_MaximumMatching( GrB_UnaryOp getRootsOp = NULL; GrB_Vector parentsUpdate = NULL; // unmatched rows of R frontier GrB_Vector ufrontierR = NULL; // unmatched rows of R frontier - GrB_Vector mateR = NULL; // mateR(i) = j : Row i of the R subset is matched - // to column j of the C subset + GrB_Vector mateR = NULL; // mateR(i) = j : Row i of the R subset is + // matched to column j of the C subset GrB_Vector rootsufR = NULL; GrB_Vector pathUpdate = NULL; GrB_Vector rootufRIndexes = NULL; @@ -393,8 +397,8 @@ int LAGraph_MaximumMatching( if (mateC_init != NULL) { // mateC = (uint64_t) mateC_init - GRB_TRY(GrB_assign(mateC, NULL, NULL, mateC_init, GrB_ALL, ncols, - NULL)); // how about mateC = mate_init? + GRB_TRY( + GrB_assign(mateC, NULL, NULL, mateC_init, GrB_ALL, ncols, NULL)); } GRB_TRY(GrB_Vector_new(&pathC, GrB_UINT64, ncols)); @@ -412,8 +416,7 @@ int LAGraph_MaximumMatching( INIT_FRONTIER_DEFN)); GRB_TRY(GrB_Vector_new(&I, GrB_BOOL, ncols)); - GRB_TRY(GrB_Vector_assign_BOOL(I, NULL, NULL, 1, GrB_ALL, ncols, - NULL)); // pack with GrB_ALL as indexes? + GRB_TRY(GrB_Vector_assign_BOOL(I, NULL, NULL, 1, GrB_ALL, ncols, NULL)); GRB_TRY(GxB_BinaryOp_new(&MinParent, (void *)minparent, Vertex, Vertex, Vertex, "minparent", MIN_PARENT_DEFN)); @@ -467,36 +470,14 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_new(¤tMatesR, GrB_UINT64, nrows)); uint64_t npath = 0; - bool y = 0; // see if I can get rid of this + bool y = 0; - // FIXME: 80 characters wide? or at least something small than 243 uint64_t nmatched = 0; GRB_TRY(GrB_Vector_nvals(&nmatched, mateC)); if (nmatched) { - - // FIXME: make this a helper function { // mateR = invert (mateC), but do not clear the input - GrB_Index *J, *X; // unpack allocates space for these lists - GrB_Index Jbytes = 0, Xbytes = 0; - bool jumbledMateC = 0; - GRB_TRY(GxB_Vector_unpack_CSC( - mateC, (GrB_Index **)&J, (void **)&X, &Jbytes, &Xbytes, NULL, - &nmatched, &jumbledMateC, - NULL)); // mateC and mateR do not have duplicates, so the - // order doesn't matter - GRB_TRY(GrB_Vector_clear( - mateR)); // clear mateR first as a prerequisite of the build method - GRB_TRY(GrB_Vector_build_UINT64( - mateR, X, J, nmatched, - NULL)); // build does not take ownership of the lists J and X, - // but only copies them, these lists will be given - // again to mateC mateC has no duplicates in the - // values list, so mateR doesn't need to handle dups - GRB_TRY(GxB_Vector_pack_CSC(mateC, (GrB_Index **)&J, (void **)&X, - Jbytes, Xbytes, NULL, nmatched, - jumbledMateC, NULL)); - // } end of helper function + LAGRAPH_TRY(invert_nondestructive(mateR, mateC, msg)); } /* debug GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); @@ -536,7 +517,8 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_apply( parentsR, frontierR, NULL, getParentsOp, frontierR, GrB_DESC_S)); // use input as mask to only update or insert - // parents without deleting the ones not updated + // parents without deleting the ones not + // updated // select unmatched rows of the R frontier GRB_TRY(GrB_Vector_assign(ufrontierR, mateR, NULL, frontierR, @@ -575,9 +557,9 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_apply(rootsufR, NULL, NULL, getRootsOp, ufrontierR, NULL)); - // FIXME: make this a helper function - // pathUpdate = invert (rootsufR), but need to handle duplicates - LAGRAPH_TRY(invert_duplicates(pathUpdate, rootsufR, msg)); + // pathUpdate = invert (rootsufR), but need to handle + // duplicates + LAGRAPH_TRY(invert(pathUpdate, rootsufR, true, msg)); GRB_TRY(GrB_Vector_assign( pathC, pathUpdate, NULL, pathUpdate, GrB_ALL, ncols, @@ -595,13 +577,14 @@ int LAGraph_MaximumMatching( frontierR, NULL)); /* debug - GxB_Vector_fprint(rootsfR, "rootsfR", GxB_COMPLETE, stdout); + GxB_Vector_fprint(rootsfR, "rootsfR", GxB_COMPLETE, + stdout); */ - // FIXME: make this a helper function - LAGRAPH_TRY(invert_two_in_duplicates( - rootfRIndexes, currentMatesR, rootsfR, - msg)); // rootsfRIndexes(j) = i, where i + // keep mates and roots of the R frontier (ordered indices) + LAGRAPH_TRY( + invert_2(rootfRIndexes, currentMatesR, rootsfR, true, + msg)); // rootsfRIndexes(j) = i, where i // is the col mate of the first // row included in the current R // frontier with a col root of j @@ -612,10 +595,10 @@ int LAGraph_MaximumMatching( GrB_DESC_RSC)); // rootfRIndexes = invert (rootfRIndexes), so that - // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) of - // the new frontier C + // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) + // of the new frontier C LAGRAPH_TRY( - invert_noduplicates(rootfRIndexes, rootfRIndexes, msg)); + invert(rootfRIndexes, rootfRIndexes, false, msg)); } // STEP 7b: when ufrontierR is not empty @@ -630,8 +613,8 @@ int LAGraph_MaximumMatching( GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); for (int k = 0; k < ncols; k++) { - printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, - V[k].rootC); + printf("\nfc (%d) = (%ld, %ld)", (int)C[k], + V[k].parentC, V[k].rootC); } */ } @@ -646,11 +629,10 @@ int LAGraph_MaximumMatching( currentMatesR, NULL)); // fR(i) = (column mate of i, rootC) // // add the structural mask - // invert fr - - // FIXME: make this a helper function - LAGRAPH_TRY(invert_two_in_noduplicates(frontierC, frontierR, - currentMatesR, msg)); + // invert fr and assign to fC + // (currentMatesR already contains only the rows of fR) + LAGRAPH_TRY( + invert_2(frontierC, frontierR, currentMatesR, false, msg)); } GRB_TRY(GrB_Vector_nvals(&nfC, frontierC)); @@ -658,19 +640,17 @@ int LAGraph_MaximumMatching( } while (nfC); //---------------------------------------------------------------------- - // STEP 8: Augment matching by all augmenting paths discovered in this - // phase + // STEP 8: Augment matching by all augmenting paths discovered in + // this phase //---------------------------------------------------------------------- GRB_TRY(GrB_Vector_nvals(&npath, pathC)); uint64_t npathCopy = npath; - // GrB_Index *Ipath, *Xpath; - // GrB_Index IpathBytes = 0, XpathBytes = 0; while (npath) { // vr = invert (pathC), leaving pathC empty // pathC doesn't have dup values as it stems from an invertion - LAGRAPH_TRY(invert_noduplicates(vr, pathC, msg)); + LAGRAPH_TRY(invert(vr, pathC, false, msg)); /* debug GxB_Vector_fprint(vr, "vr", GxB_COMPLETE, stdout); @@ -680,8 +660,8 @@ int LAGraph_MaximumMatching( // assign parents of rows to rows GRB_TRY(GrB_Vector_assign( vr, vr, NULL, parentsR, GrB_ALL, nrows, - GrB_DESC_S)); // update the values of vr (descriptor needed to - // use mask's structure and not values) + GrB_DESC_S)); // update the values of vr (descriptor needed + // to use mask's structure and not values) /* debug GxB_Vector_fprint(vr, "vr with updated parents", GxB_COMPLETE, @@ -693,14 +673,14 @@ int LAGraph_MaximumMatching( GrB_DESC_S)); // pathC = invert (vr), leaving vr empty (vr has no duplicates) - LAGRAPH_TRY(invert_noduplicates(pathC, vr, msg)); + LAGRAPH_TRY(invert(pathC, vr, false, msg)); /* debug GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); */ - // keep a copy of the previous row matches of the matched cols that - // will alter mates + // keep a copy of the previous row matches of the matched cols + // that will alter mates GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, mateC, GrB_ALL, ncols, GrB_DESC_RS)); From 5a09563cc4eb81460540d54303e0f7a0ecd13da4 Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 8 Jul 2024 18:58:54 -0500 Subject: [PATCH 39/69] Specify the steps of the algorithm as indicated in the paper --- .../algorithm/LAGraph_MaximumMatching.c | 52 +++++++++++++------ 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index b0b44a0e0d..30ba613579 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -506,13 +506,16 @@ int LAGraph_MaximumMatching( do { + //---------------------------------------------------------------------- // STEPS 1,2: Explore neighbors of column frontier (one step of // BFS), keeping only unvisited rows in the frontierR + //---------------------------------------------------------------------- GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, MinParent_2nd_Semiring, A, frontierC, GrB_DESC_RSC)); - // STEPS 3,4: Select matched and unmatched row vertices - + //---------------------------------------------------------------------- + // STEPS 3,4: Select univisited, matched and unmatched row vertices + //---------------------------------------------------------------------- // set parents of row frontier GRB_TRY(GrB_Vector_apply( parentsR, frontierR, NULL, getParentsOp, frontierR, @@ -526,6 +529,7 @@ int LAGraph_MaximumMatching( // select matched rows of the R frontier GRB_TRY(GrB_Vector_assign(frontierR, mateR, NULL, frontierR, GrB_ALL, nrows, GrB_DESC_RS)); + // keep only mates of rows in frontierR GRB_TRY(GrB_Vector_assign(currentMatesR, frontierR, NULL, mateR, GrB_ALL, nrows, GrB_DESC_RS)); @@ -551,8 +555,9 @@ int LAGraph_MaximumMatching( if (nUfR) { - // STEP 5: - + //---------------------------------------------------------------------- + // STEP 5: Store endpoints of newly discovered augmenting paths + //---------------------------------------------------------------------- // get roots of unmatched row nodes in the R frontier GRB_TRY(GrB_Vector_apply(rootsufR, NULL, NULL, getRootsOp, ufrontierR, NULL)); @@ -567,7 +572,9 @@ int LAGraph_MaximumMatching( // not updated when GrB_ALL is used, ni is // the number of rows of the vector - // STEP 6: + //---------------------------------------------------------------------- + // STEP 6: Prune vertices in trees yielding augmenting paths + //---------------------------------------------------------------------- GRB_TRY(GrB_Vector_clear(rootfRIndexes)); if (nfR) @@ -594,15 +601,21 @@ int LAGraph_MaximumMatching( rootfRIndexes, GrB_ALL, ncols, GrB_DESC_RSC)); + //---------------------------------------------------------------------- + // STEP 7a (ufrontierR not empty): Move values in the + // correct positions for the C frontier + //---------------------------------------------------------------------- // rootfRIndexes = invert (rootfRIndexes), so that - // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) - // of the new frontier C + // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) of + // the new frontier C LAGRAPH_TRY( invert(rootfRIndexes, rootfRIndexes, false, msg)); } - // STEP 7b: when ufrontierR is not empty - // build tuple of (parentC, rootC) + //---------------------------------------------------------------------- + // STEP 7b (ufrontierR not empty): Build tuple of (parentC, + // rootC) + //---------------------------------------------------------------------- GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, buildfCTuplesOp, rootfRIndexes, &y, NULL)); @@ -620,15 +633,22 @@ int LAGraph_MaximumMatching( } else { - // STEP 7: when ufrontierR is empty - + //---------------------------------------------------------------------- + // STEP 7a (ufrontierR is empty): Set parents of the R frontier + // to their mates + //---------------------------------------------------------------------- // typecast mateR to ensure domain match with frontier R and // apply op on frontier to set parents to mates - GRB_TRY(GrB_Vector_apply( - frontierR, NULL, setParentsMatesOp, vertexTypecastOp, - currentMatesR, - NULL)); // fR(i) = (column mate of i, rootC) // - // add the structural mask + GRB_TRY( + GrB_Vector_apply(frontierR, NULL, setParentsMatesOp, + vertexTypecastOp, currentMatesR, + NULL)); // fR(i) = (column mate of i, + // rootC) add the structural mask + + //---------------------------------------------------------------------- + // STEP 7b (ufrontierR is empty): Move values in the correct + // positions for the C frontier + //---------------------------------------------------------------------- // invert fr and assign to fC // (currentMatesR already contains only the rows of fR) LAGRAPH_TRY( From b691eac00f6f85aa7c6fbc84cbe4864e114f1417 Mon Sep 17 00:00:00 2001 From: kchristin Date: Tue, 9 Jul 2024 12:16:12 -0500 Subject: [PATCH 40/69] Initial benchmark for MCM --- experimental/benchmark/mcm_demo.c | 183 ++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 experimental/benchmark/mcm_demo.c diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c new file mode 100644 index 0000000000..d69e1a5041 --- /dev/null +++ b/experimental/benchmark/mcm_demo.c @@ -0,0 +1,183 @@ +//------------------------------------------------------------------------------ +// LAGraph/experimental/benchmark/matching_demo.c: benchmarks for +// LAGraph_MaximumMatching +//------------------------------------------------------------------------------ + +// LAGraph, (c) 2019-2022 by The LAGraph Contributors, All Rights Reserved. +// SPDX-License-Identifier: BSD-2-Clause +// +// For additional details (including references to third party source code and +// other files) see the LICENSE file or contact permission@sei.cmu.edu. See +// Contributors.txt for a full list of contributors. Created, in part, with +// funding and support from the U.S. Government (see Acknowledgments.txt file). +// DM22-0790 + +// Contributed by Christina Koutsou, Aristotle University of Thessaloniki + +/* +Usage: + +*/ + +//------------------------------------------------------------------------------ + +#include "../../src/benchmark/LAGraph_demo.h" +#include "LAGraphX.h" +#include "LG_internal.h" +#include + +// #define VERBOSE + +#define NTHREAD_LIST 1 +#define THREAD_LIST 0 + +#undef LG_FREE_ALL +#define LG_FREE_ALL \ + { \ + LAGraph_Delete(&G, NULL); \ + GrB_free(&A); \ + GrB_free(&mateC_init); \ + GrB_free(&mateC); \ + } + +int main(int argc, char **argv) +{ + //-------------------------------------------------------------------------- + // declare inputs and outputs + //-------------------------------------------------------------------------- + + char msg[LAGRAPH_MSG_LEN]; + + LAGraph_Graph G = NULL; + GrB_Matrix A = NULL; + GrB_Vector mateC_init = NULL; + GrB_Vector mateC = NULL; + + //-------------------------------------------------------------------------- + // startup LAGraph and GraphBLAS + //-------------------------------------------------------------------------- + + bool burble = true; + demo_init(burble); + + //-------------------------------------------------------------------------- + // read in the graph + //-------------------------------------------------------------------------- + + if (argc < 2) + { + printf("Invalid usage, please read comments\n"); + return 0; + } + char *matrix_name = argv[1]; + + LAGRAPH_TRY(LAGraph_Random_Init(msg)); + bool make_symmetric = false, remove_self_edges = false, structural = true, + ensure_positive = false; + LAGRAPH_TRY(readproblem(&G, NULL, make_symmetric, remove_self_edges, + structural, NULL, ensure_positive, argc, argv)); + + A = G->A; + + //-------------------------------------------------------------------------- + // determine the number of threads to run the algorithm with + //-------------------------------------------------------------------------- + + int nt = NTHREAD_LIST; + int Nthreads[20] = {0, THREAD_LIST}; + int nthreads_max, nthreads_outer, nthreads_inner; + LAGRAPH_TRY(LAGraph_GetNumThreads(&nthreads_outer, &nthreads_inner, msg)); +#ifdef VERBOSE + printf("nthreads_outer: %d, nthreads_inner: %d\n", nthreads_outer, + nthreads_inner); +#endif + nthreads_max = nthreads_outer * nthreads_inner; + if (Nthreads[1] == 0) // THREAD_LIST == 0 + { + // create thread list automatically + Nthreads[1] = nthreads_max; + for (int t = 2; t <= nt; t++) + { + Nthreads[t] = Nthreads[t - 1] / 2; + if (Nthreads[t] == 0) + nt = t - 1; + } + } +#ifdef VERBOSE + printf("threads to test: "); + for (int t = 1; t <= nt; t++) + { + int nthreads = Nthreads[t]; + if (nthreads > nthreads_max) + continue; + printf(" %d", nthreads); + } + printf("\n"); +#endif + + //-------------------------------------------------------------------------- + // warmup before benchmarking + //-------------------------------------------------------------------------- + + double t = LAGraph_WallClockTime(); + LAGRAPH_TRY(LAGraph_MaximumMatching(&mateC, A, mateC_init, msg)); + t = LAGraph_WallClockTime() - t; + GRB_TRY(GrB_free(&mateC)); +#ifdef VERBOSE + printf("warmup time %g sec\n", t); +#endif + + //-------------------------------------------------------------------------- + // benchmark + //-------------------------------------------------------------------------- + + // the GAP benchmark requires 16 trials + int ntrials = 16; + // ntrials = 1 ; // HACK to run just one trial +#ifdef VERBOSE + printf("# of trials: %d\n", ntrials); +#endif + + for (int kk = 1; kk <= nt; kk++) + { + int nthreads = Nthreads[kk]; + if (nthreads > nthreads_max) + continue; + LAGRAPH_TRY(LAGraph_SetNumThreads(1, nthreads, msg)); + +#ifdef VERBOSE + printf("\n--------------------------- nthreads: %2d\n", nthreads); +#endif + + double total_time = 0; + + for (int trial = 0; trial < ntrials; trial++) + { + t = LAGraph_WallClockTime(); + LAGRAPH_TRY(LAGraph_MaximumMatching(&mateC, A, mateC_init, msg)); + t = LAGraph_WallClockTime() - t; + GRB_TRY(GrB_free(&mateC)); +#ifdef VERBOSE + printf("trial: %2d time: %10.7f sec\n", trial, tt); +#endif + total_time += t; + } + + double total_time_per_trial = total_time / ntrials; + +#ifndef VERBOSE + printf("%.7f\n", total_time_per_trial); +#else + printf("maximum matching: %3d: avg time: %10.7f (sec) matrix: %s\n", + nthreads, total_time_per_trial, matrix_name); +#endif + } + + //-------------------------------------------------------------------------- + // free all workspace and finish + //-------------------------------------------------------------------------- + LG_FREE_ALL; + + LAGRAPH_TRY(LAGraph_Finalize(msg)); + return (GrB_SUCCESS); +} From dea561897e654974377ccb0a88a98945ccba7a47 Mon Sep 17 00:00:00 2001 From: kchristin Date: Thu, 11 Jul 2024 12:18:01 -0500 Subject: [PATCH 41/69] Add push-pull optimization and enable it in tests and benchmarks --- .../algorithm/LAGraph_MaximumMatching.c | 59 +++++++++++++++++-- experimental/benchmark/mcm_demo.c | 31 ++++++---- experimental/test/test_MaximumMatching.c | 8 ++- include/LAGraphX.h | 1 + 4 files changed, 84 insertions(+), 15 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 30ba613579..3f5569729d 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -83,6 +83,19 @@ void *select2nd(vertex *z, bool *x, vertex *y) "z->rootC = y->rootC;" \ "} " +void *select1st(vertex *z, vertex *x, bool *y) +{ + z->parentC = x->parentC; + z->rootC = x->rootC; +} + +#define SELECT_1ST_DEFN \ + "void *select2nd(vertex *z, vertex *x, bool *y) " \ + "{ " \ + "z->parentC = x->parentC; " \ + "z->rootC = x->rootC;" \ + "} " + void *keepParents(uint64_t *z, vertex *x) { *z = x->parentC; } #define KEEP_PARENTS_DEFN \ @@ -301,7 +314,9 @@ static inline GrB_Info invert_2( GrB_free(&MinParent); \ GrB_free(&MinParent_Monoid); \ GrB_free(&Select2ndOp); \ + GrB_free(&Select1stOp); \ GrB_free(&MinParent_2nd_Semiring); \ + GrB_free(&MinParent_1st_Semiring); \ GrB_free(&getParentsOp); \ GrB_free(&getRootsOp); \ GrB_free(&parentsUpdate); \ @@ -333,8 +348,11 @@ int LAGraph_MaximumMatching( *mateC_handle, // mateC(j) = i : Column j of the C subset is matched // to row i of the R subset (ignored on input) // input: - GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph - // of a BIPARTITE kind + GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph + // of a BIPARTITE kind + GrB_Matrix AT, // transpose of the input adjacency matrix, necessary to + // perform push-pull optimization + // if NULL, the push-pull optimization is not performed GrB_Vector mateC_init, // input only, not modified, ignored if NULL char *msg) { @@ -358,7 +376,9 @@ int LAGraph_MaximumMatching( GrB_BinaryOp MinParent = NULL; GrB_Monoid MinParent_Monoid = NULL; GrB_BinaryOp Select2ndOp = NULL; + GrB_BinaryOp Select1stOp = NULL; GrB_Semiring MinParent_2nd_Semiring = NULL; + GrB_Semiring MinParent_1st_Semiring = NULL; GrB_UnaryOp getParentsOp = NULL; GrB_UnaryOp getRootsOp = NULL; GrB_Vector parentsUpdate = NULL; // unmatched rows of R frontier @@ -387,6 +407,8 @@ int LAGraph_MaximumMatching( LG_ASSERT_MSG(A != NULL, GrB_NULL_POINTER, "A matrix is NULL"); (*mateC_handle) = NULL; + bool do_pushpull = AT == NULL ? false : true; + uint64_t ncols = 0; GRB_TRY(GrB_Matrix_ncols(&ncols, A)); @@ -429,6 +451,12 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Semiring_new(&MinParent_2nd_Semiring, MinParent_Monoid, Select2ndOp)); + GRB_TRY(GxB_BinaryOp_new(&Select1stOp, (void *)select1st, Vertex, Vertex, + GrB_BOOL, "select1st", SELECT_1ST_DEFN)); + + GRB_TRY(GrB_Semiring_new(&MinParent_1st_Semiring, MinParent_Monoid, + Select1stOp)); + GRB_TRY(GxB_UnaryOp_new(&getParentsOp, (void *)keepParents, GrB_UINT64, Vertex, "keepParents", KEEP_PARENTS_DEFN)); @@ -510,8 +538,31 @@ int LAGraph_MaximumMatching( // STEPS 1,2: Explore neighbors of column frontier (one step of // BFS), keeping only unvisited rows in the frontierR //---------------------------------------------------------------------- - GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, MinParent_2nd_Semiring, - A, frontierC, GrB_DESC_RSC)); + if (do_pushpull) + { + int32_t kind; + LAGRAPH_TRY(LG_GET_FORMAT_HINT(frontierC, &kind)); + // pull (vector's values are pulled into A) + if (kind == LG_BITMAP || kind == LG_FULL) + { + GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, + MinParent_2nd_Semiring, A, frontierC, + GrB_DESC_RSC)); + } + // push (vector's values are pushed to A) + else // vector is sparse or hypersparse + { + GRB_TRY(GrB_vxm(frontierR, parentsR, NULL, + MinParent_1st_Semiring, frontierC, AT, + GrB_DESC_RSC)); + } + } + else + { + GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, + MinParent_2nd_Semiring, A, frontierC, + GrB_DESC_RSC)); + } //---------------------------------------------------------------------- // STEPS 3,4: Select univisited, matched and unmatched row vertices diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index d69e1a5041..aa1b7838d7 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -36,6 +36,7 @@ { \ LAGraph_Delete(&G, NULL); \ GrB_free(&A); \ + GrB_free(&AT); \ GrB_free(&mateC_init); \ GrB_free(&mateC); \ } @@ -50,6 +51,7 @@ int main(int argc, char **argv) LAGraph_Graph G = NULL; GrB_Matrix A = NULL; + GrB_Matrix AT = NULL; GrB_Vector mateC_init = NULL; GrB_Vector mateC = NULL; @@ -57,19 +59,19 @@ int main(int argc, char **argv) // startup LAGraph and GraphBLAS //-------------------------------------------------------------------------- - bool burble = true; + bool burble = false; demo_init(burble); //-------------------------------------------------------------------------- // read in the graph //-------------------------------------------------------------------------- - if (argc < 2) - { - printf("Invalid usage, please read comments\n"); - return 0; - } - char *matrix_name = argv[1]; + // if (argc < 2) + // { + // printf("Invalid usage, please read comments\n"); + // return 0; + // } + char *matrix_name = (argc > 1) ? argv[1] : "stdin"; LAGRAPH_TRY(LAGraph_Random_Init(msg)); bool make_symmetric = false, remove_self_edges = false, structural = true, @@ -78,6 +80,14 @@ int main(int argc, char **argv) structural, NULL, ensure_positive, argc, argv)); A = G->A; + // compute AT to be able to use push-pull optimization + if (G->is_symmetric_structure) + AT = A; + else + { + LAGRAPH_TRY(LAGraph_Cached_AT(G, msg)); + AT = G->AT; + } //-------------------------------------------------------------------------- // determine the number of threads to run the algorithm with @@ -120,7 +130,7 @@ int main(int argc, char **argv) //-------------------------------------------------------------------------- double t = LAGraph_WallClockTime(); - LAGRAPH_TRY(LAGraph_MaximumMatching(&mateC, A, mateC_init, msg)); + LAGRAPH_TRY(LAGraph_MaximumMatching(&mateC, A, AT, mateC_init, msg)); t = LAGraph_WallClockTime() - t; GRB_TRY(GrB_free(&mateC)); #ifdef VERBOSE @@ -154,11 +164,12 @@ int main(int argc, char **argv) for (int trial = 0; trial < ntrials; trial++) { t = LAGraph_WallClockTime(); - LAGRAPH_TRY(LAGraph_MaximumMatching(&mateC, A, mateC_init, msg)); + LAGRAPH_TRY( + LAGraph_MaximumMatching(&mateC, A, AT, mateC_init, msg)); t = LAGraph_WallClockTime() - t; GRB_TRY(GrB_free(&mateC)); #ifdef VERBOSE - printf("trial: %2d time: %10.7f sec\n", trial, tt); + printf("trial: %2d time: %10.7f sec\n", trial, t); #endif total_time += t; } diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index 2e46b01261..2f22f40cca 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -33,6 +33,7 @@ void test_MCM(void) { GrB_Matrix A = NULL; + GrB_Matrix AT = NULL; snprintf(filename, LEN, LG_DATA_DIR "%s", filenames[test]); FILE *f = fopen(filename, "r"); TEST_CHECK(f != NULL); @@ -76,9 +77,13 @@ void test_MCM(void) OK(GrB_Vector_new(&mateC_init, GrB_UINT64, ncols)); OK(GrB_Vector_setElement_UINT64( mateC, 0, 19)); // col 20 matched with row 1 (1-based) + OK(GrB_Matrix_new(&AT, GrB_BOOL, ncols, + nrows)); // transpose matrix has the reverse + // dimensions from the original + OK(GrB_transpose(AT, NULL, NULL, A, NULL)); } - OK(LAGraph_MaximumMatching(&mateC, A, mateC_init, msg)); + OK(LAGraph_MaximumMatching(&mateC, A, AT, mateC_init, msg)); printf("\nmsg: %s\n", msg); GrB_Index nmatched = 0; @@ -124,6 +129,7 @@ void test_MCM(void) OK(GrB_Vector_free(&mateR)); OK(GrB_Matrix_free(&M)); OK(GrB_Matrix_free(&A)); + OK(GrB_Matrix_free(&AT)); } } LAGraph_Finalize(msg); diff --git a/include/LAGraphX.h b/include/LAGraphX.h index 525c53e62c..d52c087d54 100644 --- a/include/LAGraphX.h +++ b/include/LAGraphX.h @@ -1237,6 +1237,7 @@ int LAGraph_MaximumMatching( GrB_Vector *mateC_handle, // mateC(j) = i : Column j of the C subset is matched to row i of the R subset (ignored on input) // input GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph of a BIPARTITE kind + GrB_Matrix AT, // trasnpose of the input adjacency matrix, NULL if not provided GrB_Vector mateC_init, // input only, not modified, ignored if NULL char *msg); From cedcc81416ea4008848c537713e7bc4e69d4b9eb Mon Sep 17 00:00:00 2001 From: Tim Davis Date: Thu, 11 Jul 2024 12:56:29 -0500 Subject: [PATCH 42/69] comments and timing --- .../algorithm/LAGraph_MaximumMatching.c | 48 +++++++++++++++---- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 3f5569729d..f9478e3639 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -197,8 +197,11 @@ void *setParentsMates(vertex *z, vertex *x, vertex *y) } static inline GrB_Info invert_nondestructive( - GrB_Vector out, // output, contents (except type and size) cleared on input - GrB_Vector in, // input vector, empty on output (unless in1 == out) + GrB_Vector out, // input/output. On input, only the size and type are + // kept; any entries in the 'out' vector cleared. It is + // then replaced with the inversion of the input vector. + GrB_Vector in, // input vector, not modified. There must be no duplicate + // values in the input vector. char *msg) { bool jumbled = 1; @@ -208,6 +211,11 @@ static inline GrB_Info invert_nondestructive( GrB_Index IBytes = 0, XBytes = 0; uint64_t nvals = 0; + // the input and output vectors cannot be the same vector + ASSERT (in != out) ; + + // All input/output vectors must be of type GrB_UINT64. + GRB_TRY( GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X1, &IBytes, &XBytes, NULL, &nvals, &jumbled, @@ -226,13 +234,17 @@ static inline GrB_Info invert_nondestructive( XBytes, NULL, nvals, jumbled, NULL)); } -static GrB_Info invert( - GrB_Vector out, // output, contents (except type and size) cleared on input +static inline GrB_Info invert( + GrB_Vector out, // input/output. Same as invert_nondescructive above. GrB_Vector in, // input vector, empty on output (unless in == out) bool dups, // flag that indicates if duplicates exist in the input vector's // values char *msg) { + // The input and output vectors can be the same vector + // that is, in == out is OK. + // All input/output vectors must be of type GrB_UINT64. + // the output vector will normally be returned in a jumbled state bool jumbled = dups ? 0 : 1; // if there are duplicates, we want the indices // to be ordered so we can keep the min child @@ -264,13 +276,18 @@ static GrB_Info invert( } static inline GrB_Info invert_2( - GrB_Vector out, // output, contents (except type and size) cleared on input + GrB_Vector out, // input/output GrB_Vector in1, // input vector, empty on output (unless in1 == out) GrB_Vector in2, // input vector, empty on output (unless in2 == out) bool dups, // flag that indicates if duplicates exist in the input vector's // values char *msg) { + // The input vectors cannot be aliased. However in1==out or in2==out is + // OK. The two input vectors must have the same # of entries. + // All input/output vectors must be of type GrB_UINT64. + ASSERT (in1 != in2) ; + GrB_Index *I = NULL; GrB_Index *X1 = NULL; GrB_Index *X2 = NULL; @@ -281,6 +298,7 @@ static inline GrB_Info invert_2( LAGraph_Free((void *)&I, NULL); GRB_TRY(GxB_Vector_unpack_CSC(in2, (GrB_Index **)&I, (void **)&X2, &IBytes, &X2Bytes, NULL, &nvals2, NULL, NULL)); + ASSERT (nvals1 == nvals2) ; if (!dups) { LAGraph_Free((void *)&I, NULL); @@ -356,6 +374,7 @@ int LAGraph_MaximumMatching( GrB_Vector mateC_init, // input only, not modified, ignored if NULL char *msg) { + double tot = LAGraph_WallClockTime ( ) ; // GrB_set (GrB_GLOBAL, true, GxB_BURBLE) ; @@ -397,7 +416,6 @@ int LAGraph_MaximumMatching( GrB_Vector pathCopy = NULL; GrB_Vector currentMatesR = NULL; - // FIXME: no need for mateCcopy, just use mateC GrB_Vector mateC = NULL; LG_CLEAR_MSG; @@ -407,7 +425,7 @@ int LAGraph_MaximumMatching( LG_ASSERT_MSG(A != NULL, GrB_NULL_POINTER, "A matrix is NULL"); (*mateC_handle) = NULL; - bool do_pushpull = AT == NULL ? false : true; + bool do_pushpull = (AT == NULL) ? false : true; uint64_t ncols = 0; GRB_TRY(GrB_Matrix_ncols(&ncols, A)); @@ -499,6 +517,7 @@ int LAGraph_MaximumMatching( uint64_t npath = 0; bool y = 0; + double mxm_time = 0 ; uint64_t nmatched = 0; GRB_TRY(GrB_Vector_nvals(&nmatched, mateC)); @@ -538,20 +557,24 @@ int LAGraph_MaximumMatching( // STEPS 1,2: Explore neighbors of column frontier (one step of // BFS), keeping only unvisited rows in the frontierR //---------------------------------------------------------------------- + + double t = LAGraph_WallClockTime ( ) ; if (do_pushpull) { int32_t kind; LAGRAPH_TRY(LG_GET_FORMAT_HINT(frontierC, &kind)); - // pull (vector's values are pulled into A) if (kind == LG_BITMAP || kind == LG_FULL) { + // the frontierC vector is bitmap or full + // pull (vector's values are pulled into A) GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, MinParent_2nd_Semiring, A, frontierC, GrB_DESC_RSC)); } - // push (vector's values are pushed to A) - else // vector is sparse or hypersparse + else { + // the frontierC vector is sparse or hypersparse + // push (vector's values are pushed to A) GRB_TRY(GrB_vxm(frontierR, parentsR, NULL, MinParent_1st_Semiring, frontierC, AT, GrB_DESC_RSC)); @@ -559,10 +582,13 @@ int LAGraph_MaximumMatching( } else { + // Only the pull method can be used if AT is not given GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, MinParent_2nd_Semiring, A, frontierC, GrB_DESC_RSC)); } + t = LAGraph_WallClockTime ( ) - t ; + mxm_time += t ; //---------------------------------------------------------------------- // STEPS 3,4: Select univisited, matched and unmatched row vertices @@ -786,5 +812,7 @@ int LAGraph_MaximumMatching( LG_FREE_WORK; // GrB_set (GrB_GLOBAL, false, GxB_BURBLE) ; + tot = LAGraph_WallClockTime ( ) - tot ; + printf ("total time %g, mxm time: %g (%g)\n", tot, mxm_time, mxm_time / tot) ; return (GrB_SUCCESS); } From 8b086f73624df5755405b94056e33e744cd19447 Mon Sep 17 00:00:00 2001 From: kchristin Date: Thu, 11 Jul 2024 13:06:21 -0500 Subject: [PATCH 43/69] Fix mateC initialization on the test --- experimental/test/test_MaximumMatching.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index 2f22f40cca..11c29a4b51 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -76,7 +76,7 @@ void test_MCM(void) { OK(GrB_Vector_new(&mateC_init, GrB_UINT64, ncols)); OK(GrB_Vector_setElement_UINT64( - mateC, 0, 19)); // col 20 matched with row 1 (1-based) + mateC_init, 0, 19)); // col 20 matched with row 1 (1-based) OK(GrB_Matrix_new(&AT, GrB_BOOL, ncols, nrows)); // transpose matrix has the reverse // dimensions from the original From bd45f2ea67882caffb1315a09269a172967df2fd Mon Sep 17 00:00:00 2001 From: Tim Davis Date: Thu, 11 Jul 2024 13:57:23 -0500 Subject: [PATCH 44/69] starting to add A,AT options --- .../algorithm/LAGraph_MaximumMatching.c | 64 +++++++++++++------ 1 file changed, 46 insertions(+), 18 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index f9478e3639..01baab0c12 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -422,23 +422,25 @@ int LAGraph_MaximumMatching( LG_ASSERT_MSG(mateC_handle != NULL, GrB_NULL_POINTER, "mateC handle is NULL"); - LG_ASSERT_MSG(A != NULL, GrB_NULL_POINTER, "A matrix is NULL"); + + LG_ASSERT_MSG(A != NULL || AT != NULL, GrB_NULL_POINTER, "A matrix is NULL"); + (*mateC_handle) = NULL; - bool do_pushpull = (AT == NULL) ? false : true; + bool do_pushpull = (AT != NULL) && (A != NULL) ; uint64_t ncols = 0; - GRB_TRY(GrB_Matrix_ncols(&ncols, A)); - uint64_t nrows = 0; - GRB_TRY(GrB_Matrix_nrows(&nrows, A)); - GRB_TRY(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); - if (mateC_init != NULL) + if (A != NULL) { - // mateC = (uint64_t) mateC_init - GRB_TRY( - GrB_assign(mateC, NULL, NULL, mateC_init, GrB_ALL, ncols, NULL)); + GRB_TRY(GrB_Matrix_ncols(&ncols, A)); + GRB_TRY(GrB_Matrix_nrows(&nrows, A)); + } + else + { + GRB_TRY(GrB_Matrix_nrows(&ncols, AT)); + GRB_TRY(GrB_Matrix_ncols(&nrows, AT)); } GRB_TRY(GrB_Vector_new(&pathC, GrB_UINT64, ncols)); @@ -485,7 +487,6 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_new(&ufrontierR, Vertex, nrows)); - GRB_TRY(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); GRB_TRY(GrB_Vector_new(&rootsufR, GrB_UINT64, nrows)); @@ -519,13 +520,25 @@ int LAGraph_MaximumMatching( bool y = 0; double mxm_time = 0 ; - uint64_t nmatched = 0; - GRB_TRY(GrB_Vector_nvals(&nmatched, mateC)); - if (nmatched) + GRB_TRY(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); + GRB_TRY(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); + + if (mateC_init != NULL) { - // mateR = invert (mateC), but do not clear the input - LAGRAPH_TRY(invert_nondestructive(mateR, mateC, msg)); + uint64_t nmatched = 0; + + // mateC = (uint64_t) mateC_init + GRB_TRY( + GrB_assign(mateC, NULL, NULL, mateC_init, GrB_ALL, ncols, NULL)); + GRB_TRY(GrB_Vector_nvals(&nmatched, mateC)); + if (nmatched) + { + // mateR = invert (mateC), but do not clear the input + LAGRAPH_TRY(invert_nondestructive(mateR, mateC, msg)); + } + } + /* debug GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); */ @@ -582,10 +595,20 @@ int LAGraph_MaximumMatching( } else { - // Only the pull method can be used if AT is not given - GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, + if (A != NULL) + { + // Only the pull method can be used if AT is not given + GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, MinParent_2nd_Semiring, A, frontierC, GrB_DESC_RSC)); + } + else + { + // Only the push method can be used if A is not given + GRB_TRY(GrB_vxm(frontierR, parentsR, NULL, + MinParent_1st_Semiring, frontierC, AT, + GrB_DESC_RSC)); + } } t = LAGraph_WallClockTime ( ) - t ; mxm_time += t ; @@ -788,6 +811,11 @@ int LAGraph_MaximumMatching( // update mateC GRB_TRY(GrB_Vector_assign(mateC, pathC, NULL, pathC, GrB_ALL, ncols, GrB_DESC_S)); + + // At this point, mateR and mateC are in sync. That is, they + // are inversions of each other (mateR == invert(mateC) and + // mateC == invert (mateR) both hold). + // swap path and pathCopy GrB_Vector temp = pathC; pathC = pathCopy; From 6a40f82929dcf76ec01ccda709ed908bde4dabfb Mon Sep 17 00:00:00 2001 From: Tim Davis Date: Thu, 11 Jul 2024 14:35:14 -0500 Subject: [PATCH 45/69] . --- experimental/algorithm/LAGraph_MaximumMatching.c | 1 + experimental/benchmark/mcm_demo.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 01baab0c12..3726a3dc1a 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -374,6 +374,7 @@ int LAGraph_MaximumMatching( GrB_Vector mateC_init, // input only, not modified, ignored if NULL char *msg) { + printf ("starting LAGraph_MaximumMatching\n") ; fflush (stdout) ; double tot = LAGraph_WallClockTime ( ) ; // GrB_set (GrB_GLOBAL, true, GxB_BURBLE) ; diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index aa1b7838d7..2feac85d01 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -26,7 +26,7 @@ #include "LG_internal.h" #include -// #define VERBOSE +#define VERBOSE #define NTHREAD_LIST 1 #define THREAD_LIST 0 From 141df7b67f62543331b53c03fc9243c978c05e99 Mon Sep 17 00:00:00 2001 From: Tim Davis Date: Thu, 11 Jul 2024 15:21:37 -0500 Subject: [PATCH 46/69] add check of input/output of invert --- .../algorithm/LAGraph_MaximumMatching.c | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 3726a3dc1a..eb40202243 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -212,6 +212,7 @@ static inline GrB_Info invert_nondestructive( uint64_t nvals = 0; // the input and output vectors cannot be the same vector +// GRB_TRY(GxB_print (in,0)) ; GRB_TRY(GxB_print (out,0)) ; ASSERT (in != out) ; // All input/output vectors must be of type GrB_UINT64. @@ -232,6 +233,7 @@ static inline GrB_Info invert_nondestructive( // values list, so dups are not handled GRB_TRY(GxB_Vector_pack_CSC(in, (GrB_Index **)&I, (void **)&X1, IBytes, XBytes, NULL, nvals, jumbled, NULL)); +// GRB_TRY(GxB_print (in,0)) ; GRB_TRY(GxB_print (out,0)) ; } static inline GrB_Info invert( @@ -253,6 +255,10 @@ static inline GrB_Info invert( GrB_Index *X2 = NULL; // not used GrB_Index IBytes = 0, XBytes = 0; uint64_t nvals = 0; + printf ("invert, dups %d\n", dups) ; +// GRB_TRY(GxB_print (in,2)) ; +// GRB_TRY(GxB_print (out,2)) ; + // #if LAGRAPH_SUITESPARSE GRB_TRY(GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X1, &IBytes, &XBytes, NULL, &nvals, &jumbled, @@ -272,7 +278,9 @@ static inline GrB_Info invert( GRB_TRY(GrB_Vector_build_UINT64(out, X1, I, nvals, GrB_FIRST_UINT64)); // build copies the lists so they need to be freed in LG_FREE_ALL LG_FREE_ALL; - } + } +// GRB_TRY(GxB_print (in,2)) ; +// GRB_TRY(GxB_print (out,2)) ; } static inline GrB_Info invert_2( @@ -293,6 +301,11 @@ static inline GrB_Info invert_2( GrB_Index *X2 = NULL; GrB_Index IBytes = 0, X1Bytes = 0, X2Bytes = 0; uint64_t nvals1 = 0, nvals2 = 0; + +// GRB_TRY(GxB_print (in1,0)) ; +// GRB_TRY(GxB_print (in2,0)) ; +// GRB_TRY(GxB_print (out,0)) ; + GRB_TRY(GxB_Vector_unpack_CSC(in1, (GrB_Index **)&I, (void **)&X1, &IBytes, &X1Bytes, NULL, &nvals1, NULL, NULL)); LAGraph_Free((void *)&I, NULL); @@ -313,6 +326,10 @@ static inline GrB_Info invert_2( GRB_TRY(GrB_Vector_build_UINT64(out, X2, X1, nvals2, GrB_FIRST_UINT64)); LG_FREE_ALL; } + +// GRB_TRY(GxB_print (in1,0)) ; +// GRB_TRY(GxB_print (in2,0)) ; +// GRB_TRY(GxB_print (out,0)) ; } //------------------------------------------------------------------------------ @@ -665,6 +682,7 @@ int LAGraph_MaximumMatching( // pathUpdate = invert (rootsufR), but need to handle // duplicates + printf ("pathUpdate = invert (rootsufR)\n") ; LAGRAPH_TRY(invert(pathUpdate, rootsufR, true, msg)); GRB_TRY(GrB_Vector_assign( @@ -709,6 +727,7 @@ int LAGraph_MaximumMatching( // rootfRIndexes = invert (rootfRIndexes), so that // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) of // the new frontier C + printf ("rootfRIndexes = invert (rootfRIndexes)\n") ; LAGRAPH_TRY( invert(rootfRIndexes, rootfRIndexes, false, msg)); } @@ -771,6 +790,7 @@ int LAGraph_MaximumMatching( { // vr = invert (pathC), leaving pathC empty // pathC doesn't have dup values as it stems from an invertion + printf ("vr = invert (pathC)\n") ; LAGRAPH_TRY(invert(vr, pathC, false, msg)); /* debug @@ -794,7 +814,10 @@ int LAGraph_MaximumMatching( GrB_DESC_S)); // pathC = invert (vr), leaving vr empty (vr has no duplicates) + printf ("pathC = invert (vr)\n") ; + GRB_TRY (GxB_print (vr, 2)) ; LAGRAPH_TRY(invert(pathC, vr, false, msg)); + GRB_TRY (GxB_print (pathC, 2)) ; /* debug GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); From 1f18d6052efe1af515d09dd473bd65c720aba29b Mon Sep 17 00:00:00 2001 From: kchristin Date: Thu, 11 Jul 2024 15:47:38 -0500 Subject: [PATCH 47/69] Fix setting of mateR and inverting of vr in the augment function --- .../algorithm/LAGraph_MaximumMatching.c | 114 +++++++++--------- experimental/benchmark/mcm_demo.c | 2 +- 2 files changed, 60 insertions(+), 56 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index eb40202243..dce88b9f19 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -212,8 +212,8 @@ static inline GrB_Info invert_nondestructive( uint64_t nvals = 0; // the input and output vectors cannot be the same vector -// GRB_TRY(GxB_print (in,0)) ; GRB_TRY(GxB_print (out,0)) ; - ASSERT (in != out) ; + // GRB_TRY(GxB_print (in,0)) ; GRB_TRY(GxB_print (out,0)) ; + ASSERT(in != out); // All input/output vectors must be of type GrB_UINT64. @@ -233,15 +233,15 @@ static inline GrB_Info invert_nondestructive( // values list, so dups are not handled GRB_TRY(GxB_Vector_pack_CSC(in, (GrB_Index **)&I, (void **)&X1, IBytes, XBytes, NULL, nvals, jumbled, NULL)); -// GRB_TRY(GxB_print (in,0)) ; GRB_TRY(GxB_print (out,0)) ; + // GRB_TRY(GxB_print (in,0)) ; GRB_TRY(GxB_print (out,0)) ; } -static inline GrB_Info invert( - GrB_Vector out, // input/output. Same as invert_nondescructive above. - GrB_Vector in, // input vector, empty on output (unless in == out) - bool dups, // flag that indicates if duplicates exist in the input vector's - // values - char *msg) +static inline GrB_Info +invert(GrB_Vector out, // input/output. Same as invert_nondescructive above. + GrB_Vector in, // input vector, empty on output (unless in == out) + bool dups, // flag that indicates if duplicates exist in the input + // vector's values + char *msg) { // The input and output vectors can be the same vector // that is, in == out is OK. @@ -255,9 +255,9 @@ static inline GrB_Info invert( GrB_Index *X2 = NULL; // not used GrB_Index IBytes = 0, XBytes = 0; uint64_t nvals = 0; - printf ("invert, dups %d\n", dups) ; -// GRB_TRY(GxB_print (in,2)) ; -// GRB_TRY(GxB_print (out,2)) ; + // printf("invert, dups %d\n", dups); + // GRB_TRY(GxB_print (in,2)) ; + // GRB_TRY(GxB_print (out,2)) ; // #if LAGRAPH_SUITESPARSE GRB_TRY(GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X1, &IBytes, @@ -278,23 +278,23 @@ static inline GrB_Info invert( GRB_TRY(GrB_Vector_build_UINT64(out, X1, I, nvals, GrB_FIRST_UINT64)); // build copies the lists so they need to be freed in LG_FREE_ALL LG_FREE_ALL; - } -// GRB_TRY(GxB_print (in,2)) ; -// GRB_TRY(GxB_print (out,2)) ; + } + // GRB_TRY(GxB_print (in,2)) ; + // GRB_TRY(GxB_print (out,2)) ; } -static inline GrB_Info invert_2( - GrB_Vector out, // input/output - GrB_Vector in1, // input vector, empty on output (unless in1 == out) - GrB_Vector in2, // input vector, empty on output (unless in2 == out) - bool dups, // flag that indicates if duplicates exist in the input vector's - // values - char *msg) +static inline GrB_Info +invert_2(GrB_Vector out, // input/output + GrB_Vector in1, // input vector, empty on output (unless in1 == out) + GrB_Vector in2, // input vector, empty on output (unless in2 == out) + bool dups, // flag that indicates if duplicates exist in the input + // vector's values + char *msg) { // The input vectors cannot be aliased. However in1==out or in2==out is // OK. The two input vectors must have the same # of entries. // All input/output vectors must be of type GrB_UINT64. - ASSERT (in1 != in2) ; + ASSERT(in1 != in2); GrB_Index *I = NULL; GrB_Index *X1 = NULL; @@ -302,16 +302,16 @@ static inline GrB_Info invert_2( GrB_Index IBytes = 0, X1Bytes = 0, X2Bytes = 0; uint64_t nvals1 = 0, nvals2 = 0; -// GRB_TRY(GxB_print (in1,0)) ; -// GRB_TRY(GxB_print (in2,0)) ; -// GRB_TRY(GxB_print (out,0)) ; + // GRB_TRY(GxB_print (in1,0)) ; + // GRB_TRY(GxB_print (in2,0)) ; + // GRB_TRY(GxB_print (out,0)) ; GRB_TRY(GxB_Vector_unpack_CSC(in1, (GrB_Index **)&I, (void **)&X1, &IBytes, &X1Bytes, NULL, &nvals1, NULL, NULL)); LAGraph_Free((void *)&I, NULL); GRB_TRY(GxB_Vector_unpack_CSC(in2, (GrB_Index **)&I, (void **)&X2, &IBytes, &X2Bytes, NULL, &nvals2, NULL, NULL)); - ASSERT (nvals1 == nvals2) ; + ASSERT(nvals1 == nvals2); if (!dups) { LAGraph_Free((void *)&I, NULL); @@ -327,9 +327,9 @@ static inline GrB_Info invert_2( LG_FREE_ALL; } -// GRB_TRY(GxB_print (in1,0)) ; -// GRB_TRY(GxB_print (in2,0)) ; -// GRB_TRY(GxB_print (out,0)) ; + // GRB_TRY(GxB_print (in1,0)) ; + // GRB_TRY(GxB_print (in2,0)) ; + // GRB_TRY(GxB_print (out,0)) ; } //------------------------------------------------------------------------------ @@ -391,8 +391,9 @@ int LAGraph_MaximumMatching( GrB_Vector mateC_init, // input only, not modified, ignored if NULL char *msg) { - printf ("starting LAGraph_MaximumMatching\n") ; fflush (stdout) ; - double tot = LAGraph_WallClockTime ( ) ; + // printf("starting LAGraph_MaximumMatching\n"); + fflush(stdout); + double tot = LAGraph_WallClockTime(); // GrB_set (GrB_GLOBAL, true, GxB_BURBLE) ; @@ -441,11 +442,12 @@ int LAGraph_MaximumMatching( LG_ASSERT_MSG(mateC_handle != NULL, GrB_NULL_POINTER, "mateC handle is NULL"); - LG_ASSERT_MSG(A != NULL || AT != NULL, GrB_NULL_POINTER, "A matrix is NULL"); + LG_ASSERT_MSG(A != NULL || AT != NULL, GrB_NULL_POINTER, + "A matrix is NULL"); (*mateC_handle) = NULL; - bool do_pushpull = (AT != NULL) && (A != NULL) ; + bool do_pushpull = (AT != NULL) && (A != NULL); uint64_t ncols = 0; uint64_t nrows = 0; @@ -505,7 +507,6 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_new(&ufrontierR, Vertex, nrows)); - GRB_TRY(GrB_Vector_new(&rootsufR, GrB_UINT64, nrows)); GRB_TRY(GrB_Vector_new(&pathUpdate, GrB_UINT64, ncols)); @@ -536,7 +537,7 @@ int LAGraph_MaximumMatching( uint64_t npath = 0; bool y = 0; - double mxm_time = 0 ; + double mxm_time = 0; GRB_TRY(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); GRB_TRY(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); @@ -554,7 +555,6 @@ int LAGraph_MaximumMatching( // mateR = invert (mateC), but do not clear the input LAGRAPH_TRY(invert_nondestructive(mateR, mateC, msg)); } - } /* debug @@ -589,7 +589,7 @@ int LAGraph_MaximumMatching( // BFS), keeping only unvisited rows in the frontierR //---------------------------------------------------------------------- - double t = LAGraph_WallClockTime ( ) ; + double t = LAGraph_WallClockTime(); if (do_pushpull) { int32_t kind; @@ -617,8 +617,8 @@ int LAGraph_MaximumMatching( { // Only the pull method can be used if AT is not given GRB_TRY(GrB_mxv(frontierR, parentsR, NULL, - MinParent_2nd_Semiring, A, frontierC, - GrB_DESC_RSC)); + MinParent_2nd_Semiring, A, frontierC, + GrB_DESC_RSC)); } else { @@ -628,8 +628,8 @@ int LAGraph_MaximumMatching( GrB_DESC_RSC)); } } - t = LAGraph_WallClockTime ( ) - t ; - mxm_time += t ; + t = LAGraph_WallClockTime() - t; + mxm_time += t; //---------------------------------------------------------------------- // STEPS 3,4: Select univisited, matched and unmatched row vertices @@ -682,7 +682,7 @@ int LAGraph_MaximumMatching( // pathUpdate = invert (rootsufR), but need to handle // duplicates - printf ("pathUpdate = invert (rootsufR)\n") ; + // printf("pathUpdate = invert (rootsufR)\n"); LAGRAPH_TRY(invert(pathUpdate, rootsufR, true, msg)); GRB_TRY(GrB_Vector_assign( @@ -727,7 +727,7 @@ int LAGraph_MaximumMatching( // rootfRIndexes = invert (rootfRIndexes), so that // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) of // the new frontier C - printf ("rootfRIndexes = invert (rootfRIndexes)\n") ; + // printf("rootfRIndexes = invert (rootfRIndexes)\n"); LAGRAPH_TRY( invert(rootfRIndexes, rootfRIndexes, false, msg)); } @@ -790,7 +790,7 @@ int LAGraph_MaximumMatching( { // vr = invert (pathC), leaving pathC empty // pathC doesn't have dup values as it stems from an invertion - printf ("vr = invert (pathC)\n") ; + // printf("vr = invert (pathC)\n"); LAGRAPH_TRY(invert(vr, pathC, false, msg)); /* debug @@ -809,15 +809,16 @@ int LAGraph_MaximumMatching( stdout); */ - // update mateR: mateR = vr - GRB_TRY(GrB_Vector_assign(mateR, vr, NULL, vr, GrB_ALL, nrows, - GrB_DESC_S)); + // // update mateR: mateR = vr + // GRB_TRY(GrB_Vector_assign(mateR, vr, NULL, vr, GrB_ALL, nrows, + // GrB_DESC_S)); - // pathC = invert (vr), leaving vr empty (vr has no duplicates) - printf ("pathC = invert (vr)\n") ; - GRB_TRY (GxB_print (vr, 2)) ; - LAGRAPH_TRY(invert(pathC, vr, false, msg)); - GRB_TRY (GxB_print (pathC, 2)) ; + // pathC = invert (vr), leaving vr empty (vr may have duplicates + // after parent assignment) + // printf("pathC = invert (vr)\n"); + // GRB_TRY(GxB_print(vr, 2)); + LAGRAPH_TRY(invert(pathC, vr, true, msg)); + // GRB_TRY(GxB_print(pathC, 2)); /* debug GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); @@ -852,6 +853,9 @@ int LAGraph_MaximumMatching( */ } + // compute mateR + LAGRAPH_TRY(invert_nondestructive(mateR, mateC, msg)); + npath = npathCopy; } while (npath); // only in the first and last iteration should this // condition be false @@ -864,7 +868,7 @@ int LAGraph_MaximumMatching( LG_FREE_WORK; // GrB_set (GrB_GLOBAL, false, GxB_BURBLE) ; - tot = LAGraph_WallClockTime ( ) - tot ; - printf ("total time %g, mxm time: %g (%g)\n", tot, mxm_time, mxm_time / tot) ; + // tot = LAGraph_WallClockTime() - tot; + // printf("total time %g, mxm time: %g (%g)\n", tot, mxm_time, mxm_time / tot); return (GrB_SUCCESS); } diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index 2feac85d01..aa1b7838d7 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -26,7 +26,7 @@ #include "LG_internal.h" #include -#define VERBOSE +// #define VERBOSE #define NTHREAD_LIST 1 #define THREAD_LIST 0 From 96839fac1075fded64a7f4658a5cf1dd588d5548 Mon Sep 17 00:00:00 2001 From: Tim Davis Date: Fri, 12 Jul 2024 14:20:21 -0500 Subject: [PATCH 48/69] debugging for Orkut matrix, added check_matching --- .../algorithm/LAGraph_MaximumMatching.c | 73 +++++++++++++++++++ experimental/benchmark/mcm_demo.c | 2 +- 2 files changed, 74 insertions(+), 1 deletion(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index dce88b9f19..5d205e9611 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -332,6 +332,60 @@ invert_2(GrB_Vector out, // input/output // GRB_TRY(GxB_print (out,0)) ; } + +GrB_Info check_matching (GrB_Matrix A, GrB_Vector mateC, char *msg) ; +GrB_Info check_matching (GrB_Matrix A, GrB_Vector mateC, char *msg) +{ + uint64_t nrows, ncols ; + + GrB_Matrix_ncols(&ncols, A); + GrB_Matrix_nrows(&nrows, A); + GrB_Index nmatched = 0; + GrB_Vector mateC_dup ; + GrB_Vector_dup (&mateC_dup, mateC) ; + + // invert to check for dups + GrB_Index Ibytes = 0, Jbytes = 0, Xbytes = 0; + bool jumbled = 1; + GrB_Index *J = NULL, *X = NULL ; + GxB_Vector_unpack_CSC(mateC_dup, (GrB_Index **)&J, (void **)&X, + &Jbytes, &Xbytes, NULL, &nmatched, + &jumbled, NULL); + + // pack matched values in a matrix + GrB_Matrix M = NULL; + bool *val; + LAGraph_Malloc((void **)&val, nmatched, sizeof(bool), msg); + for (uint64_t i = 0; i < nmatched; i++) + { + val[i] = 1; + } + GrB_Matrix_new(&M, GrB_BOOL, nrows, ncols); + + GrB_Matrix_build_BOOL(M, X, J, val, nmatched, NULL); + LAGraph_Free((void **)&val, msg); + LAGraph_Free((void **)&X, msg); + LAGraph_Free((void **)&J, msg); + + // mask with matrix A to check if all edges are present in A + GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, + GrB_DESC_S); + GrB_Index nvalsM = 0; + GrB_Matrix_nvals(&nvalsM, M); + // if values have been eliminated then edges do not exist in A + if (nvalsM != nmatched) + { + printf ("mateC invalid!\n") ; + fflush (stdout) ; + abort ( ) ; + } + printf ("mateC OK!\n") ; + fflush (stdout) ; + + GrB_Matrix_free(&M); + GrB_free (&mateC_dup) ; +} + //------------------------------------------------------------------------------ // LAGraph_MaximumMatching //------------------------------------------------------------------------------ @@ -555,14 +609,22 @@ int LAGraph_MaximumMatching( // mateR = invert (mateC), but do not clear the input LAGRAPH_TRY(invert_nondestructive(mateR, mateC, msg)); } + check_matching (A, mateC, msg) ; } /* debug GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); */ + double ttt = LAGraph_WallClockTime(); + int64_t counter = 0 ; do { + uint64_t nmatched = 0; + GRB_TRY(GrB_Vector_nvals(&nmatched, mateC)); + printf ("\niteration %ld, matched %ld time so far %g\n", + counter++, nmatched, LAGraph_WallClockTime()-ttt) ; + GRB_TRY(GrB_Vector_clear(parentsR)); // for every col j not matched, assign f(j) = VERTEX(j,j) GRB_TRY(GrB_Vector_apply_IndexOp_UDT( @@ -589,6 +651,8 @@ int LAGraph_MaximumMatching( // BFS), keeping only unvisited rows in the frontierR //---------------------------------------------------------------------- + printf (".") ; fflush (stdout) ; + double t = LAGraph_WallClockTime(); if (do_pushpull) { @@ -788,6 +852,9 @@ int LAGraph_MaximumMatching( uint64_t npathCopy = npath; while (npath) { + GRB_TRY(GrB_Vector_nvals(&nmatched, mateC)); + printf (" (%ld,%ld)", npath, nmatched) ; fflush (stdout) ; + GxB_print (pathC, 2) ; // vr = invert (pathC), leaving pathC empty // pathC doesn't have dup values as it stems from an invertion // printf("vr = invert (pathC)\n"); @@ -851,6 +918,12 @@ int LAGraph_MaximumMatching( /* debug GxB_Vector_fprint(mateC, "mateC", GxB_COMPLETE, stdout); */ + GrB_Vector gunk = NULL ; + GrB_Vector_new (&gunk, GrB_UINT64, ncols) ; + GrB_assign (gunk, pathC, NULL, mateC, GrB_ALL, ncols, GrB_DESC_S) ; + GxB_print (gunk,2) ; + GrB_free (&gunk) ; + check_matching (A, mateC, msg) ; } // compute mateR diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index aa1b7838d7..2feac85d01 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -26,7 +26,7 @@ #include "LG_internal.h" #include -// #define VERBOSE +#define VERBOSE #define NTHREAD_LIST 1 #define THREAD_LIST 0 From ce5ead5fed73cd4ee0cb39763851a6deb925ada8 Mon Sep 17 00:00:00 2001 From: kchristin Date: Fri, 12 Jul 2024 14:22:23 -0500 Subject: [PATCH 49/69] Print number of matches in the benchmark --- experimental/benchmark/mcm_demo.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index aa1b7838d7..68459b5828 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -132,6 +132,9 @@ int main(int argc, char **argv) double t = LAGraph_WallClockTime(); LAGRAPH_TRY(LAGraph_MaximumMatching(&mateC, A, AT, mateC_init, msg)); t = LAGraph_WallClockTime() - t; + uint64_t sprank = 0; + GRB_TRY(GrB_Vector_nvals(&sprank, mateC)); + printf("number of matches: %ld\n", sprank); GRB_TRY(GrB_free(&mateC)); #ifdef VERBOSE printf("warmup time %g sec\n", t); From d63aa7ee584a19f9ece2d16589df0fc2eb05f4ae Mon Sep 17 00:00:00 2001 From: kchristin Date: Tue, 16 Jul 2024 10:57:23 -0500 Subject: [PATCH 50/69] Clear frontierC before updating it and clean up --- .../algorithm/LAGraph_MaximumMatching.c | 114 +----------------- 1 file changed, 4 insertions(+), 110 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 5d205e9611..68eb106214 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -212,7 +212,6 @@ static inline GrB_Info invert_nondestructive( uint64_t nvals = 0; // the input and output vectors cannot be the same vector - // GRB_TRY(GxB_print (in,0)) ; GRB_TRY(GxB_print (out,0)) ; ASSERT(in != out); // All input/output vectors must be of type GrB_UINT64. @@ -233,14 +232,13 @@ static inline GrB_Info invert_nondestructive( // values list, so dups are not handled GRB_TRY(GxB_Vector_pack_CSC(in, (GrB_Index **)&I, (void **)&X1, IBytes, XBytes, NULL, nvals, jumbled, NULL)); - // GRB_TRY(GxB_print (in,0)) ; GRB_TRY(GxB_print (out,0)) ; } static inline GrB_Info invert(GrB_Vector out, // input/output. Same as invert_nondescructive above. GrB_Vector in, // input vector, empty on output (unless in == out) bool dups, // flag that indicates if duplicates exist in the input - // vector's values + // vector's values char *msg) { // The input and output vectors can be the same vector @@ -255,9 +253,6 @@ invert(GrB_Vector out, // input/output. Same as invert_nondescructive above. GrB_Index *X2 = NULL; // not used GrB_Index IBytes = 0, XBytes = 0; uint64_t nvals = 0; - // printf("invert, dups %d\n", dups); - // GRB_TRY(GxB_print (in,2)) ; - // GRB_TRY(GxB_print (out,2)) ; // #if LAGRAPH_SUITESPARSE GRB_TRY(GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X1, &IBytes, @@ -279,8 +274,6 @@ invert(GrB_Vector out, // input/output. Same as invert_nondescructive above. // build copies the lists so they need to be freed in LG_FREE_ALL LG_FREE_ALL; } - // GRB_TRY(GxB_print (in,2)) ; - // GRB_TRY(GxB_print (out,2)) ; } static inline GrB_Info @@ -288,7 +281,7 @@ invert_2(GrB_Vector out, // input/output GrB_Vector in1, // input vector, empty on output (unless in1 == out) GrB_Vector in2, // input vector, empty on output (unless in2 == out) bool dups, // flag that indicates if duplicates exist in the input - // vector's values + // vector's values char *msg) { // The input vectors cannot be aliased. However in1==out or in2==out is @@ -302,10 +295,6 @@ invert_2(GrB_Vector out, // input/output GrB_Index IBytes = 0, X1Bytes = 0, X2Bytes = 0; uint64_t nvals1 = 0, nvals2 = 0; - // GRB_TRY(GxB_print (in1,0)) ; - // GRB_TRY(GxB_print (in2,0)) ; - // GRB_TRY(GxB_print (out,0)) ; - GRB_TRY(GxB_Vector_unpack_CSC(in1, (GrB_Index **)&I, (void **)&X1, &IBytes, &X1Bytes, NULL, &nvals1, NULL, NULL)); LAGraph_Free((void *)&I, NULL); @@ -326,64 +315,6 @@ invert_2(GrB_Vector out, // input/output GRB_TRY(GrB_Vector_build_UINT64(out, X2, X1, nvals2, GrB_FIRST_UINT64)); LG_FREE_ALL; } - - // GRB_TRY(GxB_print (in1,0)) ; - // GRB_TRY(GxB_print (in2,0)) ; - // GRB_TRY(GxB_print (out,0)) ; -} - - -GrB_Info check_matching (GrB_Matrix A, GrB_Vector mateC, char *msg) ; -GrB_Info check_matching (GrB_Matrix A, GrB_Vector mateC, char *msg) -{ - uint64_t nrows, ncols ; - - GrB_Matrix_ncols(&ncols, A); - GrB_Matrix_nrows(&nrows, A); - GrB_Index nmatched = 0; - GrB_Vector mateC_dup ; - GrB_Vector_dup (&mateC_dup, mateC) ; - - // invert to check for dups - GrB_Index Ibytes = 0, Jbytes = 0, Xbytes = 0; - bool jumbled = 1; - GrB_Index *J = NULL, *X = NULL ; - GxB_Vector_unpack_CSC(mateC_dup, (GrB_Index **)&J, (void **)&X, - &Jbytes, &Xbytes, NULL, &nmatched, - &jumbled, NULL); - - // pack matched values in a matrix - GrB_Matrix M = NULL; - bool *val; - LAGraph_Malloc((void **)&val, nmatched, sizeof(bool), msg); - for (uint64_t i = 0; i < nmatched; i++) - { - val[i] = 1; - } - GrB_Matrix_new(&M, GrB_BOOL, nrows, ncols); - - GrB_Matrix_build_BOOL(M, X, J, val, nmatched, NULL); - LAGraph_Free((void **)&val, msg); - LAGraph_Free((void **)&X, msg); - LAGraph_Free((void **)&J, msg); - - // mask with matrix A to check if all edges are present in A - GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, - GrB_DESC_S); - GrB_Index nvalsM = 0; - GrB_Matrix_nvals(&nvalsM, M); - // if values have been eliminated then edges do not exist in A - if (nvalsM != nmatched) - { - printf ("mateC invalid!\n") ; - fflush (stdout) ; - abort ( ) ; - } - printf ("mateC OK!\n") ; - fflush (stdout) ; - - GrB_Matrix_free(&M); - GrB_free (&mateC_dup) ; } //------------------------------------------------------------------------------ @@ -445,11 +376,6 @@ int LAGraph_MaximumMatching( GrB_Vector mateC_init, // input only, not modified, ignored if NULL char *msg) { - // printf("starting LAGraph_MaximumMatching\n"); - fflush(stdout); - double tot = LAGraph_WallClockTime(); - - // GrB_set (GrB_GLOBAL, true, GxB_BURBLE) ; //-------------------------------------------------------------------------- // check inputs @@ -609,22 +535,14 @@ int LAGraph_MaximumMatching( // mateR = invert (mateC), but do not clear the input LAGRAPH_TRY(invert_nondestructive(mateR, mateC, msg)); } - check_matching (A, mateC, msg) ; } /* debug GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); */ - double ttt = LAGraph_WallClockTime(); - int64_t counter = 0 ; do { - uint64_t nmatched = 0; - GRB_TRY(GrB_Vector_nvals(&nmatched, mateC)); - printf ("\niteration %ld, matched %ld time so far %g\n", - counter++, nmatched, LAGraph_WallClockTime()-ttt) ; - GRB_TRY(GrB_Vector_clear(parentsR)); // for every col j not matched, assign f(j) = VERTEX(j,j) GRB_TRY(GrB_Vector_apply_IndexOp_UDT( @@ -650,10 +568,6 @@ int LAGraph_MaximumMatching( // STEPS 1,2: Explore neighbors of column frontier (one step of // BFS), keeping only unvisited rows in the frontierR //---------------------------------------------------------------------- - - printf (".") ; fflush (stdout) ; - - double t = LAGraph_WallClockTime(); if (do_pushpull) { int32_t kind; @@ -692,8 +606,6 @@ int LAGraph_MaximumMatching( GrB_DESC_RSC)); } } - t = LAGraph_WallClockTime() - t; - mxm_time += t; //---------------------------------------------------------------------- // STEPS 3,4: Select univisited, matched and unmatched row vertices @@ -746,7 +658,6 @@ int LAGraph_MaximumMatching( // pathUpdate = invert (rootsufR), but need to handle // duplicates - // printf("pathUpdate = invert (rootsufR)\n"); LAGRAPH_TRY(invert(pathUpdate, rootsufR, true, msg)); GRB_TRY(GrB_Vector_assign( @@ -791,7 +702,6 @@ int LAGraph_MaximumMatching( // rootfRIndexes = invert (rootfRIndexes), so that // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) of // the new frontier C - // printf("rootfRIndexes = invert (rootfRIndexes)\n"); LAGRAPH_TRY( invert(rootfRIndexes, rootfRIndexes, false, msg)); } @@ -800,6 +710,7 @@ int LAGraph_MaximumMatching( // STEP 7b (ufrontierR not empty): Build tuple of (parentC, // rootC) //---------------------------------------------------------------------- + GRB_TRY(GrB_Vector_clear(frontierC)); GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, buildfCTuplesOp, rootfRIndexes, &y, NULL)); @@ -847,17 +758,12 @@ int LAGraph_MaximumMatching( // STEP 8: Augment matching by all augmenting paths discovered in // this phase //---------------------------------------------------------------------- - GRB_TRY(GrB_Vector_nvals(&npath, pathC)); uint64_t npathCopy = npath; while (npath) { - GRB_TRY(GrB_Vector_nvals(&nmatched, mateC)); - printf (" (%ld,%ld)", npath, nmatched) ; fflush (stdout) ; - GxB_print (pathC, 2) ; // vr = invert (pathC), leaving pathC empty // pathC doesn't have dup values as it stems from an invertion - // printf("vr = invert (pathC)\n"); LAGRAPH_TRY(invert(vr, pathC, false, msg)); /* debug @@ -882,10 +788,7 @@ int LAGraph_MaximumMatching( // pathC = invert (vr), leaving vr empty (vr may have duplicates // after parent assignment) - // printf("pathC = invert (vr)\n"); - // GRB_TRY(GxB_print(vr, 2)); - LAGRAPH_TRY(invert(pathC, vr, true, msg)); - // GRB_TRY(GxB_print(pathC, 2)); + LAGRAPH_TRY(invert(pathC, vr, false, msg)); /* debug GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); @@ -918,12 +821,6 @@ int LAGraph_MaximumMatching( /* debug GxB_Vector_fprint(mateC, "mateC", GxB_COMPLETE, stdout); */ - GrB_Vector gunk = NULL ; - GrB_Vector_new (&gunk, GrB_UINT64, ncols) ; - GrB_assign (gunk, pathC, NULL, mateC, GrB_ALL, ncols, GrB_DESC_S) ; - GxB_print (gunk,2) ; - GrB_free (&gunk) ; - check_matching (A, mateC, msg) ; } // compute mateR @@ -940,8 +837,5 @@ int LAGraph_MaximumMatching( (*mateC_handle) = mateC; LG_FREE_WORK; - // GrB_set (GrB_GLOBAL, false, GxB_BURBLE) ; - // tot = LAGraph_WallClockTime() - tot; - // printf("total time %g, mxm time: %g (%g)\n", tot, mxm_time, mxm_time / tot); return (GrB_SUCCESS); } From dd62fd44bc7b1ecccc160749be83d52be396a854 Mon Sep 17 00:00:00 2001 From: kchristin Date: Tue, 16 Jul 2024 11:44:16 -0500 Subject: [PATCH 51/69] Add check of the matching in benchmark and fix memory leakage in tests --- experimental/benchmark/mcm_demo.c | 69 +++++++++++++++++++++++- experimental/test/test_MaximumMatching.c | 2 + 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index 5d65c19e7f..c71f8fe768 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -26,11 +26,77 @@ #include "LG_internal.h" #include -#define VERBOSE +// #define VERBOSE #define NTHREAD_LIST 1 #define THREAD_LIST 0 +#define LG_FREE_ALL \ + { \ + GrB_free(&A); \ + GrB_free(&M); \ + GrB_free(&mateC); \ + LAGraph_Free((void *)&I, NULL); \ + LAGraph_Free((void *)&X, NULL); \ + } + +GrB_Info check_matching(GrB_Matrix A, GrB_Vector mateC, char *msg) +{ + GrB_Index nmatched = 0; + GrB_Vector mateR = NULL; + GrB_Matrix M = NULL; + GrB_Index *I = NULL, *X = NULL; + + uint64_t ncols = 0, nrows = 0; + GRB_TRY(GrB_Matrix_ncols(&ncols, A)); + GRB_TRY(GrB_Matrix_nrows(&nrows, A)); + + // invert to check for dups + GrB_Index IBytes = 0, XBytes = 0; + bool jumbled = 1; + GRB_TRY(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); + GRB_TRY(GxB_Vector_unpack_CSC(mateC, (GrB_Index **)&I, (void **)&X, &IBytes, + &XBytes, NULL, &nmatched, &jumbled, NULL)); + GRB_TRY(GrB_Vector_build_UINT64(mateR, X, I, nmatched, GrB_FIRST_UINT64)); + GrB_Index nmateR = 0; + GRB_TRY(GrB_Vector_nvals(&nmateR, mateR)); + // if nvals of mateC and mateR don't match, then there's at least + // one row that is used in at least one matching + if (nmatched != nmateR) + { + printf("Duplicates in mateC"); + fflush(stdout); + abort(); + } + + // pack matched values in a matrix + bool *val; + LAGRAPH_TRY(LAGraph_Malloc((void **)&val, nmatched, sizeof(bool), msg)); + for (uint64_t i = 0; i < nmatched; i++) + val[i] = 1; + GRB_TRY(GrB_Matrix_new(&M, GrB_BOOL, nrows, ncols)); + GRB_TRY(GrB_Matrix_build_BOOL(M, X, I, val, nmatched, NULL)); + LAGRAPH_TRY(LAGraph_Free((void **)&val, msg)); + // mask with matrix A to check if all edges are present in A + GRB_TRY(GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, + GrB_DESC_S)); + GrB_Index nvalsM = 0; + GRB_TRY(GrB_Matrix_nvals(&nvalsM, M)); + // if values have been eliminated then edges do not exist in A + if (nvalsM != nmatched) + { + printf("mateC invalid!\n"); + fflush(stdout); + abort(); + } + + GRB_TRY(GxB_Vector_pack_CSC(mateC, (GrB_Index **)&I, (void **)&X, IBytes, + XBytes, NULL, nmatched, jumbled, NULL)); + + GrB_Vector_free(&mateR); + GrB_Matrix_free(&M); +} + #undef LG_FREE_ALL #define LG_FREE_ALL \ { \ @@ -132,6 +198,7 @@ int main(int argc, char **argv) double t = LAGraph_WallClockTime(); LAGRAPH_TRY(LAGraph_MaximumMatching(&mateC, A, AT, mateC_init, msg)); t = LAGraph_WallClockTime() - t; + LAGRAPH_TRY(check_matching(A, mateC, msg)); uint64_t sprank = 0; GRB_TRY(GrB_Vector_nvals(&sprank, mateC)); printf("number of matches: %ld\n", sprank); diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index 11c29a4b51..e20bcf6ba7 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -114,6 +114,8 @@ void test_MCM(void) OK(GrB_Matrix_new(&M, GrB_BOOL, nrows, ncols)); OK(GrB_Matrix_build_BOOL(M, X, J, val, nmatched, NULL)); OK(LAGraph_Free((void **)&val, msg)); + OK(LAGraph_Free((void **)&J, msg)); + OK(LAGraph_Free((void **)&X, msg)); // mask with matrix A to check if all edges are present in A OK(GrB_Matrix_assign(M, M, NULL, A, GrB_ALL, nrows, GrB_ALL, ncols, GrB_DESC_S)); From 9aed5078d31ccca9d67705df6b75b792309d450a Mon Sep 17 00:00:00 2001 From: kchristin Date: Tue, 16 Jul 2024 17:49:05 -0500 Subject: [PATCH 52/69] Revert mateR update method and use one trial for the benchmarks --- experimental/algorithm/LAGraph_MaximumMatching.c | 9 +++------ experimental/benchmark/mcm_demo.c | 2 +- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 68eb106214..3f7eac53be 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -782,9 +782,9 @@ int LAGraph_MaximumMatching( stdout); */ - // // update mateR: mateR = vr - // GRB_TRY(GrB_Vector_assign(mateR, vr, NULL, vr, GrB_ALL, nrows, - // GrB_DESC_S)); + // update mateR: mateR = vr + GRB_TRY(GrB_Vector_assign(mateR, vr, NULL, vr, GrB_ALL, nrows, + GrB_DESC_S)); // pathC = invert (vr), leaving vr empty (vr may have duplicates // after parent assignment) @@ -823,9 +823,6 @@ int LAGraph_MaximumMatching( */ } - // compute mateR - LAGRAPH_TRY(invert_nondestructive(mateR, mateC, msg)); - npath = npathCopy; } while (npath); // only in the first and last iteration should this // condition be false diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index c71f8fe768..ae275be193 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -213,7 +213,7 @@ int main(int argc, char **argv) // the GAP benchmark requires 16 trials int ntrials = 16; - // ntrials = 1 ; // HACK to run just one trial + ntrials = 1 ; // HACK to run just one trial #ifdef VERBOSE printf("# of trials: %d\n", ntrials); #endif From df0c3e0f3a825292e044ebeaf5d2cb4b3efd59b0 Mon Sep 17 00:00:00 2001 From: kchristin Date: Wed, 17 Jul 2024 11:06:58 -0500 Subject: [PATCH 53/69] Apply mask separately in vxm --- experimental/algorithm/LAGraph_MaximumMatching.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 3f7eac53be..9bc2bc4a56 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -584,9 +584,12 @@ int LAGraph_MaximumMatching( { // the frontierC vector is sparse or hypersparse // push (vector's values are pushed to A) - GRB_TRY(GrB_vxm(frontierR, parentsR, NULL, + GRB_TRY(GrB_vxm(frontierR, NULL, NULL, MinParent_1st_Semiring, frontierC, AT, - GrB_DESC_RSC)); + GrB_DESC_R)); + GRB_TRY(GrB_Vector_assign(frontierR, parentsR, NULL, + frontierR, GrB_ALL, nrows, + GrB_DESC_RSC)); } } else From 138d4bc42ba1f6162421a3a63a587000725b21ac Mon Sep 17 00:00:00 2001 From: kchristin Date: Wed, 17 Jul 2024 11:31:09 -0500 Subject: [PATCH 54/69] Use 3 trails in benchamrking for a better sample than having just one --- experimental/benchmark/mcm_demo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index ae275be193..a0d1afca8b 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -213,7 +213,7 @@ int main(int argc, char **argv) // the GAP benchmark requires 16 trials int ntrials = 16; - ntrials = 1 ; // HACK to run just one trial + ntrials = 3; // HACK #ifdef VERBOSE printf("# of trials: %d\n", ntrials); #endif From 7373fb4349095e696ca39671a11a8c4b8c7823ea Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 22 Jul 2024 19:06:20 -0500 Subject: [PATCH 55/69] Fix push-only method --- experimental/algorithm/LAGraph_MaximumMatching.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 9bc2bc4a56..cf8ab679c4 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -604,9 +604,12 @@ int LAGraph_MaximumMatching( else { // Only the push method can be used if A is not given - GRB_TRY(GrB_vxm(frontierR, parentsR, NULL, + GRB_TRY(GrB_vxm(frontierR, NULL, NULL, MinParent_1st_Semiring, frontierC, AT, - GrB_DESC_RSC)); + GrB_DESC_R)); + GRB_TRY(GrB_Vector_assign(frontierR, parentsR, NULL, + frontierR, GrB_ALL, nrows, + GrB_DESC_RSC)); } } From 6b593a9696e1728d4b106a6984e7cff2ff4585d5 Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 22 Jul 2024 20:09:47 -0500 Subject: [PATCH 56/69] Allow mateR as initial matching and add mateR as output --- .../algorithm/LAGraph_MaximumMatching.c | 62 ++++++++++++++----- experimental/benchmark/mcm_demo.c | 7 ++- experimental/test/test_MaximumMatching.c | 3 +- include/LAGraphX.h | 21 +++++-- 4 files changed, 66 insertions(+), 27 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index cf8ab679c4..8320cd1fb7 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -363,17 +363,22 @@ invert_2(GrB_Vector out, // input/output } int LAGraph_MaximumMatching( - // output: + // outputs: GrB_Vector *mateC_handle, // mateC(j) = i : Column j of the C subset is matched // to row i of the R subset (ignored on input) - // input: + GrB_Vector *mateR_handle, // mateR(i) = j : Row i of the R subset is matched + // to column j of the C subset (ignored on input) + // inputs: GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph // of a BIPARTITE kind GrB_Matrix AT, // transpose of the input adjacency matrix, necessary to // perform push-pull optimization // if NULL, the push-pull optimization is not performed - GrB_Vector mateC_init, // input only, not modified, ignored if NULL + GrB_Vector mate_init, // input only, not modified, ignored if NULL + bool col_init, // flag to indicate if the initial matching is provided from + // the columns' or from the rows' perspective, ignored if + // mate_init is NULL char *msg) { @@ -419,13 +424,19 @@ int LAGraph_MaximumMatching( LG_CLEAR_MSG; - LG_ASSERT_MSG(mateC_handle != NULL, GrB_NULL_POINTER, - "mateC handle is NULL"); - + LG_ASSERT_MSG(mateC_handle != NULL || mateR_handle != NULL, + GrB_NULL_POINTER, "At least one output must be provided\n"); LG_ASSERT_MSG(A != NULL || AT != NULL, GrB_NULL_POINTER, - "A matrix is NULL"); + "A matrix is NULL\n"); - (*mateC_handle) = NULL; + if (mateC_handle != NULL) + { + (*mateC_handle) = NULL; + } + if (mateR_handle != NULL) + { + (*mateR_handle) = NULL; + } bool do_pushpull = (AT != NULL) && (A != NULL); @@ -522,18 +533,28 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); GRB_TRY(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); - if (mateC_init != NULL) + if (mate_init != NULL) { uint64_t nmatched = 0; - - // mateC = (uint64_t) mateC_init - GRB_TRY( - GrB_assign(mateC, NULL, NULL, mateC_init, GrB_ALL, ncols, NULL)); - GRB_TRY(GrB_Vector_nvals(&nmatched, mateC)); + GRB_TRY(GrB_Vector_nvals(&nmatched, mate_init)); if (nmatched) { - // mateR = invert (mateC), but do not clear the input - LAGRAPH_TRY(invert_nondestructive(mateR, mateC, msg)); + if (col_init) + { + // mateC = (uint64_t) mate_init + GRB_TRY(GrB_assign(mateC, NULL, NULL, mate_init, GrB_ALL, ncols, + NULL)); + // mateR = invert (mateC), but do not clear the input + LAGRAPH_TRY(invert_nondestructive(mateR, mateC, msg)); + } + else + { + // mateR = (uint64_t) mate_init + GRB_TRY(GrB_assign(mateR, NULL, NULL, mate_init, GrB_ALL, nrows, + NULL)); + // mateC = invert (mateR), but do not clear the input + LAGRAPH_TRY(invert_nondestructive(mateC, mateR, msg)); + } } } @@ -837,7 +858,14 @@ int LAGraph_MaximumMatching( GxB_Vector_fprint(mateC, "mateC", GxB_COMPLETE, stdout); */ - (*mateC_handle) = mateC; + if (mateC_handle != NULL) + { + (*mateC_handle) = mateC; + } + if (mateR_handle != NULL) + { + (*mateR_handle) = mateR; + } LG_FREE_WORK; return (GrB_SUCCESS); diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index a0d1afca8b..dc6716c60c 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -196,7 +196,8 @@ int main(int argc, char **argv) //-------------------------------------------------------------------------- double t = LAGraph_WallClockTime(); - LAGRAPH_TRY(LAGraph_MaximumMatching(&mateC, A, AT, mateC_init, msg)); + LAGRAPH_TRY( + LAGraph_MaximumMatching(&mateC, NULL, A, AT, mateC_init, true, msg)); t = LAGraph_WallClockTime() - t; LAGRAPH_TRY(check_matching(A, mateC, msg)); uint64_t sprank = 0; @@ -234,8 +235,8 @@ int main(int argc, char **argv) for (int trial = 0; trial < ntrials; trial++) { t = LAGraph_WallClockTime(); - LAGRAPH_TRY( - LAGraph_MaximumMatching(&mateC, A, AT, mateC_init, msg)); + LAGRAPH_TRY(LAGraph_MaximumMatching(&mateC, NULL, A, AT, mateC_init, + true, msg)); t = LAGraph_WallClockTime() - t; GRB_TRY(GrB_free(&mateC)); #ifdef VERBOSE diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index e20bcf6ba7..9ae2022582 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -83,7 +83,8 @@ void test_MCM(void) OK(GrB_transpose(AT, NULL, NULL, A, NULL)); } - OK(LAGraph_MaximumMatching(&mateC, A, AT, mateC_init, msg)); + OK(LAGraph_MaximumMatching(&mateC, NULL, A, AT, mateC_init, true, + msg)); printf("\nmsg: %s\n", msg); GrB_Index nmatched = 0; diff --git a/include/LAGraphX.h b/include/LAGraphX.h index d52c087d54..5d0c92f071 100644 --- a/include/LAGraphX.h +++ b/include/LAGraphX.h @@ -1233,12 +1233,21 @@ int LAGraph_argminmax LAGRAPHX_PUBLIC int LAGraph_MaximumMatching( - // output - GrB_Vector *mateC_handle, // mateC(j) = i : Column j of the C subset is matched to row i of the R subset (ignored on input) - // input - GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph of a BIPARTITE kind - GrB_Matrix AT, // trasnpose of the input adjacency matrix, NULL if not provided - GrB_Vector mateC_init, // input only, not modified, ignored if NULL + // outputs + GrB_Vector + *mateC_handle, // mateC(j) = i : Column j of the C subset is matched to + // row i of the R subset (ignored on input) + GrB_Vector *mateR_handle, // mateR(i) = j : Row i of the R subset is matched + // to column j of the C subset (ignored on input) + // inputs + GrB_Matrix A, // input adjacency matrix, TODO: this should be a LAGraph of a + // BIPARTITE kind + GrB_Matrix + AT, // trasnpose of the input adjacency matrix, NULL if not provided + GrB_Vector mate_init, // input only, not modified, ignored if NULL + bool col_init, // flag to indicate if the initial matching is provided from + // the columns' or from the rows' perspective, ignored if + // mate_init is NULL char *msg); #if defined ( __cplusplus ) From 77882380270b031d3f11be0d404db8d1cff34fd6 Mon Sep 17 00:00:00 2001 From: kchristin Date: Wed, 24 Jul 2024 13:03:23 -0500 Subject: [PATCH 57/69] First half of vanilla version: missing invert2 --- .../algorithm/LAGraph_MaximumMatching.c | 108 +++++++++++++++--- 1 file changed, 95 insertions(+), 13 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 8320cd1fb7..f11696b9f9 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -215,12 +215,21 @@ static inline GrB_Info invert_nondestructive( ASSERT(in != out); // All input/output vectors must be of type GrB_UINT64. - +#if LAGRAPH_SUITESPARSE GRB_TRY( GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X1, &IBytes, &XBytes, NULL, &nvals, &jumbled, NULL)); // the output and input should have no // duplicates, so the order doesn't matter +#else + GRB_TRY(GrB_Vector_nvals(&nvals, in)); + LG_TRY(LAGraph_Malloc((void **)&I, nvals, sizeof(GrB_Index), msg)); + LG_TRY(LAGraph_Malloc((void **)&X1, nvals, sizeof(GrB_Index), msg)); + GRB_TRY(GrB_Vector_extractTuples_UINT64( + I, X1, &nvals, in)); // the output and input should have no + // duplicates, so the order doesn't matter +#endif + GRB_TRY(GrB_Vector_clear(out)); // clear the output first as a prerequisite // of the build method GRB_TRY(GrB_Vector_build_UINT64( @@ -230,8 +239,10 @@ static inline GrB_Info invert_nondestructive( // again to the input // the input should have no duplicates in the // values list, so dups are not handled +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_Vector_pack_CSC(in, (GrB_Index **)&I, (void **)&X1, IBytes, XBytes, NULL, nvals, jumbled, NULL)); +#endif } static inline GrB_Info @@ -254,18 +265,32 @@ invert(GrB_Vector out, // input/output. Same as invert_nondescructive above. GrB_Index IBytes = 0, XBytes = 0; uint64_t nvals = 0; - // #if LAGRAPH_SUITESPARSE +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_Vector_unpack_CSC(in, (GrB_Index **)&I, (void **)&X1, &IBytes, - &XBytes, NULL, &nvals, &jumbled, - NULL)); // #else + &XBytes, NULL, &nvals, &jumbled, NULL)); +#else // vanilla case using extractTuples and build: - // allocate I and X GrB_extractTuples(I, X, in, ...) GrB_build(out, X, I, - // ...) free I and X: LG_FREE_ALL; - // #endif + // allocate I and X for GrB_extractTuples + GRB_TRY(GrB_Vector_nvals(&nvals, in)); + LG_TRY(LAGraph_Malloc((void **)&I, nvals, sizeof(GrB_Index), msg)); + LG_TRY(LAGraph_Malloc((void **)&X1, nvals, sizeof(GrB_Index), msg)); + GRB_TRY(GrB_Vector_extractTuples_UINT64( + I, X1, &nvals, in)); // the output and input should have no + // duplicates, so the order doesn't matter + GRB_TRY(GrB_Vector_clear(in)); +#endif if (!dups) { +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_Vector_pack_CSC(out, (GrB_Index **)&X1, (void **)&I, XBytes, IBytes, NULL, nvals, true, NULL)); +#else + GRB_TRY(GrB_Vector_clear(out)); + // GrB_MIN_UINT64 is used instead of first because first is an extension + GRB_TRY(GrB_Vector_build_UINT64(out, X1, I, nvals, GrB_MIN_UINT64)); + // build copies the lists so they need to be freed in LG_FREE_ALL + LG_FREE_ALL; +#endif } else { @@ -458,41 +483,75 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_new(&parentsR, GrB_UINT64, nrows)); +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_Type_new(&Vertex, sizeof(vertex), "vertex", VERTEX_DEFN)); +#else + GRB_TRY(GrB_Type_new(&Vertex, sizeof(vertex))); +#endif GRB_TRY(GrB_Vector_new(&frontierC, Vertex, ncols)); GRB_TRY(GrB_Vector_new(&frontierR, Vertex, nrows)); +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_IndexUnaryOp_new(&initFrontierOp, (void *)initFrontier, Vertex, GrB_BOOL, GrB_BOOL, "initFrontier", INIT_FRONTIER_DEFN)); +#else + GRB_TRY(GrB_IndexUnaryOp_new(&initFrontierOp, (void *)initFrontier, Vertex, + GrB_BOOL, GrB_BOOL)); +#endif GRB_TRY(GrB_Vector_new(&I, GrB_BOOL, ncols)); GRB_TRY(GrB_Vector_assign_BOOL(I, NULL, NULL, 1, GrB_ALL, ncols, NULL)); +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_BinaryOp_new(&MinParent, (void *)minparent, Vertex, Vertex, Vertex, "minparent", MIN_PARENT_DEFN)); +#else + GRB_TRY(GrB_BinaryOp_new(&MinParent, (void *)minparent, Vertex, Vertex, + Vertex)); +#endif vertex infinityParent = {GrB_INDEX_MAX + 1, 0}; GRB_TRY(GrB_Monoid_new_UDT(&MinParent_Monoid, MinParent, &infinityParent)); +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_BinaryOp_new(&Select2ndOp, (void *)select2nd, Vertex, GrB_BOOL, Vertex, "select2nd", SELECT_2ND_DEFN)); +#else + GRB_TRY(GrB_BinaryOp_new(&Select2ndOp, (void *)select2nd, Vertex, GrB_BOOL, + Vertex)); +#endif GRB_TRY(GrB_Semiring_new(&MinParent_2nd_Semiring, MinParent_Monoid, Select2ndOp)); +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_BinaryOp_new(&Select1stOp, (void *)select1st, Vertex, Vertex, GrB_BOOL, "select1st", SELECT_1ST_DEFN)); +#else + GRB_TRY(GrB_BinaryOp_new(&Select1stOp, (void *)select1st, Vertex, Vertex, + GrB_BOOL)); +#endif GRB_TRY(GrB_Semiring_new(&MinParent_1st_Semiring, MinParent_Monoid, Select1stOp)); +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_UnaryOp_new(&getParentsOp, (void *)keepParents, GrB_UINT64, Vertex, "keepParents", KEEP_PARENTS_DEFN)); +#else + GRB_TRY(GrB_UnaryOp_new(&getParentsOp, (void *)keepParents, GrB_UINT64, + Vertex)); +#endif +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_UnaryOp_new(&getRootsOp, (void *)keepRoots, GrB_UINT64, Vertex, "keepRoots", KEEP_ROOTS_DEFN)); +#else + GRB_TRY( + GrB_UnaryOp_new(&getRootsOp, (void *)keepRoots, GrB_UINT64, Vertex)); +#endif GRB_TRY(GrB_Vector_new(&parentsUpdate, GrB_UINT64, nrows)); @@ -508,17 +567,32 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_new(&rootfRIndexes, GrB_UINT64, ncols)); +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_IndexUnaryOp_new(&buildfCTuplesOp, (void *)buildfCTuples, Vertex, GrB_UINT64, GrB_BOOL, "buildfCTuples", BUILT_FC_TUPLES_DEFN)); +#else + GRB_TRY(GrB_IndexUnaryOp_new(&buildfCTuplesOp, (void *)buildfCTuples, + Vertex, GrB_UINT64, GrB_BOOL)); +#endif +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_UnaryOp_new(&vertexTypecastOp, (void *)vertexTypecast, Vertex, GrB_UINT64, "vertexTypecast", VERTEX_TYPECAST_DEFN)); +#else + GRB_TRY(GrB_UnaryOp_new(&vertexTypecastOp, (void *)vertexTypecast, Vertex, + GrB_UINT64)); +#endif +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_BinaryOp_new(&setParentsMatesOp, (void *)setParentsMates, Vertex, Vertex, Vertex, "setParentsMates", SET_PARENTS_MATES_DEFN)); +#else + GRB_TRY(GrB_BinaryOp_new(&setParentsMatesOp, (void *)setParentsMates, + Vertex, Vertex, Vertex)); +#endif GRB_TRY(GrB_Vector_new(&vr, GrB_UINT64, nrows)); @@ -709,13 +783,17 @@ int LAGraph_MaximumMatching( stdout); */ +#if LAGRAPH_SUITESPARSE // keep mates and roots of the R frontier (ordered indices) LAGRAPH_TRY( invert_2(rootfRIndexes, currentMatesR, rootsfR, true, msg)); // rootsfRIndexes(j) = i, where i - // is the col mate of the first - // row included in the current R - // frontier with a col root of j + // is the col mate of the first + // row included in the current R + // frontier with a col root of j +#else + LAGRAPH_TRY(invert(rootfRIndexes, rootsfR, true, msg)); +#endif // keep only col roots that are not included in ufR GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, @@ -726,9 +804,11 @@ int LAGraph_MaximumMatching( // STEP 7a (ufrontierR not empty): Move values in the // correct positions for the C frontier //---------------------------------------------------------------------- - // rootfRIndexes = invert (rootfRIndexes), so that - // rootfRIndexes(i) = j, where (i,j) = (parentC, rootC) of - // the new frontier C + // rootfRIndexes = invert (rootfRIndexes), so that: + // if LAGRAPH_SUITESPARSE: rootfRIndexes(i) = j, + // where (i,j) = (parentC, rootC) of the new frontier C + // else: rootfRIndexes(i) = j, where i is the matched child + // of the current R frontier that stems from root path LAGRAPH_TRY( invert(rootfRIndexes, rootfRIndexes, false, msg)); } @@ -738,9 +818,11 @@ int LAGraph_MaximumMatching( // rootC) //---------------------------------------------------------------------- GRB_TRY(GrB_Vector_clear(frontierC)); +#if LAGRAPH_SUITESPARSE GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, buildfCTuplesOp, rootfRIndexes, &y, NULL)); +#endif /* debug GrB_Index C[ncols]; From edb3df9ccce8e7540184ff055934a08d06d47fb7 Mon Sep 17 00:00:00 2001 From: kchristin Date: Fri, 26 Jul 2024 21:49:46 -0500 Subject: [PATCH 58/69] Merge vxm and mask operations again for testing --- experimental/algorithm/LAGraph_MaximumMatching.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index f11696b9f9..3c1aa303d1 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -679,12 +679,9 @@ int LAGraph_MaximumMatching( { // the frontierC vector is sparse or hypersparse // push (vector's values are pushed to A) - GRB_TRY(GrB_vxm(frontierR, NULL, NULL, + GRB_TRY(GrB_vxm(frontierR, parentsR, NULL, MinParent_1st_Semiring, frontierC, AT, - GrB_DESC_R)); - GRB_TRY(GrB_Vector_assign(frontierR, parentsR, NULL, - frontierR, GrB_ALL, nrows, - GrB_DESC_RSC)); + GrB_DESC_RSC)); } } else @@ -699,12 +696,9 @@ int LAGraph_MaximumMatching( else { // Only the push method can be used if A is not given - GRB_TRY(GrB_vxm(frontierR, NULL, NULL, + GRB_TRY(GrB_vxm(frontierR, parentsR, NULL, MinParent_1st_Semiring, frontierC, AT, - GrB_DESC_R)); - GRB_TRY(GrB_Vector_assign(frontierR, parentsR, NULL, - frontierR, GrB_ALL, nrows, - GrB_DESC_RSC)); + GrB_DESC_RSC)); } } From a06981cdc85c1ecb01e40a49c2431a7398f9d8a1 Mon Sep 17 00:00:00 2001 From: kchristin Date: Fri, 4 Oct 2024 13:10:32 +0300 Subject: [PATCH 59/69] Fix user defined functions --- .../algorithm/LAGraph_MaximumMatching.c | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 3c1aa303d1..c4075e24c2 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -42,14 +42,14 @@ typedef struct "} " \ "vertex; " -void *initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const void *y) +void initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const void *y) { z->parentC = i; z->rootC = i; } #define INIT_FRONTIER_DEFN \ - "void *initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const " \ + "void initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const " \ "void " \ "*y) " \ "{ " \ @@ -57,62 +57,62 @@ void *initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const void *y) "z->rootC = i; " \ "} " -void *minparent(vertex *z, vertex *x, vertex *y) +void minparent(vertex *z, vertex *x, vertex *y) { *z = x->parentC < y->parentC ? *x : *y; } #define MIN_PARENT_DEFN \ - "void *minparent(vertex *z, vertex *x, vertex *y) " \ + "void minparent(vertex *z, vertex *x, vertex *y) " \ "{ " \ "*z = x->parentC < y->parentC ? *x : *y; " \ "} " // FIXME: revise GraphBLAS so we can tell it that the select2nd operator // does not use the 'x' input. -void *select2nd(vertex *z, bool *x, vertex *y) +void select2nd(vertex *z, bool *x, vertex *y) { z->parentC = y->parentC; z->rootC = y->rootC; } #define SELECT_2ND_DEFN \ - "void *select2nd(vertex *z, bool *x, vertex *y) " \ + "void select2nd(vertex *z, bool *x, vertex *y) " \ "{ " \ "z->parentC = y->parentC; " \ "z->rootC = y->rootC;" \ "} " -void *select1st(vertex *z, vertex *x, bool *y) +void select1st(vertex *z, vertex *x, bool *y) { z->parentC = x->parentC; z->rootC = x->rootC; } #define SELECT_1ST_DEFN \ - "void *select2nd(vertex *z, vertex *x, bool *y) " \ + "void select1st(vertex *z, vertex *x, bool *y) " \ "{ " \ "z->parentC = x->parentC; " \ "z->rootC = x->rootC;" \ "} " -void *keepParents(uint64_t *z, vertex *x) { *z = x->parentC; } +void keepParents(uint64_t *z, vertex *x) { *z = x->parentC; } #define KEEP_PARENTS_DEFN \ - "void *keepParents(uint64_t *z, vertex *x) " \ + "void keepParents(uint64_t *z, vertex *x) " \ "{ " \ "*z = x->parentC; " \ "} " -void *keepRoots(uint64_t *z, vertex *x) { *z = x->rootC; } +void keepRoots(uint64_t *z, vertex *x) { *z = x->rootC; } #define KEEP_ROOTS_DEFN \ - "void *keepRoots(uint64_t *z, vertex *x) " \ + "void keepRoots(uint64_t *z, vertex *x) " \ "{ " \ "*z = x->rootC; " \ "} " -void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, +void buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, const void *y) { z->parentC = i; @@ -120,34 +120,34 @@ void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, } #define BUILT_FC_TUPLES_DEFN \ - "void *buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, " \ + "void buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, " \ "const void *y) " \ "{ " \ "z->parentC = i; " \ "z->rootC = *x; " \ "} " -void *vertexTypecast(vertex *z, uint64_t *x) +void vertexTypecast(vertex *z, uint64_t *x) { z->parentC = *x; z->rootC = *x; } #define VERTEX_TYPECAST_DEFN \ - "void *vertexTypecast(vertex *z, uint64_t *x) " \ + "void vertexTypecast(vertex *z, uint64_t *x) " \ "{ " \ "z->parentC = *x; " \ "z->rootC = *x; " \ "} " -void *setParentsMates(vertex *z, vertex *x, vertex *y) +void setParentsMates(vertex *z, vertex *x, vertex *y) { z->parentC = y->parentC; z->rootC = x->rootC; }; #define SET_PARENTS_MATES_DEFN \ - "void *setParentsMates(vertex *z, vertex *x, vertex *y) " \ + "void setParentsMates(vertex *z, vertex *x, vertex *y) " \ "{ " \ "z->parentC = y->parentC; " \ "z->rootC = x->rootC; " \ From be8f155e78ef45d3175ec99a54fd4e8d92289e28 Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 11 Nov 2024 17:09:59 +0200 Subject: [PATCH 60/69] Fix vanilla version --- .../algorithm/LAGraph_MaximumMatching.c | 130 +++++++++++++----- 1 file changed, 96 insertions(+), 34 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index c4075e24c2..06d1ebbe12 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -225,6 +225,7 @@ static inline GrB_Info invert_nondestructive( GRB_TRY(GrB_Vector_nvals(&nvals, in)); LG_TRY(LAGraph_Malloc((void **)&I, nvals, sizeof(GrB_Index), msg)); LG_TRY(LAGraph_Malloc((void **)&X1, nvals, sizeof(GrB_Index), msg)); + GRB_TRY(GrB_Vector_wait(in, GrB_MATERIALIZE)); GRB_TRY(GrB_Vector_extractTuples_UINT64( I, X1, &nvals, in)); // the output and input should have no // duplicates, so the order doesn't matter @@ -246,10 +247,10 @@ static inline GrB_Info invert_nondestructive( } static inline GrB_Info -invert(GrB_Vector out, // input/output. Same as invert_nondescructive above. - GrB_Vector in, // input vector, empty on output (unless in == out) - bool dups, // flag that indicates if duplicates exist in the input - // vector's values +invert(GrB_Vector out, // input/output. Same as invert_nondescructive above. + GrB_Vector in, // input vector, empty on output (unless in == out) + const bool dups, // flag that indicates if duplicates exist in the input + // vector's values char *msg) { // The input and output vectors can be the same vector @@ -274,6 +275,7 @@ invert(GrB_Vector out, // input/output. Same as invert_nondescructive above. GRB_TRY(GrB_Vector_nvals(&nvals, in)); LG_TRY(LAGraph_Malloc((void **)&I, nvals, sizeof(GrB_Index), msg)); LG_TRY(LAGraph_Malloc((void **)&X1, nvals, sizeof(GrB_Index), msg)); + GRB_TRY(GrB_Vector_wait(in, GrB_MATERIALIZE)); GRB_TRY(GrB_Vector_extractTuples_UINT64( I, X1, &nvals, in)); // the output and input should have no // duplicates, so the order doesn't matter @@ -295,18 +297,23 @@ invert(GrB_Vector out, // input/output. Same as invert_nondescructive above. else { GRB_TRY(GrB_Vector_clear(out)); +#if LAGRAPH_SUITESPARSE GRB_TRY(GrB_Vector_build_UINT64(out, X1, I, nvals, GrB_FIRST_UINT64)); +#else + GRB_TRY(GrB_Vector_build_UINT64(out, X1, I, nvals, GrB_MIN_UINT64)); +#endif // build copies the lists so they need to be freed in LG_FREE_ALL LG_FREE_ALL; } } static inline GrB_Info -invert_2(GrB_Vector out, // input/output - GrB_Vector in1, // input vector, empty on output (unless in1 == out) - GrB_Vector in2, // input vector, empty on output (unless in2 == out) - bool dups, // flag that indicates if duplicates exist in the input - // vector's values +invert_2(GrB_Vector out, // input/output + GrB_Vector in1, // input vector, empty on output (unless in1 == out) + GrB_Vector in2, // input vector, empty on output (unless in2 == out) + const bool dups, // flag that indicates if duplicates exist in the + // input vector's values + const bool udt, // type of the first input, in1, and out vectors char *msg) { // The input vectors cannot be aliased. However in1==out or in2==out is @@ -320,6 +327,7 @@ invert_2(GrB_Vector out, // input/output GrB_Index IBytes = 0, X1Bytes = 0, X2Bytes = 0; uint64_t nvals1 = 0, nvals2 = 0; +#if LAGRAPH_SUITESPARSE GRB_TRY(GxB_Vector_unpack_CSC(in1, (GrB_Index **)&I, (void **)&X1, &IBytes, &X1Bytes, NULL, &nvals1, NULL, NULL)); LAGraph_Free((void *)&I, NULL); @@ -340,6 +348,74 @@ invert_2(GrB_Vector out, // input/output GRB_TRY(GrB_Vector_build_UINT64(out, X2, X1, nvals2, GrB_FIRST_UINT64)); LG_FREE_ALL; } +#else + // vanilla case using extractTuples and build: + if (dups) + { + // invert in2 to eliminate dups and get the final indices of out (we + // cannot invert into out if out is of type udt, because we would have a + // domain mismatch with in2) + GrB_Vector in_rev = NULL; + GrB_Index out_size = 0; + GRB_TRY(GrB_Vector_size(&out_size, out)); + GRB_TRY(GrB_Vector_new(&in_rev, GrB_UINT64, out_size)); + LG_TRY(invert(in_rev, in2, true, msg)); + GRB_TRY(GrB_Vector_nvals( + &nvals2, + in_rev)); // out may have less entries than in2 and, thus, in1 + LG_TRY(LAGraph_Malloc((void **)&I, nvals2, sizeof(GrB_Index), msg)); + LG_TRY(LAGraph_Malloc((void **)&X2, nvals2, sizeof(GrB_Index), msg)); + // get indices of out + GRB_TRY(GrB_Vector_extractTuples_UINT64( + X2, I, &nvals2, + in_rev)); // X2 are the final values of in2 and will be the indices + // of out. I are the indices of in2 (which are a subset of + // the indices of in1) + GRB_TRY(GrB_Vector_free(&in_rev)); + } + else + { + GRB_TRY(GrB_Vector_nvals(&nvals2, in2)); + LG_TRY(LAGraph_Malloc((void **)&I, nvals2, sizeof(GrB_Index), msg)); + LG_TRY(LAGraph_Malloc((void **)&X2, nvals2, sizeof(GrB_Index), msg)); + GRB_TRY(GrB_Vector_wait(in2, GrB_MATERIALIZE)); + GRB_TRY(GrB_Vector_extractTuples_UINT64( + I, X2, &nvals2, in2)); // X2 will be the indices of out and I are + // the indices of in2 (which are the indices + // of in1 as well) + } + + GRB_TRY(GrB_Vector_clear(out)); + GRB_TRY(GrB_Vector_wait(in1, GrB_MATERIALIZE)); + if (udt) + { + vertex *X1_V = NULL; + LG_TRY(LAGraph_Malloc((void **)&X1_V, nvals2, sizeof(vertex), msg)); + for (uint64_t i = 0; i < nvals2; i++) + { + GRB_TRY(GrB_Vector_extractElement_UDT( + (void *)&X1_V[i], in1, + (GrB_Index)I[i])); // value I[i] corresponds to pos X2[i] in + // out due to the tuple extraction and X[i] + // will replace it + } + GRB_TRY(GrB_Vector_clear(in1)); + GRB_TRY(GrB_Vector_build_UDT(out, X2, (void *)X1_V, nvals2, + NULL)); // no dups are left + LAGRAPH_TRY(LAGraph_Free((void **)&X1_V, msg)); + } + else + { + LG_TRY(LAGraph_Malloc((void **)&X1, nvals2, sizeof(GrB_UINT64), msg)); + for (GrB_Index i = 0; i < nvals2; i++) + { + GRB_TRY(GrB_Vector_extractElement_UINT64(&X1[i], in1, I[i])); + } + GRB_TRY(GrB_Vector_clear(in1)); + GRB_TRY(GrB_Vector_build_UINT64(out, X2, X1, nvals2, NULL)); + } + LG_FREE_ALL; +#endif } //------------------------------------------------------------------------------ @@ -753,7 +829,7 @@ int LAGraph_MaximumMatching( // pathUpdate = invert (rootsufR), but need to handle // duplicates - LAGRAPH_TRY(invert(pathUpdate, rootsufR, true, msg)); + LAGRAPH_TRY(invert(pathUpdate, rootsufR, /*dups=*/true, msg)); GRB_TRY(GrB_Vector_assign( pathC, pathUpdate, NULL, pathUpdate, GrB_ALL, ncols, @@ -777,17 +853,14 @@ int LAGraph_MaximumMatching( stdout); */ -#if LAGRAPH_SUITESPARSE // keep mates and roots of the R frontier (ordered indices) LAGRAPH_TRY( - invert_2(rootfRIndexes, currentMatesR, rootsfR, true, + invert_2(rootfRIndexes, currentMatesR, rootsfR, + /*dups=*/true, /*udt=*/false, msg)); // rootsfRIndexes(j) = i, where i // is the col mate of the first // row included in the current R // frontier with a col root of j -#else - LAGRAPH_TRY(invert(rootfRIndexes, rootsfR, true, msg)); -#endif // keep only col roots that are not included in ufR GRB_TRY(GrB_Vector_assign(rootfRIndexes, pathUpdate, NULL, @@ -802,9 +875,9 @@ int LAGraph_MaximumMatching( // if LAGRAPH_SUITESPARSE: rootfRIndexes(i) = j, // where (i,j) = (parentC, rootC) of the new frontier C // else: rootfRIndexes(i) = j, where i is the matched child - // of the current R frontier that stems from root path - LAGRAPH_TRY( - invert(rootfRIndexes, rootfRIndexes, false, msg)); + // of the current frontier R that stems from root path of j + LAGRAPH_TRY(invert(rootfRIndexes, rootfRIndexes, + /*dups=*/false, msg)); } //---------------------------------------------------------------------- @@ -812,7 +885,6 @@ int LAGraph_MaximumMatching( // rootC) //---------------------------------------------------------------------- GRB_TRY(GrB_Vector_clear(frontierC)); -#if LAGRAPH_SUITESPARSE GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, buildfCTuplesOp, rootfRIndexes, &y, NULL)); @@ -849,8 +921,8 @@ int LAGraph_MaximumMatching( //---------------------------------------------------------------------- // invert fr and assign to fC // (currentMatesR already contains only the rows of fR) - LAGRAPH_TRY( - invert_2(frontierC, frontierR, currentMatesR, false, msg)); + LAGRAPH_TRY(invert_2(frontierC, frontierR, currentMatesR, + /*dups=*/false, /*udt=*/true, msg)); } GRB_TRY(GrB_Vector_nvals(&nfC, frontierC)); @@ -867,12 +939,7 @@ int LAGraph_MaximumMatching( { // vr = invert (pathC), leaving pathC empty // pathC doesn't have dup values as it stems from an invertion - LAGRAPH_TRY(invert(vr, pathC, false, msg)); - - /* debug - GxB_Vector_fprint(vr, "vr", GxB_COMPLETE, stdout); - GxB_Vector_fprint(parentsR, "parentsR", GxB_COMPLETE, stdout); - */ + LAGRAPH_TRY(invert(vr, pathC, /*dups=*/false, msg)); // assign parents of rows to rows GRB_TRY(GrB_Vector_assign( @@ -889,13 +956,8 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_assign(mateR, vr, NULL, vr, GrB_ALL, nrows, GrB_DESC_S)); - // pathC = invert (vr), leaving vr empty (vr may have duplicates - // after parent assignment) - LAGRAPH_TRY(invert(pathC, vr, false, msg)); - - /* debug - GxB_Vector_fprint(pathC, "pathC", GxB_COMPLETE, stdout); - */ + // pathC = invert (vr), leaving vr empty + LAGRAPH_TRY(invert(pathC, vr, /*dups=*/false, msg)); // keep a copy of the previous row matches of the matched cols // that will alter mates From 65c6f1a5021722f45bcfcf092770498a156391ac Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 11 Nov 2024 17:10:51 +0200 Subject: [PATCH 61/69] Add brief paper description and lose debug comments --- .../algorithm/LAGraph_MaximumMatching.c | 110 +++++------------- 1 file changed, 26 insertions(+), 84 deletions(-) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGraph_MaximumMatching.c index 06d1ebbe12..6dc39ea059 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGraph_MaximumMatching.c @@ -14,11 +14,23 @@ // Contributed by Christina Koutsou, Aristotle University of Thessaloniki -// add paper - //------------------------------------------------------------------------------ -// add explanation of paper +// This implmentation is based on the algorithm described in the following +// paper: "Distributed-Memory Algorithms for Maximum Cardinality Matching in +// Bipartite Graphs" by A. Azad and A. Buluç. +// +// In brief, this algorithm explores alternate paths by reversing an already +// traversed path to see if one of the already matched columns encountered in +// the path has at least one free children to be matched with instead. If so, it +// concedes its previous match to another previously matched parent or to the +// unmatched root of the path. + +// More detailed explanation of the algorithm and its implementation can be +// found in the LAGraph "papers" folder, in file +// "MaximumMatching_Report.pdf". + +//------------------------------------------------------------------------------ #include "LAGraphX.h" #include "LG_internal.h" @@ -49,7 +61,7 @@ void initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const void *y) } #define INIT_FRONTIER_DEFN \ - "void initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const " \ + "void initFrontier(vertex *z, void *x, uint64_t i, uint64_t j, const " \ "void " \ "*y) " \ "{ " \ @@ -63,7 +75,7 @@ void minparent(vertex *z, vertex *x, vertex *y) } #define MIN_PARENT_DEFN \ - "void minparent(vertex *z, vertex *x, vertex *y) " \ + "void minparent(vertex *z, vertex *x, vertex *y) " \ "{ " \ "*z = x->parentC < y->parentC ? *x : *y; " \ "} " @@ -77,7 +89,7 @@ void select2nd(vertex *z, bool *x, vertex *y) } #define SELECT_2ND_DEFN \ - "void select2nd(vertex *z, bool *x, vertex *y) " \ + "void select2nd(vertex *z, bool *x, vertex *y) " \ "{ " \ "z->parentC = y->parentC; " \ "z->rootC = y->rootC;" \ @@ -90,7 +102,7 @@ void select1st(vertex *z, vertex *x, bool *y) } #define SELECT_1ST_DEFN \ - "void select1st(vertex *z, vertex *x, bool *y) " \ + "void select1st(vertex *z, vertex *x, bool *y) " \ "{ " \ "z->parentC = x->parentC; " \ "z->rootC = x->rootC;" \ @@ -99,28 +111,22 @@ void select1st(vertex *z, vertex *x, bool *y) void keepParents(uint64_t *z, vertex *x) { *z = x->parentC; } #define KEEP_PARENTS_DEFN \ - "void keepParents(uint64_t *z, vertex *x) " \ - "{ " \ - "*z = x->parentC; " \ - "} " + "void keepParents(uint64_t *z, vertex *x) { *z = x->parentC; } " void keepRoots(uint64_t *z, vertex *x) { *z = x->rootC; } #define KEEP_ROOTS_DEFN \ - "void keepRoots(uint64_t *z, vertex *x) " \ - "{ " \ - "*z = x->rootC; " \ - "} " + "void keepRoots(uint64_t *z, vertex *x) { *z = x->rootC; } " void buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, - const void *y) + const void *y) { z->parentC = i; z->rootC = *x; } #define BUILT_FC_TUPLES_DEFN \ - "void buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, " \ + "void buildfCTuples(vertex *z, uint64_t *x, uint64_t i, uint64_t j, " \ "const void *y) " \ "{ " \ "z->parentC = i; " \ @@ -134,7 +140,7 @@ void vertexTypecast(vertex *z, uint64_t *x) } #define VERTEX_TYPECAST_DEFN \ - "void vertexTypecast(vertex *z, uint64_t *x) " \ + "void vertexTypecast(vertex *z, uint64_t *x) " \ "{ " \ "z->parentC = *x; " \ "z->rootC = *x; " \ @@ -144,10 +150,10 @@ void setParentsMates(vertex *z, vertex *x, vertex *y) { z->parentC = y->parentC; z->rootC = x->rootC; -}; +} #define SET_PARENTS_MATES_DEFN \ - "void setParentsMates(vertex *z, vertex *x, vertex *y) " \ + "void setParentsMates(vertex *z, vertex *x, vertex *y) " \ "{ " \ "z->parentC = y->parentC; " \ "z->rootC = x->rootC; " \ @@ -708,10 +714,6 @@ int LAGraph_MaximumMatching( } } - /* debug - GxB_Vector_fprint(mateR, "mateR", GxB_COMPLETE, stdout); - */ - do { GRB_TRY(GrB_Vector_clear(parentsR)); @@ -719,18 +721,6 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_apply_IndexOp_UDT( frontierC, mateC, NULL, initFrontierOp, I, &y, GrB_DESC_RSC)); - /* debug - GrB_Index C[ncols]; - vertex *V = malloc(ncols * sizeof(vertex)); - GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); - for (int k = 0; k < ncols; k++) - { - printf("\nfc (%d) = (%ld, %ld)", (int)C[k], V[k].parentC, - V[k].rootC); - } - GxB_Vector_fprint(mateC, "mateC", GxB_COMPLETE, stdout); - */ - uint64_t nfC = 0; do @@ -799,21 +789,6 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_assign(currentMatesR, frontierR, NULL, mateR, GrB_ALL, nrows, GrB_DESC_RS)); - /* debug - uint64_t nvals = 0; - GxB_Vector_fprint(currentMatesR, "currentMatesR", GxB_COMPLETE, - stdout); GrB_Index *R = (GrB_Index *)malloc(nrows * - sizeof(GrB_Index)); vertex *VR = (vertex *)malloc(nrows * - sizeof(vertex)); GrB_Vector_nvals(&nvals, frontierR); - GrB_Vector_extractTuples_UDT(R, VR, &nrows, frontierR); - for (int k = 0; k < nrows; k++) - { - printf("\nfr (%d) = (%ld, %ld)", (int)R[k], VR[k].parentC, - VR[k].rootC); - } - GxB_Vector_fprint(parentsR, "pr", GxB_COMPLETE, stdout); - */ - uint64_t nUfR = 0, nfR = 0; GRB_TRY(GrB_Vector_nvals(&nUfR, ufrontierR)); GRB_TRY(GrB_Vector_nvals(&nfR, frontierR)); @@ -848,10 +823,6 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, frontierR, NULL)); - /* debug - GxB_Vector_fprint(rootsfR, "rootsfR", GxB_COMPLETE, - stdout); - */ // keep mates and roots of the R frontier (ordered indices) LAGRAPH_TRY( @@ -888,18 +859,6 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_apply_IndexOp_UDT(frontierC, NULL, NULL, buildfCTuplesOp, rootfRIndexes, &y, NULL)); -#endif - - /* debug - GrB_Index C[ncols]; - vertex *V = malloc(ncols * sizeof(vertex)); - GrB_Vector_extractTuples_UDT(C, V, &ncols, frontierC); - for (int k = 0; k < ncols; k++) - { - printf("\nfc (%d) = (%ld, %ld)", (int)C[k], - V[k].parentC, V[k].rootC); - } - */ } else { @@ -947,11 +906,6 @@ int LAGraph_MaximumMatching( GrB_DESC_S)); // update the values of vr (descriptor needed // to use mask's structure and not values) - /* debug - GxB_Vector_fprint(vr, "vr with updated parents", GxB_COMPLETE, - stdout); - */ - // update mateR: mateR = vr GRB_TRY(GrB_Vector_assign(mateR, vr, NULL, vr, GrB_ALL, nrows, GrB_DESC_S)); @@ -964,10 +918,6 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_assign(pathCopy, pathC, NULL, mateC, GrB_ALL, ncols, GrB_DESC_RS)); - /* debug - GxB_Vector_fprint(pathCopy, "pathCopy", GxB_COMPLETE, stdout); - */ - // update mateC GRB_TRY(GrB_Vector_assign(mateC, pathC, NULL, pathC, GrB_ALL, ncols, GrB_DESC_S)); @@ -982,20 +932,12 @@ int LAGraph_MaximumMatching( pathCopy = temp; GRB_TRY(GrB_Vector_nvals(&npath, pathC)); - - /* debug - GxB_Vector_fprint(mateC, "mateC", GxB_COMPLETE, stdout); - */ } npath = npathCopy; } while (npath); // only in the first and last iteration should this // condition be false - /* debug - GxB_Vector_fprint(mateC, "mateC", GxB_COMPLETE, stdout); - */ - if (mateC_handle != NULL) { (*mateC_handle) = mateC; From ee1ba8ff346ff07aafc7f1edffc244a83d09d27e Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 11 Nov 2024 17:53:38 +0200 Subject: [PATCH 62/69] Rename to advanced method --- ...AGraph_MaximumMatching.c => LAGr_MaximumMatching.c} | 10 ++++++---- experimental/benchmark/mcm_demo.c | 6 +++--- experimental/test/test_MaximumMatching.c | 2 +- include/LAGraphX.h | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) rename experimental/algorithm/{LAGraph_MaximumMatching.c => LAGr_MaximumMatching.c} (99%) diff --git a/experimental/algorithm/LAGraph_MaximumMatching.c b/experimental/algorithm/LAGr_MaximumMatching.c similarity index 99% rename from experimental/algorithm/LAGraph_MaximumMatching.c rename to experimental/algorithm/LAGr_MaximumMatching.c index 6dc39ea059..4913efab8a 100644 --- a/experimental/algorithm/LAGraph_MaximumMatching.c +++ b/experimental/algorithm/LAGr_MaximumMatching.c @@ -1,5 +1,5 @@ //------------------------------------------------------------------------------ -// LAGraph_MaximumMatching: maximum matching between nodes of disjoint sets +// LAGr_MaximumMatching: maximum matching between nodes of disjoint sets // in bipartite graphs //------------------------------------------------------------------------------ @@ -30,6 +30,9 @@ // found in the LAGraph "papers" folder, in file // "MaximumMatching_Report.pdf". +// This is an Advanced method, G->A is required as input instead of G due to +// lack of a Bipartite graph kind in GraphBLAS. + //------------------------------------------------------------------------------ #include "LAGraphX.h" @@ -425,7 +428,7 @@ invert_2(GrB_Vector out, // input/output } //------------------------------------------------------------------------------ -// LAGraph_MaximumMatching +// LAGr_MaximumMatching //------------------------------------------------------------------------------ #undef LG_FREE_WORK @@ -469,7 +472,7 @@ invert_2(GrB_Vector out, // input/output GrB_free(&mateC); \ } -int LAGraph_MaximumMatching( +int LAGr_MaximumMatching( // outputs: GrB_Vector *mateC_handle, // mateC(j) = i : Column j of the C subset is matched @@ -823,7 +826,6 @@ int LAGraph_MaximumMatching( GRB_TRY(GrB_Vector_apply(rootsfR, NULL, NULL, getRootsOp, frontierR, NULL)); - // keep mates and roots of the R frontier (ordered indices) LAGRAPH_TRY( invert_2(rootfRIndexes, currentMatesR, rootsfR, diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index dc6716c60c..f32667d15e 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -1,6 +1,6 @@ //------------------------------------------------------------------------------ // LAGraph/experimental/benchmark/matching_demo.c: benchmarks for -// LAGraph_MaximumMatching +// LAGr_MaximumMatching //------------------------------------------------------------------------------ // LAGraph, (c) 2019-2022 by The LAGraph Contributors, All Rights Reserved. @@ -197,7 +197,7 @@ int main(int argc, char **argv) double t = LAGraph_WallClockTime(); LAGRAPH_TRY( - LAGraph_MaximumMatching(&mateC, NULL, A, AT, mateC_init, true, msg)); + LAGr_MaximumMatching(&mateC, NULL, A, AT, mateC_init, true, msg)); t = LAGraph_WallClockTime() - t; LAGRAPH_TRY(check_matching(A, mateC, msg)); uint64_t sprank = 0; @@ -235,7 +235,7 @@ int main(int argc, char **argv) for (int trial = 0; trial < ntrials; trial++) { t = LAGraph_WallClockTime(); - LAGRAPH_TRY(LAGraph_MaximumMatching(&mateC, NULL, A, AT, mateC_init, + LAGRAPH_TRY(LAGr_MaximumMatching(&mateC, NULL, A, AT, mateC_init, true, msg)); t = LAGraph_WallClockTime() - t; GRB_TRY(GrB_free(&mateC)); diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index 9ae2022582..d9effca4d4 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -83,7 +83,7 @@ void test_MCM(void) OK(GrB_transpose(AT, NULL, NULL, A, NULL)); } - OK(LAGraph_MaximumMatching(&mateC, NULL, A, AT, mateC_init, true, + OK(LAGr_MaximumMatching(&mateC, NULL, A, AT, mateC_init, true, msg)); printf("\nmsg: %s\n", msg); diff --git a/include/LAGraphX.h b/include/LAGraphX.h index 5d0c92f071..2d0c40901f 100644 --- a/include/LAGraphX.h +++ b/include/LAGraphX.h @@ -1232,7 +1232,7 @@ int LAGraph_argminmax ); LAGRAPHX_PUBLIC -int LAGraph_MaximumMatching( +int LAGr_MaximumMatching( // outputs GrB_Vector *mateC_handle, // mateC(j) = i : Column j of the C subset is matched to From 85d82367412baff647d0207a0975d634197b7307 Mon Sep 17 00:00:00 2001 From: kchristin Date: Sat, 16 Nov 2024 17:55:38 +0200 Subject: [PATCH 63/69] Turn swap of pathC and pathCopy into an assign op --- experimental/algorithm/LAGr_MaximumMatching.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/experimental/algorithm/LAGr_MaximumMatching.c b/experimental/algorithm/LAGr_MaximumMatching.c index 4913efab8a..e75eb80ac8 100644 --- a/experimental/algorithm/LAGr_MaximumMatching.c +++ b/experimental/algorithm/LAGr_MaximumMatching.c @@ -929,9 +929,8 @@ int LAGr_MaximumMatching( // mateC == invert (mateR) both hold). // swap path and pathCopy - GrB_Vector temp = pathC; - pathC = pathCopy; - pathCopy = temp; + GRB_TRY(GrB_Vector_assign(pathC, NULL, NULL, pathCopy, GrB_ALL, + ncols, GrB_DESC_RS)); GRB_TRY(GrB_Vector_nvals(&npath, pathC)); } From 6a84ab809b413c02ffb6ab62f955c55b132fe230 Mon Sep 17 00:00:00 2001 From: kchristin Date: Sat, 16 Nov 2024 17:56:49 +0200 Subject: [PATCH 64/69] Split single vxm and mask assign op in two --- experimental/algorithm/LAGr_MaximumMatching.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/experimental/algorithm/LAGr_MaximumMatching.c b/experimental/algorithm/LAGr_MaximumMatching.c index e75eb80ac8..554bb365ee 100644 --- a/experimental/algorithm/LAGr_MaximumMatching.c +++ b/experimental/algorithm/LAGr_MaximumMatching.c @@ -687,7 +687,6 @@ int LAGr_MaximumMatching( uint64_t npath = 0; bool y = 0; - double mxm_time = 0; GRB_TRY(GrB_Vector_new(&mateC, GrB_UINT64, ncols)); GRB_TRY(GrB_Vector_new(&mateR, GrB_UINT64, nrows)); @@ -748,9 +747,11 @@ int LAGr_MaximumMatching( { // the frontierC vector is sparse or hypersparse // push (vector's values are pushed to A) - GRB_TRY(GrB_vxm(frontierR, parentsR, NULL, + GRB_TRY(GrB_vxm(frontierR, NULL, NULL, MinParent_1st_Semiring, frontierC, AT, - GrB_DESC_RSC)); + GrB_DESC_R)); + GRB_TRY(GrB_Vector_assign(frontierR, parentsR, NULL, frontierR, + GrB_ALL, nrows, GrB_DESC_RSC)); } } else @@ -767,7 +768,10 @@ int LAGr_MaximumMatching( // Only the push method can be used if A is not given GRB_TRY(GrB_vxm(frontierR, parentsR, NULL, MinParent_1st_Semiring, frontierC, AT, - GrB_DESC_RSC)); + GrB_DESC_R)); + GRB_TRY(GrB_Vector_assign(frontierR, parentsR, NULL, + frontierR, GrB_ALL, nrows, + GrB_DESC_RSC)); } } From 04a0880b6f78c853c79bd1177c1d3c8a55fe15d3 Mon Sep 17 00:00:00 2001 From: kchristin Date: Sat, 16 Nov 2024 18:02:40 +0200 Subject: [PATCH 65/69] Flush after print in mcm_demo --- experimental/benchmark/mcm_demo.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index f32667d15e..3a5dd3296a 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -132,11 +132,12 @@ int main(int argc, char **argv) // read in the graph //-------------------------------------------------------------------------- - // if (argc < 2) - // { - // printf("Invalid usage, please read comments\n"); - // return 0; - // } + if (argc < 2) + { + printf("Invalid usage, please read comments\n"); + fflush(stdout); + return 0; + } char *matrix_name = (argc > 1) ? argv[1] : "stdin"; LAGRAPH_TRY(LAGraph_Random_Init(msg)); @@ -166,6 +167,7 @@ int main(int argc, char **argv) #ifdef VERBOSE printf("nthreads_outer: %d, nthreads_inner: %d\n", nthreads_outer, nthreads_inner); + fflush(stdout); #endif nthreads_max = nthreads_outer * nthreads_inner; if (Nthreads[1] == 0) // THREAD_LIST == 0 @@ -189,6 +191,7 @@ int main(int argc, char **argv) printf(" %d", nthreads); } printf("\n"); + fflush(stdout); #endif //-------------------------------------------------------------------------- @@ -203,9 +206,11 @@ int main(int argc, char **argv) uint64_t sprank = 0; GRB_TRY(GrB_Vector_nvals(&sprank, mateC)); printf("number of matches: %ld\n", sprank); + fflush(stdout); GRB_TRY(GrB_free(&mateC)); #ifdef VERBOSE printf("warmup time %g sec\n", t); + fflush(stdout); #endif //-------------------------------------------------------------------------- @@ -217,6 +222,7 @@ int main(int argc, char **argv) ntrials = 3; // HACK #ifdef VERBOSE printf("# of trials: %d\n", ntrials); + fflush(stdout); #endif for (int kk = 1; kk <= nt; kk++) @@ -228,6 +234,7 @@ int main(int argc, char **argv) #ifdef VERBOSE printf("\n--------------------------- nthreads: %2d\n", nthreads); + fflush(stdout); #endif double total_time = 0; @@ -241,6 +248,7 @@ int main(int argc, char **argv) GRB_TRY(GrB_free(&mateC)); #ifdef VERBOSE printf("trial: %2d time: %10.7f sec\n", trial, t); + fflush(stdout); #endif total_time += t; } @@ -253,6 +261,7 @@ int main(int argc, char **argv) printf("maximum matching: %3d: avg time: %10.7f (sec) matrix: %s\n", nthreads, total_time_per_trial, matrix_name); #endif + fflush(stdout); } //-------------------------------------------------------------------------- From 9cc7573d4509e3e440c5370f2ec5b892948d3286 Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 18 Nov 2024 12:08:35 +0200 Subject: [PATCH 66/69] Use 16 trials for mcm benchmark --- experimental/benchmark/mcm_demo.c | 1 - 1 file changed, 1 deletion(-) diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index 3a5dd3296a..b57419d59c 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -219,7 +219,6 @@ int main(int argc, char **argv) // the GAP benchmark requires 16 trials int ntrials = 16; - ntrials = 3; // HACK #ifdef VERBOSE printf("# of trials: %d\n", ntrials); fflush(stdout); From d5bbc780aace7beb8de290cc4430e6e914dd0c17 Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 18 Nov 2024 14:42:21 +0200 Subject: [PATCH 67/69] Use swap instead of assign and fix format of files --- experimental/algorithm/LAGr_MaximumMatching.c | 10 ++++++---- experimental/benchmark/mcm_demo.c | 2 +- experimental/test/test_MaximumMatching.c | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/experimental/algorithm/LAGr_MaximumMatching.c b/experimental/algorithm/LAGr_MaximumMatching.c index 554bb365ee..613228e1bf 100644 --- a/experimental/algorithm/LAGr_MaximumMatching.c +++ b/experimental/algorithm/LAGr_MaximumMatching.c @@ -750,8 +750,9 @@ int LAGr_MaximumMatching( GRB_TRY(GrB_vxm(frontierR, NULL, NULL, MinParent_1st_Semiring, frontierC, AT, GrB_DESC_R)); - GRB_TRY(GrB_Vector_assign(frontierR, parentsR, NULL, frontierR, - GrB_ALL, nrows, GrB_DESC_RSC)); + GRB_TRY(GrB_Vector_assign(frontierR, parentsR, NULL, + frontierR, GrB_ALL, nrows, + GrB_DESC_RSC)); } } else @@ -933,8 +934,9 @@ int LAGr_MaximumMatching( // mateC == invert (mateR) both hold). // swap path and pathCopy - GRB_TRY(GrB_Vector_assign(pathC, NULL, NULL, pathCopy, GrB_ALL, - ncols, GrB_DESC_RS)); + GrB_Vector tmp = pathC; + pathC = pathCopy; + pathCopy = tmp; GRB_TRY(GrB_Vector_nvals(&npath, pathC)); } diff --git a/experimental/benchmark/mcm_demo.c b/experimental/benchmark/mcm_demo.c index b57419d59c..6e4c72ec36 100644 --- a/experimental/benchmark/mcm_demo.c +++ b/experimental/benchmark/mcm_demo.c @@ -242,7 +242,7 @@ int main(int argc, char **argv) { t = LAGraph_WallClockTime(); LAGRAPH_TRY(LAGr_MaximumMatching(&mateC, NULL, A, AT, mateC_init, - true, msg)); + true, msg)); t = LAGraph_WallClockTime() - t; GRB_TRY(GrB_free(&mateC)); #ifdef VERBOSE diff --git a/experimental/test/test_MaximumMatching.c b/experimental/test/test_MaximumMatching.c index d9effca4d4..0cdbf7bc07 100644 --- a/experimental/test/test_MaximumMatching.c +++ b/experimental/test/test_MaximumMatching.c @@ -84,7 +84,7 @@ void test_MCM(void) } OK(LAGr_MaximumMatching(&mateC, NULL, A, AT, mateC_init, true, - msg)); + msg)); printf("\nmsg: %s\n", msg); GrB_Index nmatched = 0; From 3ea156f1c8c85a6ea57e5b082e6fce483f40d8ae Mon Sep 17 00:00:00 2001 From: kchristin Date: Mon, 18 Nov 2024 21:31:32 +0200 Subject: [PATCH 68/69] Add doc and poster for Maximum Matching --- papers/Maximum-matching-doc.pdf | Bin 0 -> 1360734 bytes papers/Maximum-matching-poster.pdf | Bin 0 -> 1003460 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 papers/Maximum-matching-doc.pdf create mode 100644 papers/Maximum-matching-poster.pdf diff --git a/papers/Maximum-matching-doc.pdf b/papers/Maximum-matching-doc.pdf new file mode 100644 index 0000000000000000000000000000000000000000..47ba343349211a4c813183ea2d1e1c6d7ceb89d0 GIT binary patch literal 1360734 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%0D0;5 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

8rOLicajznkz!tV_h)*nvVoHA4hY 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

Ee&_q4!x`$}J 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 z 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

*Y}|7m-{YRs!O$PX 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 z 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 literal 0 HcmV?d00001 diff --git a/papers/Maximum-matching-poster.pdf b/papers/Maximum-matching-poster.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f2c4c7cf102b2765f713b54153683eb2167d001b GIT binary patch literal 1003460 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
    >;3H#p^}n+aCJ;NbX1cyD6WnH?klxy8C%h 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

    8_m2nB8{-|=R)59TPO1$zOJrsW7hf%`{2q@ zWud6kogAp7W(4xNM1TZ!ck$($q)Ytah;zdHS3Xq2$S+k&adM}D1f|Ljmmp2q!!8n0 zhYNJ42Brc)&G<5LAyXu8ewX*jX!o6NdMe{;vm{8}>^7vGt%779*=82%wd?2PZd>ko z>izMD1t3>GhE4-@-%3*(&J|1l5W5|c@~LlmMlqxBg}^!ez9C#9A@lS#V8o@AvEj=+ zk~`#9FXqV4vB?~jT?)%zz9s@wNZ}4!m;Y zJCk0dA+MBd)Yz`yBt>2o77w1?A@I&>#1G%6`qsuC7_9)}`{7c!G4KO^$0K>DfsB@->oXd+v zt8rS^h49{Kt9iQii{SBG?SO_c%_4X8O&&SEjspOZt3H7PzeXR!d7B zKCbv8iQvtD#)&LgssDeKi~rl^p($Ov*eC`h?LVbl@#=q^os_GVps)7%fm5E`6w?Xm z0_rQDQ;Vxqw^qJQ#8}iG_cGX=1L)q4*WliIQ`+NMQ8sC}Vk|>jb(I(?AnHoaGSKA8 zP3Wa2A$zt<0{V7rR(To7IHPjkUki1fi~*#QCH4TNh^sz>DT$`&U^t32{Y+H_qUibv z_jxjZy}G9K_$2FSaG`U@$Y_kax;8YdhxW5h^eL5>I(W_OZG%=eu3A}DNwzU+V`}am zi=-m~ZJIGU;_L3A(!tdAw$gI=HS;*%OEOZDZ;zU%-PXP~)!|gJ!1}(Dur`gogC8FF ztm%|v*Ys1XuI4kI^kR@#!YeIa3Gc;LUL3xi~57!2?0IY?Ob6pDSG{(Dp?Y6T9)wW}LWi zli>!XLe&C$J(ua3$G)~KK*PfdV)a`n*H7Ro}0s>%jzTjt9~G)D+Rg@hh6Ac%D(>{-e;aZ&jMEyM)&_!!u@}2 zLgl|R-SQ87)|kG1H)w($S!{sfxRzX&Pi^)!+oMat9Ivv4ILF%v_~(LfL33B!TapvU z4^y5yPQMG-k$#@!&DJ%xZ=5B_N%m03zngt7&@8*|XS{i_?U26RX!P{>_j}mKwO~A? z+3>_{VYbC+8~k%blAU{4sPe*6B}@ndaoR;~NS*dyK)yvlUsm{&#V_h6?5k;1Nz6S^ zrP^*lFdU!F8lECmh8+&=FFIB9CVeTsVKUHrl}s0Eh@W8(kY(Vg=MRBVyX}&gozy)c zzW5kHaim4_JQ@xQYMy|i9)r$SYMr3CO?iw+EIN6lo93RhYLN$U6KTD?0j2+gPym>^ z<-^aC##Z{FvS&E($~WT9*lDaZ;9w7p64(1q)7Orik0!$_T560 z&Yp#zrj2cy>Dn5)rN!j6TI3oj*jr!Tj=Gs>mtUy;=QzRt_Otlczn`wxM+Q3@I_JoZ z5-#-Pe&!Rdj{!=!n+L~|mqByVB0lUGVxze?%E;Kr#_QuF%Y^x#y`D0F>?06}AU3WW zSA4uVwqoM$muM<3ufaRq&1j{0?0sQPFo)=gb(`_vuQw#<3AwQLnN`fW8gUS>R-3p3 zQ)jKMxqE?;ZS>PK!<|(LPPRNKnshj-vivh%0;?N8UkLb7DAtBQNqRY>^gVn$)hk~r zl&(h|Jez(6e<1@0Ro1T%O;FBN5Hyo!Qa)RiN~|G8u9^e^wtLx&Y?X7?Q9sw3ax!0C zDT>^GC^#yzOAWk8Y#=rhY{(&d@ zfAnYchMkIEPcrTblfNr2X8%*KV)(0?S=IYh%~Z#tpR#|d#ut@S&P!yS9ZC7pg+wegb9MA^MsKb87aof!L(OM~M54jf#&&{Tnw z#Ym`OQ13tEA{6pBJt$&gfM=H24fAZCkdp91dt&xmn4o?KedRWzCpB*8ylX+fXNom2 z-Dp3lrF?=&l!Bh(1p|FcDz5!wxSiCfAD&$vqvv%s-D+xE*gP{g$bD-igL;=GsWsa0PD<-^=JdZTuHlUGG3h zDXLnU8!y=30Dn=f5x#XAMj;2kj1-VU9w&|w8Bj=HP9Jf!&jrM?9mX@kMS#jw{!*C6 zA@Le;$^FAk8R%0VZru1MT)SMJJ)7wV6x%t0cCGXyh6C7E8eGt{(Ja|7TK0T^IJN06 z=KbRI(c9~T_-8Mg2Zzr`ZTSqfz$S>N#O&D|5ZqQl3qVC!?VtXRiUjZcG>=QTF$KXv z?P~vS5&XY7i~TPp#sAc=E;Fz{!xGmspOint(tOiBABQ0yHlD!)7{B_zaYVy`Bl@@H z%wLaa1|@1Cq@4h;mtEU09bbR?y;u(?4nY^3TyZ4EbT&4IBH5^oSL+kMj%L}fqnTcC zz_uE8Iy4V%AxL~pds?_~{aSYM-2F`E%qrMc;Bg8e8|T#z5SLIK#Qn>Ocy)xP5#KF8 zk7ANZp~b45wdR7OO*8FvFL-Xe`Gu$yN4nxqmuW<^Og?9?>*oI{PW!x3=ayD%E*zC- ze`VxTZ`Gq5^>1yz-T{e|=EI+>A80>C1&kU^iz%MmQJxl(YwFuYIyD}mNMGFS(5HL$ zN|u2gy>8+O>qrlnP>PhVK6OgWweMOH{7l?&1tyeffjK!F*UezrMIU!^p zF)2YR^|4mqiBy-xju@(>i2<(;oNSv5ap^BcXswJcB{?x{XakE9&XDbwad{n0^doql zLg`eLfwKLp+6gsYpwRX-%7)}v=}%ATn{>FnkgPhsSK_f88dgR;LG$`X40- zx?UV$Zez&fUy;x-`UMo@zvpPtn&7&YeVTRw^qML1@Jot?)Jmo^UFE0Crphm#efD$b zLiZvVe5H&xW^D%W*Y*t8+i4Si1H~tpPw~7q^Ua%R*#D2tEYvg(M57vu;y&txXS ze$4l-4@u>S4?(Y0g*Ej=;!_Ea!~N4OSPQ&qcd*HLMCk0tZK6Hj;|U|98Y738$2kUS zz;ToT_NVY&?Mzm0?teLI$)bGKr>q^$>J9f|Yey@XrLr+$$qMFE4Ovy>8xjV01lz99 zhh$SmNJYY50MR%&aiNv$11hQF$1A^#_wQap&bSCe#2!4b<@CjWg%JL~`kBIw2LRL& zahx2~t~(li%ac1k;4{h8dow<~IquN45T31sG3v3;izzcA>KcT+O8pBMjf#LW3(bN< z4;mr8!@_eS(Ui}tVB0Yx&EwE0-X$cpeRATvL)%I|yB(wY9R`_{?x z2+OngYv6)Essp*Fm~@~zcneeqNfh~t=6{A@pg1^gF@*XHmD*<;A*F^d?JR+M1&*ac zO6K(R{=ZYAb2>GVWldVDWbaU4vT&@G%JeHJ0pT2qcI}m7mnsfhrG-tPdmN&9?tNlC=Y*%d7K&Fl}XlQj;qC-TYS2I z=tNpLZGil6u;8x3uwwyh2Xrqsr2O;zU6FEaO;0~8l#Aqiir`R79h!_vRh!jV^E{9$ z-1q^}AFA9I;geHp2;Tdtv8Qs?5)R2cl0>g^y&I_K3j4P4=!JQ}#Vz}M3^?krkJK(; zSH70x#xtwR_cv~ZWb>nHT4_m6FDQ8Kew_`ggCdJ#Z?YI{-mXpP)IF)$PzR_5Vs;Jc z;h%}I`{BHZflO=jI+o6MhZS_A+#(=UQMe>`Yifb+}k9bWOd@`*I5 z7#JnW5 zN#Qq;EfV{n77zMDLGh8YGBd-b4*5>_(d%udL8JO{wO$qr9@d^M(2g42A?hn6fXV&s zTc*5s=MAIk{l0y&`j?Uw7E%oI%xeXZX|y3arV!V|T|UGB4(pY$`uK)#n*LCF+I}Na zadBy3zt|lZt7^PT`>5^Or0dF7n)lenY%7=Z)d1JFj*oL&@U$~ehL%+ z4b&iZdVq??Tg*#Yx1N^Uo)S_ffAlDA#G;O4>ZplNc@M-(@jCOxJROEllHb%@vyPNU zJ%D_G9LLuc9Mh7V%-cH)=d=T!Rmv3D63bYT+uz`_EP-Z^eYgl2fu7=eNCw_lF?Mzh zY_pA|d1q}{*3Cd%B}PjZW1FHeDEUK8mgNJT>m5>J^34s{1dG=~Lzo}zvExeE%EguH zc+#aI2l(44n`XO*w0+%noZP3ps>_aC!vZb8m@%*tV# z;`m=nWNd+V9cM$$r6ZcrnZRP1?B`Llpi}^W}3#QhOhS24qrJVmQ@yB|tDk%sV_OR;&Fir9DkjRh&%J=JnPR z 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%0AXzM#`5OrZ9Z`14L^YsW*L~Q!YwD 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

    >3mkidklF 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%0AFuQERo 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�(w4RB5(Y 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