This repository currently documents the stress_malloc Message Passing test suite.
stress_malloc/: forward MP variantsstress_malloc/reverse/: reverse MP variants
All test source files use the mp_... naming scheme and build to matching .out executables.
Build forward variants:
make -C stress_mallocBuild reverse variants:
make -C stress_malloc/reverseClean:
make -C stress_malloc clean
make -C stress_malloc/reverse cleanEach stress_malloc executable takes six arguments:
- Array size
- Number of iterations
XindexYindex- Number of CPU stress threads
- Stress array size
Example:
./stress_malloc/mp_fwd_com-dev__p-rlx__c-rlx.out 12000 2000 9 1000 5 20000Use:
python3 run-all.pyWhat it does:
- discovers all
mp_*.outexecutables understress_malloc/andstress_malloc/reverse/ - runs them continuously in an infinite loop
- records every run in
results_<timestamp>.csv - stops cleanly on
Ctrl-Cor termination - prints a summary at shutdown
The default command used for each executable is:
./<executable> 12000 1000000 9 1000 5 20000
- GPU memory stress is currently hardcoded in the CUDA sources.
- CPU stress thread count and stress array size are runtime parameters.
- Several variants differ only in memory order, fence placement, scope, or forward vs reverse orientation.
- The full variant naming rationale is documented in
STRESS_MALLOC.md.