Sandia’s homegrown Xyce software gains notice in world of modeling electrical circuits
Sandia’s homegrown four-year-old Xyce(tm) software is gaining notice in the world of modeling electrical circuits.
Late last month the electric circuit simulation code ran a 14,336,000-analog-device problem, using 1,024 processors of Lawrence Livermore’s ASCI (Accelerated Strategic Computing Initiative) White IBM computer. It is believed to be the largest analog circuit simulation ever done, and it was conducted on the largest number of concurrent processors ever used for circuit simulation.
The accomplishment was part of a scaling study in support of an ASCI milestone, and the developers are convinced they can build a simulation code that can model even faster.
An interdisciplinary team from Depts. 9233, 8205, and 1734 began work on Xyce in July 1999 to develop an electrical modeling code that better meets Sandia’s needs. Currently, Sandia’s circuit simulation community relies mainly on a commercial code, PSpice (note the rhyming with Xyce), which operates sequentially, and hence, not as rapidly for large-scale circuit problems. Furthermore, Xyce gives Sandia the ability to simulate circuit problems of unprecedented size.
"We had our specific needs — like some of our device models have to support environmental effects [e.g., radiation], which no commercial circuit simulator supports," says Scott Hutchinson (9233), technical lead. "Also we needed a simulation code that ran faster."
The team determined that SPICE-based codes with enhancements could not meet Sandia’s needs for parallel computing.
So they created Xyce, a parallel code in the most general sense of the phrase — a message-passing parallel implementation that allows it to run efficiently on the widest possible number of computing platforms, including serial, shared-memory, and distributed-memory parallel as well as heterogeneous platforms. Also the team paid careful attention to the specific nature of circuit simulation problems to ensure that the optimal parallel efficiency is achieved even as the numbers of processors grow.
"Xyce is still maturing and is in the early development stage" says Sudip Dosanjh, Manager of Computational Science Dept. 9233. His department consists of experts in algorithms, numerical methods, code development, and electrical engineering.
Version 1.0 was first released in October 2002. A second version, 1.1, was released last week. Xyce 2.0 will be released in October 2003. Since version 1.0, Scott and his team have made 68 "bug-fixes" and enhancements.
Xyce provides a modern, in-house simulation tool on which to build future enhancements targeted at the design and analysis needs of
Sandia’s electrical design community.
The fast modeling of electrical circuits is useful in two ways. First, it gives engineers a leg up in designing electrical devices. They can start with an initial design created through the simulation that they can build and improve on — saving a lot of time in the design phase. It will provide a circuit-modeling tool capable of running efficiently on high-performance parallel computers using state-of-the-art algorithms. Second, modeling can be used to analyze existing circuits to determine if they are functioning correctly. Currently there are 10 Sandia users of Xyce.
Xyce is the main code of a larger project, High Performance Electrical Modeling Simulation (HPEMS), funded primarily by DOE’s ASCI Application program. Among HPEMS’ goals are to support Sandia-specific circuit models, include a consistent designer interface, produce an efficient parallel implementation on a variety of architectures, and implement improved, scalable algorithms that address SPICE convergence problems.
"Xyce has been a great collaboration between Centers 1700, 9200, and 8200," says Steve Wix, project leader for HPEMS. "Centers 1700 and 8200 provide expertise in device models and applications while 9200 has provided expertise in numerical methods and computational science."
To illustrate how far electrical circuit computing has come in four years, Scott compared what could be done then and what can be done now.
"In 1999 it took 233 hours to simulate 79 circuits on a Pentium multiplier," Scott says. "Today on the faster hardware and running parallel it would take one hour.