Add filtering of hardware resources based on core attributes to the environment variable KMP_HW_SUBSET. There are two new attributes added:
- Core Type (intel_atom, intel_core)
- Core Efficiency (integer) where the higher the efficiency, the more performant the core
On hybrid architectures , e.g., Alder Lake, users can specify
KMP_HW_SUBSET=4c:intel_atom,4c:intel_core to select the first four Atom
and first four Big cores. The can also use the efficiency syntax. e.g.,
KMP_HW_SUBSET=2c:eff0,2c:eff1
hw_subset_depth isn't a constant expression, causing an error with MSVC: https://github.com/llvm/llvm-project/issues/53672