| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
…SMM=ON) Fetch+build libxsmm from source (no system install assumed) and route the small strided tensor-of-tensors GEMMs (ce+e, ce+ce, scale) through its JIT, falling back to vendor BLAS for shapes max(M,N,K)>64. Runtime toggle TA_LIBXSMM=0.
- Install libxsmm.a+headers into TA's prefix; split TiledArray_LIBXSMM into BUILD/INSTALL interfaces so the exported config has no build-tree leak. - Guard 64->32-bit narrowing of lda/ldb/ldc in libxsmm_gemm_le64. - Make the libxsmm sub-make parallelism configurable (LIBXSMM_BUILD_NJOBS). - Add a TA_LIBXSMM=1 CTest gate + a direct scale_libxsmm_dgemm numerical test.
| set(LIBXSMM_BUILD_BYPRODUCTS "${_LIBXSMM_INSTALL_DIR}/lib/libxsmm.a") | ||
| message(STATUS "custom target libxsmm is expected to build these byproducts: ${LIBXSMM_BUILD_BYPRODUCTS}") | ||
|
|
||
| ExternalProject_Add(libxsmm |
There was a problem hiding this comment.
Does libxsmm have a CMake harness so that we can use FetchContent?
Sorry, something went wrong.
There was a problem hiding this comment.
Found that they support CMake now. Will adapt later
Sorry, something went wrong.
There was a problem hiding this comment.
Actually, don't adapt yet, it may not be usable as a subproject. Safer to use ExternalProject_add (only for projects that we control directly it's better to use FetchContent)
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Adds an optional libxsmm fast path for the small strided ToT micro-GEMMs, enabled with -DTA_LIBXSMM=ON (default OFF). When on, TiledArray fetches and builds libxsmm from source itself and routes these GEMM families through libxsmm's JIT, falling back to the vendor BLAS for any shape with max(M,N,K) > 64:
A runtime switch TA_LIBXSMM=0 (off/false/no) routes every micro-GEMM back through the vendor BLAS without rebuilding.
ta_test arena_strided_dgemm_suite + arena_einsum_unit_suite pass with libxsmm ON (JIT fires) and with TA_LIBXSMM=0 — numerically equivalent to the vendor-BLAS path.