Re: Two problems



Thanks ***, this makes good sense to me. I have plenty of
uninitialised variables that I really should be clearing to zero
value, but every time I debug in the IDE, I see them set to 1e-26, and
I thought - whoa, I don't need a statement clearing the variable
values. I realize that can be a source of error. I will look into
this.

Btw, is there some smart way to set huge arrays to 0. I presently just
use variable=0.0 (something like clear variable?)

-Basu

On Apr 24, 10:51 am, *** Hendrickson <> wrote:
basu wrote:
Main problem -

I have a fortran CVF code that I run on two Intel machines on windows
platform - one a 32 bit and other a 64 bit workstation. I develop and
compile the code in the 32 bit platform, and just use the 64 bit
workstation to run it.

Normally this works fine, but starting today, I am always getting a
run-time error (sqrt error) when I am trying to run the executable
from command prompt.

Almost invariably when program execution changes when you run under
different circumstances, you've got one or more uninitialized
variables. In one case they are (magically) set to zero or some other
harmless value. In the other they are set to some harmful value.
This is likely to happen to variables that live on the stack;
sometimes the stack area is cleared to zero, sometimes it isn't.
Try compiling with all of the run-time error checking you can find
enabled and turn on all of the compile time warnings you can.

*** Hendrickson





Second problem -
I have also an IVF compiler on the 64 bit machine. When I port the
project from CVF, and build the solution in IVF (changing it to x64
platform to seek performance improvement), and try to execute it, I
get a memory error at a subroutine like this - (ALLOC_ERR=1332). This
does not ocur in the CVF version. There, in the Project properties, I
had added the stack size as /stack:0xfffffff. What should I be doing
in the IVF?

More importantly though, why is the exectauble running in a 32 bit
environment, but crashing on this x64 machine - I thought Windows x64
was backward compatible - and handles all programs that run on 32 bit
environment. Is this not the case?

COMPLEX*16, DIMENSION(:,:), ALLOCATABLE:: TA,TB

IF (.NOT.(ALLOCATED(TA))) ALLOCATE(TA(NEig,NEig))
IF (ALLOC_ERR .ne. 0) PRINT *, 'Error in allocating TA : TB_Basis'

Thanks.

Basu.- Hide quoted text -

- Show quoted text -


.


Quantcast