Graph Programming Interface: Rationale and Specification

Graph Programming Interface (GPI) is an interface for writing graph algorithms using linear algebra formulation. The interface addresses the requirements of supporting both portability and high performance across a wide spectrum of computing platforms. The application developer composes his or her application using a collection of objects and methods defined by GPI. This application is then linked with a run-time library that implements the objects and methods efficiently on the target platform. This run-time library can be optimized to use the memory hierarchy characteristics and parallelism features of that platform. Concrete instances of GPI must follow a specific binding of the interface to a programming language. We first present a binding for the C programming language.

By: K. Ekanadham, Bill Horn, Joefon Jann, Manoj Kumar, José Moreira, Pratap Pattnaik, Mauricio Serrano, Gabi Tanase, Hao Yu

Published in: RC25508 in 2014

rc25508.pdf

Questions about this service can be mailed to reports@us.ibm.com .