opengl performance measurement

Hi everybody,
Im new to opengl and still learning many of the features. My problem is how to measure the performance of an opengl program, be it any program, i just need the efficient way to measure the performance of an opengl program.

If all you want is frame rate, you can use FRAPS - http://www.fraps.com/

maybe a bit too advanded:
you can check if your graphic card support the extension GL_EXT_timer_query (afaik only NVidia). this allows you to profile very accurately the time taken by one/a group of GL calls on the GPU.

There is also GL_AMD_performance_monitor (AMD/ATI only) but anyone know how to use it?

I do have an Nvidia graphics card, actually im comparing the performance of normal Opengl program with that of one using CUDA features that again runs on GPU. I have assumed that a normal opengl program doesn’t run on GPU, Am i going wrong here??

I am not sure to follow!
CUDA is used so that you can harvest the GPU processing power for non related graphic tasks.

For instance, you can compress a TGA as a DDS texture on the CPU (slow), but it is much faster to program the same task on the GPU (using CUDA). Same goes for tasks that requires a lot of processing power, but are higly parallelable.

ash, you are getting confused. CUDA is a toolkit that allows you to run general purpose procedures on the GPU. When you use OpenGL, the graphics operations and shaders run on the GPU. So you can say that an OpenGL program runs on (or at least uses) the GPU. It is just a different way. Either way, if I ask someone to get me a beer (GL) or if I take it myself (CUDA), the fridge will still have to be opened (only in the first case it happens invisible to me).