[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]



> To: address@hidden
> From: address@hidden (Mary Haley)
> Subject: netCDF on SGI R10000 systems
> Organization: NCAR/SCD
> Keywords: 199611052119.AA16593 netCDF SGI R10000
>
> Hi there,
>
> Dick Valent and I are getting ready to build several libraries on a
> new SGI R10000 challenger that's coming in, and we're trying to decide
> what kind of options we should be using to build these libraries.
> NetCDF is one of the libraries, and that's why I'm writing you.
>
> Namely, what we are concerned with is using the -r8 and -i8 options
> with the Fortran compiler to get 8-byte reals and integers. I'm
> wondering if this will be a problem when linking with the netCDF
> library.  I realize this library is written in C, so my concern is
> with calling the Fortran NetCDF bindings, passing them 8-byte reals
> and integers, and then the Fortran bindings in turn passing these onto
> the C routines.
>
> Does this make sense?  Do you know if I will run into problems with
> this?
>
> Another question I have is if you've ever gotten requests from
> scientists to build NetCDF with options like these.  We are trying to
> determine what the best set of options will be to use.
>
> Thanks in advance for any input you can give me!
>
> Mary Haley
> address@hidden

Mary:

My R8000 sgi supports these options as well.

I don't see any reason to use them _unless_ the programmer
made some assumptions of 64 bit INTEGER and/or 64 bit REAL
in her program. This might well be the case for cray code.
Otherwise, the sgi programmer can document her assumptions
by the appropriate (not necessarily portable) declarations,
INTEGER*8 and so on.

I believe the fortran jackets will work, or can be made to work,
properly with these flags in use, _but_, all programs linked using
this version of jackets.o would be have to use the same flags.
If you are considering this, I might recommend building the netcdf
library as a 'C' only version, and building two versions of jackets.o.
Then, fortran programmers on the system would link like this:

f77 mycode.o path/jackets.o -Lpath -lnetcdf -o myprog

or

f77 mycode.o path/jackets8.o -Lpath -lnetcdf -o myprog

where 'path' is the path to your library install point and jackets8.o
is your special version.

In summary, I think what you suggest is doable, but probably
not something you want to do except when the work of doing it
is outweighed by the work of getting around some assumptions in
the user fortran code.

Hope this helps.

-glenn