Designing a Multicore Graph Library - Samer, P.; Sampaio, A. H.; Milanes, A.; Urrutia, S. (2012 IEEE 10th International Symposium on Parallel and Distributed Processing with Applications, 2012)
Graph Theory provides a set of powerful tools (both theorems and algorithms) for problem modeling and solving in numerous domains. Though there are several libraries implementing graph algorithms and targeting different platforms and users, few of those offer parallel implementations. To the best of our knowledge, there is a particular need for an easier to use and extend library, specifically designed to exploit the multicore architecture trend for high performance parallelism. In this paper we describe Magical, a new OpenMP-based C++ multicore graph library. Our focus is to provide an implementation of graph algorithms which is designed for multicore architectures, by means of an easy to use application programming interface. We describe the library design and evaluate its performance by means of a case study concerning a shortest-paths problem.