[RFC] Add make_device_unique() functions to ScopedContextBase #487
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR description:
This PR is to demonstrate how the CUDA memory allocation API would change if moved part of
cms::cuda::ScopedContext*
. Such an API change would allowCUDAService
instead of being singletonsCUDAService
acquire()
/produce()
/intermediate task instead of at the end of enclosing scope), and such memory blocks may thus become available for other CUDA streams later, which may increase the live GPU memory sizeThe API change implies that
ScopedContextBase
needs to be percolated to anywhere memory needs is allocated.For ESProducers an
ScopedContextES
would need to be created (I was planning to create one anyway, and might have made a private prototype on top of #412.PR validation:
Code compiles, test configuration
HeterogeneousCore/CUDATest/test/testCUDASwitch_cfg.py
runs.