Tiger LDRD final report [report]

D J Steich, S T Brugger, J S Kallman, D A White
2000 unpublished
EXECUTIVE SUMMARY This final report describes our efforts on the Three-Dimensional Massively Parallel CEM Technologies LDRD project (97-ERD-009). Significant need exists for more advanced time domain computational electromagnetics modeling. Bookkeeping details and modifying inflexible software constitute a vast majority of the effort required to address such needs. The required effort escalates rapidly as problem complexity increases. For example, hybrid meshes requiring hybrid numerics on
more » ... id numerics on massively parallel platforms (MPPs). This project attempts to alleviate the above limitations by investigating flexible abstractions for these numerical algorithms on MPPs using object-oriented methods, providing a programming environment insulating physics from bookkeeping. The three major design iterations during the project, known as TIGER-I to TIGER-III, are discussed. Each version of TIGER is briefly discussed along with lessons learned during the development and implementation. An Application Programming Interface ( M I ) of the object-oriented interface for Tiger-III is included in three appendices. The three appendices contain the Utilities, Entity-Attribute, and Mesh libraries developed during the project. The -API libraries represent a snapshot of our latest attempt at insulated the physics from the bookkeeping. representing (and extracting information from) problem meshes, as well as partitioning and communications. The vehicle for this effort was the C++ language. The object2 oriented features of C++ make abstracting the bookkeeping into a small set of classes much less difficult. To this end a set of libraries and a pre-mesh-processor has been constructed: 9 A Utilities library. 9 set of container classes suited to PDE (Partial Differential Equation) solution 9 set of communication classes (Message Passing Interface (MPI) & Pthreads) P a memory management system that organizes raw memory usage 9 miscellaneous utilities (Oct-tree, Red-black binary tree, Registry, String, . . classes) 9 A Entity-Attribute library. tes the organization and construction of local, shared, and computed es in a multi-processor s e t t i n o modification of _y n identical sets of Attributes k=-^.y*s th. n . J l~r . b o * c$ *E&61'%5 extensive data construction methods multi-processor Entity/Attribute communication systems extensible programming API for data modification and association 9 A Mesh library. 9 9 manages Topological connectivity between Entities 9 manages the construction of mesh parts into the Entity/Attribute container 9 serial and parallel versions Mesh reader hierarchy > PreTiger a pre-mesh-processor-that sets up the mesh input for TIGER in multi-~Ivfmk-ClasSes-~ t%a&bility to have multiple unconnected/ dinated /unstructured / structured meshes -----------. processor setting > manages the mesh part partition 9 re-maps non-contiguous to cont 9 allocates processors for each mesh part 9 writes m c e s s o r specific partition files for TIGER These librari w ow the physicist or analyst to deal with the phenomena to be modeled instead of writing code to hold and distribute meshes in memory. This project has gone through a number of design and implementation iterations. We have taken earlier designs to the point of building specialized Maxwell's equation simulators. At each iteration we have improved the performance and the programmer interface to the libraries. The first iteration culminated in TIGER-I, which was capabIe of representing unstructured meshes. The second iteration culminated in TIGER-II which
doi:10.2172/15005658 fatcat:asw4r7ozbzdnhd4j6qa2na26we