Allocate gpu memory at specific virtual address on Nvidia Xavier board

Hi,

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 https://developer.nvidia.com/blog/introducing-low-level-gpu-virtual-memory-management/
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?

Thanks.

Hi ,

There is CuMemMap() API that allows something similar to what you are trying . Suggest you to explore that
https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__VA.html#group__CUDA__VA_1gff1d395423af5c5c75375516959dae56

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

@neel_patel

What version of l4t are you using ?

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

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

@neel_patel
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.