Grok
9.7.5
|
Namespaces | |
detail | |
HWY_NAMESPACE | |
platform | |
Classes | |
class | AlignedDeleter |
class | AlignedFreer |
struct | float16_t |
struct | bfloat16_t |
struct | EnableIfT |
struct | EnableIfT< true > |
struct | IsSameT |
struct | IsSameT< T, T > |
struct | SizeTag |
struct | RemoveConstT |
struct | RemoveConstT< const T > |
struct | ImageBase |
class | Image |
class | Image3 |
class | Rect |
struct | WrapMirror |
struct | WrapUnchanged |
class | WrapRowMirror |
struct | WrapRowUnchanged |
class | InputStats |
struct | Timestamp |
struct | SortConstants |
struct | uint128_t |
struct | SortAscending |
struct | SortDescending |
class | Sorter |
struct | FunctionCache |
struct | Params |
struct | Result |
struct | ChosenTarget |
class | TestWithParamTarget |
class | TestWithParamTargetAndT |
class | RandomState |
Typedefs | |
using | AllocPtr = void *(*)(void *opaque, size_t bytes) |
using | FreePtr = void(*)(void *opaque, void *memory) |
template<typename T > | |
using | AlignedUniquePtr = std::unique_ptr< T, AlignedDeleter > |
template<typename T > | |
using | AlignedFreeUniquePtr = std::unique_ptr< T, AlignedFreer > |
using | float32_t = float |
using | float64_t = double |
template<bool Condition> | |
using | EnableIf = typename EnableIfT< Condition >::type |
template<class T > | |
using | RemoveConst = typename RemoveConstT< T >::type |
template<typename T > | |
using | MakeUnsigned = typename detail::Relations< T >::Unsigned |
template<typename T > | |
using | MakeSigned = typename detail::Relations< T >::Signed |
template<typename T > | |
using | MakeFloat = typename detail::Relations< T >::Float |
template<typename T > | |
using | MakeWide = typename detail::Relations< T >::Wide |
template<typename T > | |
using | MakeNarrow = typename detail::Relations< T >::Narrow |
template<size_t N> | |
using | UnsignedFromSize = typename detail::TypeFromSize< N >::Unsigned |
template<size_t N> | |
using | SignedFromSize = typename detail::TypeFromSize< N >::Signed |
template<size_t N> | |
using | FloatFromSize = typename detail::TypeFromSize< N >::Float |
using | ImageF = Image< float > |
using | Image3F = Image3< float > |
using | FuncInput = size_t |
using | FuncOutput = uint64_t |
using | Func = FuncOutput(*)(const void *, FuncInput) |
Enumerations | |
enum class | Dist { kUniform8 , kUniform16 , kUniform32 } |
enum class | Algo { kStd , kVQSort , kHeap } |
Functions | |
HWY_DLLEXPORT void * | AllocateAlignedBytes (size_t payload_size, AllocPtr alloc_ptr, void *opaque_ptr) |
HWY_DLLEXPORT void | FreeAlignedBytes (const void *aligned_pointer, FreePtr free_ptr, void *opaque_ptr) |
template<typename T , typename... Args> | |
AlignedUniquePtr< T > | MakeUniqueAlignedWithAlloc (AllocPtr alloc, FreePtr free, void *opaque, Args &&... args) |
template<typename T , typename... Args> | |
AlignedUniquePtr< T > | MakeUniqueAligned (Args &&... args) |
template<typename T , typename... Args> | |
AlignedUniquePtr< T[]> | MakeUniqueAlignedArrayWithAlloc (size_t items, AllocPtr alloc, FreePtr free, void *opaque, Args &&... args) |
template<typename T , typename... Args> | |
AlignedUniquePtr< T[]> | MakeUniqueAlignedArray (size_t items, Args &&... args) |
template<typename T > | |
AlignedFreeUniquePtr< T[]> | AllocateAligned (const size_t items, AllocPtr alloc, FreePtr free, void *opaque) |
template<typename T > | |
AlignedFreeUniquePtr< T[]> | AllocateAligned (const size_t items) |
template<typename T , typename U > | |
constexpr HWY_API bool | IsSame () |
template<typename T > | |
constexpr HWY_API bool | IsFloat () |
template<typename T > | |
constexpr HWY_API bool | IsSigned () |
template<> | |
constexpr bool | IsSigned< float16_t > () |
template<> | |
constexpr bool | IsSigned< bfloat16_t > () |
template<typename T > | |
constexpr HWY_API T | LimitsMax () |
template<typename T > | |
constexpr HWY_API T | LimitsMin () |
template<typename T > | |
constexpr HWY_API T | LowestValue () |
template<> | |
constexpr float | LowestValue< float > () |
template<> | |
constexpr double | LowestValue< double > () |
template<typename T > | |
constexpr HWY_API T | HighestValue () |
template<> | |
constexpr float | HighestValue< float > () |
template<> | |
constexpr double | HighestValue< double > () |
template<typename T > | |
constexpr T | ExponentMask () |
template<> | |
constexpr uint32_t | ExponentMask< uint32_t > () |
template<> | |
constexpr uint64_t | ExponentMask< uint64_t > () |
template<typename T > | |
constexpr T | MantissaMask () |
template<> | |
constexpr uint32_t | MantissaMask< uint32_t > () |
template<> | |
constexpr uint64_t | MantissaMask< uint64_t > () |
template<typename T > | |
constexpr T | MantissaEnd () |
template<> | |
constexpr float | MantissaEnd< float > () |
template<> | |
constexpr double | MantissaEnd< double > () |
template<typename T1 , typename T2 > | |
constexpr T1 | DivCeil (T1 a, T2 b) |
constexpr size_t | RoundUpTo (size_t what, size_t align) |
HWY_API size_t | Num0BitsBelowLS1Bit_Nonzero32 (const uint32_t x) |
HWY_API size_t | Num0BitsBelowLS1Bit_Nonzero64 (const uint64_t x) |
HWY_API size_t | Num0BitsAboveMS1Bit_Nonzero32 (const uint32_t x) |
HWY_API size_t | Num0BitsAboveMS1Bit_Nonzero64 (const uint64_t x) |
HWY_API size_t | PopCount (uint64_t x) |
template<typename TI > | |
constexpr size_t | FloorLog2 (TI x) |
template<typename TI > | |
constexpr size_t | CeilLog2 (TI x) |
HWY_API uint64_t | Mul128 (uint64_t a, uint64_t b, uint64_t *HWY_RESTRICT upper) |
template<size_t kBytes, typename From , typename To > | |
HWY_API void | CopyBytes (const From *from, To *to) |
HWY_API float | F32FromBF16 (bfloat16_t bf) |
HWY_API bfloat16_t | BF16FromF32 (float f) |
HWY_DLLEXPORT HWY_NORETURN void | HWY_FORMAT (3, 4) Abort(const char *file |
HWY_INLINE HWY_ATTR_CACHE void | LoadFence () |
HWY_INLINE HWY_ATTR_CACHE void | FlushStream () |
template<typename T > | |
HWY_INLINE HWY_ATTR_CACHE void | Prefetch (const T *p) |
HWY_INLINE HWY_ATTR_CACHE void | FlushCacheline (const void *p) |
HWY_INLINE HWY_ATTR_CACHE void | Pause () |
template<class Image1 , class Image2 > | |
HWY_MAYBE_UNUSED bool | SameSize (const Image1 &image1, const Image2 &image2) |
static HWY_INLINE HWY_MAYBE_UNUSED size_t | Mirror (int64_t x, const int64_t xsize) |
std::vector< Dist > | AllDist () |
const char * | DistName (Dist dist) |
const char * | AlgoName (Algo algo) |
double | SecondsSince (const Timestamp &t0) |
double | SummarizeMeasurements (std::vector< double > &seconds) |
template<typename RetType , typename... Args> | |
FunctionCache< RetType, Args... > | FunctionCacheFactory (RetType(*)(Args...)) |
HWY_DLLEXPORT int | Unpredictable1 () |
HWY_DLLEXPORT size_t | Measure (const Func func, const uint8_t *arg, const FuncInput *inputs, const size_t num_inputs, Result *results, const Params &p=Params()) |
template<class Closure > | |
static FuncOutput | CallClosure (const Closure *f, const FuncInput input) |
template<class Closure > | |
static size_t | MeasureClosure (const Closure &closure, const FuncInput *inputs, const size_t num_inputs, Result *results, const Params &p=Params()) |
HWY_DLLEXPORT uint32_t | SupportedTargets () |
HWY_DLLEXPORT void | DisableTargets (uint32_t disabled_targets) |
HWY_DLLEXPORT void | SetSupportedTargetsForTest (uint32_t targets) |
HWY_DLLEXPORT bool | SupportedTargetsCalledForTest () |
HWY_INLINE std::vector< uint32_t > | SupportedAndGeneratedTargets () |
static HWY_MAYBE_UNUSED const char * | TargetName (uint32_t target) |
HWY_DLLEXPORT ChosenTarget & | GetChosenTarget () |
static std::string | TestParamTargetName (const testing::TestParamInfo< uint32_t > &info) |
template<typename T > | |
std::string | TestParamTargetNameAndT (const testing::TestParamInfo< std::tuple< uint32_t, T >> &info) |
static HWY_INLINE uint32_t | Random32 (RandomState *rng) |
static HWY_INLINE uint64_t | Random64 (RandomState *rng) |
template<class T > | |
void | PreventElision (T &&output) |
HWY_TEST_DLLEXPORT bool | BytesEqual (const void *p1, const void *p2, const size_t size, size_t *pos=nullptr) |
void | AssertStringEqual (const char *expected, const char *actual, const char *target_name, const char *filename, int line) |
template<typename T > | |
std::string | TypeName (T, size_t N) |
template<typename T > | |
HWY_INLINE bool | IsEqual (const T expected, const T actual) |
template<typename T > | |
HWY_INLINE void | AssertEqual (const T expected, const T actual, const char *target_name, const char *filename, int line, size_t lane=0) |
Variables | |
static constexpr HWY_MAYBE_UNUSED size_t | kMaxVectorSize = 16 |
HWY_DLLEXPORT HWY_NORETURN void int | line |
HWY_DLLEXPORT HWY_NORETURN void int const char * | format |
constexpr size_t | kReps = 30 |
constexpr size_t | kTestMaxVectorSize = 64 |
using hwy::AlignedFreeUniquePtr = typedef std::unique_ptr<T, AlignedFreer> |
using hwy::AlignedUniquePtr = typedef std::unique_ptr<T, AlignedDeleter> |
using hwy::AllocPtr = typedef void* (*)(void* opaque, size_t bytes) |
using hwy::EnableIf = typedef typename EnableIfT<Condition>::type |
using hwy::float32_t = typedef float |
using hwy::float64_t = typedef double |
using hwy::FloatFromSize = typedef typename detail::TypeFromSize<N>::Float |
using hwy::FreePtr = typedef void (*)(void* opaque, void* memory) |
using hwy::Func = typedef FuncOutput (*)(const void*, FuncInput) |
using hwy::FuncInput = typedef size_t |
using hwy::FuncOutput = typedef uint64_t |
using hwy::Image3F = typedef Image3<float> |
using hwy::ImageF = typedef Image<float> |
using hwy::MakeFloat = typedef typename detail::Relations<T>::Float |
using hwy::MakeNarrow = typedef typename detail::Relations<T>::Narrow |
using hwy::MakeSigned = typedef typename detail::Relations<T>::Signed |
using hwy::MakeUnsigned = typedef typename detail::Relations<T>::Unsigned |
using hwy::MakeWide = typedef typename detail::Relations<T>::Wide |
using hwy::RemoveConst = typedef typename RemoveConstT<T>::type |
using hwy::SignedFromSize = typedef typename detail::TypeFromSize<N>::Signed |
using hwy::UnsignedFromSize = typedef typename detail::TypeFromSize<N>::Unsigned |
|
strong |
|
strong |
const char* hwy::AlgoName | ( | Algo | algo | ) |
References kHeap, kStd, and kVQSort.
Referenced by hwy::HWY_NAMESPACE::Result::Print().
std::vector<Dist> hwy::AllDist | ( | ) |
References kUniform32.
AlignedFreeUniquePtr<T[]> hwy::AllocateAligned | ( | const size_t | items | ) |
AlignedFreeUniquePtr<T[]> hwy::AllocateAligned | ( | const size_t | items, |
AllocPtr | alloc, | ||
FreePtr | free, | ||
void * | opaque | ||
) |
HWY_DLLEXPORT void* hwy::AllocateAlignedBytes | ( | size_t | payload_size, |
AllocPtr | alloc_ptr, | ||
void * | opaque_ptr | ||
) |
Referenced by hwy::detail::AllocateAlignedItems(), MakeUniqueAligned(), and MakeUniqueAlignedWithAlloc().
HWY_INLINE void hwy::AssertEqual | ( | const T | expected, |
const T | actual, | ||
const char * | target_name, | ||
const char * | filename, | ||
int | line, | ||
size_t | lane = 0 |
||
) |
References hwy::detail::IsEqual(), line, and hwy::detail::PrintMismatchAndAbort().
Referenced by hwy::HWY_NAMESPACE::AssertMaskEqual().
void hwy::AssertStringEqual | ( | const char * | expected, |
const char * | actual, | ||
const char * | target_name, | ||
const char * | filename, | ||
int | line | ||
) |
HWY_API bfloat16_t hwy::BF16FromF32 | ( | float | f | ) |
References hwy::bfloat16_t::bits.
Referenced by hwy::HWY_NAMESPACE::DemoteTo().
HWY_TEST_DLLEXPORT bool hwy::BytesEqual | ( | const void * | p1, |
const void * | p2, | ||
const size_t | size, | ||
size_t * | pos = nullptr |
||
) |
|
static |
|
constexpr |
References FloorLog2().
Referenced by hwy::HWY_NAMESPACE::OddEvenBlocks(), hwy::HWY_NAMESPACE::ForGEVectors< kMinBits, Test >::operator()(), and hwy::HWY_NAMESPACE::Sort().
HWY_API void hwy::CopyBytes | ( | const From * | from, |
To * | to | ||
) |
References HWY_RESTRICT.
Referenced by hwy::HWY_NAMESPACE::LoadMaskBits(), hwy::HWY_NAMESPACE::MaskFromVec(), and hwy::HWY_NAMESPACE::VecFromMask().
HWY_DLLEXPORT void hwy::DisableTargets | ( | uint32_t | disabled_targets | ) |
const char* hwy::DistName | ( | Dist | dist | ) |
References kUniform16, kUniform32, and kUniform8.
Referenced by hwy::HWY_NAMESPACE::Result::Print().
|
inlineconstexpr |
Referenced by RoundUpTo().
|
constexpr |
|
constexpr |
|
constexpr |
HWY_API float hwy::F32FromBF16 | ( | bfloat16_t | bf | ) |
References hwy::bfloat16_t::bits.
Referenced by hwy::HWY_NAMESPACE::Dot::Compute(), hwy::HWY_NAMESPACE::PromoteTo(), and hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate().
|
constexpr |
Referenced by CeilLog2().
HWY_INLINE HWY_ATTR_CACHE void hwy::FlushCacheline | ( | const void * | p | ) |
HWY_INLINE HWY_ATTR_CACHE void hwy::FlushStream | ( | ) |
HWY_DLLEXPORT void hwy::FreeAlignedBytes | ( | const void * | aligned_pointer, |
FreePtr | free_ptr, | ||
void * | opaque_ptr | ||
) |
Referenced by hwy::AlignedFreer::operator()().
FunctionCache<RetType, Args...> hwy::FunctionCacheFactory | ( | RetType(*)(Args...) | ) |
HWY_DLLEXPORT ChosenTarget& hwy::GetChosenTarget | ( | ) |
Referenced by hwy::FunctionCache< RetType, Args >::ChooseAndCall().
|
constexpr |
|
constexpr |
|
constexpr |
Referenced by hwy::HWY_NAMESPACE::DemoteTo().
HWY_DLLEXPORT HWY_NORETURN void hwy::HWY_FORMAT | ( | 3 | , |
4 | |||
) | const |
HWY_INLINE bool hwy::IsEqual | ( | const T | expected, |
const T | actual | ||
) |
References hwy::detail::IsEqual().
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
Referenced by hwy::HWY_NAMESPACE::NaN().
|
constexpr |
HWY_INLINE HWY_ATTR_CACHE void hwy::LoadFence | ( | ) |
|
constexpr |
|
constexpr |
|
constexpr |
Referenced by hwy::HWY_NAMESPACE::DemoteTo().
AlignedUniquePtr<T> hwy::MakeUniqueAligned | ( | Args &&... | args | ) |
References AllocateAlignedBytes().
AlignedUniquePtr<T[]> hwy::MakeUniqueAlignedArray | ( | size_t | items, |
Args &&... | args | ||
) |
References MakeUniqueAlignedArrayWithAlloc().
AlignedUniquePtr<T[]> hwy::MakeUniqueAlignedArrayWithAlloc | ( | size_t | items, |
AllocPtr | alloc, | ||
FreePtr | free, | ||
void * | opaque, | ||
Args &&... | args | ||
) |
Referenced by MakeUniqueAlignedArray().
AlignedUniquePtr<T> hwy::MakeUniqueAlignedWithAlloc | ( | AllocPtr | alloc, |
FreePtr | free, | ||
void * | opaque, | ||
Args &&... | args | ||
) |
References AllocateAlignedBytes().
|
constexpr |
|
constexpr |
|
constexpr |
Referenced by hwy::HWY_NAMESPACE::Round(), and hwy::HWY_NAMESPACE::detail::UseInt().
|
constexpr |
|
constexpr |
|
constexpr |
HWY_DLLEXPORT size_t hwy::Measure | ( | const Func | func, |
const uint8_t * | arg, | ||
const FuncInput * | inputs, | ||
const size_t | num_inputs, | ||
Result * | results, | ||
const Params & | p = Params() |
||
) |
Referenced by MeasureClosure().
|
inlinestatic |
References Measure().
|
static |
References HWY_DASSERT.
Referenced by hwy::WrapMirror::operator()().
HWY_API uint64_t hwy::Mul128 | ( | uint64_t | a, |
uint64_t | b, | ||
uint64_t *HWY_RESTRICT | upper | ||
) |
Referenced by hwy::HWY_NAMESPACE::MulEven(), and hwy::HWY_NAMESPACE::MulOdd().
HWY_API size_t hwy::Num0BitsAboveMS1Bit_Nonzero32 | ( | const uint32_t | x | ) |
HWY_API size_t hwy::Num0BitsAboveMS1Bit_Nonzero64 | ( | const uint64_t | x | ) |
HWY_API size_t hwy::Num0BitsBelowLS1Bit_Nonzero32 | ( | const uint32_t | x | ) |
Referenced by hwy::HWY_NAMESPACE::FindFirstTrue(), and hwy::ChosenTarget::GetIndex().
HWY_API size_t hwy::Num0BitsBelowLS1Bit_Nonzero64 | ( | const uint64_t | x | ) |
Referenced by hwy::HWY_NAMESPACE::FindFirstTrue().
HWY_INLINE HWY_ATTR_CACHE void hwy::Pause | ( | ) |
HWY_API size_t hwy::PopCount | ( | uint64_t | x | ) |
HWY_INLINE HWY_ATTR_CACHE void hwy::Prefetch | ( | const T * | p | ) |
|
inline |
|
static |
|
static |
|
inlineconstexpr |
References DivCeil().
HWY_MAYBE_UNUSED bool hwy::SameSize | ( | const Image1 & | image1, |
const Image2 & | image2 | ||
) |
Referenced by hwy::Image3< ComponentType >::Image3().
double hwy::SecondsSince | ( | const Timestamp & | t0 | ) |
References hwy::Timestamp::t.
HWY_DLLEXPORT void hwy::SetSupportedTargetsForTest | ( | uint32_t | targets | ) |
double hwy::SummarizeMeasurements | ( | std::vector< double > & | seconds | ) |
References kReps.
HWY_INLINE std::vector<uint32_t> hwy::SupportedAndGeneratedTargets | ( | ) |
References HWY_TARGETS, and SupportedTargets().
HWY_DLLEXPORT uint32_t hwy::SupportedTargets | ( | ) |
Referenced by SupportedAndGeneratedTargets().
HWY_DLLEXPORT bool hwy::SupportedTargetsCalledForTest | ( | ) |
Referenced by hwy::TestWithParamTarget::TearDown(), and hwy::TestWithParamTargetAndT< T >::TearDown().
|
inlinestatic |
References HWY_AVX2, HWY_AVX3, HWY_AVX3_DL, HWY_NEON, HWY_PPC8, HWY_RVV, HWY_SCALAR, HWY_SSE4, HWY_SSSE3, HWY_SVE, HWY_SVE2, and HWY_WASM.
Referenced by hwy::HWY_NAMESPACE::AssertMaskEqual(), hwy::HWY_NAMESPACE::AssertVecEqual(), hwy::HWY_NAMESPACE::Result::Print(), TestParamTargetName(), and TestParamTargetNameAndT().
|
inlinestatic |
References TargetName().
std::string hwy::TestParamTargetNameAndT | ( | const testing::TestParamInfo< std::tuple< uint32_t, T >> & | info | ) |
References TargetName().
std::string hwy::TypeName | ( | T | , |
size_t | N | ||
) |
References hwy::HWY_NAMESPACE::N, and hwy::detail::TypeName().
HWY_DLLEXPORT int hwy::Unpredictable1 | ( | ) |
HWY_DLLEXPORT HWY_NORETURN void int const char* hwy::format |
Referenced by grk::log().
|
staticconstexpr |
|
constexpr |
Referenced by SummarizeMeasurements().
|
constexpr |
HWY_DLLEXPORT HWY_NORETURN void int hwy::line |
Referenced by AssertEqual(), hwy::HWY_NAMESPACE::AssertMaskEqual(), and hwy::HWY_NAMESPACE::AssertVecEqual().