Code Reference:https://www.olcf.ornl.gov/tutorials/openacc-vector-addition/
vecAdd .f90 openACC code and compiled code with PGI Complier by flags acc -ta=tesla:cc70,nollvm,keep -Minfo=acce
Accelerator Kernel generated code(vecadd.f90)
global launch_bounds(128) void main_29_gpu(
double* p3/* .Z0640 /, —>a (1:n ) —>openACC
double p5/* .Z0634 /, -->b(1:n) —> openACC
double p6/* .Z0646 /,----> result(c(1:n)—>openACC
long long x1/ z_b_7 /,— what this Argument and how to map OpenACC
long long x4/ z_b_3 /,—>what this Argument and how to map OpenACC
long long x8/ z_b_11 */)—>what this Argument and how to map OpenACC
{
}
Open ACC Parallel code:
!$acc kernels !copyin(a(1:n),b(1:n)), copyout(c(1:n)) do
i=1,n
c(i) = a(i) + b(i) sum = sum + c(i)
enddo !$acc end kernels