A few questions related to pinned memory:
- When allocating pinned memory (possibly 256MB - 1GB), it seems some memory is being allocated on the currently selected GPU RAM. Why exactly? Is there some logic in the size that is being allocated? I need to know as I’m pre-allocating most of the GPU RAM and the pinned allocations sometimes fails because (of what looks like) an insufficient space in the GPU RAM.
- When copying a non-pinned buffer to the GPU, does the driver allocates chunks of pinned memory and does some/many intermediate copies from my pageable memory to the pinned memory to the device?
If so, what are the sizes of those intermediate buffers?