What is EnGPar?

Massively parallel computing combined with scalable simulation workflows that can reliably model systems of interest are central to the continued quest of scientists, engineers, and other practitioners to address advances in scientific discovery, engineering design, and medical treatment. However, to meet their potential, these methods must be able to operate efficiently and scale on massively parallel computers executing millions of processes.

EnGPar provides scalable partitioning methods in which the computational workload is well balanced and interprocessor communications overheads are minimized. Building on initial efforts to improve dynamic load balancing methods for adaptive unstructured mesh applications, the goal of the proposed research is to develop fast multicriteria dynamic load balancing methods that are capable of quickly producing well balanced computations, with well controlled communications, for a wide variety of applications.

Where is the code?

Users of unstructured meshes or general relational structures may immediately start using our methods via the APIs and examples in the EnGPar repository and Doxygen Documentation. If you have a usage question please contact us via email or a GitHub Issue. EnGPar currently has initial support for partitioning regular (and scale-free graphs via a split-vertex approach) using a diffusive procedure.

Reference Materials

API Documentation

Doxygen Documentation


Gerrett Diamond, Cameron W. Smith, and Mark S. Shephard "Dynamic Load Balancing of Massively Parallel Unstructured Meshes",   Proceedings of the 8th Workshop on Latest Advances in Scalable Algorithms for Large-Scale Systems (ScalA'17) Held in Conjuction with SC17, Denver, CO. November 13, 2017.

Cameron W. Smith, Brian Granzow, Dan Ibanez, Onkar Sahni, Kenneth E. Jansen and Mark .S. Shephard, "In-memory Integration of Existing Software Components for Parallel Adaptive Unstructured Mesh Workflows",   Proceedings of the XSEDE16 Conference, Miami, FL. July 19, 2016.

Daniel A. Ibanez, E. Seegyoung Seol, Cameron W. Smith, and Mark S. Shephard. "PUMI: Parallel Unstructured Mesh Infrastructure",   ACM Trans. Math. Softw. 42, 3, Article 17. 2016

Cameron W. Smith, Michel Rasquin, Dan Ibanez, Kenneth E. Jansen, and Mark S. Shephard "Improving Unstructured Mesh Partitions for Multiple Criteria Using Mesh Adjacencies ",  SIAM Journal on Scientific Computing, 2016

Sahni, Onkar, et al. "Scalable implicit finite element solver for massively parallel processing with demonstration to 160k cores." Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis. IEEE, 2009.

Zhou, Min, et al. "Controlling unstructured mesh partitions for massively parallel simulations." SIAM Journal on Scientific Computing 32.6 (2010): 3201-3227.


Mark S. Shephard, Glen Hansen, Mauro Perego, Cameron W. Smith, "FASTMath Unstructured Mesh Partitioning Technologies",  Argonne Training Program on Extreme-Scale Computing 2016 (ATPESC 2016), Chicago, IL. August 9, 2016.

Mark S. Shephard, Cameron W. Smith, Dan A. Ibanez, Brian Granzow, Onkar Sahni, and Kenneth Jansen, "Parallel Unstructured Mesh Generation/Adaptation Tools Used in Automated Simulation Workflows", SIAM Parallel Processing, Paris, France. April 14, 2016.

C.W. Smith, M. Rasquin, D.A. Ibanez, K.E. Jansen, and M.S. Shephard, "Unstructured Mesh Partitioning for Adaptive Workflows", USNCCM13. San Diego, CA. July 28, 2015.

C.W. Smith, M. Rasquin, D.A. Ibanez, K.E. Jansen, and M.S. Shephard, "Unstructured Mesh Partitioning to Over One Million Parts", SIAM Computation Science and Engineering. Salt Lake City, UT. March 17, 2015.


Gerrett Diamond, Morteza H. Siboni, Cameron W. Smith, and Mark S. Shephard " Improvements in Curved Mesh Adaptation Procedure for the Omega3P Code ",  SCOREC Reports, 2016