Open
Conversation
fa05001 to
280fcae
Compare
280fcae to
c01bbf6
Compare
a654dd3 to
5c020ea
Compare
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.
Motivation
Integrates coverage support from old build system in new build system. Previous coverage support required symbolic links that were a symptom of an issue of how header files are organized in the source tree, so header files were moved and include paths updated to eliminate sym links.
Another issue with coverage was that we conditionally added tests to increase lines covered when coverage is enabled. This is not the purpose of coverage builds. Coverage builds should assess lines covered by routine testing so we now (generally) build and run tests the same way for coverage and routine testing. Differences include build type and ifdef'ing out poisoned functions for coverage builds.
There are additional issues with the coverage tests that should be addressed including that the current coverage levels depend on running the samples. Coverage numbers should not depend on running examples or samples and should rely primarily on unit testing which are deficient in hipblaslt.
To ensure that anyone can generate coverage reports, ease of use presets/targets are provided:
cmake --preset coverage -DGPU_TARGETS="<targets>" -B build -S .cmake --build build --parallel --target coverageTechnical Details
Test Plan
Coverage builds not automated so building by hand (result included). Typical build modes tested in pipelines