I'm curious about how the gpu profiling is done in particular.
The official site: http://developer.amd.com/tools-and-sdks/heterogeneous-computing/codexl/ only states:
"AMD CodeXL also provides a GPU profiler that collects and visualizes GPU counter data, application trace, kernel occupancy and hotspots analysis for AMD APU and GPUs. The profiler gathers data from the OpenCL™ run-time and AMD Radeon™ GPUs during the execution of an OpenCL™ application."
What profiling types are used in particular?
Sampling?
Event-based profiling with the help of something like clGetEventProfilingInfo ?
Does CodeXL also instrument the program?
If yes, how? Thorugh runtime instrumentation or runtime injection, ...?