Modelling the Performance of the Gaussian Chemistry Code on x86 Architectures

Gaussian is a widely used scientific code with application areas in chemistry, biochemistry and material sciences. To operate efficiently on modern architectures Gaussian employs cache blocking in the generation and processing of the two-electron integrals that are used by many of its electronic structure methods. This study uses hardware performance counters to characterise the cache and memory behavior of the integral generation code used by Gaussian for Hartree-Fock calculations. A simple performance model is proposed that aims to predict overall performance as a function of total instruction and cache miss counts. The model is parameterised for three different x86 processors — the Intel Pentium M, the P4 and the AMD Opteron. Results suggest that the model is capable of predicting execution times to an accuracy of between 5 and 15%.

[1]  Benny G. Johnson,et al.  A simple yet powerful upper bound for Coulomb integrals , 1994 .

[2]  Roland Lindh Integrals of Electron Repulsion , 2002 .

[3]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[4]  Peter M. W. Gill,et al.  Molecular integrals Over Gaussian Basis Functions , 1994 .

[5]  Josep Llosa,et al.  A fast and accurate framework to analyze and optimize cache memory behavior , 2004, TOPL.

[6]  Michael E. Wolf,et al.  The cache performance and optimizations of blocked algorithms , 1991, ASPLOS IV.

[7]  Hugh Garraway Parallel Computer Architecture: A Hardware/Software Approach , 1999, IEEE Concurrency.

[8]  David J. Sager,et al.  The microarchitecture of the Pentium 4 processor , 2001 .

[9]  Laura Carrington,et al.  Modeling application performance by convolving machine signatures with application profiles , 2001 .

[10]  Ilya Gluhovsky,et al.  Comprehensive multiprocessor cache miss rate generation using multivariate models , 2005, TOCS.

[11]  M. Ratner Molecular electronic-structure theory , 2000 .

[12]  Trygve Helgaker,et al.  Molecular Electronic-Structure Theory: Helgaker/Molecular Electronic-Structure Theory , 2000 .

[13]  Carl Staelin,et al.  lmbench: Portable Tools for Performance Analysis , 1996, USENIX Annual Technical Conference.

[14]  G. Scuseria,et al.  Gaussian 03, Revision E.01. , 2007 .

[15]  Martin Head-Gordon,et al.  A method for two-electron Gaussian integral and integral derivative evaluation using recurrence relations , 1988 .