CUDA wrapper

Stefan Dösinger stefan at
Sat Jul 12 22:02:17 CDT 2008

I have no idea regarding that crash, but from the rest of the log it seems
that the app is initializing a d3d device; This means you'll probably have
to implement cuda<->d3d communication



From: wine-devel-bounces at [mailto:wine-devel-bounces at]
On Behalf Of Seth Shelnutt
Sent: Saturday, July 12, 2008 7:52 PM
To: wine-devel at
Subject: Re: CUDA wrapper


OK, I've fixed a few mistakes in the .spec file and we are getting further,
but I tried debugging the output but I am not sure what it all means.

zerix01 at DeepThought:~/.wine/drive_c/Program
Files/Folding at home/Folding at home-gpu$ winedbg Folding at home.exe
WineDbg starting on pid 0024
start_process () at /media/md0/wine/wine/dlls/kernel32/process.c:904
0x7b877d02 start_process+0xc2
[/media/md0/wine/wine/dlls/kernel32/process.c:904] in kernel32: movl
904 ExitThread( entry( peb ) );
fixme:d3d:IWineD3DImpl_FillGLCaps OpenGL implementation supports 32 vertex
samplers and 32 total samplers
fixme:d3d:IWineD3DImpl_FillGLCaps Expected vertex samplers +
MAX_TEXTURES(=8) > combined_samplers
fixme:win:EnumDisplayDevicesW ((null),0,0x33f40c,0x00000000), stub!
err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr
Invalid address (0x7b877d07 start_process+0xc7) for breakpoint 0, disabling
Process of pid=0024 has terminated

I believe the key line is Invalid address (0x7b877d07 start_process+0xc7)
for breakpoint 0, disabling it . But what exactly that means I am not sure,
I mean I don't know which function it is saying is missing or messed up.
Also from the documentation and from the nvidia forums it seems that both
libraries are exactly the same, and it is said that there is no difference
in writing a program for Linux vs. Windows, but I assume that is minus the
direct3d functions, which I know the folding at home program doesn't use.

On Thu, Jul 10, 2008 at 12:01 AM, Stefan Dösinger <stefan at>

Wine links against 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 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 at [mailto:wine-devel-bounces at]
On Behalf Of Seth Shelnutt
Sent: Wednesday, July 09, 2008 7:23 PM
To: Juan Lang; wine-devel at
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.

Does wine need to somehow be made aware of the presence of the
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?


-------------- next part --------------
An HTML attachment was scrubbed...

More information about the wine-devel mailing list