Can someone give a clear explanation of how the new and delete keywords would behave if called from __device__
or __global__
code in CUDA 4.2?
C++ new
and delete
operate on device heap memory. The device allows for a portion of the global (i.e. on-board) memory to be allocated in this fashion. new
and delete
work in a similar fashion to device malloc and free.
You can adjust the amount of device global memory available for the heap using a runtime API call.
You may also be interested in the C++ new/delete sample code.
CC 2.0 or greater is required for these capabilities.