13  Multithread versions of QW-Simulator

Since QuickWave-3D was launched onto the market in 1997, the use of and need for electromagnetic simulators in research and industry have greatly increased. Unfortunately, certain important problems of microwave and millimetre-wave engineering still remain beyond reach because of long CPU times required. On contemporary single-processor personal computers, QW-Simulator can perform one FDTD iteration over a few tens of millions of FDTD cells in one second. It is not unusual that we need to discretise the structure into tens of millions of cells, and to simulate the fields for hundreds of thousands of iterations. One complete cycle of analysis with QW-Simulator will then require from a few minutes to several hours of computing time for whatever may be considered as a “typical” problem. Tens or hundreds of such cycles will be needed if QW-Simulator is invoked from an external optimisation loop for automatic circuit design.

Note that the CPU time requirement further increases as we proceed from “typical” to electrically large or geometrically complicated problems. In both cases, an increasing number N of FDTD cells is needed to discretise the structure along each of the three coordinate axis, either to span its outermost dimensions, or to refine the mesh near geometrical details. The FDTD simulation time will then increase as N4. This scaling is less rapid than in the finite element methods, where direct matrix inversion slows down as N7, and iterative inversion can achieve N4..6 only in the case of good preconditioning. Nevertheless, still faster algorithms are awaited by engineers and researchers.

It should be emphasised that QW-Simulator is a highly advanced FDTD tool. On the one hand, it incorporates the most up-to-date concepts of conformal field and shape approximation, producing accurate results with a reasonably coarse mesh. On the other hand, it makes extensive use of the modern programming techniques. Thus it can be considered to provide a nearly optimum speed of the electromagnetic analysis on a single-processor computer.

One possibility to further accelerate QW-Simulator is through parallel implementations for multiprocessor computers. Admittedly, parallelised FDTD algorithms have been investigated by several authors (see [M3] [M2] in User Guide 3D: Bibliography chapter and references therein), but all those works share two assumptions. Firstly, they are concerned with massively parallel computer systems. Such systems operate at large research institutions, but are not generally available to design engineers worldwide. Secondly, the only considered concept for parallelisation has been spatial decomposition.

Accordingly, QWED’s target is to develop parallelised versions of QW-Simulator for multiprocessor PCs. Multithread programming techniques are employed. In comparison with the sequential version, an M-thread version working on M processors would ideally provide a speed-up by factor of M, although in practice this speed-up will be lower due to thread management.

All multithread versions of QW-Simulator will be further referred to by a joint notion of QW-MultiSim or its QW-MT acronym.

 

The following version of QW-MultiSim are available:

·       QW-OMP - this version uses OpenMP programming standard (http://www.openmp.org/) to accelerate the FDTD loop. QW-OMP is based on new programming standards of Visual Studio. QWED recommends using this version as a very convenient, easy and efficient tool for speeding up FDTD calculations.

 

Note that the speed-up factors achieved in practice are always lower, and in some cases can be substantially lower, than the ideal speed-ups. Users interested in optimising performance are encouraged to contact QWED support for advice.