Ignore:
Timestamp:
10/24/17 01:32:57 (7 years ago)
Author:
dubos
Message:

trunk : backported r600-603 from devel

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/src/parallel/omp_para.F90

    r548 r604  
    204204  END SUBROUTINE init_omp_para 
    205205 
    206   SUBROUTINE distrib_level(size,lbegin,lend) 
    207   IMPLICIT NONE 
    208     INTEGER,INTENT(IN)  :: size   
     206  SUBROUTINE distrib_level(ibegin,iend, lbegin,lend) 
     207  IMPLICIT NONE 
     208    INTEGER,INTENT(IN)  :: ibegin,iend   
    209209    INTEGER,INTENT(OUT) :: lbegin   
    210210    INTEGER,INTENT(OUT) :: lend   
    211     INTEGER :: div,rest 
    212      
     211    INTEGER :: size,div,rest 
     212    size=iend-ibegin+1 
    213213    div=size/omp_level_size 
    214214    rest=MOD(size,omp_level_size) 
    215215    IF (omp_level_rank<rest) THEN 
    216       lbegin=(div+1)*omp_level_rank+1 
     216      lbegin=(div+1)*omp_level_rank + ibegin 
    217217      lend=lbegin+div 
    218218    ELSE 
    219       lbegin=(div+1)*rest + (omp_level_rank-rest)*div+1 
     219      lbegin=(div+1)*rest + (omp_level_rank-rest)*div + ibegin 
    220220      lend=lbegin+div-1 
    221221    ENDIF 
Note: See TracChangeset for help on using the changeset viewer.