mirror of https://gitlab.com/QEF/q-e.git
complying to triplet notation in openacc statements
This commit is contained in:
parent
ff90d73b73
commit
7d75915c51
|
@ -5,22 +5,7 @@
|
|||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
#if defined (_OPENACC)
|
||||
#ifndef __OPENACC
|
||||
#define __OPENACC
|
||||
#endif
|
||||
#endif
|
||||
#if defined (__OPENACC)
|
||||
#define DEV_ACC !$acc
|
||||
#define DEV_OMP !!!
|
||||
#define START_WSHARE DEV_ACC kernels
|
||||
#define END_WSHARE DEV_ACC end kernels
|
||||
#else
|
||||
#define DEV_ACC !!!
|
||||
#define DEV_OMP !$omp
|
||||
#define START_WSHARE DEV_OMP workshare
|
||||
#define END_WSHARE DEV_OMP end workshare
|
||||
#endif
|
||||
#include <cpv_device_macros.h>
|
||||
!-------------------------------------------------------------------------
|
||||
SUBROUTINE gram_bgrp( betae, bec_bgrp, nkbx, cp_bgrp, ngwx )
|
||||
!-----------------------------------------------------------------------
|
||||
|
|
|
@ -357,7 +357,7 @@
|
|||
|
||||
!
|
||||
|
||||
DEV_ACC data present(rhoeg, rhops, mill,g ) copy(fion) create(rp(s_ngm_)) copyin(sfac, screen_coul, gg, vps, ityp,ei1, ei2, ei3)
|
||||
DEV_ACC data present(rhoeg, rhops, mill,g ) copy(fion) create(rp(1:s_ngm_)) copyin(sfac, screen_coul, gg, vps, ityp,ei1, ei2, ei3)
|
||||
!
|
||||
DEV_OMP parallel default(none) &
|
||||
DEV_OMP shared(gstart, dffts,sfac, rhops, screen_coul, rhoeg, nsp, gg, tpiba2, tpiba, mill, g, &
|
||||
|
|
|
@ -123,7 +123,7 @@ CONTAINS
|
|||
nspin= SIZE(rhor_d, 2)
|
||||
!
|
||||
ALLOCATE( psi_d(desc%nnr) )
|
||||
!$acc data create( psi_d(desc%nnr) )
|
||||
!$acc data create( psi_d(1:desc%nnr) )
|
||||
!$acc host_data use_device( psi_d )
|
||||
IF( nspin == 1 ) THEN
|
||||
iss=1
|
||||
|
|
|
@ -120,7 +120,7 @@
|
|||
ALLOCATE( igtongl_d(ngm) )
|
||||
ALLOCATE( gl_d(ngm) )
|
||||
ENDIF
|
||||
!$acc enter data create( mill(3, ngm), g(3, ngm) )
|
||||
!$acc enter data create( mill(1:3, 1:ngm), g(1:3, 1:ngm) )
|
||||
!
|
||||
RETURN
|
||||
!
|
||||
|
|
|
@ -75,7 +75,7 @@ SUBROUTINE allocate_wfc_k()
|
|||
!
|
||||
ALLOCATE( vkb(npwx,nkb) )
|
||||
#if defined __CUDA
|
||||
!$acc enter data create(vkb(npwx,nkb) )
|
||||
!$acc enter data create(vkb(1:npwx,1:nkb) )
|
||||
#endif
|
||||
!
|
||||
! g2kin contains the kinetic energy \hbar^2(k+G)^2/2m
|
||||
|
|
|
@ -103,7 +103,7 @@ SUBROUTINE force_us_gpu( forcenl )
|
|||
CALL using_evc_d(0)
|
||||
DO ipol = 1, 3
|
||||
!
|
||||
!$acc data present(vkb(:,:), vkb1(npwx,nkb), igk_k(:,:))
|
||||
!$acc data present(vkb(:,:), vkb1(1:npwx,1:nkb), igk_k(:,:))
|
||||
!$acc parallel loop collapse(2)
|
||||
DO jkb = 1, nkb
|
||||
DO ig = 1, npw
|
||||
|
@ -112,7 +112,7 @@ SUBROUTINE force_us_gpu( forcenl )
|
|||
ENDDO
|
||||
!$acc end data
|
||||
!
|
||||
!$acc data present(vkb1(npwx,nkb))
|
||||
!$acc data present(vkb1(1:npwx,1:nkb))
|
||||
!$acc host_data use_device(vkb1)
|
||||
CALL calbec_gpu ( npw, vkb1, evc_d, dbecp_d )
|
||||
!$acc end host_data
|
||||
|
|
|
@ -46,7 +46,7 @@ CONTAINS
|
|||
!
|
||||
if(use_gpu.and.run_on_gpu) then
|
||||
!
|
||||
!$acc data present(igk_(npw_), mill(:,:), g(:,:), vkb_(npwx,nkb), eigts1(:,:), eigts2(:,:), eigts3(:,:))
|
||||
!$acc data present(igk_(1:npw_), mill(:,:), g(:,:), vkb_(1:npwx,1:nkb), eigts1(:,:), eigts2(:,:), eigts3(:,:))
|
||||
!$acc host_data use_device(eigts1, eigts2, eigts3, mill, g, igk_, vkb_)
|
||||
CALL init_us_2_base_gpu(npw_, npwx, igk_, q_, nat, tau, ityp, tpiba, omega,&
|
||||
dfftp%nr1, dfftp%nr2, dfftp%nr3, eigts1, eigts2, eigts3, mill, g,&
|
||||
|
|
|
@ -90,7 +90,7 @@ CONTAINS
|
|||
INTEGER :: ik
|
||||
!
|
||||
IF (.NOT.ALLOCATED(igk_k)) ALLOCATE( igk_k(npwx,nks) )
|
||||
!$acc enter data create(igk_k(npwx,nks))
|
||||
!$acc enter data create(igk_k(1:npwx,1:nks))
|
||||
!
|
||||
IF (.NOT.ALLOCATED(ngk)) ALLOCATE( ngk(nks) )
|
||||
!
|
||||
|
|
|
@ -2905,7 +2905,7 @@ contains
|
|||
IF ( mykey == 0 ) THEN
|
||||
na_smax = max(3,na_s)
|
||||
|
||||
!$acc data copyin(xyz(3,n),iz(n),cc6ab(n*n),lat(3,3),r0ab(max_elem,max_elem))
|
||||
!$acc data copyin(xyz(1:3,1:n),iz(1:n),cc6ab(1:n*n),lat(1:3,1:3),r0ab(1:max_elem,1:max_elem))
|
||||
!$acc kernels vector_length(32)
|
||||
!$acc loop collapse(2) gang private(ijvec1,ijvec2,ijvec3, ikvec1,ikvec2,ikvec3, jkvec1,jkvec2,jkvec3, c9, r0ij,r0ik,r0jk, &
|
||||
!$acc& repmin1,repmin2,repmin3, repmax1,repmax2,repmax3, jtau1,jtau2,jtau3, &
|
||||
|
|
Loading…
Reference in New Issue