Subject: Re: CCL:G98: 64-bit file pointers on ia32 architectures

From: Malcolm Gillies <[email-masked]>
Date: Sun, 19 May 2002 10:27:24 +0200

On Fri, May 17, 2002 at 11:57:15AM -0400, Matt Zwier wrote:
> Earlier in the week we ran into the infamous 2GB file limit with G98 
> on Linux (i686).  I've searched the G98 site and the CCL archive, 
> and while it's clear that the kernel and libc both support 64-bit file 
> positions, it's much less clear how to get G98 to use them.  Does 
> this mean writing a replacement FORTRAN IO library?  Or does it 
> just mean setting some compile-time flag and rebuilding G98?  Has 
> anybody conquered this problem?  Is there *any* way other than 
> just splitting our rwf files, something that hasn't worked too well for 
> us?

It is possible to modify the G98 makefile so it will compile using
the Linux Large File Support on Intel x86 architecture 32-bit machines.
I have successfully done this using the Intel Fortran Compiler, following
the advice of Nakata Maho who has looked into this quite extensively.
This circumvents the 2GB file limit (assuming you are using a recent
Linux kernel and C library) giving you a 16GB scratch file limit instead.
Compilation in full 64-bit mode gets around this limit too, but apparently
results in an extreme drop in performance on x86 processors, which
cannot deal with 64-bit integers very efficiently.

You could try contacing Nakata Maho <[email-masked]>
directly, but he is keen not to upset Gaussian Inc. who apparently
don't like this kind of information to circulate too freely.

cheers,

Malcolm
--
Malcolm Gillies <[email-masked]>
Post-doctoral researcher
Organic Chemistry, Dept Chemistry,
Technical University of Denmark