questions regarding commercially distributing cuda applications some good practices for packaging ap

Hi all,

I’m nearing beta phase with a commercial application which visualizes scientific/medical data, i’ve developed that uses CUDA for computation.
I’ve developed the app on a PC with windows XP 32bit using visual studio with it’s cl compiler and the CUDA 2.3 toolkit/SDK.

My application also uses OpenGL with a few GLSL shaders to present the data interactively, and i’m using the cuda opengl interop stuff.

So far i’ve only compiled / ran and debugged/tested my app on my development machine,
and i’ve never publically released any software with CUDA and i’m sure i’m looking into a slew of problems regarding platform compatibility, users complaining about the app not starting, crashing etc…

I’d like to ask all of you to comment on what to do now,
should i use the driver API or runtime API to launch my kernels?

What dll’s should i distribute along with the app to make sure it will run on all machines ?
What general instructions should i give to customers regarding drivers etc to install ?

Also, can my cuda kernel, which i compiled to ptx and linked into my app run on all 8000+ NVIDIA cards ?
I’m using a 8800GTX here, with compute model 1.0 (which fits my needs), will my kernel automagically run on newer cards ?

Also, if i compile my app with the cuda 2.3 SDK, will the binary run in say a few months on customer pc’s with drivers installed of future cuda versions ?

Any other issues or advice you could have run into with a compareable scenario would be appreciated. :)