| 185 | } |
| 186 | |
| 187 | auto getMemDeleter() const |
| 188 | { |
| 189 | return [this](cvcuda::WorkspaceMem &mem) |
| 190 | { |
| 191 | // free the memory |
| 192 | freeMem(mem.data, mem.req.size, mem.req.alignment); |
| 193 | // return the event to the event cache |
| 194 | if (mem.ready) |
| 195 | { |
| 196 | m_eventCache->put(nvcv::util::CudaEvent(mem.ready)); |
| 197 | mem.ready = nullptr; |
| 198 | } |
| 199 | }; |
| 200 | } |
| 201 | |
| 202 | Mem create(cvcuda::WorkspaceMemRequirements req) |
| 203 | { |