I tried simple cuda operation in a shared library:
CUDA_SAFE_CALL( cudaMallocArray( &cu_Index, &index.channelDesc, _xIndex, _yIndex ));
Then the host program gives the following error:
Non-handled exception in Test.exe at 0x03b638d1: 0xC0000005: access confliction when reading 0x00000000
Before this is executed, content of cu_Index is 0x00000000, but I think this is fine since we passed in its address.
After I use the same code to a static linked library, it works fine.
So, is there anything I need pay attention when use CUDA in a shared library ( dll )?
I was using WinXP Pro, VC8, 8800GTS, cuda0.8