An important factor in determining the accuracy of the wavefunction obtained by variance minimisation is the size of the ensemble of independent configurations used in the optimisation procedure, Eq.(). During this work large ensembles of up to 100,000 configurations have been used. Each of these ensembles contained 64 electrons and had 20-40 parameters associated with it. The CPU and memory requirements for these problems are such that the advantages of using a parallel computer are considerable.
Therefore a parallel version of the variance minimisation procedure was developed using the ``master-slave'' programming model where one processor, the ``master'', delegates work to the other processors, the ``slaves''. The master processor sends work to the slaves who complete the required work and return the results back to the master. The numerical optimisation routine runs on the master processor and the ensemble of configurations is divided out among the slaves. The master processor broadcasts the values of the variational parameters to the slaves. Each of the slaves evaluates the reweighting factors, , and the contributions to the variance (see Eq.() and Figure ) for its subset of configurations. These are returned to the master which, via the NAG\ minimisation routine, determines new values for the variational parameters. The procedure is repeated until the imposed limit on the change in the values of the parameters is reached, or until a minimum in the variance is found.
Figure: Variance minimisation on a parallel machine using the ``master-slave'' programming model. The master processor runs the numerical optimisation routine and farms out the evaluation of the variance of each configuration to the slave processors.