[petsc-users] SGI compiler (mpt-2.11) and fortran interface

Matthew Knepley knepley at gmail.com
Wed Feb 11 12:05:44 CST 2015


On Wed, Feb 11, 2015 at 12:03 PM, Matteo Parsani <parsani.matteo at gmail.com>
wrote:

> I can compile the example but when I run them I always get
>
> MPT ERROR: mpiexec_mpt must be used to launch all MPI applications
>

You should use that to launch the run then.

  Thanks,

     Matt


>
> On Wed, Feb 11, 2015 at 12:42 PM, Matthew Knepley <knepley at gmail.com>
> wrote:
>
>> On Wed, Feb 11, 2015 at 11:41 AM, Matteo Parsani <
>> parsani.matteo at gmail.com> wrote:
>>
>>> Should I use
>>>
>>> PetscScalar, pointer, dimension(:) :: xx_v
>>>
>>
>> Yes, but I am not sure that will solve your problem. Do the PETSc F90
>> examples run with this compiler?
>>
>>   Matt
>>
>>
>>> ?
>>>
>>> On Wed, Feb 11, 2015 at 12:39 PM, Matteo Parsani <
>>> parsani.matteo at gmail.com> wrote:
>>>
>>>> In this way:
>>>>
>>>> real(wp), pointer, dimension(:) :: xx_v
>>>>
>>>> where wp is my working precision
>>>>
>>>> On Wed, Feb 11, 2015 at 12:38 PM, Matthew Knepley <knepley at gmail.com>
>>>> wrote:
>>>>
>>>>> On Wed, Feb 11, 2015 at 11:35 AM, Matteo Parsani <
>>>>> parsani.matteo at gmail.com> wrote:
>>>>>
>>>>>> I forgot to say that I am using PETSc 3.5
>>>>>>
>>>>>
>>>>> How are you declaring xx_v?
>>>>>
>>>>>   Matt
>>>>>
>>>>>
>>>>>> On Wed, Feb 11, 2015 at 12:32 PM, Matteo Parsani <
>>>>>> parsani.matteo at gmail.com> wrote:
>>>>>>
>>>>>>> Dear Petsc Users and Developers,
>>>>>>> Recently, I have compiled my fortran code using the SGI compiler
>>>>>>> (mpt-2.11). Previously I was using openmpi 1.7.3 and everything worked fine.
>>>>>>>
>>>>>>> Now, with when I run the code compiled with SGI I get the following
>>>>>>> error:
>>>>>>>
>>>>>>> At line 1921 of file mpi_module.F90
>>>>>>> Fortran runtime error: Array reference out of bounds for array
>>>>>>> 'xx_v', upper bound of dimension 1 exceeded (349921 > 1)
>>>>>>>
>>>>>>> Precisely the line that gives troubles is the following
>>>>>>>
>>>>>>> x_ghost(i_dir,i_loc) = xx_v(n_tot+3*(i_loc-1) + i_dir)
>>>>>>>
>>>>>>>
>>>>>>> The variables xx_v is a fortran pointer which I get using
>>>>>>>
>>>>>>> call VecGetArrayF90(x_local, xx_v, i_er)
>>>>>>>
>>>>>>> where i_err is defined as
>>>>>>>
>>>>>>> PetscErrorCode i_err
>>>>>>>
>>>>>>> Do you have any idea what I am doing wrong?
>>>>>>>
>>>>>>> Thank you!
>>>>>>>
>>>>>>> --
>>>>>>> Matteo
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Matteo
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> What most experimenters take for granted before they begin their
>>>>> experiments is infinitely more interesting than any results to which their
>>>>> experiments lead.
>>>>> -- Norbert Wiener
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Matteo
>>>>
>>>
>>>
>>>
>>> --
>>> Matteo
>>>
>>
>>
>>
>> --
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which their
>> experiments lead.
>> -- Norbert Wiener
>>
>
>
>
> --
> Matteo
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150211/02e15d34/attachment.html>


More information about the petsc-users mailing list