[petsc-users] Error compiling code when upgrading from 3.1p8 to 3.2p5

Matthew Knepley knepley at gmail.com
Mon Nov 28 08:01:05 CST 2011


On Mon, Nov 28, 2011 at 6:27 AM, TAY wee-beng <zonexo at gmail.com> wrote:

> Hi,
>
> The code compiles and works ok. However, when I changed my solver to use
> HYPRE to solve the poisson equation,
>
> I got the error:
>
> [hpc12:29772] *** An error occurred in MPI_comm_size
> [hpc12:29772] *** on communicator MPI_COMM_WORLD
> [hpc12:29772] *** MPI_ERR_COMM: invalid communicator
> [hpc12:29772] *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)
> 1.07user 0.12system 0:01.23elapsed 97%CPU (0avgtext+0avgdata
> 188432maxresident)k
> 0inputs+35480outputs (0major+11637minor)pagefaults 0swaps
> ------------------------------**------------------------------**
> --------------
> mpiexec has exited due to process rank 0 with PID 29771 on
> node hpc12 exiting improperly. There are two reasons this could occur:
>
> 1. this process did not call "init" before exiting, but others in
> the job did. This can cause a job to hang indefinitely while it waits
> for all processes to call "init". By rule, if one process calls "init",
> then ALL processes must call "init" prior to termination.
>
> 2. this process called "init", but exited without calling "finalize".
> By rule, all processes that call "init" MUST call "finalize" prior to
> exiting or it will be considered an "abnormal termination"
>
> This may have caused other processes in the application to be
> terminated by signals sent by mpiexec (as reported here).
>
>
> This happens after calling the subroutine call
> HYPRE_StructStencilCreate(3, 4, stencil_hypre, ierr).
>
> Btw, my code is using HYPRE's own function to construct the matrix and
> solve it.
>

I can only assume you have a bug in your code. Why not just call this
through KSPSolve?

  Matt


> Thanks!
>
> Yours sincerely,
>
> TAY wee-beng
>
>
> On 27/11/2011 10:30 PM, Satish Balay wrote:
>
>> check http://www.mcs.anl.gov/petsc/**documentation/changes/32.html<http://www.mcs.anl.gov/petsc/documentation/changes/32.html>
>>
>> ->  Changed PetscTruth to PetscBool
>>
>> satish
>>
>> On Sun, 27 Nov 2011, TAY wee-beng wrote:
>>
>>  Hi,
>>>
>>> I have trouble compiling my Fortran codes when I upgrade PETSc  from
>>> 3.1p8 to
>>> 3.2p5.
>>>
>>> My code is something like this:
>>>
>>> module global_data
>>>
>>> use nrtype
>>>
>>> implicit none
>>>
>>> save
>>>
>>> #include "finclude/petsc.h90"
>>>
>>> !grid variables
>>>
>>> integer :: size_x,size_y,size_z,grid_type
>>> !size_x1,size_x2,size_x3,size_**y1,size_y2,size_y3
>>>
>>> real(8), allocatable ::
>>> x(:),y(:),z(:),xu(:),yu(:),zu(**:),xv(:),yv(:),zv(:),xw(:),yw(**
>>> :),zw(:),c_cx(:),cu_cx(:),c_**cy(:),cv_cy(:),c_cz(:),cw_cz(:**)
>>>
>>> !solver variables
>>>
>>> ...
>>>
>>> I tried after compiling with the new 3.2p5 and got the following error:
>>>
>>> /opt/openmpi-1.5.3/bin/mpif90 -c -g -debug all -implicitnone -warn unused
>>> -fp-stack-check -heap-arrays -ftrapuv -check pointers -O0 -save -w90 -w
>>> -w95
>>> -O0   -I/home/wtay/Lib/petsc-3.2-p5_**mumps_debug/include
>>> -I/home/wtay/Lib/petsc-3.2-p5_**mumps_debug/include
>>> -I/opt/openmpi-1.5.3/include
>>> -o global.o global.F90
>>> global.F90(205): error #5082: Syntax error, found IDENTIFIER 'FLGG' when
>>> expecting one of: ( % : . = =>
>>> PetscTruth flgg
>>> -----------^
>>> global.F90(205): error #6274: This statement must not appear in the
>>> specification part of a module
>>> PetscTruth flgg
>>> ^
>>> global.F90(207): error #6236: A specification statement cannot appear in
>>> the
>>> executable section.
>>> integer(kind=selected_int_**kind(5)) reason
>>> ^
>>> global.F90(209): error #6236: A specification statement cannot appear in
>>> the
>>> executable section.
>>> integer(kind=selected_int_**kind(10)) i_vec
>>> ^
>>> global.F90(213): error #6236: A specification statement cannot appear in
>>> the
>>> executable section.
>>> integer ::
>>> myid,num_procs,ksta,kend,ksta_**ext,kend_ext,ksta_ext0,ksta2,**
>>> kend2,kend3
>>> ^
>>> global.F90(215): error #6236: A specification statement cannot appear in
>>> the
>>> executable section.
>>> integer ::
>>> ijk_sta_p,ijk_end_p,ijk_sta_m,**ijk_end_m,ijk_sta_mx,ijk_end_**
>>> mx,ijk_sta_my,ijk_end_my,ijk_**sta_mz,ijk_end_mz
>>> ^
>>> global.F90(217): error #6236: A specification statement cannot appear in
>>> the
>>> executable section.
>>> character(2) :: procs
>>> ^
>>> global.F90(205): error #6404: This name does not have a type, and must
>>> have an
>>> explicit type.   [PETSCTRUTH]
>>> PetscTruth flgg
>>> ^
>>> global.F90(205): error #6404: This name does not have a type, and must
>>> have an
>>> explicit type.   [FLGG]
>>> PetscTruth flgg
>>> -----------^
>>> global.F90(229): error #6404: This name does not have a type, and must
>>> have an
>>> explicit type.   [KSTA]
>>> ksta=myid*(size_z/num_procs)+**1; kend=(myid+1)*(size_z/num_**procs)
>>>
>>>
>>> May I know what's wrong?
>>>
>>> Thanks!
>>>
>>>
>>>


-- 
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/20111128/f2d29c7e/attachment.htm>


More information about the petsc-users mailing list