Commit Graph

2 Commits

Author SHA1 Message Date
Field G. Van Zee
3f2440b022 Added m, n dims to gemmd/gemmlike ukernel calls.
Details:
- Updated the gemmd addon and the gemmlike sandbox code to use the new
  microkernel calling sequence, which now includes m and n dimensions so
  that the microkernel has all the information necessary to handle edge
  cases. Thanks to Jeff Diamond for catching this, which ideally would
  have been included in commit 54fa28b.
- Retired var2 of both gemmd and gemmlike to 'attic' directories and
  removed their corresponding prototypes. In both cases, var2 was a
  variant of the block-panel algorithm where edge-case handling was
  abstracted away to a microkernel wrapper. (Since this is now the
  official behavior of BLIS microkernels, I saw no need to have it
  included as a separate code path.)
- Comment updates.
2022-01-06 14:57:36 -06:00
Field G. Van Zee
7bde468c6f Added support for addons.
Details:
- Implemented a new feature called addons, which are similar to
  sandboxes except that there is no requirement to define gemm or any
  other particular operation.
- Updated configure to accept --enable-addon=<name> or -a <name> syntax
  for requesting an addon be included within a BLIS build. configure now
  outputs the list of enabled addons into config.mk. It also outputs the
  corresponding #include directives for the addons' headers to a new
  companion to the bli_config.h header file named bli_addon.h. Because
  addons may wish to make use of existing BLIS types within their own
  definitions, the addons' headers must be included sometime after that
  of bli_config.h (which currently is #included before bli_type_defs.h).
  This is why the #include directives needed to go into a new top-level
  header file rather than the existing bli_config.h file.
- Added a markdown document, docs/Addons.md, to explain addons, how to
  build with them, and what assumptions their authors should keep in
  mind as they create them.
- Added a gemmlike-like implementation of sandwich gemm called 'gemmd'
  as an addon in addon/gemmd. The code uses a 'bao_' prefix for local
  functions, including the user-level object and typed APIs.
- Updated .gitignore so that git ignores bli_addon.h files.
2021-11-13 16:39:37 -06:00