Files
blis/config_registry
Field G. Van Zee 786d15c5ef Added skx, knl to x86_64 configuration family.
Details:
- Added 'skx' and 'knl' sub-configurations to the 'x86_64' configuration
  family in the config_registry file.
- Added logic to configure that avoids committing certain sub-configs to
  the configuration/kernel registries if those sub-configs cannot be
  handled properly by the chosen compiler. (This was modeled after
  similar logic in TBLIS's configure; thanks to Devin Matthews for
  pointing this out.) First, the compiler and its version are inspected
  and, based on the results, certain configurations are added to a
  "blacklist". Then, as the configuration registries are being created,
  configurations and/or kernels that match items in the blacklist are
  skipped over and not commited to the registries. Under certain
  circumstances, omitting a blacklisted configuration will indirectly
  invalidate other configurations due to the loss of availability of
  the original blacklisted configuration's kernel set. This additional
  indirect blacklist is also accounted for.
- Added output to the beginning of configure that echos information
  about the chosen compiler as well as the configurations that are
  blacklisted and must be stripped from the registries.
- Various other cleanups in configure, especially with respect to
  explicitly declaring local variables in functions.
- Comment updates to config/zen/make_defs.mk regarding choice of -march
  flags based on compiler version.
2018-04-04 16:06:47 -05:00

38 lines
895 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.
x86_64: intel64 amd64
intel64: skx knl haswell sandybridge penryn generic
amd64: zen excavator steamroller piledriver bulldozer generic
arm64: cortexa57 generic
arm32: cortexa15 cortexa9 generic
# Intel architectures.
skx: skx
knl: knl
haswell: haswell/haswell/zen
sandybridge: sandybridge
penryn: penryn
# AMD architectures.
zen: zen
excavator: excavator/piledriver
steamroller: steamroller/piledriver
piledriver: piledriver
bulldozer: bulldozer
# ARM architectures.
cortexa57: cortexa57/armv8a
cortexa15: cortexa15/armv7a
cortexa9: cortexa9/armv7a
# Generic architectures.
generic: generic