Unable to gather profile data. This error can occur for one of several reasons:
1. It is an OpenCL program.
2. It does make "enqueue" calls.
3. It perfectly runs manually.
4. I do have write access to the profile output directory.
Can you please share some information about your program and environment:
The number of active wavefronts is affected by the number of 'vector general purpose registers' (VGPRs) used by the dispatched kernel. As the number of VGPRs used increases, the number of active wavefronts decreases in steps. You may benefit from modifying your kernel code to use less VGPRs.
See the following subjects in CodeXL help:
'GPU Profiler Kernel Occupancy Viewer' and 'GPU Profiler Kernel Occupancy' under CodeXL Modules -> CodeXL GPU Profiler User Guide -> Using the GPU Profiler.
The compiler may optimize the kernel differently based on device info, that explains the VGPR and SGPR usage difference. To be more specific, Turks is from northern island family and it doesn't have SGPR, however, it's VGPR is 128 bit wide. Tahiti is from southern island family with the GCN architecture, it's VGPR is 32 bit wide, what's why it uses more VGPRS.
The occupancy is determined by number of active waves that can fit into a compute unit. 100% occupancy on Tahiti means more waves can be in-flight.