Another Word For It Patrick Durusau on Topic Maps and Semantic Diversity

January 15, 2014

MPGraph: [GPU = 3 Billion Traversed Edges Per Second]

Filed under: GPU,Graphs,Parallel Programming — Patrick Durusau @ 3:32 pm

mpgraph Beta: Massively Parallel Graph processing on GPUs

From the webpage:

MPGraph is Massively Parallel Graph processing on GPUs.

The MPGraph API makes it easy to develop high performance graph analytics on GPUs. The API is based on the Gather-Apply-Scatter (GAS) model as used in GraphLab. To deliver high performance computation and efficiently utilize the high memory bandwidth of GPUs, MPGraph’s CUDA kernels use multiple sophisticated strategies, such as vertex-degree-dependent dynamic parallelism granularity and frontier compaction.

MPGraph is up to two order of magnitude faster than parallel CPU implementations on up 24 CPU cores and has performance comparable to a state-of-the-art manually optimized GPU implementation.

New algorithms can be implemented in a few hours that fully exploit the data-level parallelism of the GPU and offer throughput of up to 3 billion traversed edges per second on a single GPU.

Before some wag blows off the “3 billion traversed edges per second on a single GPU” by calling MPGraph a “graph compute engine,” consider this performance graphic:

MPGraph performance

Screenshot 1 / 1 MPGraph showing BFS speedup over graphlab. Comparison is a single NVIDIA K20 verus up to 24 CPU cores using an 3.33 GHz X5680 CPU chipset.

Don’t let name calling keep you from seeking the graph performance you need.

Flying an F-16 requires more user skill than a VW. But when you need an F-16, don’t settle for a VW because its easier.

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress