Allocate gpu memory at specific virtual address on Nvidia Xavier board


Is there any way that i can allocate (cudaMalloc) device memory in a certain virtual address??

I found the post of low-level virtual address
And tested these sample codes on Xavier, but I got the results that Xavier doesn’t support VMM.

Are these correct results?
and if so, are there any other ways to allocate memory in a specific virtual address?


Hi ,

There is CuMemMap() API that allows something similar to what you are trying . Suggest you to explore that

Hi neel_patel,

Thanks for reply,
As far as I know cuMemMap() API is one of virtual memory management APIs.
And when I tested the sample code mentioned above, I got the results that on Xaiver virtual memory management is not supporting.

More specifically, when I checked the device attributes, CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED, I got that this attribute set to 0.

Is it correct that you’re saying is, even thought the above attribute not set, cuMemMap() can be used on Xavier?

Thanks again


What version of l4t are you using ?

According to jtop it’s Jetpack 4.6 and L4T is 32.6.1

Hi Woosungkang,

I just checked , r32.6.1 comes with cuda10.2 which does not yet have support for CuMemMap(). It is only supported on Cuda11.x. Right now there is no public release for jetson with cuda 11

Thanks for verification!!
Well… if that case,

  1. is there no other way to allocate at specific virtual address?
  2. Do you know when next generation Jetpack will release?

Thanks again, it has been very helpful

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.