From chemistry-request ^at^ server.ccl.net Thu Mar 2 17:02:47 2000 Received: from classic.chem.msu.su (classic.chem.msu.su [158.250.32.143]) by server.ccl.net (8.8.7/8.8.7) with SMTP id RAA03103 for ; Thu, 2 Mar 2000 17:02:44 -0500 Received: from ras20.icp.rssi.ru ( [194.85.223.61] ) by classic.chem.msu.su (Hethmon Brothers Smtpd) ; Thu, 2 Mar 2000 23:56:24 MSK-3MSD-4,3,5,0,7200,10,5,0,10800 Message-ID: <002101bf8489$f0daf290$3ddf55c2 -8 at 8- alex> From: "Alex. A. Granovsky" To: References: <01bf8475$f183ccd0$eb4a90c1 {*at*} qogolem.usc.es> Subject: Re: CCL:Gaussian98w and SMP processing Date: Thu, 2 Mar 2000 23:57:36 +0300 Organization: MSU MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 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