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
It would be useful to document running tests, which is relevant for packaging.
I tried "make test" for basic sanity, and was surprised it rebuilt the
libraries which were already built (using the same flags in both cases). It
also failed to link, missing openmp, which wasn't specified in the build
step of the Fedora package.
I haven't spent much time looking at it as I'm not sure what's intended, so
information on the recommended procedure would be helpful. (I realize I
should be able to rely on it working, but packages are supposed to run some
test if it's available.)
The text was updated successfully, but these errors were encountered:
I acknowledge this use case (package test), and I will document/implement it with v1.9. What about make tests? As you discovered already, it's "tests" (and not "test", which is something else). Also, you need to pass the exact same options as used for building the library (key-value pairs). For example, if your main case is make STATIC=0 and you want to test this build, you need to run make STATIC=0 tests. Regarding the surpising rebuild, LIBXSMM detects if a rebuild is needed based on the relavant state of "make" (key-value pairs passed with make). If you omit any key-value pair when running the "test" target, you will encounter a rebuild (and test something else).
For the package, I suggest to use only make or make STATIC=0, and to omit any further adjustments (if possible). In particular OMP=1 does not need to be set, and also no SSE or AVX adjustments. The build uses SSE4.2 code by default, which runs nowadays everywhere (or this library makes little sense). If it's crippled below SSE4.2 (CRC32 instruction), additional CPUID-based dispatch is used and some overhead is incurred even in the fast-path. I put quite some effort into drawing this baseline requirement, and it's an acknowledgement of what's needed for general packages.
I have improved the main documentation to explain the build system: "each set of given key-value pairs represents a different build (and test)", which sheds some light on what happens when running make tests (which is roughly equivalent to cd tests; make; ./test.sh). There is also a new Wiki page documenting Basic Tests and Test Suites: https://github.com/hfp/libxsmm/wiki/Validation. However, the latter is likely some overkill for what was asked for.
It would be useful to document running tests, which is relevant for packaging.
I tried "make test" for basic sanity, and was surprised it rebuilt the
libraries which were already built (using the same flags in both cases). It
also failed to link, missing openmp, which wasn't specified in the build
step of the Fedora package.
I haven't spent much time looking at it as I'm not sure what's intended, so
information on the recommended procedure would be helpful. (I realize I
should be able to rely on it working, but packages are supposed to run some
test if it's available.)
The text was updated successfully, but these errors were encountered: