next up previous contents
Next: Obtaining and installing Up: Polynomial Homotopy Continuation: a Previous: PHCPACK: calling from

Computers and compilers

Our software has been developed with VADS (Verdix Ada Development System) on three different machine architectures. We started on a SUN3/280, moved to a DECStation 5240, and later to an IBM RS/6000 workstation. In Table 4 we give an overview of the computers where we can run our software, together with the compilers we used. We distinguish four different machines, from three different computer manufacturers.

  
Table 4: Supported hardware platforms and compilers.

By means of the gnu-ada compiler (see [5]) we are able to realize a full portable version of our program. Next we comment on our experiences with both compiling systems. Because for our application, runtime efficiency is crucial, we ask for full optimization and with a suppression of runtime checks. See Table 5 for some experimental data.

  
Table 5: Compiler efficiency (on SPARCserver 1000MP): Compilation timings and sizes of auxiliary files and executable.

In Table 6 we give an example of the performance of the generated code. Observe that the continuation stage is performed much more efficiently by the gnat-executable. Perhaps this is thanks to the automatic inlining of small subprograms within a unit, invoked by the full optimization of the gnu-ada compiler, see [1].

  
Table 6: Performance of generated code, on the cyclic 7-roots problem. We list cpu times for the computation of the mixed volume ( mvc), polyhedral homotopy continuation ( hom) and the continuation the the target system ( poco).

Note however that this is but a very rough comparison between the two compiling systems. Accordingly we may conclude that the gnu-ada compiler seems to be the winner, both in compiling and runtime efficiency.

Finally we have to make a note on the evolution of speed. The DECStation 5240 and the IBM RS/6000 are about seven times faster than the SUN3/280 we started working on. We can run our executable compiled at our IBM RS/6000 on the node of a IBM SP2 computer, which is a collection of IBM Risc/6000 processors. To our experience, one node is about five time faster than the IBM RS/6000 workstation we compile our software at. On the whole, the machines we have at our disposal grew 35 times faster. Fortunately, by using advanced homotopy continuation methods, the speedup achieved is sometimes much larger, so that choosing the right algorithm remains crucial, even on a fast machine.



next up previous contents
Next: Obtaining and installing Up: Polynomial Homotopy Continuation: a Previous: PHCPACK: calling from



Jan Verschelde
Thu Nov 21 10:50:01 MET 1996