Specialized hardware is not helpful if it is not programmable. Leveraging the Asp framework from the SEJITS project, we built a simple graph domain-specific language (DSL) around the bulk-synchronous parallel model (similar to Pregel). Our DSL implements the vertex-centric programming model and we call it the Graph Bulk-Synchronous Parallel (GBSP) system .
Our implementation's single-threaded performance is comparable to the performance of the standard Boost Graph Library (BGL). Our graph DSL within Python is able to compete with native C++ due to the SEJITS approach. Better yet, since GBSP implements the BSP model, it was trivial to parallelize it. BGL is not parallelized and thus can not take advantage of additional cores.