You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hans Pabst edited this page Jul 7, 2023
·
32 revisions
Validation
Basic Tests
To run basic tests:
make tests
Remember: a set of key-value pairs represents a single unique (re-)build (and test):
make STATIC=0 tests
Test Suites
It is possible to run whole test suites or collections of tests like for LIBXSMM's Continuous Integration (CI). The script tool_test.sh is included in archives and releases, i.e., it also works for non-repository folders. To run an entire collection (aka scripts/tool_test.sh 0).
scripts/tool_test.sh
It is also possible to select a single test (out of the whole collection):
scripts/tool_test.sh 1
In general, key-value pairs which are valid for LIBXSMM's make can be specified:
AVX=3 DBG=1 scripts/tool_test.sh
There are several collections of tests covering specific domains:
samples/utilities/wrap/wrap-test.sh: test substituting standard symbols at link/run-time (gemm, gemv, etc).
samples/xgemm/kernel_test.sh: test SMM kernels in an almost exhaustive fashion (brute-force).
samples/eltwise/run_test.sh: test all kinds of element-wise kernels and variants.
samples/pyfr/test.sh: test Sparse Matrix times Dense Matrix (FsSpMDM).
Reproduce Failures
LIBXSMM's verbose mode can print the invocation arguments when launching a test driver (LIBXSMM_VERBOSE=4 and beyond). For example (LIBXSMM_VERBOSE=4 ./run_test_avx2.sh), the termination message of a failing test may look like:
Note: scripts such scripts/tool_pexec.sh suppress error output (console) by default and capture error output in individual files, i.e., verbose output may not be immediately visible.