allocate virtual memory without commiting

Any way to reserve a virtual memory address range without actually allocating physical pages? You can do that with VirtualAlloc on Windows and mmap on UNIX. I’d like to do this for a custom memory allocator so that it doesn’t have to grab a huge memory block up front and deny it to code that just uses regular cudaMalloc.