Rf. Fowler et al., PORTING A 3-DIMENSIONAL SEMICONDUCTOR-DEVICE MODELING PROGRAM TO THE INTEL IPSC 860 HYPERCUBE/, Future generations computer systems, 11(1), 1995, pp. 61-70
EVEREST is a three-dimensional device modelling package used to study
the electrical behaviour of semiconductor devices. A set of partial di
fferential equations describing the current flow within the device is
solved using a mixed mesh of tetrahedral and hexahedral elements. The
highly non-linear nature of the equations requires that a flexible sol
ution strategy be used to make the software robust and efficient. With
in the solution process large sparse non-symmetric linear systems are
solved using iterative solvers such as CGS with preconditioning. Run t
imes of many hours or even days are required for realistic devices on
current workstations. EVEREST consists of over 100 000 lines of Fortra
n and was developed for scalar architectures. The main aim of this wor
k was to investigate how such an application could be adapted to run o
n the iPSC/860. A review of some of the possible parallelisation techn
iques is made. Most techniques for the parallel implementation of such
mesh based calculations on MIMD machines involve a partitioning of th
e mesh. An extension of an algorithm due to Farhat has been implemente
d in a pre-processor to partition the device meshes used by EVEREST. A
spects of load balancing and the need to minimise the number of interf
ace nodes in the decomposition are discussed. Some initial results usi
ng the partitioned mesh to perform the system matrix assembly are pres
ented. Methods that could be used to implement a parallel precondition
ed CGS solver on the iPSC/860 are reviewed and some performance estima
tes made using the results of certain BBS tests on this machine.