Wine links against cudart.dll.so from /usr/lib/ or wherever it is. You don't have to put it in C:\windows... .
You can put a TRACE or ERR into the cudaMalloc(or whatever) function implementation in your code to write a message to check if the functions are properly called. I suspect they are, and that libcudart.so writes those errors. This would then mean that the Windows and Linux cuda libraries are different, and some features are missing in the Linux version. If that is true, the only thing you can do is to contact Nvidia and ask them for help
From: wine-devel-bounces@winehq.org [mailto:wine-devel-bounces@winehq.org] On Behalf Of Seth Shelnutt Sent: Wednesday, July 09, 2008 7:23 PM To: Juan Lang; wine-devel@winehq.org Subject: Re: CUDA wrapper
Well at least it compiled, but it isn't working. We are still getting the message that the function isn't implemented.
Initializing Nvidia gpu library cudaMalloc CUDAStream::Allocate failed feature is not yet implemented
Now both cudamalloc and all four cuda stream's, cudaStreamCreate, Destroy, Query and Synchronize were implemented. I thought maybe it was because in the spec file I had the cudaStream's as pointers (ptr) so I switched them to long but ti didn't make a difference. Originally the argument was "stream" but I can't get any argument but ptr and long to pass the winegcc for spec files.
http://shelnutt.twomurs.com/patches/cuda/cuda.dll.spec
Does wine need to somehow be made aware of the presence of the cudart.dll.so file? We tried putting it in both the system32 and the lib folder but it seems also that maybe WINE needs to be made aware of it?