pnetcdf port to nag/6.0
Rob Latham
robl at mcs.anl.gov
Mon Sep 14 16:34:20 CDT 2015
On 09/05/2015 09:33 AM, Wei-keng Liao wrote:
> Hi, Jim
>
> I applied your patch. Please let me know if it tests OK on your systems.
Wei-keng: the AC_COMILE_IFELSE changes you made work fine with
autoconf-2.69 (now three years old).
The changes causes errors with autoconf-2.59 (the autoconf installed by
defaullt on Redhat enterprise linux 5.11 -- yes, I know that is quite
old but that's what's running on our "fusion" machine at Argonne.
Here's the error I see. it looks like old autoconf did not deal well
with nested AC_COMPILE_IFELSE:
checking for Fortran flag needed to accept free-form source... -free
../configure: line 8399: syntax error near unexpected token `fi'
../configure: line 8399: `fi'
Can we bump the AC_PREREQ to 2.64? It's a slight headache for anyone
who wants to build pnetcdf from source, but autoconf is pretty easy to
install if need be (it took me 15 mintues to download ten versions of
autoconf, build and install each of them, then regenerate our configure
script to find the version (2.64) that no longer has a bug with nested
AC_COMPILE_IFELSE
==rob
>
> I also checked netCDF header file netcdf.inc and it appears that these
> parameters (nf_fill_uint, nf_fill_int64, and nf_fill_uint64) are not supported. https://github.com/Unidata/netcdf-fortran/blob/master/fortran/netcdf4.inc#L34
>
> Also, F77 standard does not support integer*8 either. See
> http://www.fortran.com/fortran/F77_std/rjcnf-4.html#sh-4.1
> I guess for a strict F77 program, netCDF approach is safer.
>
> We can make PnetCDF either follow netCDF or keep it as is.
> Let me know what you think.
>
> Wei-keng
>
> On Sep 5, 2015, at 8:03 AM, Jim Edwards wrote:
>
>> Yes and so is _8 - I couldn't find an f77 way to do it, this is a nag way to do it and I tested with pgi to make sure that a true f77 compiler still works. I'm open to better solutions.
>>
>> On Fri, Sep 4, 2015 at 4:43 PM, Wei-keng Liao <wkliao at eecs.northwestern.edu> wrote:
>> Hi, Jim,
>>
>> Isn't using the call selected_int_kind() a Fortran 90+ feature?
>>
>> Wei-keng
>>
>> On Sep 4, 2015, at 5:27 PM, Jim Edwards wrote:
>>
>>> No it doesn't like _8 either - here is a patch that fixes that problem - I also tested it with pgi.
>>>
>>> Now I have another error but it'll wait until next week, have a great weekend.
>>>
>>> (here is the other error, haven't looked into it at all yet...)
>>> Error: mcoll_testf77.f, line 497: Inconsistent structure for arg 2 in call to MPI_ALLREDUCE
>>>
>>> Error: mcoll_testf77.f, line 499: Inconsistent structure for arg 2 in call to MPI_ALLREDUCE
>>>
>>>
>>>
>>> On Fri, Sep 4, 2015 at 4:20 PM, Wei-keng Liao <wkliao at eecs.northwestern.edu> wrote:
>>> Hi, Jim,
>>>
>>> Is NAG compiler OK with _8 modifier?
>>> Could you try manually change 4294967295 to 4294967295_8 and see if it compiles?
>>>
>>> Wei-keng
>>>
>>> On Sep 4, 2015, at 3:12 PM, Jim Edwards wrote:
>>>
>>>> Actually I still have a problem and I'm not sure how it should be resolved...
>>>>
>>>> Error: ../../src/libf/pnetcdf.inc, line 79: Integer literal 4294967295 too large for default KIND
>>>>
>>>> Error: ../../src/libf/pnetcdf.inc, line 80: Integer literal 9223372036854775806 too large for default KIND
>>>>
>>>> Warning: mcoll_testf77.f, line 30: Unused PARAMETER NREADS
>>>>
>>>> Errors in declarations, no further processing for MCOLL_TESTF
>>>>
>>>> Error: ../../src/libf/pnetcdf.inc, line 79: Integer literal 4294967295 too large for default KIND
>>>>
>>>> Error: ../../src/libf/pnetcdf.inc, line 80: Integer literal 9223372036854775806 too large for default KIND
>>>>
>>>> I'm not sure of an F77 conformant way to define these constants - are you?
>>>>
>>>> On Fri, Sep 4, 2015 at 1:39 PM, Wei-keng Liao <wkliao at eecs.northwestern.edu> wrote:
>>>> Thanks, Jim. I have applied your patch.
>>>>
>>>> I do not have an access to a NAG compiler.
>>>> Please check it builds and tests fine.
>>>>
>>>> Wei-keng
>>>>
>>>> On Sep 4, 2015, at 11:49 AM, Jim Edwards wrote:
>>>>
>>>>> Here is a patch for pnetcdf R2088 to the nag/6.0 compiler. I also needed a compiler flag -mismatch_all to turn errors about data type mismatches into warnings.
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Jim Edwards
>>>>>
>>>>> CESM Software Engineer
>>>>> National Center for Atmospheric Research
>>>>> Boulder, CO
>>>>> <pnetcdfR2088.nag6port>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Jim Edwards
>>>>
>>>> CESM Software Engineer
>>>> National Center for Atmospheric Research
>>>> Boulder, CO
>>>
>>>
>>>
>>>
>>> --
>>> Jim Edwards
>>>
>>> CESM Software Engineer
>>> National Center for Atmospheric Research
>>> Boulder, CO
>>> <pnetcdf2089.nagpatch>
>>
>>
>>
>>
>> --
>> Jim Edwards
>>
>> CESM Software Engineer
>> National Center for Atmospheric Research
>> Boulder, CO
>
--
Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA
More information about the parallel-netcdf
mailing list