• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

GraphBLAS.h.inH A D18-May-2021409.1 KiB8,8397,721

GraphBLAS_API_version.tex.inH A D18-May-2021170 43

GraphBLAS_version.tex.inH A D18-May-2021145 64

README.md.inH A D18-May-20214.4 KiB11473

README.md.in

1# SuiteSparse:GraphBLAS
2
3SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved.
4
5SPDX-License-Identifier: Apache-2.0
6
7VERSION @GraphBLAS_VERSION_MAJOR@.@GraphBLAS_VERSION_MINOR@.@GraphBLAS_VERSION_SUB@, @GraphBLAS_DATE@
8
9SuiteSparse:GraphBLAS is a complete implementation of the GraphBLAS standard,
10which defines a set of sparse matrix operations on an extended algebra of
11semirings using an almost unlimited variety of operators and types.  When
12applied to sparse adjacency matrices, these algebraic operations are equivalent
13to computations on graphs.  GraphBLAS provides a powerful and expressive
14framework for creating graph algorithms based on the elegant mathematics of
15sparse matrix operations on a semiring.
16
17See the user guide in `Doc/GraphBLAS_UserGuide.pdf` for documentation on the
18SuiteSparse implementation of GraphBLAS, and how to use it in your
19applications.
20
21See http://graphblas.org for more information on GraphBLAS, including the
22GraphBLAS C API (also in `Doc/GraphBLAS_API_C.pdf`).  See
23https://github.com/GraphBLAS/GraphBLAS-Pointers
24for additional resources on GraphBLAS.
25
26
27QUICK START: To compile and install, do these commands in this directory:
28
29    make
30    sudo make install
31
32Please be patient; some files can take several minutes to compile.  Requires an
33ANSI C11 compiler, so cmake will fail if your compiler is not C11 compliant.
34See the User Guide PDF in Doc/ for directions on how to use another compiler.
35
36For faster compilation, do this instead of just "make", which uses 32
37parallel threads to compile the package:
38
39    make JOBS=32
40
41The output of the demo programs will be compared with their expected output.
42
43To remove all compiled files:
44
45    make clean
46
47To compile the demos:
48
49    make all
50
51See the GraphBLAS/ subfolder for the MATLAB interface, which contains a
52README.md file with further details.
53
54--------------------------------------------------------------------------------
55## Files and folders in this GraphBLAS directory:
56
57CMakeLists.txt:  cmake instructions to compile GraphBLAS
58
59Config:         version-dependent files used by CMake
60
61Demo:           a set of demos on how to use GraphBLAS
62
63Doc:            SuiteSparse:GraphBLAS User Guide and license
64
65GraphBLAS:      the @GrB MATLAB interface, including its test suite and demos.
66                This folder is called 'GraphBLAS' so that typing 'help
67                graphblas' or 'doc graphblas' in the MATLAB Command Window can
68                locate the Contents.m file.  Note that this folder and all its
69                contents are under the GNU GPLv3 (or later), not Apache-2.0.
70
71Include:        user-accessible include file, GraphBLAS.h
72
73Makefile:       to compile the SuiteSparse:GraphBLAS library and demos
74
75README.md:      this file
76
77Source:         source files of the SuiteSparse:GraphBLAS library.
78
79Tcov:           test coverage, requires MATLAB
80
81Test:           Extensive tests, not meant for general usage.  To compile
82                SuiteSparse:GraphBLAS and test in MATLAB, go to this directory
83                and type make;testall in MATLAB.
84
85build:          build directory for CMake, initially empty
86
87alternative:    an alternative to CMake; edit the alternative/Makefile and do
88                "make" or "make run" in the 'alternative' directory.
89
90--------------------------------------------------------------------------------
91
92## GraphBLAS C API Specification:
93
94This version fully conforms to the version @GraphBLAS_API_VERSION_MAJOR@.@GraphBLAS_API_VERSION_MINOR@.@GraphBLAS_API_VERSION_SUB@ (@GraphBLAS_API_DATE@)
95of the GraphBLAS C API Specification.  It includes several additional functions
96and features as extensions to the spec.
97
98All functions, objects, and macros with the prefix GxB are extensions to
99the spec.  Functions, objects, and macros with prefix GB must not be accessed
100by user code.  They are for internal use in GraphBLAS only.
101
102--------------------------------------------------------------------------------
103
104## About NUMA systems
105
106I have tested this package extensively on multicore single-socket systems, but
107have not yet optimized it for multi-socket systems with a NUMA architecture.
108That will be done in a future release.  If you publish benchmark comparisons
109with this package, please state the SuiteSparse:GraphBLAS version, and a caveat
110if appropriate.  If you see significant performance issues when going from a
111single-socket to multi-socket system, I would like to hear from you so I can
112look into it.  Contact me at davis@tamu.edu.
113
114