Skip to content

Commit df36359

Browse files
authored
Merge pull request #2 from peicasey/exact-lin-alg-ebc
Exact lin alg ebc
2 parents 5e10874 + 971fb5a commit df36359

File tree

172 files changed

+41846
-1553
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

172 files changed

+41846
-1553
lines changed

.readthedocs.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22

33
version: 2
44

5-
build:
6-
os: ubuntu-22.04
7-
tools:
8-
python: "3.12"
9-
105
formats:
116
- pdf
127

.vscode/settings.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"files.associations": {
3+
"lg_internal.h": "c",
4+
"random": "c"
5+
}
6+
}

CMakeLists.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@
3939
cmake_minimum_required ( VERSION 3.20 ) # LAGraph can be built stand-alone
4040

4141
# version of LAGraph
42-
set ( LAGraph_DATE "Aug 20, 2024" )
42+
set ( LAGraph_DATE "Feb XX, 2024" )
4343
set ( LAGraph_VERSION_MAJOR 1 CACHE STRING "" FORCE )
44-
set ( LAGraph_VERSION_MINOR 1 CACHE STRING "" FORCE )
45-
set ( LAGraph_VERSION_SUB 4 CACHE STRING "" FORCE )
44+
set ( LAGraph_VERSION_MINOR 2 CACHE STRING "" FORCE )
45+
set ( LAGraph_VERSION_SUB 0 CACHE STRING "" FORCE )
4646

4747
message ( STATUS "Building LAGraph version: v"
4848
${LAGraph_VERSION_MAJOR}.
@@ -247,6 +247,11 @@ elseif ( "${CMAKE_C_COMPILER_ID}" STREQUAL "Intel" )
247247
#if ( CMAKE_C_COMPILER_VERSION VERSION_LESS 18.0 )
248248
# message ( FATAL_ERROR "icc version must be at least 18.0" )
249249
#endif ( )
250+
elseif ( "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang" )
251+
# options for Apple Clang
252+
# FIXME
253+
# set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address" )
254+
# set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread" )
250255
elseif ( "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" AND NOT "${CMAKE_C_COMPILER_FRONTEND_VARIANT}" STREQUAL "MSVC" )
251256
# options for clang
252257
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 " )

ChangeLog

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
Aug 20, 2024: version 1.1.4
1+
Version 1.2.0: in progress
22

3-
* fix MMWrite when matrix is dense
3+
* v2.1 C API: using the new GrB_get/set methods in the C API;
4+
LAGraph can now use a "vanilla" GraphBLAS that supports the v2.1
5+
C API. If SuiteSparse:GraphBLAS is used, v9.0.0 is required.
46

5-
Mar 22, 2024: version 1.1.3
7+
Feb XX, 2024: version 1.1.3
68

79
* minor updates to build system
810

TODO.txt

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
LAGraph TODO:
2+
3+
Aug 21, 2024:
4+
5+
(1) LAGraph 1.1.4 release, with latest GraphBLAS compiled in CI, not
6+
from conda. But see comment in PR first.
7+
8+
LAGraph v1.2:
9+
(3) doesn't compile for vanilla GraphBLAS; add vanilla case to CI
10+
(4) new algorithms, many ready for src, many need a little work.
11+
(5) FIXMEs in src: use GrB_get instead of GxB*
12+
(6) MaximalMatching and CoarsenMatching tests pass with the new
13+
random number generator, but they require LAGraph_Incidence_Matrix,
14+
which needs work to be ready for src
15+
16+
May 29, 2024:
17+
18+
since last meeting: added better random number generator, and argmin/argmax
19+
agenda: see May 15:
20+
(1) many FIXMEs
21+
(2) need latest GraphBLAS (at least 9.1.0)
22+
(3) test coverage
23+
(4) fix MaximalMatching and CoarsenMatching (change in random number
24+
generator broke their tests)
25+
26+
May 15, 2024:
27+
28+
agenda:
29+
need to start moving algorithms from experimental to src;
30+
see all the FIXMEs.
31+
need conda forge with GraphBLAS 9.1.x for github CI
32+
discussion: on random number generation
33+
34+
May 1, 2024:
35+
36+
discussed random number generation.
37+
See commit to v1.2 branch. We also need a more robust
38+
method (Tim Mattson is working on it).
39+
40+
Apr 3, 2024:
41+
42+
candidates for moving experimental into src:
43+
44+
Need a good set of random # generators:
45+
both quick and "dirty", and slow and good.
46+
47+
experimental/algorithm/LAGraph_AllKCore.c
48+
experimental/algorithm/LAGraph_AllKTruss.c
49+
experimental/algorithm/LAGraph_Coarsen_Matching.c
50+
experimental/algorithm/LAGraph_EstimateDiameter.c
51+
experimental/algorithm/LAGraph_ExactDiameter.c
52+
experimental/algorithm/LAGraph_FastGraphletTransform.c
53+
experimental/algorithm/LAGraph_HITS.c
54+
experimental/algorithm/LAGraph_Hdip_Fiedler.c
55+
experimental/algorithm/LAGraph_KCore.c
56+
experimental/algorithm/LAGraph_KCoreDecompose.c
57+
experimental/algorithm/LAGraph_KTruss.c
58+
experimental/algorithm/LAGraph_MaximalIndependentSet.c
59+
experimental/algorithm/LAGraph_MaximalMatching.c
60+
experimental/algorithm/LAGraph_MultiSourceBFS.c
61+
experimental/algorithm/LAGraph_SquareClustering.c
62+
experimental/algorithm/LAGraph_VertexCentrality_Triangle.c
63+
experimental/algorithm/LAGraph_lcc.c
64+
experimental/algorithm/LAGraph_scc.c
65+
experimental/utility/LAGraph_Incidence_Matrix.c
66+
67+
Notes from LAGraph meeting, Mar 20, 2024:
68+
69+
v1.2:
70+
* now using v2.1 C API, but requires a recent SS:GraphBLAS
71+
(add v8.3.x and latest v9.0.3 to CI)?
72+
* test coverage of new experimental methods
73+
* any polished algorithms to move from experimental -> src?
74+
75+
Future:
76+
* add support for complex data types in LAGraph? GrB?
77+
see sparse BLAS effort; they need complex
78+
79+
Notes from LAGraph meeting, June 14, 2023:
80+
81+
For LAGraph 1.2:
82+
83+
* move algorithms from experimental to src
84+
* use v2.1 C API spec
85+
86+
* test coverage of new experimental methods
87+
* need faster MM reader/writer
88+
89+
90+
LDBC: updates, in src, and experimental <<<<
91+
polished experimental --> to src
92+
93+
94+
document promotion from experimental to src
95+
(checklist)
96+
97+
(1) doxygen comments in LAGraphX.h -> LAGraph.h
98+
(2) match error codes, msg usage
99+
(3) unit test, experimental/test/test_HelloWorld
100+
kinds of tests
101+
(a) reimplement algo in C, compare w LAGraph
102+
(b) check validity after getting LAGraph result
103+
(c) bespoke sample results from other packages
104+
for specific graph test cases
105+
(d) smoke test ... need more than this
106+
(4) experimental/benchmark/hello_demo.c
107+
(5) performance OK? compared to what baseline?
108+
time and memory
109+
110+
(6) How GraphBLASy is it?
111+
(7) GxB or vanilla?
112+
113+

data/A_cluster.mtx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
%%MatrixMarket matrix array integer general
2+
%%GraphBLAS type int64_t
3+
7 1 7
4+
0
5+
0
6+
0
7+
0
8+
0
9+
0
10+
0

0 commit comments

Comments
 (0)