no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


Next revision
graphgen [2017/09/29 14:11] – external edit 127.0.0.1
Line 1: Line 1:
 +====== GraphGen: Compiling Graph Algorithms for Accelerator Platforms ======
 + 
 +This project proposes and investigates GraphGen, a domain-specific compiler that accepts graph algorithms described in a widely used vertex-centric graph specification to target a diverse range of non-Von-Neumann accelerator platforms. The goal of GraphGen is to enable application- and algorithm-level programmers without specific platform expertise to nevertheless be able to take advantage of the performance and energy efficiency of accelerator platforms. The GraphGen compilation approach produces an executable for a standard Graph Execution Model (GEM).  Akin to an ISA for graph computations, GEM is a fixed low-level abstraction designed to capture arbitrary graph computations in general and to permit efficient direct support in hardware or light-weight interpretation in software. Once a platform specialist has created GEM support, the platform can be used to execute arbitrary graph computations compiled by GraphGen from a vertex-centric graph specification input. Conversely, the same specification input can be retargeted to any GEM-enabled platform.   Aside from being able to run graph algorithms on existing accelerator platforms (FPGAs, GPUs), there is also opportunity to investigate novel dedicated graph processor architectures.  This is a project in collaboration with Dr. Eriko Nurvitadhi of Intel ISTC. Funding for this work has been provided, in part, by the National Science Foundation (CCF-1320725) and the Intel Science and Technology Center on Embedded Computing.
  
 +  * **Students**
 +    * Marie Nguyen
 +    * Yu Wang
 +    * [[http://www.cs.cmu.edu/~gweisz/ |Gabriel Weisz]]
 +  * **Demo**
 +    * [[http://www.ece.cmu.edu/coram/doku.php?id=graphgencnn |CNN Handwriting Recognition]]
 +  * **Publications**
 +    * Gabriel Weisz, Joseph Melber, Yu Wang, Kermin Fleming, Eriko Nurvitadhi and James C. Hoe. **A Study of Pointer-Chasing Performance on Shared-Memory Processor-FPGA Systems**. Proc. ACM International Symposium on Field-Programmable Gate Arrays (FPGA), February 2016. ([[http://www.ece.cmu.edu/~jhoe/distribution/2016/fpga16.pdf |pdf]])
 +    * Eriko Nurvitadhi, Gabriel Weisz, Yu Wang, Skand Hurkat, Marie Nguyen, and James C. Hoe, José F. Martinez, Carlos Guestrin.  **GraphGen: An FPGA Framework for Vertex-Centric Graph Computation**. Proc. IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM),  May 2014. ([[http://www.ece.cmu.edu/~jhoe/distribution/2014/fccm14.pdf |pdf]])
 +    * Gabriel Weisz, Eriko Nurvitadhi, and James C. Hoe. **GraphGen for CoRAM: Graph Computation on FPGAs**. Third Workshop on the Intersections of Computer Architecture and Reconfigurable Logic (CARL), December 2013.
 +    * Eriko Nurvitadhi, Gabe Weisz, James C. Hoe, and Carlos Guestrin. **GraphGen: Design Compiler for Graph Computation**. Workshop on SoCs, Heterogeneous Architectures and Workloads (SHAW-4), February 2013.
 +  * **Related**
 +    * [[FPGA Architecture for Computing |CoRAM FPGA Architecture for Computing]]
 +    * [[http://www.ece.cmu.edu/calcm/carl|Workshop on the Intersections of Computer Architecture and Reconfigurable Logic]] (co-organized with Derek Chiou and Joel Emer)