I have developed an applcation using CUDA for my 8800GT. I want to develop a front end (GUI) using MFC + DirectX. My fist question is, can we run GPU functions as a CPU thread? Next, I want to generate the obj (compiled using nvcc) for the CUDA function and link with the MFC front end obj (compiled with cl) using link.exe and run it. Are there going to be any issues this way? Thanks in advance for any tips in this regard.

1.can’t run the functions as CPU thread.
2.yes, it can be linked with MFC

Check out the cppIntegration project that comes with the sample. Developing a MFC front-end would be on similar lines. It is not too hard at all.

I do not have any experience with DirectX in MFC. But I did use OpenGL and MFC to have front-end to the CUdakernels and it was fine (limited only by the opengl.dll that ships wiht windows).

AFAIK, you could run GPU functions on separate threads as long as they do not need to share the GPU context. I am currently trying to understand this in details myself. Let me know if you find something about it.