Reset persisting l2 cache - #459
Draft
oleksandr-pavlyk wants to merge 2 commits into
Draft
Conversation
If user opts in, persistent L2-cache state is reset before timer starts in measure_cold, and before batch executes in measure_cold. Warm-up runs also reset persistent L2 cache state. Reset is performed before L2 flushing to demote persisting cache lines ahead of flushing to allow them to be flushed as well.
Save the current cudaLimitPersistingL2CacheSize when --disable-persisting-l2-cache is active, reset persisting L2 state before cold/hot measurements, and explicitly restore the saved limit after the measurement scope exits or throws. Keep the reset helper out of public measurement headers to avoid leaking the private fmt dependency through nvbench/nvbench.cuh, and add cleanup guard coverage for the no-device helper path.
Collaborator
Author
|
@brycelelbach Please let me know if this is what you had in mind. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Closes #458
Introduces
--disable-persistent-l2-cacheoption to opt-in and reset persistent L2-cache state inmeasure_coldandmeasure_hot.For
measure_cold(isolated measurements), the reset occurs before L2 is flushed before every launch. The reset is also done for warm-up runs.For
measure_hot(batched measurements), the reset occurs at the start of every batch.