These allocations may be accessed in one other graph or immediately via a stream operation so long as the accessing operation is ordered after the allocation via CUDA events and other stream ordering mechanisms. An allocation could subsequently be freed by common calls to cudaFree, cudaFreeAsync, or by the launch of one other graph with a corresponding free node, or a subsequent launch of the allocating graph . It is unlawful to entry reminiscence after it has been freed – the free operation must be ordered after all operations accessing the reminiscence using graph dependencies, cuda occasions and other stream ordering mechanisms. Just like allocation accessibility controlled through the digital memory administration APIs, memory pool allocation accessibility does not follow cudaDeviceEnablePeerAccess or cuCtxEnablePeerAccess. Instead, the api cudaMemPoolSetAccess modifies what units can access allocations from a pool. By default, allocations are accessible from the gadget the place the allocations are located.…