Ignore:
Timestamp:
07/15/19 12:29:31 (5 years ago)
Author:
adurocher
Message:

trunk : Added metric terms to kernels parameters to avoid Host/GPU transferts

Metric terms are now subroutine parameters instead of module variables in kernel subroutines. Dummy arguments for metric terms are now defined as fixed-size arrays, and arrays dimensions are well known when entering an 'acc data' region. Array descriptors are no longer transferred form host to device each time the data region is executed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/src/transport/advect_tracer.F90

    r953 r954  
    143143       END DO 
    144144 
    145        CALL compute_backward_traj(tangent,normal,u,0.5*dt*itau_adv, cc) 
     145       CALL compute_backward_traj(tangent,normal,u,0.5*dt*itau_adv, cc,   & 
     146                                  xyz_e, de, wee, le                   ) ! metrics terms 
    146147    END DO 
    147148 
     
    193194             END IF 
    194195          END IF 
    195           CALL compute_advect_horiz(k==nq_last,frac>0., hfluxt,cc,gradq3d, rhodz, q(:,:,k), qfluxt(:,:,k)) 
     196          CALL compute_advect_horiz(k==nq_last,frac>0., hfluxt,cc,gradq3d, rhodz, q(:,:,k), qfluxt(:,:,k),  & 
     197                                    Ai, xyz_i)   ! metrics terms 
    196198        END DO 
    197199 
Note: See TracChangeset for help on using the changeset viewer.