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.

Open PDF

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

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algebra
  • Algorithms
  • Application Programming Interface
  • Arithmetic
  • C Programming Language
  • Computations
  • Computer Programming
  • Computer Programs
  • Debugging
  • Floating Point Operations
  • Guarantees
  • Language
  • Programming Languages
  • Real Numbers
  • Software Development
  • Two Dimensional
  • United States

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications
  • Graph Algorithms and Convex Optimization.
  • Irregular Warfare and Special Operations Cyberspace Operations against Adversarial Threats.