Files
blis/config_registry
Field G. Van Zee 34862aed89 Use zen kernels in haswell sub-configuration.
Details:
- Register use of level-1v zen intrinsic kernels for amaxv, axpyv, dotv,
  dotxv, and scalv, as well asl level-1f zen intrinsic kernels for axpyf
  and dotxf. This works because these kernels simply target AVX/AVX2,
  and therefore work without modification on haswell hardware.
- Switch to use of zen microkernels in bli_cntx_init_haswell.c. The zen
  kernels are essentially identical to those used by haswell, except that
  now zen kernels are a bit more up-to-date. In the future, I may
  continue to maintain duplicates, or I may keep the kernels named after
  one architecture (zen or haswell) but used by both sub-configurations.
- In config_registry, enable use of both haswell and zen kernels for the
  haswell sub-configuration. This is necessary in order to make zen
  kernels visible when registering kernels in bli_cntx_init_haswell.c.
- Enable use of assembly-based complex gemm microkernels for zen,
  bli_cgemm_zen_asm_3x8() and bli_zgemm_zen_asm_3x4(), in
  bli_cntx_init_zen.c. This was actually intended for 1681333.
2018-02-28 15:30:14 -06:00

37 lines
924 B
Plaintext

#
# config_registry
#
# Please refer to the BLIS wiki on configurations for information on the
# syntax and semantics of this file [1].
#
# [1] https://github.com/flame/blis/wiki/ConfigurationHowTo
#
# Processor families.
intel64: haswell sandybridge penryn generic
amd64: zen excavator steamroller piledriver bulldozer generic
arm32: cortexa9 cortexa15 generic
x86_64: haswell sandybridge penryn zen excavator steamroller piledriver bulldozer generic
# Intel architectures.
haswell: haswell/haswell/zen
sandybridge: sandybridge
penryn: penryn
knl: knl
skx: skx
# AMD architectures.
zen: zen
excavator: excavator/piledriver
steamroller: steamroller/piledriver
piledriver: piledriver
bulldozer: bulldozer
# ARM architectures.
cortexa9: cortexa9/armv7a
cortexa15: cortexa15/armv7a
cortexa57: cortexa57/armv8a
# Generic architectures.
generic: generic