ldbc / ldbc_graphalytics_platforms_graphblas

LDBC Graphalytics implementation using SuiteSparse:GraphBLAS and LAGraph
Apache License 2.0
4 stars 7 forks source link

init.sh fails with a GraphBLAS compilation error #35

Closed hagabb closed 1 year ago

hagabb commented 1 year ago

I'm trying to test the GraphBLAS reference implementation on the small data set. The following command used to work, but now fails with a GraphBLAS compilation error:

devcloud@40a6b79d144c:~/ldbc_graphalytics_platforms_graphblas$ ./scripts/init.sh ~/graphalytics_data/S/

<...snip...>

[ 35%] Building CXX object CMakeFiles/cdlp.dir/src/algorithms/cdlp.cpp.o
/usr/bin/c++  -I/home/devcloud/ldbc_graphalytics_platforms_graphblas/graphalytics-1.10.0-graphblas-0.1.0-SNAPSHOT/src/main/c/include -O3 -DNDEBUG -MD -MT CMakeFiles/cdlp.dir/src/algorithms/cdlp.cpp.o -MF CMakeFiles/cdlp.dir/src/algorithms/cdlp.cpp.o.d -o CMakeFiles/cdlp.dir/src/algorithms/cdlp.cpp.o -c /home/devcloud/ldbc_graphalytics_platforms_graphblas/graphalytics-1.10.0-graphblas-0.1.0-SNAPSHOT/src/main/c/src/algorithms/cdlp.cpp
/home/devcloud/ldbc_graphalytics_platforms_graphblas/graphalytics-1.10.0-graphblas-0.1.0-SNAPSHOT/src/main/c/src/algorithms/cdlp.cpp: In function ‘GB_Vector_opaque* LA_CDLP(GrB_Matrix, bool, int)’:
/home/devcloud/ldbc_graphalytics_platforms_graphblas/graphalytics-1.10.0-graphblas-0.1.0-SNAPSHOT/src/main/c/src/algorithms/cdlp.cpp:55:22: error: cannot convert ‘GrB_Matrix’ {aka ‘GB_Matrix_opaque*’} to ‘LAGraph_Graph’ {aka ‘LAGraph_Graph_struct*’}
   55 |     LAGraph_cdlp(&l, A, symmetric, true, itermax, timing, msg);
      |                      ^
      |                      |
      |                      GrB_Matrix {aka GB_Matrix_opaque*}
In file included from /home/devcloud/ldbc_graphalytics_platforms_graphblas/graphalytics-1.10.0-graphblas-0.1.0-SNAPSHOT/src/main/c/include/utils.h:6,
                 from /home/devcloud/ldbc_graphalytics_platforms_graphblas/graphalytics-1.10.0-graphblas-0.1.0-SNAPSHOT/src/main/c/src/algorithms/cdlp.cpp:10:
/usr/local/include/LAGraphX.h:645:19: note:   initializing argument 2 of ‘int LAGraph_cdlp(GB_Vector_opaque**, LAGraph_Graph, int, char*)’
  645 |     LAGraph_Graph G,
      |     ~~~~~~~~~~~~~~^
In file included from /usr/local/include/LAGraphX.h:19,
                 from /home/devcloud/ldbc_graphalytics_platforms_graphblas/graphalytics-1.10.0-graphblas-0.1.0-SNAPSHOT/src/main/c/include/utils.h:6,
                 from /home/devcloud/ldbc_graphalytics_platforms_graphblas/graphalytics-1.10.0-graphblas-0.1.0-SNAPSHOT/src/main/c/src/algorithms/cdlp.cpp:10:
/usr/local/include/GraphBLAS.h:3137:16: note: class type ‘GB_Matrix_opaque’ is incomplete
 3137 | typedef struct GB_Matrix_opaque *GrB_Matrix ;
      |                ^~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/cdlp.dir/build.make:76: CMakeFiles/cdlp.dir/src/algorithms/cdlp.cpp.o] Error 1
make[2]: Leaving directory '/home/devcloud/ldbc_graphalytics_platforms_graphblas/graphalytics-1.10.0-graphblas-0.1.0-SNAPSHOT/bin/exe'
make[1]: *** [CMakeFiles/Makefile2:149: CMakeFiles/cdlp.dir/all] Error 2
make[1]: Leaving directory '/home/devcloud/ldbc_graphalytics_platforms_graphblas/graphalytics-1.10.0-graphblas-0.1.0-SNAPSHOT/bin/exe'
make: *** [Makefile:91: all] Error 2
szarnyasg commented 1 year ago

Hi Henry, this repository moved to SuiteSparse:GraphBLAS v8. https://github.com/ldbc/ldbc_graphalytics_platforms_graphblas/blob/main/bin/sh/install-graphblas.sh#L8

This is currently only available as a draft version but it is expected to be complete soon: https://github.com/DrTimothyAldenDavis/GraphBLAS/releases/tag/v8.0.0.draft9

szarnyasg commented 1 year ago

Okay, so there were two issues:

1) The change from SuiteSparse:GraphBLAS v7 to v8(draft). 2) The CDLP algorithm was improved by @pcostanza in PR https://github.com/GraphBLAS/LAGraph/pull/192 and the glue code in this repository had to be updated to accommodate those changes.

The CI is green now.

hagabb commented 1 year ago

I pulled the updated repo this morning and it's working again.