[mpich-discuss] MPICH error

Pavan Balaji balaji at mcs.anl.gov
Fri Mar 16 16:31:05 CDT 2012


This doesn't look like an MPI error.  Looks like your application 
terminated badly.

  -- Pavan

On 01/23/2012 10:13 AM, sc Deng wrote:
> Hello all,
>
> I meet a MPI error now. I modified my previous code (the previous is F77
> and OK ) to F90 and the error is given as follows (using 27
> processes,but just get 26 or less processes' information):
>
>   rank=:           0        1780           6
>   rank=:           2         656           6
>   rank=:           4        1825           6
>   rank=:           8         425           6
>   rank=:          16        1233           6
>   rank=:          12        1859           6
>   rank=:           6        1171           6
>   rank=:          20         434           6
>   rank=:           5         668           6
>   rank=:          14         688           6
>   rank=:          21        1208           6
>   rank=:          18        1174           6
>   rank=:          24         779           6
>   rank=:           7        1186           6
>   rank=:          10        1841           6
>   rank=:          17         433           6
>   rank=:          11         688           6
>   rank=:          22        1216           6
>   rank=:          19        1189           6
>   rank=:          25         792           6
>   rank=:           3        1808           6
>   rank=:          15        1213           6
>   rank=:          13        1895           6
>   rank=:           1        1788           6
>   rank=:           9        1815           6
>   rank=:          23         441           6
> [mpiexec at fn-148-148] ONE OF THE PROCESSES TERMINATED BADLY: CLEANING UP
> APPLICATION TERMINATED WITH THE EXIT STRING: Terminated (signal 15)
>
> it is a particle simulation program, and the corresponding code is:
>
>      !send to upper and receive from bottom
>      num = 0 ; num_tmp = 0
>      do i = 0 , nx+1
>          do j = 0 , ny+1
>              p = last_particle_in_cell(i,j,nz)
>              do while(p>0)
>                  num = num + 1
>                  if(num > num_send) print*, 'Please enlarge the number
> of sent ghost - "num_send"' , num , num_send
>                  send_ghost(num) = particle_vector(p)%basic_particle
>                  p = particle_pointer(p)
>              end do
>          end do
>      end do
>      write(*,*) 'rank=:' , rank , num , 6
>      if(mod(cpu_coords(1)+cpu_coords(2)+cpu_coords(3),2) == 0) then
>          call MPI_SEND(num     , 1 , MPI_INTEGER , upper_nbr  , tag_tmp6
> , GRID_COMM , ierror)
>          call MPI_RECV(num_tmp , 1 , MPI_INTEGER , bottom_nbr , tag_tmp6
> , GRID_COMM , stat , ierror)
>      end if
>      if(mod(cpu_coords(1)+cpu_coords(2)+cpu_coords(3),2) == 1) then
>          call MPI_RECV(num_tmp , 1 , MPI_INTEGER , bottom_nbr , tag_tmp6
> , GRID_COMM , stat , ierror)
>          call MPI_SEND(num     , 1 , MPI_INTEGER , upper_nbr  , tag_tmp6
> , GRID_COMM , ierror)
>      end if
>      call MPI_BARRIER(GRID_COMM , ierror)
>      if(mod(cpu_coords(1)+cpu_coords(2)+cpu_coords(3),2) == 0) then
> !        if(num > 0) call MPI_SEND(send_ghost , num , ghost_data_mpi ,
> upper_nbr , upper_tag , GRID_COMM , ierror)
>          call MPI_SEND(send_ghost , num , ghost_data_mpi , upper_nbr ,
> upper_tag , GRID_COMM , ierror)
> !        if(num_tmp > 0) call MPI_RECV(recv_ghost , num_tmp ,
> ghost_data_mpi , &
> !                        bottom_nbr , upper_tag , GRID_COMM , stat , ierror)
>          call MPI_RECV(recv_ghost , num_tmp , ghost_data_mpi , &
>                          bottom_nbr , upper_tag , GRID_COMM , stat , ierror)
>      end if
>      if(mod(cpu_coords(1)+cpu_coords(2)+cpu_coords(3),2) == 1) then
> !        if(num_tmp > 0) call MPI_RECV(recv_ghost , num_tmp ,
> ghost_data_mpi , &
> !                        bottom_nbr , upper_tag , GRID_COMM , stat , ierror)
>          call MPI_RECV(recv_ghost , num_tmp , ghost_data_mpi , &
>                          bottom_nbr , upper_tag , GRID_COMM , stat , ierror)
> !        if(num > 0) call MPI_SEND(send_ghost , num , ghost_data_mpi ,
> upper_nbr , upper_tag , GRID_COMM , ierror)
>          call MPI_SEND(send_ghost , num , ghost_data_mpi , upper_nbr ,
> upper_tag , GRID_COMM , ierror)
>      end if
>      call MPI_BARRIER(GRID_COMM , ierror)
>      if(num_tmp > 0) then
>          do i = 1 , num_tmp
>              particle_vector(ghost_pointer+i-1)%basic_particle =
> recv_ghost(i)
>          end do
>      end if
>      ghost_pointer = ghost_pointer + num_tmp
>      write(*,*) 'rank =: ',rank,upper_nbr,' num =: ' , num , ' num_tmp
> =:' , num_tmp
>      if(ghost_pointer > max_num_particle_per_cpu+max_num_ghost_per_cpu) then
>          print*, 'should enlarge "max_num_ghost_per_cpu" and/or
> "max_num_particle_per_cpu"',ghost_pointer,num_tmp
>      end if
>      if(num_tmp > 0) then
>          left = 1 ; right = 1
>          i = ghost_pointer-num_tmp
>          do while(i <= ghost_pointer-1)
>              if(particle_vector(i)%basic_particle%global_index /= 0) then
>                  call
> get_index(particle_vector(i)%basic_particle%coor(1),rmax,coor_box(1,1),coor_box(1,2),ind(1))
>                  call
> get_index(particle_vector(i)%basic_particle%coor(2),rmax,coor_box(2,1),coor_box(2,2),ind(2))
>                  call
> get_index(particle_vector(i)%basic_particle%coor(3),rmax,coor_box(3,1),coor_box(3,2),ind(3))
>                  if(ind(3)   ==0 .and. ind(1)>=0 .and. ind(1)<=nx+1
> .and. ind(2)>=0 .and. ind(2)<=ny+1) then
>                      call
> add_cell_link(max_num_particle_per_cpu+max_num_ghost_per_cpu,nx,ny,nz,left,right,
> ind(1), ind(2), ind(3) , &
>
> i,particle_pointer,last_particle_in_cell)
>                  end if
>              end if
>              i = i + 1
>          end do
>      end if
>      call MPI_BARRIER(GRID_COMM , ierror)
>
> Please someone help me to fix it. Thank you very much.
>
> --
> Your sincerely,
> Sc Deng
>
>
>
> _______________________________________________
> mpich-discuss mailing list     mpich-discuss at mcs.anl.gov
> To manage subscription options or unsubscribe:
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss

-- 
Pavan Balaji
http://www.mcs.anl.gov/~balaji


More information about the mpich-discuss mailing list