How I ran AMD CodeAnalyst on an Intel CPU

It's been asked how I managed to run AMD CodeAnalyst on an Intel CPU, since the documentation and Wikipedia page says that it requires an AMD CPU. Someone suggested that I might have hacked out the CPUID check.

I actually used the following very sneaky technique:

Install CodeAnalyst.

Run CodeAnalyst.

CodeAnalyst works fine on an Intel CPU, as long as you use Time-Based Sampling (TBS). It will blue-screen the machine if you use Event-Based Sampling (EBS) or Pipeline Simulation, or at least it used to. Call graph profiling might not work either, but I never use that anyway.

As for why CodeAnalyst works on Intel CPUs, only AMD knows for sure, but there are good reasons for doing so. One reason is that you can analyze runs on a different machine than the one that did the profile; another is that the vast majority of optimization benefits execution on any CPU. A third possible reason is simply that it happens to work and there's no reason to spend time breaking it. In any case, I'm glad that this is the case, because CodeAnalyst is free and easy to install, and even though it's not the fanciest sampling profiler, it works.

(Disclaimer: This is version 2.84. Might not work on some future version.)