ATLAS Offline Software
|
Functions | |
template<size_t ISA_WIDTH> | |
constexpr size_t | alignmentForArray () |
In the following ISA_WIDTH is the ISA width in bits e.g 128 for SSE 256 for AVX2 etc For the cases of interest/tested doing 4 simd vectors at a time seemed best. More... | |
template<size_t ISA_WIDTH, typename T > | |
constexpr size_t | strideOfNumSIMDVec (size_t NumSIMDVec) |
returns the STRIDE in units of elements covered by NumSIMDVec simd vectors of type T for the specific ISA For example for a 256 bit, a SIMD vector is 8 floats So 4 simd vectors correspond to 32 elements. More... | |
template<size_t STRIDE> | |
constexpr int | numPadded (const int n) |
Given a number n returns a new n >= n that is padded to the required STRIDE. More... | |
template<size_t ISA_WIDTH, typename T > | |
ATH_ALWAYS_INLINE T | vFindMinimum (const T *distancesIn, int n) |
Find the minimum element in the array of distances processing four simd vectors at a time. More... | |
template<size_t ISA_WIDTH, typename T > | |
ATH_ALWAYS_INLINE int | vIdxOfValue (const T value, const T *distancesIn, int n) |
Find the index of an element in the array of distances processing four simd vectors at a time. More... | |
template<int ISA_WIDTH, typename T > | |
ATH_ALWAYS_INLINE int | vIdxOfMin (const T *distancesIn, int n) |
Find the index of the minimum in the array of distances. More... | |
|
constexpr |
In the following ISA_WIDTH is the ISA width in bits e.g 128 for SSE 256 for AVX2 etc For the cases of interest/tested doing 4 simd vectors at a time seemed best.
Alignment needed for arrays of elements when using an ISA of specific width e.g 32 for AVX2 16 for SSE4 etc
Definition at line 76 of file GSFFindIndexOfMinimum.h.
|
constexpr |
Given a number n returns a new n >= n that is padded to the required STRIDE.
Definition at line 94 of file GSFFindIndexOfMinimum.h.
|
constexpr |
returns the STRIDE in units of elements covered by NumSIMDVec simd vectors of type T for the specific ISA For example for a 256 bit, a SIMD vector is 8 floats So 4 simd vectors correspond to 32 elements.
Definition at line 86 of file GSFFindIndexOfMinimum.h.
ATH_ALWAYS_INLINE T vAlgs::vFindMinimum | ( | const T * | distancesIn, |
int | n | ||
) |
Find the minimum element in the array of distances processing four simd vectors at a time.
Definition at line 107 of file GSFFindIndexOfMinimum.h.
ATH_ALWAYS_INLINE int vAlgs::vIdxOfMin | ( | const T * | distancesIn, |
int | n | ||
) |
Find the index of the minimum in the array of distances.
Definition at line 210 of file GSFFindIndexOfMinimum.h.
ATH_ALWAYS_INLINE int vAlgs::vIdxOfValue | ( | const T | value, |
const T * | distancesIn, | ||
int | n | ||
) |
Find the index of an element in the array of distances processing four simd vectors at a time.
Definition at line 162 of file GSFFindIndexOfMinimum.h.