Develop in 32 bit XP to run on 64 bit Linux Issues developing for different environm

Can I program CUDA 1.1 on a 32 bit gpu (geforce 8800 GT) using 32 bit XP OS, and then use that same code in linux on a 64 bit gpu (geforce 280)?

I want to develop software to run on linux using a geforce 280 which is 64 bit. But I don’t want to have to buy expensive equipment while I am just developing. If there are issues in developing in a 32 bit windows environment, then how serious would the switchover be to the 64 bit card and environment?

There are no specific CUDA issues: CUDA is the same API on all platforms. The only porting issues you may run into are normal for any windows/linux port. As long as you stick to standards compliant C/C++ and don’t rely on any platform specific libraries you should keep any needed code changes for the port minimal.

If possible, you could dual boot linux on your current windows machine and continually keep your development code up to date to compile on both.

I would also suggest using CMake and FindCUDA.cmake to manage your build system. From the same project configuration files it can generate VS projects on windows and make files in linux.

I basically agree with MisterAnderson42.

The only specific thing that springs to mind is pointer sizes - be careful with your sizeof’s, and be careful to use size_t for pointers.

A suggestion - the Boost libraries are very nice, and are quite cross platform. These are nice for file handling, memory mapping, string shuffling and whatever, all the standard stuff. Boost is similar in spirit to STL, but much larger in scope.