Ignore:
Timestamp:
10/31/14 14:52:01 (10 years ago)
Author:
ymipsl
Message:

Merging OpenMP parallisme mode : by subdomain and on vertical level.
This feature is actually experimental but may be retro-compatible with the last method based only on subdomain

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/src/transfert_mpi.f90

    r266 r295  
    11191119 
    11201120        DO ind=1,ndomain 
    1121           IF (.NOT. assigned_domain(ind)) CYCLE 
     1121          IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master) CYCLE 
    11221122           
    11231123          rval2d=>field(ind)%rval2d 
     
    11521152         
    11531153        DO ind=1,ndomain 
    1154           IF (.NOT. assigned_domain(ind)) CYCLE 
     1154          IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master) CYCLE 
    11551155          rval2d=>field(ind)%rval2d 
    11561156          req=>message%request(ind)         
     
    11921192       
    11931193        DO ind=1,ndomain 
    1194           IF (.NOT. assigned_domain(ind)) CYCLE 
     1194          IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master) CYCLE 
    11951195 
    11961196          dim3=size(field(ind)%rval3d,2) 
     
    12261226          
    12271227        DO ind=1,ndomain 
    1228           IF (.NOT. assigned_domain(ind)) CYCLE 
     1228          IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master) CYCLE 
    12291229          dim3=size(field(ind)%rval3d,2) 
    12301230          rval3d=>field(ind)%rval3d 
     
    12631263     
    12641264        DO ind=1,ndomain 
    1265           IF (.NOT. assigned_domain(ind)) CYCLE 
     1265          IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master ) CYCLE 
    12661266 
    12671267          dim3=size(field(ind)%rval4d,2) 
     
    13021302         
    13031303        DO ind=1,ndomain 
    1304           IF (.NOT. assigned_domain(ind)) CYCLE 
     1304          IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master) CYCLE 
    13051305           
    13061306          dim3=size(field(ind)%rval4d,2) 
     
    14211421         
    14221422        DO ind=1,ndomain 
    1423           IF (.NOT. assigned_domain(ind)) CYCLE 
     1423          IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master) CYCLE 
    14241424           
    14251425          rval2d=>field(ind)%rval2d 
     
    14521452         
    14531453        DO ind=1,ndomain 
    1454           IF (.NOT. assigned_domain(ind)) CYCLE 
     1454          IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master) CYCLE 
    14551455 
    14561456          rval3d=>field(ind)%rval3d 
     
    14851485                 
    14861486        DO ind=1,ndomain 
    1487           IF (.NOT. assigned_domain(ind)) CYCLE 
     1487          IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master) CYCLE 
    14881488 
    14891489          rval4d=>field(ind)%rval4d 
Note: See TracChangeset for help on using the changeset viewer.