When I run the unified memory example at jcuda-samples/JCudaDriverUnifiedMemory.java at 66d72e3044b2c2e3df4b54f62f22bb5f10349b71 · jcuda/jcuda-samples · GitHub on NVIDIA GeForce GTX 860M, it stops working.
It does not give Device does not support managed memory
This means that my device supports unified memory.
When it comes to ByteBuffer bb = p.getByteBuffer(0, size);
System.out.println("Buffer on host side: " + bb);
The Net Beans IDE stops working! What is wrong? I need to apply unified memory into my application to do without host-device and device-host transfers.
Have you another succeeded example you made before in JCUDA,please?
End your program before that point:
and run it under
JCuda isn’t developed, maintained, or supported by NVIDIA.
Its unfortunate that that sample code does not use proper CUDA error checking.
Unified memory does not eliminate the need for those kinds of transfers.
I know from CUDA books that using accessing data from unified memory will reduce time than transfer operations. Is this right?
It would probably be true for a Jetson platform. In the general case, I wouldn’t say that is true, I have never read that anywhere except Jetson docs, and I wouldn’t support that idea in the general case. Since you mentioned 860M (which is not Jetson) I think we could rule that out.