Thanks Elena,
My code is on a DoD Cray XE6. I contacted their tech support to see if I could have them recompile, and they tried but ran into problems. I'm pasting their description of the issues below.
###########
Here was the initial problem description:
Daniel,
I've run into a compilation problem.
make[3]: Entering directory
`/work/local/usp/hdf5/1.8.5p1-i8r8/src/hdf5-1.8.5-patch1/hl/fortran/test'
pgf90 -fast -s -Mnoframe -I../../../fortran/src -I../../../hl/fortran/src
-I../../../fortran/src -I../../../hl/fortran/src -i8 -r8 -c -o tstlite.o
tstlite.f90
PGF90-S-0155-Ambiguous interfaces for generic procedure h5ltmake_dataset_f
(tstlite.f90: 114)
PGF90-S-0155-Ambiguous interfaces for generic procedure h5ltread_dataset_f
(tstlite.f90: 328)
0 inform, 0 warnings, 4 severes, 0 fatal for test_dataset2d
I do not know whether I will be able to determine the cause of the problem,
in any case, it will take some time to understand.
Regards,
Alan Scheinine, HPC Service Helpdesk, ERDC, Vicksburg
#############
Here was a follow-up email from them:
Daniel,
I cannot find any description of compiling HDF5 using "-i8 -r8" on the
HDF5 web site. In the distribution there is brief mention of now being able
to deal with "-i8 -r8" but the code does not look like it can deal with that.
There are generic functions such as
interface h5ltmake_dataset_f
module procedure h5ltmake_dataset_f_int1
module procedure h5ltmake_dataset_f_int2
module procedure h5ltmake_dataset_f_int3
module procedure h5ltmake_dataset_f_float1
module procedure h5ltmake_dataset_f_float2
module procedure h5ltmake_dataset_f_float3
module procedure h5ltmake_dataset_f_double1
module procedure h5ltmake_dataset_f_double2
module procedure h5ltmake_dataset_f_double3
end interface
but with -r8 h5ltmake_dataset_f_float1 and h5ltmake_dataset_f_double1 are
the same.
The release_doc/HISTORY-1_8.txt says that for the F90 API
Bug Fixes since HDF5-1.8.1
- Put the DOUBLE PRECISION interfaces in a separate module and
added a USE statement for the module. The interfaces are
included/excluded depending on the state of FORTRAN_DEFAULT_REAL
is DBLE_F which detects if the default REAL is DOUBLE PRECISION.
This allows the library to be compiled with -r8 Fortran flag
without the user needing to edit the source code.
(MSB - 200/8/27)
The date above should be 2008/ rather than 200/ .
However, the h5ltmake_dataset_f module shown above is taken directly from the
code. It would appear that the bug fix by "MSB" neglected H5LT. In the
entire history file for version 1.8 "-i8" is mentioned only once and "-r8" is
mentioned only once. I'm inclined to believe that module h5lt is not
compatible with -r8.
Regards,
Alan Scheinine, HPC Service Helpdesk, ERDC, Vicksburg, MS
On Jan 31, 2011, at 8:11 AM, Elena Pourmal wrote:
Daniel,
You will need to recompile HDF5 library using those flags, e.g.,
export FC="gfortran -i8"
./configure --enable-fortran ....
make
When we release the version that supports Fortran2003, recompilation would not be needed. Please let me know if you are interested to try our pre-released version.
Thank you!
Elena
On Jan 30, 2011, at 11:56 PM, Daniel Dombroski wrote:
Hi All,
I have a fortran code which I would like to compile with the 64 bit real and integer (-r8 and -i8) flags. However, I run into the problem of kind mismatches with the calls to hdf5 routines which do not like double precision. Is there a way to get hdf5 to handle the higher precision values?
Thanks,
-Dan
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org