http://developer.amd.com/cpu/CodeAnalyst/Pages/default.aspx
The AMD CodeAnalyst HP.

CodeAnalyst data view. The inspected data in the above picture is the ray-sphere intersection function. CodeAnalyst let’s you see source code and inlined assembly with statistics on how many times each source line and each assembly instruction was sampled.

CodeAnalyst graph view. Provides a quick overview of which functions are costly.
I should note that I’ve modified smallpt a little bit since last week, so the above profile capture is now on a different exe. The main structure of smallpt remains unchanged, so you can see that the ray-sphere intersection is still where a lot of time is being spent.
Last week, I tried Very Sleepy to profile my smallpt implementation. I knew about but didn’t try AMD CodeAnalyst because I own an Intel Core2Quad Q6600 2.4ghz and thought it might be a hassle to try to use it. However, information on the Internet such as this AMD forum post seem to indicate that I can use CodeAnalyst’s timer-based profiling even on Intel CPUs without any problems. Event-based profiling and instruction-based profiling need AMD hardware, so stuff like cache miss information is still unavailable to me.
The timer-based profiling in CodeAnalyst uses EIP register sampling like Very Sleepy, so as far I could tell, I don’t get any additional information. However, 2 things I like about CodeAnalyst more than Very Sleepy is the Visual Studio Integration and the fact that I can see sampling information on individual assembly instructions. One thing I like less than Very Sleepy is I haven’t figured out how to perform sampling per thread. Also Very Sleepy is open-source and I like that.
I think I will use CodeAnalyst as my main profiler (I really like the per assembly instruction sampling info) and switch to Very Sleepy when I find the need. I’m very happy that AMD is letting me use CodeAnalyst on an Intel CPU and will definitely remember CodeAnalyst when I purchase my next CPU.
My setup:
Intel Core2Quad Q6600 2.4ghz
CodeAnalyst 2.97 (Installer was named CodeAnalyst_Public_2.97.803.0531.exe)
Vista 64-bit SP2
Using AMD CodeAnalyst on an Intel CPU
August 30th, 2010 § 0 comments