I am new to OpenACC which is a new programming standard for GPU Acceleration as well as CPU. As per my knowledge OpenACC is a language which is a compiler directive, directly we can accelerate the code where ever we want, without changing the whole code. This Programming standard will work for GPU also unlike OpenMP.
Now my doubt raises here..
we have OpenCL for acceleration, now OpenACC(which is very easy to use, just by giving compiler hints). For host program acceleration we can simply put compiler directives, then what about if we have a kernel? i.e. now i want to write my code for GPU(c-language), what i have to do? like OpenCL do i need to write example.c & example.cl?? then need to add OpenACC compiler directives? or else in which way? if it is so, then what is the use of OpenACC here, coz we are writing both *.c & *.cl files, (we need to check all the memory constraints and all for writing OpenCL, which is a tough work).