Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] PGI 8.0-4 doesn't like ompi/mca/op/op.h
From: Andrew J Caird (acaird_at_[hidden])
Date: 2009-03-13 07:53:06


FWIW, It compiles with PGI 7.2 on RHEL4U7

[acaird_at_nyx-login1 ~]$ ompi_info | grep "compiler abs"
      C compiler absolute: /usr/caen/pgi-7.2/linux86-64/7.2-1/bin/pgcc
    C++ compiler absolute: /usr/caen/pgi-7.2/linux86-64/7.2-1/bin/pgCC
   Fortran77 compiler abs: /usr/caen/pgi-7.2/linux86-64/7.2-1/bin/pgf77
   Fortran90 compiler abs: /usr/caen/pgi-7.2/linux86-64/7.2-1/bin/pgf90
[acaird_at_nyx-login1 ~]$ /usr/caen/pgi-7.2/linux86-64/7.2-1/bin/pgf90 -V

pgf90 7.2-1 64-bit target on x86-64 Linux -tp k8-64e
Copyright 1989-2000, The Portland Group, Inc. All Rights Reserved.
Copyright 2000-2008, STMicroelectronics, Inc. All Rights Reserved.
[acaird_at_nyx-login1 ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux WS release 4 (Nahant Update 7)
[acaird_at_nyx-login1 ~]$

On Thu, 12 Mar 2009, Jeff Squyres wrote:

> It's odd because PGI 7.0 and 7.1 compile OMPI just fine (don't know
> about PGI 7.2).
>
>
> On Mar 12, 2009, at 7:09 PM, Mark Potts wrote:
>
>> All,
>> I don't know PGI's compilers, but is it possible that since
>> "restrict"
>> was supposedly introduced as a C99 feature that it is not
>> supported
>> by default by their C compiler? This would explain the wording of
>> the error message which indicates interpretation of "restrict"
>> as a
>> variable name.
>>
>> Perhaps, like gcc, there is a -std=c99 option for the PGI
>> compiler?
>>
>> regards,
>>
>> George Bosilca wrote:
>>> Apparently, the PGI compiler (version 8) doesn't recognize
>> restrict as a
>>> keyword in a function prototype if the associated argument is not
>> named.
>>> There is one obvious solution: remove the restrict keyword but I
>> don't
>>> think it's the right one.
>>>
>>> Can you try to replace
>>>> typedef void (*ompi_op_base_3buff_handler_fn_1_0_0_t)(void
>> *restrict,
>>>> void
>> *restrict,
>>>> void
>> *restrict,
>>>> int *,
>>>> struct
>>>> ompi_datatype_t **,
>>>> struct
>>>> ompi_op_base_module_1_0_0_t *);
>>>
>>> by typedef void (*ompi_op_base_3buff_handler_fn_1_0_0_t)(void
>> *restrict
>>> in1,
>>>> void
>> *restrict in2,
>>>> void *restrict
>>>> out, int *,
>>>> struct
>>>> ompi_datatype_t **,
>>>> struct
>>>> ompi_op_base_module_1_0_0_t *);
>>>
>>> Thanks,
>>> george.
>>>
>>> On Mar 11, 2009, at 15:52 , Mostyn Lewis wrote:
>>>
>>>> Compiling SVN r20757 with PGI 8.0-4 failed doing ompi_info with
>>>>
>>>> "../../../.././ompi/mca/op/op.h", line 264: error: duplicate
>> parameter
>>>> name
>>>> void
>> *restrict,
>>>> ^
>>>>
>>>> "../../../.././ompi/mca/op/op.h", line 265: error: duplicate
>> parameter
>>>> name
>>>> void
>> *restrict,
>>>> int *,
>>>> ^
>>>>
>>>> 2 errors detected in the compilation of
>>>> "../../../.././ompi/tools/ompi_info/components.cc".
>>>> make[2]: *** [components.o] Error 2
>>>> make[2]: Leaving directory
>>>> `/tmp/o/openmpi-1.4a1r20757_svn/build/ompi/tools/ompi_info'
>>>>
>>>> Code is:
>>>>
>>>> /*
>>>> * Typedef for 3-buffer (two input and one output) op functions.
>>>> */
>>>> typedef void (*ompi_op_base_3buff_handler_fn_1_0_0_t)(void
>> *restrict,
>>>> void
>> *restrict,
>>>> void
>> *restrict,
>>>> int *,
>>>> struct
>>>> ompi_datatype_t **,
>>>> struct
>>>> ompi_op_base_module_1_0_0_t *);
>>>>
>>>> DM
>>>> _______________________________________________
>>>> users mailing list
>>>> users_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>> --
>> ***********************************
>> >> Mark J. Potts, PhD
>> >>
>> >> HPC Applications Inc.
>> >> phone: 410-992-8360 Bus
>> >> 410-313-9318 Home
>> >> 443-418-4375 Cell
>> >> email: potts_at_[hidden]
>> >> potts_at_[hidden]
>> ***********************************
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> --
> Jeff Squyres
> Cisco Systems
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>