direct vs. in core vs. disk i/o computations

Peter Knowles P.J.Knowles at
Fri Sep 6 13:33:08 BST 2002

There isn't any facility within Molpro for general retention of
integrals in memory for all methods.  The philosophy has been that on
modern computer systems, it would be largely irrelevant, since many
operating systems efficiently cache the file system in memory, if that
memory is available. This is certainly true for linux; for example for
job bench/ I see cpu/wall=95.0% if disks are used, and 96.3%
if /dev/shm is used, on a machine where the memory for the files is
not otherwise committed. This observation seems to apply also to other
systems for jobs that are small enough for the files to be carried in
memory; for example, see

Of course if you're cramped for disk space but not memory, then that's a
different story.


At Fri, 6 Sep 2002 08:58:24 +0200,
Dave Moore wrote:
> Hi,
> Many people (including me), have asked this question in the past, and the
> only solution I have ever found is the following (Quotation from my earlier
> reply to another poster):
> "Since MOLPRO does not seem to allow you to keep integrals in memory, even
> when there is plenty of space, you have to trick MOLPRO into writing the
> intergral table into memory by using a ramdisk.  Just in case you are
> unfamiliar, a ramdisk is an area of memory that is mapped to have file
> access like a disk drive ... sort of the inverse of virtual memory."
> I have tried this approach to test a couple of simple examples, and it
> seemed to work quite well (I actually used two ramdisks -- one each for
> FILE's 1 and 4, but I don't this this is really necessary).  However, I did
> not have a very large memory to map at the time, so I was not able to do
> extensive testing.  Perhaps someone with more experience could chime in
> here?
> 	Also, one caution is that I think you would need to be quite careful that
> the space on the ramdisk was never exhausted ... hopefully this would result
> only in you MOLPRO job crashing like with a normal disk ... but in theory
> you could overwrite some other area of memory, causing more serious
> problems.
> Dave Moore
> FOM Rijnhuizen
> Edisonbaan 14
> 3439 MN, Nieuwegein
> The Netherlands
> +31+30 609-6826
> FAX:   603-1204
> -----Original Message-----
> From: owner-molpro-user at
> [mailto:owner-molpro-user at]On Behalf Of Ludger Palm
> Sent: Thursday, September 05, 2002 4:48 PM
> To: molpro-user at
> Subject: direct vs. in core vs. disk i/o computations
> Dear Molpro community,
> I understand that Molpro may store the two-electron integrals on
> disk or that it may do a "direct" computation by computing these
> integrals again in every SCF/MCSCF computation.
> On a machine with big memory, I might wish to compute these integrals
> only once, but not write them to disk. Instead I could and would like
> to keep all the integrals in memory.
> Can this be done with Molpro 2002.3 on an IBM Power4 computer?
> If yes, how is it done?
> --
> With best regards
> Mit freundlichen Gruessen
> Ludger Palm
>  Dr. Ludger Palm                           | Phone: +(0)89-289-28792
>  Leibniz-Rechenzentrum der                 | Fax:   +(0)89-2809460
>  Bayerischen Akademie der Wissenschaften   | Email: palm at
>  - High Performance Computing Group -      |
>  Barer Strasse 21                          |
>  80333 Muenchen                            | WWW:
>  Germany                                   | Hotline: +(0)89-289-28800

Prof. Peter J. Knowles              
Email P.J.Knowles at  Phone +44-121-414-7472  Fax +44-121-414-7471
School of Chemical Sciences, University of Birmingham, Birmingham, B15 2TT, UK

More information about the Molpro-user mailing list