Transportability in practice - recent experience with the NAG Library

J. J. Du Croz · ACM SIGNUM Newsletter · 1978

Two guiding principles for the development of the NAG Library are: the algorithms must be adaptable to the characteristic of the computer on which they are being run; the software must be transportable (These concepts have been discussed in detail elsewhere.) The purpose of this talk is to discuss how these principles have stood the test of practice over the past two years and how NAG's approach to library development has been refined in the light of experience. The adaptability of algorithms is achieved with the aid of machine-dependent parameters, available through calls of library functions. The initial set of parameters was concerned only with the arithmetic properties of the computer. A new parameter is now being introduced, concerned with storage organizations: it will enable algorithms for certain operations of linear algebra to adapt, when run on a paged machine, to the approximate amount of real store available, and hence to achieve a dramatic reduction in page-thrashing. The transportability of the software is proven by the fact that the NAG Library has now been implemented on 25 different computer systems - including several minicomputers, which required no fundamental change of approach. The talk will discuss various interesting problems which have arisen in the course of implementation. Frequently it has been deficiencies in the compiler and associated software that have caused the problems, rather than defects in the NAG routines. NAG's test software (though not always ideally suited to the task) has proved remarkably effective at detecting these problems before the Library is released to sites. This justifies NAG's policy of always distributing a tested compiled library (in addition to the source-text).

Read the paper · More papers on PaperTik