OpenCL on Win7 slower than WinXP

Hi,

I implemented a 2D-image processing program with OpenCL.
And then, I ran the program on both Win7 and WinXP(used same exe file on both).

As a result, the performance on Win7 was slower than that on WinXP.
(About 1.5 times slower)

I used GTX480 with same version run-time(CUDA 3.1.1) and same version driver(257.21) on both.

Additionally, I ran oclDeviceQuery on both.
Then, CL_DEVICE_MAX_CLOCK_FREQUENCY was displayed as 1401 MHz on WinXP, but 801MHz on Win7.

I suspect this is related with the slower performance.

Does anyone know how to improve the performance on Win7?

I dont know about clocks, but i had a serious performance degradation going to vista and 7 and it happens because of the new windows WDDM which no sits between the gpu and the driver, not letting the driver have direct access, this is done for a number of reasons which make sense, but for compute tasks it really screws you over performance wise. especially if your kernels are small and fast.

I dont know about clocks, but i had a serious performance degradation going to vista and 7 and it happens because of the new windows WDDM which no sits between the gpu and the driver, not letting the driver have direct access, this is done for a number of reasons which make sense, but for compute tasks it really screws you over performance wise. especially if your kernels are small and fast.

erdooom,

Thanks for your help.

I’ve googled about WDDM and CUDA, then found that many people had the same problem as mine.

Also, I found out ‘TCC Driver’ which solves the problem, but unfortunately not support OpenCL(Only for CUDA C).

For now, there seems to be no alternative but to hope NVIDIA’s future support.

Additionally, I answer myself about clocks :

GTX480 has ‘Power Saving Mode’ which keeps the clock frequency down when idle.

In fact, I verified the clock frequency came up to 1401MHz while the OpenCL program running with GPU-Z.

erdooom,

Thanks for your help.

I’ve googled about WDDM and CUDA, then found that many people had the same problem as mine.

Also, I found out ‘TCC Driver’ which solves the problem, but unfortunately not support OpenCL(Only for CUDA C).

For now, there seems to be no alternative but to hope NVIDIA’s future support.

Additionally, I answer myself about clocks :

GTX480 has ‘Power Saving Mode’ which keeps the clock frequency down when idle.

In fact, I verified the clock frequency came up to 1401MHz while the OpenCL program running with GPU-Z.

Check this thread, maybe it could help.