Files
rocm-systems/test/memory_validation
Evgeny aecc7abc76 Mem32Bwrites -> MemWrites32B renaming
Change-Id: I86f570b97178caa3d3d5fcbc5ecc716216dad504
2019-08-22 22:34:36 -05:00
..

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.