Architecture#
#include <hpk/architecture.hpp>
This header declares the Architecture enumeration.
- See Also:
ENUMERATION
-
enum class hpk::Architecture#
Enumerates values for Parameter::architecture.
Values:
-
enumerator detect#
Architecture will be detected at runtime.
-
enumerator unsupported#
No supported architecture was detected.
-
enumerator avx2#
AVX + AVX2 + FMA on x86_64.
-
enumerator avx512#
Architecture::avx2 + AVX512F + AVX512DQ + AVX512VL.
-
enumerator avx512fp16#
Architecture::avx512 + AVX512_FP16.
-
enumerator sve256#
SVE vector length 256 on AArch64.
-
enumerator detect#
FUNCTIONS
-
constexpr bool hpk::operator>=(Architecture lhs, Architecture rhs)#
True if the left-hand
Architecture
includes the right-hand one.For example:
hpk::Architecture::avx512 >= hpk::Architecture::avx2 // true hpk::Architecture::avx2 >= hpk::Architecture::avx512 // false hpk::Architecture::avx2 >= hpk::Architecture::sve256 // false hpk::Architecture::sve256 >= hpk::Architecture::avx2 // false
-
constexpr bool hpk::operator<(Architecture lhs, Architecture rhs)#
True if the left-hand side does not include the right-hand side.
For example:
hpk::Architecture::avx512 < hpk::Architecture::avx2 // false hpk::Architecture::avx2 < hpk::Architecture::avx512 // true hpk::Architecture::avx2 < hpk::Architecture::sve256 // true hpk::Architecture::sve256 < hpk::Architecture::avx2 // true
-
std::string hpk::toString(Architecture arch)#
Returns a short string description of an
Architecture
.
-
inline std::ostream &hpk::operator<<(std::ostream &os, Architecture arch)#
Overload for ostream’s
<<
operator for anArchitecture
.