CUDA Unified Memory Hints on Jetson Platforms

Hi all,

I am testing CUDA Unified Memory on Jetson Platforms (AGX Xavier), and I was trying the cudaMemAdvise hints. I was trying the following:

cudaMemAdvise(A, 1, cudaMemAdviseSetPreferredLocation, 0);
cudaMemAdvise(A, 1, cudaMemAdviseSetAccessedBy, cudaCpuDeviceId);

And tryied them the other way around (GPU for “AccessedBy” and CPU for “PreferredLocation”). However, whenever GPU (device = 0) is used in any of those hints, “cudaMemAdvise” returns error 0x65 (cudaErrorInvalidDevice). The GPU is 0 in embedded platforms, hence, the only option for the error occurring is that the hint is actually invalid for device 0 (this is what the documentation states).

Is it that hints don’t work in Jetson platforms?

Thanks for your help.

There are various limitations on unified memory usage on Jetson (iGPU). You may wish to read that whole document. (I think this may fall into the “unified memory techniques that involve prefetching based on cudaMemPrefetchAsync” or else “concurrent access”) I would also suggest that Xavier or Jetson specific questions be asked on the forum for those devices.