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
Architectureincludes 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.