GithubHelp home page GithubHelp logo

isabella232 / graphblas Goto Github PK

View Code? Open in Web Editor NEW

This project forked from intel/graphblas

0.0 0.0 0.0 70.23 MB

SuiteSparse:GraphBLAS: graph algorithms in the language of linear algebra. To use the production version, be sure to use the (default) STABLE branch. Code development is on the (non-default) MASTER branch. See also the tagged releases.

Home Page: http://faculty.cse.tamu.edu/davis/GraphBLAS.html

CMake 0.07% Makefile 0.05% Shell 0.24% C 77.98% MATLAB 7.20% Awk 0.01% TeX 0.09% HTML 1.19% C++ 12.40% Objective-C 0.79%

graphblas's Introduction

SuiteSparse:GraphBLAS

SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2020, All Rights Reserved. http://suitesparse.com See GraphBLAS/Doc/License.txt for license.

VERSION 3.3.1, June 30, 2020

SuiteSparse:GraphBLAS is an full implementation of the GraphBLAS standard, which defines a set of sparse matrix operations on an extended algebra of semirings using an almost unlimited variety of operators and types. When applied to sparse adjacency matrices, these algebraic operations are equivalent to computations on graphs. GraphBLAS provides a powerful and expressive framework for creating graph algorithms based on the elegant mathematics of sparse matrix operations on a semiring.

See the user guide in Doc/GraphBLAS_UserGuide.pdf for documentation on the SuiteSparse implementation of GraphBLAS, and how to use it in your applications.

See http://graphblas.org for more information on GraphBLAS, including the GraphBLAS C API (also in Doc/GraphBLAS_API_C.pdf). See https://github.com/GraphBLAS/GraphBLAS-Pointers for additional resources on GraphBLAS.

QUICK START: To compile, run several demos, and install, do these commands in this directory:

make
sudo make install

Please be patient; some files can take several minutes to compile. Requires an ANSI C11 compiler, so cmake will fail if your compiler is not C11 compliant. See the User Guide PDF in Doc/ for directions on how to use another compiler.

For faster compilation, do this instead of just "make", which uses 32 parallel threads to compile the package:

make JOBS=32

The output of the demo programs will be compared with their expected output.

To remove all compiled files:

make clean

To compile the library without running the demos or installing it:

make library

See the GraphBLAS/ subfolder for the MATLAB interface, which contains a README.md file with further details.


Files and folders in this GraphBLAS directory:

CMakeLists.txt: cmake instructions to compile GraphBLAS

Config: version-dependent files used by CMake

Demo: a set of demos on how to use GraphBLAS

Doc: SuiteSparse:GraphBLAS User Guide and license

Extras: parallel methods: triangle counting, k-truss, and a massively parallel (MPI) Kronecker product matrix generator. These are stand-along package that rely on GraphBLAS. They are not compiled by the cmake script. See Extras/README.txt for more details.

GraphBLAS: the MATLAB interface. This folder is called 'GraphBLAS' so that typing 'help graphblas' or 'doc graphblas' in the MATLAB Command Window can locate the Contents.m file.

Include: user-accessible include file, GraphBLAS.h

Makefile: to compile the SuiteSparse:GraphBLAS library and demos

README.md: this file

Source: source files of the SuiteSparse:GraphBLAS library.

Tcov: test coverage, requires MATLAB

Test: Extensive tests, not meant for general usage. To compile SuiteSparse:GraphBLAS and test in MATLAB, go to this directory and type make;testall in MATLAB.

build: build directory for CMake, initially empty

alternative: an alternative to CMake; edit the alternative/Makefile and do "make" or "make run" in the 'alternative' directory.


SPEC:

This version fully conforms to the version 1.3.0 (Sept 25, 2019) of the GraphBLAS C API Specification. It includes several additional functions and features as extensions to the spec. These extensions are tagged with the keyword SPEC: in the code and in the User Guide, and in the Include/GraphBLAS.h file. All functions, objects, and macros with the prefix GxB are extensions to the spec. Functions, objects, and macros with prefix GB must not be accessed by user code. They are for internal use in GraphBLAS only.

graphblas's People

Contributors

drtimothyaldendavis avatar scottkolo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.