g95 errors

radsci2008 9srh8rw... at jetable.org
Fri Mar 21 11:30:22 UTC 2008


Hi Teo-

Really, I'm not trying to flog any horses, dead or otherwise. :/

On Mar 21, 5:25 am, Teodoro Laino <teodor... at gmail.com> wrote:
> Hi,

> maybe Juerg was not clear enough yesterday. We're talking about the
> integer representation not
> the reals. CP2K works perfectly for 64-bit REALS (DOUBLE PRECISION in
> the case of a 32-bit representation for REAL and INTEGER).
[...]
> Moreover, I could be wrong, but I don't see any reason why a 64-bit
> default INTEGER g95 should give better results than 32-bit default
> INTEGER.
> well yes.. It consumes MUCH more memory.. if you like that..

On programs that use 64-bit integer default, like GAMESS, this yields
faster code.  I understand that it must be obvious to developers what
a program does and does not use, and now you've made clear that when
cp2k uses 64-bit reals it defines them as doubles and uses integers
which are 32-bits so that 64-bit integer code would yield no
advantage, but it's far from obvious to someone who just wants to
compile and use the code and would like it to be as fast as may be
feasible, but doesn't know the particulars of the code architecture.


> Be safe and use the standard fortran version of g95: http://
> ftp.g95.org/g95-x86_64-64-linux.tgz

I'll try it.  This is the first, though, that I've seen either version
described as "standard."  The g95 site describes the 32-bit D.I.
version as compatible with "older" programs.

With the 64-bit D.I., -r4 -i4 got further but still failed to compile
without errors, and this should be the same as the 32-bit D.I., but
apparently there's some kind of difference given Yunfeng's results.

> When there will be around a compiler with standard 64-bit
> representation (in which double precision will be 128-bit long) then
> we can discuss again about that.. for the time being if you wanna use
> 64-bit for integers and 64-bit for double precision.. well.. it's
> your problem..
>
> Teo

IIRC, double precision as 128-bit long is the case for the 64-bit D.I.
g95.  (I'd have to check files on a machine that isn't readily
accessible for an old version of GAMESS; my recollection of the comp
file is that both the pgi compiler and what worked for g95 was 16-byte
longs; the current g95 manual says nothing about doubles.  Seems like
a question for Andy Vaught.)

Thanks.





More information about the CP2K-user mailing list