Getting good performance out of general-purpose apps that run on the GPU could get a little bit easier thanks to Nvidia. The company has introduced the OpenCL Visual Profiler, a software tool that gives developers "insight into performance bottlenecks and opportunities for optimization." The OpenCL Visual Profiler brings the following perks:
Profiling of actual hardware signals, kernel efficiency, and instruction issue rate Timing of memory copies between system memory and GPU dedicated memory Customizable graphs to help developers focus in on problem areas Basic auto-analysis to reveal warp serialization problems Easy import/export to CSV for custom analysis
You may have to jump through a few hoops to get going, though—downloading the software involves signing up as part of Nvidia's Registered Developer program.
Nvidia does however offer an OpenCL Best Practices Guide (PDF) to anyone without mandatory registration. The 49-page guide largely focuses on performance optimization, as well.