Ignore:
Timestamp:
08/09/18 13:55:51 (6 years ago)
Author:
dubos
Message:

devel : updated generated kernels ; added missing SIMD directives

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/src/kernels_hex/compute_NH_geopot.k90

    r657 r724  
    99   ! compute Phi_star 
    1010   DO l = 1,llm+1 
     11      !DIR$ SIMD 
    1112      DO ij=ij_omp_begin_ext,ij_omp_end_ext 
    1213         Phi_star_il(ij,l) = Phi_il(ij,l) + tau*g2*(W_il(ij,l)/m_il(ij,l)-tau) 
     
    1920      CASE(thermo_theta) 
    2021         DO l = 1,llm 
     22            !DIR$ SIMD 
    2123            DO ij=ij_omp_begin_ext,ij_omp_end_ext 
    2224               rho_ij = (g*m_ik(ij,l))/(Phi_il(ij,l+1)-Phi_il(ij,l)) 
     
    2931      CASE(thermo_entropy) 
    3032         DO l = 1,llm 
     33            !DIR$ SIMD 
    3134            DO ij=ij_omp_begin_ext,ij_omp_end_ext 
    3235               rho_ij = (g*m_ik(ij,l))/(Phi_il(ij,l+1)-Phi_il(ij,l)) 
     
    4447      ! Solve -A(l-1)x(l-1) + B(l)x(l) - A(l)x(l+1) = R(l) using Thomas algorithm 
    4548      ! Compute residual R_il and B_il 
     49      !DIR$ SIMD 
    4650      DO ij=ij_omp_begin_ext,ij_omp_end_ext 
    4751         ! bottom interface l=1 
     
    5256      END DO 
    5357      DO l = 2,llm 
     58         !DIR$ SIMD 
    5459         DO ij=ij_omp_begin_ext,ij_omp_end_ext 
    5560            ! inner interfaces 
     
    6368         END DO 
    6469      END DO 
     70      !DIR$ SIMD 
    6571      DO ij=ij_omp_begin_ext,ij_omp_end_ext 
    6672         ! top interface l=llm+1 
     
    7480      ! C(0)=0, C(l) = -A(l) / (B(l)+A(l-1)C(l-1)), 
    7581      ! D(0)=0, D(l) = (R(l)+A(l-1)D(l-1)) / (B(l)+A(l-1)C(l-1)) 
     82      !DIR$ SIMD 
    7683      DO ij=ij_omp_begin_ext,ij_omp_end_ext 
    7784         X_ij = 1./B_il(ij,1) 
     
    8087      END DO 
    8188      DO l = 2,llm 
     89         !DIR$ SIMD 
    8290         DO ij=ij_omp_begin_ext,ij_omp_end_ext 
    8391            X_ij = 1./( B_il(ij,l) + A_ik(ij,l-1)*C_ik(ij,l-1) ) 
     
    8694         END DO 
    8795      END DO 
     96      !DIR$ SIMD 
    8897      DO ij=ij_omp_begin_ext,ij_omp_end_ext 
    8998         X_ij = 1./( B_il(ij,llm+1) + A_ik(ij,llm+1 -1)*C_ik(ij,llm+1 -1) ) 
     
    97106      END DO 
    98107      DO l = llm,1,-1 
     108         !DIR$ SIMD 
    99109         DO ij=ij_omp_begin_ext,ij_omp_end_ext 
    100110            ! Back substitution at lower interfaces 
Note: See TracChangeset for help on using the changeset viewer.