Hi, all!
I used jcuda ver 0.3.0? for long time. Now I decide update to 0.3.2a, but get runtime error:
**/usr/lib/jvm/sun-jdk-1.6/bin/java: symbol lookup error: libJCudaDriver-linux-x86_64.so: undefined symbol: cuInit.
**The reason of this error is “JCudaDriver.cuInit(0)” in my source code.
I need in big memory alocation for data arrays (more 2Gb for data array) and I need in new jcuda version.
Can I assume that you have installed the appropriate CUDA Driver and Toolkit, namely version 3.2 (build 16), and that there are no old installations which might interfere with the new one?
In any case, I contacted the contributor who created these binaries, maybe he has an idea what might be wrong there.
[QUOTE=Unregistered]Also I try used jcuda-0.3.2 drivers (not 0.3.2a) and my program work fine!
[/QUOTE]
So this might at least be a preliminary solution, athough the Bugfix that was added between 0.3.2 and 0.3.2a only referred to the aspect that you mentioned: Proper handling of large memory blocks. This bug was reported in this thread about cuDeviceGetTotalMem . Does cuDeviceGetTotalMem return the proper values with the 0.3.2 (NOT ‘a’) version on Linux64?
public static long getDeviceTotalMem(final CUdevice dev) {
final long[] bytes = new long[1];
CudaUtils.checkCudaError(JCudaDriver.cuDeviceTotalMem(bytes, dev));
return bytes[0];
}
That’s strange - maybe the bug was specific for Win64 then…? Or the original contributor of version 0.3.2 fixed it silently for the compilation So you may stick to 0.3.2, and I’ll try to find out what’s wrong with 0.3.2a.