Re: direct vs. in-core calculations



 > From chemistry-request(-(at)-)ccl.net Mon Apr 26 19:10:44 1993
 > To: DSMITH(-(at)-)uoft02.utoledo.edu, chemistry(-(at)-)ccl.net
 > Subject: Re:  direct vs. in-core calculations
 > Sender: chemistry-request(-(at)-)ccl.net
 >
 > Doug,
 >
 > If the memory is free and sufficient for the problem, you should
 > always use INCORE (although I am not sure if this option is available
 > on non-CRAY versions of the code). For closed shell systems memory
 > requirements scale as N^4/4 where N is the number of basis functions.
 > If you pay extra for memory then you need to consider the performance
 > boost you get from running INCORE. On a CRAY-2 it can be as much as
 > a factor of four. On the C90 it appears that it is a factor of three.
 > At some point the DIRECT algorithm overcomes the INCORE algorithm,
 > but this seems to be far beyond the basis function count that can
 > be fit INCORE on todays machines reasonably ... some 'memorable' data
 > points on the basis function memory relationship for closed shell
 > systems are 100 basis function or fewer fit inside 100+ MWs (64 bit
 > words, 200 basis needs 200 MWs (64 bit words), 300 basis needs 1+ GWs
 > (again 64 bit words). Open shell systems need twice as much space.
 >
 > Sincerely,
 >
 > Richard Walsh
 > Minnesota Supercomputer Center
 >
 >
 > ---
 >
 Richard,
 I beg to differ with your numbers.  Using N^4/4 one calculates:
 # functions 	memory
 -----------	------
       100   ->   25 MW
       200   ->  400 MW
       300   -> 2025 MW
 However, the Gaussian manual says, and my own experience support it,
 that for closed shell RHF calculations memory scales as N^4/8 plus
 some additional memory, say 500,000 words.  (G92 User's Guide p.88.)
 My own experience has been that the additional .5 MW is too small,
 a more realistic number is 100N*N.  Using this formula one calculates:
 # functions 	memory
 -----------	------
       100   ->   12.5 + 1 =   13.5 MW
       200   ->  200   + 4 =  204   MW
       300   -> 1012.5 + 9 = 1021.5 MW
 A recent calculation of mine ran INCORE with 61 MW for 147 functions.
 ( 147  ->  58.4 + 2.2 = 60.6 MW )
 Even this memory requirement for 300 functions (i.e. 2025 MW) is
 tractable on today's Cray systems.  I might also point out that use of
 the DIRECT keyword can still cause an INCORE calculation to run if
 sufficient memory has been provided using the %mem=???? directive in
 conjunction with the # QSUB lM ???mw option for NQS (if it is a batch
 job) and having no additional limits imposed on the job by the system.
 My opinion is that the INCORE is not warranted for production work at
 a site where no charge is incurred for memory, since the job may sit in
 a queue for some time, then fail due to lack of memory, whereas a DIRECT
 job will test for memory availability and run DIRECT if there is a lack
 of memory.  The trade off, of course, is that you will then pay for the
 EXTRA CPU time incurred running DIRECT instead of INCORE.
 Regards,
 Gene
 ++++++++++++++++++++++++++++++++++++++++
 	Eugene D. Fleischmann, Ph.D.
 	Computational Chemist
 	Cray Research, Inc.
 	(301)595-2695
 	gene(-(at)-)eastrg2.cray.com
 ++++++++++++++++++++++++++++++++++++++++