Memory Validation Tests The tests here are used to validate TCP and TCC. The validation focuses on the commonly used stats like cache hit/miss, and memory traffic. The kernels used for testing are dedicated ones, e.g., pointer chase,showing regular parrterns, and thus providing expected stats. The testing workflow is that: 1) dedicated kernels will be executed and profiled using the specified counters/events in rocprofiler; 2) profiling results will be parsed using the provided scripts, and compared against expected values (self-checking); 3) the comparion results are printed onto screen to show the test is a pass or fail. #### Source tree #### - run.sh top-level script to start all tests - Makefile top-level makefile - run_scripts/ - global.cfg: settings and global codes used by .sh files - test_cache_miss.sh: test TCP/TCC miss rates - test_fetchwrite_size.sh: test memory fetch/write sizes - pmc_config_files/ - cache_pmc.txt: counters used for cache tests - benches/ - test_cache/: benchmark used for cached-related tests - Makefile: makefile to compile benchmarks #### How to run #### 1) step into the test folder $cd test/memory_validation/ 2) run tests to start all tests $run.sh or, to separtely run each $run_scripts/test_cache_miss.sh [TCP/TCC/TCP TCC] $run_scripts/test_fetchwrite_size.sh #### Known issues #### while all tests have be thoroughly tests on Vega 10 and all show [PASS], occasionally some tests show [FAIL]. Possbile reasons is interference onto test benchmarks from runtime processes. You just need to run the tests again.