Exact Reproducibility of Population PK/PD NLME Numerical Results across Different Computational Environments
R. H. Leary, J. Chittenden, M. Dunlavey, and B. Matzuka
Pharsight®, a Certara™ Company, St. Louis, MO, USA
Objectives: NLME PK/PD software implementations such as NONMEM®, Phoenix® NLMETM, and MONOLIX share a basic structural similarity in that models are expressed in a high level modeling or scripting language (NMTRAN, Pharsight Modeling Language, MLXTRAN) which is then translated into a standard programming language (Fortran, C, C++). The result is then compiled and linked to a precompiled NLME estimation engine. Due to a variety of software and hardware factors, this structure may not produce consistent numerical results across different computational environments . Here we investigate whether Phoenix NLME can be configured to give exactly reproducible numerical results over a wide range of modern processors and Windows operating systems.
Methods: A suite of five test problems was assembled to be run across a range of recent Intel processors and Windows operating systems (Windows 2000 through Windows 7, Intel Pentium IV through Intel Core i3/i5/i7) using the March, 2011 1.2 release version of Phoenix NLME. Additional runs were made with different compiler settings than the release version in order to gain insights into factors influencing numerical variability. Double precision (64-bit) values of all parameter estimates (THETA, OMEGA, SIGMA) and POSTHOC ETA values were written to a binary file to enable bit level comparisons.
Results: All Windows operating systems produced bit-for-bit identical numerical results on all Intel processors tested. Runs made with changes to compiler settings usually produced slightly different numerical results. However, in general, all results within any cohort of runs made with a fixed set of compiler settings were exactly consistent. Factors influencing inter-cohort variation were identified, with many traceable to precision differences in the 80-bit x87 Floating Point Unit used in all the Intel processors and the standard IEEE 64-bit double precision representation in memory.
Conclusions: Exact bit-for-bit reproducibility of numerical Phoenix NLME results across all recent Windows operating systems (Windows 2000 through Windows 7) and Intel processors (Pentium IV through Core i3/i5/i7) has been demonstrated. The key enabling factor is the selection of an appropriate compiler and application of standardized compiler settings.
 P. Bonate, 'Consistency of NONMEM Parameter Estimates Across Platforms and Compilers', AAPS Annual Meeting, Toronto, Canada, 2002.