Re: CCL:Gaussian98w and SMP processing



Dear Armando,
 > Dear members:
 > I have a Dual PentiumII PC and after installing PC-GAMESS I gave to the
 > system variable named MKL_NPROC the value 2 in order to run GAMESS in
 > SMP parallel mode.
 > However I noticed a strange behavior of Gaussian98w after this. The
 > program seems to use the two CPU, so I thought that Gaussian was
 > effectively running in SMP mode.
 > But when I measured the cpu and wall-clock times there was non
 > improvement respect to set MKL_NPROC=1.
 > Has anybody noticed this behavior of Gaussian in Dual Boxes?
 > Regards
 > Armando Navarro
    It seems that G98w uses old MKL v. 2.0 (or v. 2.1, I'm not sure)
 so it is affected by the MKL_NPROCS environment variable.
 The itself problem is in the MKL v. 2.0/2.1 behavior.
 Namely, the additional thread(s) are not suspended after
 matrix-matrix multiplication. Thus, G98w consumes CPU
 time on all CPUs, while the actual calculations are mainly
 performed only on one CPU.
   Next, it seems that the average size of matrices used by the
 G98w is relatively small, so there is no benefit due to usage of
 second CPU even if performing matrix-matrix multiplication.
    As to the PC GAMESS, we developed a workaround for this
 problem when dealing with old MKL 2.0. Starting from the
 MKL 3.0, the behavior of MKL-created threads was fixed,
 namely, they are suspended if not needed for actual calculations.
 Also, if you use PC GAMESS v. 5.3 and higher, the simplest way to
 set the number of CPUs used is simply set integer variable  "mklnp"
 in $system group to the desired number of CPUs (it is longer not
 necessary to use MKL_NPROCS with the newer PC GAMESS).
 Best regards,
 Alex Granovsky