Performance differences based on OS

Hello Everyone,

I am about to kick off an OpenCL based project and have the opportunity to work with any OS - Linux, Windows XP, Windows Vista or Windows 7 - both 32 and 64 bit varieties. I plan to use a 64bit OS and favor development on Windows.

Is there any performance differences between the different supported operating systems for the same NVidia hardware or other OS based issues that I should be aware of? I will be working with the C1060 soon, but am using a pair of GForce GTX 260M cards at present.

Thanks in advance,


Yes, they’re mainly a result of different driver models and the overheads of kernel launch.

For long running kernels it’s mostly negligible and you should expect more or less similar performance on all systems. Some people have reported issues with one system being faster than the other for their particular application so you may run into some glitches but that’s something you have to expect from any multiplatform application, OpenCL or not.

Windows’ Vista/7 drivers have higher launch overhead than XP or Linux drivers (which both have comparable overheads). This can be noticeable if you launch many short-running kernels. I hear there are also issues with allocating big batches of memory in Vista/7 (like > 200MB) due to device memory paging they introduced. On the other hand, I’ve never had a driver crash that would bring down the system on Win7, unlike on XP. I have driver killing code (out of bounds writes) that will bring XP down with a BSOD and only cause an error message in 7. I haven’t done enough development on Linux to comment on its stability.

Thanks for the reply.

Given that I’m not entirely sure what our usage patterns will be at this point, I think I’ll try to use both Windows XP 64 and Windows 7 64 on two different machines to facilitate comparisons of the two platforms.