I have a Windows Based application using CUDA 2.3 working in many installations with 8800GTX, GTX260, GTX280, GTX470, GTX480 cards.
The problem is after starting Windows ( restart or power up ) when first running the application every call to cudaMalloc results in a heap exception. Device management functions, such as, cudaGetDeviceProperties run correctly. After closing the application and restarting the application cudaMalloc works Ok and the whole app works ok until Windows restarted.
The problem only occurs with Drivers 197.xxx and GTX260 with more than 896MBytes of memory.
I have tried handling the exception and then retries the cudaMalloc - this also fails.
All our use of CUDA is encapsulated in classes contained within a separate DLL.
Currently we are instructing our customers to not use Drivers 197.xxx and to avoid GTX260 cards with more than 896Mbytes of RAM.