THE Xyce™ PARALLEL ELECTRONIC SIMULATOR – AN OVERVIEW
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under Contract DE-AC04-94AL85000.
The Xyce™ Parallel Electronic Simulator has been written to support the simulation needs of the Sandia National Laboratories electrical designers. As such, the development has focused on providing the capability to solve extremely large circuit problems by supporting large-scale parallel computing platforms (up to thousands of processors). In addition, we are providing improved performance for numerical kernels using state-of-the-art algorithms, support for modeling circuit phenomena at a variety of abstraction levels and using object-oriented coding-practices that ensure maintainability and extensibility far into the future.
The code is a parallel code in the most general sense of the phrase – a message passing parallel implementation – which allows it to run efficiently on the widest possible number of computing platforms. These include serial, shared-memory and distributed-memory parallel as well as heterogeneous platforms [1]. Furthermore, careful attention has been paid to the specific nature of circuit-simulation problems to ensure that optimal parallel efficiency is achieved even as the number of processors grows. Thus, it is able to solve circuit problems of an unprecedented size. This paper summarizes the code architecture and some of the novel heuristics and algorithms used to address these large problems and the parallel infrastructure.