CUDA's low-level virtual memory management mechanism involves:
- Physical allocations
- Virtual address range reservations
- Mappings between the above
Conveniently, if you map a physical allocation to some address range - you can "free" the physical allocation and keep using it until it is unmapped.
Can we also do this for virtual address range reservations? i.e. will they be kept alive until the mappings are gone? The documentation doesn't say.