The GraphBLAS C API Specification, Version 1.3.0
Abstract
The GraphBLAS standard defines a set of matrix and vector operations based on semi-ring algebraic structures. These operations can be used to express a wide range of graph algorithms. This document defines the C binding to the GraphBLAS standard. We refer to this as the GraphBLAS C API (Application Programming Interface).The GraphBLAS C API is built on a collection of objects exposed to the C programmer as opaque data types. Functions that manipulate these objects are referred to as methods. These methods fully define the interface to GraphBLAS objects to create or destroy them, modify their contents, and copy the contents of opaque objects into non-opaque objects; the contents of which are under direct control of the programmer. The GraphBLAS C API is designed to work with C99 (ISO/IEC 9899:199) extended with static type-based and number of parameters-based function polymorphism, and language extensions on par with the Generic construct from C11 (ISO/IEC 9899:2011). Furthermore, the standard assumes programs using the GraphBLAS C API will execute on hardware that supports floating point arithmetic such as that defined by the IEEE 754 (IEEE 754-2008) standard.
Document Details
- Document Type
- Technical Report
- Publication Date
- Sep 25, 2019
- Accession Number
- AD1082876
Entities
People
- Aydin Buluc
- Carl Yang
- Jose Moreira
- Scott McMillan
- Timothy G. Mattson
Organizations
- Carnegie Mellon University