Rapid Multipole Graph Drawing on the GPU

  • Apeksha Godiyal
  • Jared Hoberock
  • Michael Garland
  • John C. Hart
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5417)

Abstract

As graphics processors become powerful, ubiquitous and easier to program, they have also become more amenable to general purpose high-performance computing, including the computationally expensive task of drawing large graphs. This paper describes a new parallel analysis of the multipole method of graph drawing to support its efficient GPU implementation. We use a variation of the Fast Multipole Method to estimate the long distance repulsive forces in force directed layout. We support these multipole computations efficiently with a k-d tree constructed and traversed on the GPU. The algorithm achieves impressive speedup over previous CPU and GPU methods, drawing graphs with hundreds of thousands of vertices within a few seconds via CUDA on an NVIDIA GeForce 8800 GTX.

References

  1. 1.
    Aluru, S., Prabhu, G.M., Gustafson, J.: Truly distribution-independent algorithms for the n-body problem. In: Proc. Supercomputing, pp. 420–428 (1994)Google Scholar
  2. 2.
    Appel, A.W.: An efficient program for many-body simulation. SIAM J. Sci. & Stat. Comp. 6(1), 85–103 (1985)CrossRefMathSciNetGoogle Scholar
  3. 3.
    Barnes, J., Hut, P.: A hierarchical o(n log n) force-calculation algorithm. Nature 324(6096), 446–449 (1986)CrossRefGoogle Scholar
  4. 4.
    Batini, C.: Applications of graph drawing to software engineering (abstract). SIGACT News 24(1), 57 (1993)CrossRefGoogle Scholar
  5. 5.
    Bentley, J.L.: Multidimensional binary search trees used for associative searching. CACM 18(9), 509–517 (1975)CrossRefMATHGoogle Scholar
  6. 6.
    Carr, N.A., Hoberock, J., Crane, K., Hart, J.C.: Fast gpu ray tracing of dynamic meshes using geometry images. In: Proc. Graphics Interface, pp. 203–209 (2006)Google Scholar
  7. 7.
    Davidson, R., Harel, D.: Drawing graphs nicely using simulated annealing. ACM Trans. Graph. 15(4), 301–331 (1996)CrossRefGoogle Scholar
  8. 8.
    Dikaiakos, M.D., Stadel, J.: A performance study of cosmological simulations on message-passing and shared-memory multiprocessors. In: Intl. Conf. on Supercomputing, pp. 94–101 (1996)Google Scholar
  9. 9.
    Eades, P.A.: A heuristic for graph drawing. Congressus Numerantium 42, 149–160 (1984)MathSciNetGoogle Scholar
  10. 10.
    Foley, T., Sugerman, J.: Kd-tree acceleration structures for a GPU raytracer. In: Proc. Graphics Hardware, pp. 15–22 (2005)Google Scholar
  11. 11.
    Frishman, Y., Tal, M.-A.: Multi-level graph layout on the gpu. IEEE Trans. Vis. Comp. Graph. 13(6), 1310–1319 (2007)CrossRefGoogle Scholar
  12. 12.
    Fruchterman, T.M.J., Reingold, E.M.: Graph drawing by force-directed placement. Software - Practice and Experience 21(11), 1129–1164 (1991)CrossRefGoogle Scholar
  13. 13.
    Gajer, P., Goodrich, M.T., Kobourov, S.G.: A multi-dimensional approach to force-directed layouts of large graphs. Comput. Geom. Theory Appl. 29(1), 3–18 (2004)CrossRefMATHMathSciNetGoogle Scholar
  14. 14.
    Gajer, P., Kobourov, S.G.: GRIP: Graph dRawing with intelligent placement. In: Marks, J. (ed.) GD 2000. LNCS, vol. 1984, pp. 222–228. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. 15.
    Grama, A.Y., Kumar, V., Sameh, A.: Scalable parallel formulations of the Barnes-Hut method for n-body simulations. In: Proc. Supercomputing, pp. 439–448 (1994)Google Scholar
  16. 16.
    Greengard, L.F.: The rapid evaluation of potential fields in particle systems. Ph.D. thesis, Yale, New Haven, CT, USA (1987)Google Scholar
  17. 17.
    Gumerov, N.A., Duraiswami, R.: Fast multipole methods on graphics processors. J. Comp. Physics 227, 8290–8313 (2008)CrossRefMATHMathSciNetGoogle Scholar
  18. 18.
    Hachul, S., Jünger, M.: Large-graph layout with the fast multipole multilevel method. Tech. rep., Zentrum für Angewandte Informatik Köln (December 2005)Google Scholar
  19. 19.
    Hachul, S., Junger, M.: An experimental comparison of fast algorithms for drawing general large graphs. In: Healy, P., Nikolov, N.S. (eds.) GD 2005. LNCS, vol. 3843, pp. 235–250. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  20. 20.
    Harel, D., Koren, Y.: A fast multi-scale method for drawing large graphs. In: Marks, J. (ed.) GD 2000. LNCS, vol. 1984, pp. 183–196. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  21. 21.
    Harel, D., Koren, Y.: Graph drawing by high dimensional embedding. In: Goodrich, M.T., Kobourov, S.G. (eds.) GD 2002. LNCS, vol. 2528. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  22. 22.
    Kamada, T., Kawai, S.: An algorithm for drawing general undirected graphs. Inf. Process. Lett. 31(1), 7–15 (1989)CrossRefMATHMathSciNetGoogle Scholar
  23. 23.
    Koren, Y., Carmel, L., Harel, D.: ACE: a fast multiscale eigenvectors computation for drawing huge graphs (2001)Google Scholar
  24. 24.
    Mahmoud, H.M.: Sorting: A Distribution Theory, chap. High Qulaity Ambient Occlusion. Wiley Interscience, Hoboken (2000)CrossRefGoogle Scholar
  25. 25.
    NVIDIA: CUDA data parallel primitives library, http://www.gpgpu.org/developer/cudpp/
  26. 26.
    NVIDIA: CUDA programming guide (2007), http://developer.nvidia.com/object/cuda.html
  27. 27.
    Pharr, M., Fernando, R.: GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation. Addison-Wesley, Reading (2005)Google Scholar
  28. 28.
    Sarin, V.: Analyzing the error bounds of multipole-based treecodes. In: Proc. Supercomputing, p. 19 (1998)Google Scholar
  29. 29.
    Sengupta, S., Harris, M., Zhang, Y., Owens, J.D.: Scan primitives for gpu computing. In: Proc. Graphics Hardware, August 2007, pp. 97–106 (2007)Google Scholar
  30. 30.
    Stock, M.J., Gharakhani, A.: Toward efficient gpu-accelerated n-body simulations. In: 46th AIAA Aerospace Sciences Meeting & Exhibit (2008)Google Scholar
  31. 31.
    Uhlmann, J.K.: Enhancing multidimensional tree structures by using a bi-linear decomposition. Natl. Tech. Info. Svc. ADA229756 (1990)Google Scholar
  32. 32.
    Walshaw, C.: A multilevel algorithm for force-directed graph drawing. In: Marks, J. (ed.) GD 2000. LNCS, vol. 1984, pp. 171–182. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  33. 33.
    Walshaw, C.: Graph collection, staffweb.cms.gre.ac.uk/~wc06/partition/ (2007)

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Apeksha Godiyal
    • 1
  • Jared Hoberock
    • 1
  • Michael Garland
    • 2
  • John C. Hart
    • 1
  1. 1.University of IllinoisUSA
  2. 2.NVIDIA Corp.USA

Personalised recommendations