Skip to content

Commit 677cb4a

Browse files
author
Raghuveer Devulapalli
committed
Add argsort for 32-bit data type
1 parent c2f2423 commit 677cb4a

File tree

6 files changed

+548
-125
lines changed

6 files changed

+548
-125
lines changed

src/avx512-64bit-argsort.hpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,33 @@ void avx512_argsort(T* arr, int64_t *arg, int64_t arrsize)
279279
}
280280
}
281281

282+
template <>
283+
void avx512_argsort(int32_t* arr, int64_t *arg, int64_t arrsize)
284+
{
285+
if (arrsize > 1) {
286+
argsort_64bit_<ymm_vector<int32_t>>(
287+
arr, arg, 0, arrsize - 1, 2 * (int64_t)log2(arrsize));
288+
}
289+
}
290+
291+
template <>
292+
void avx512_argsort(uint32_t* arr, int64_t *arg, int64_t arrsize)
293+
{
294+
if (arrsize > 1) {
295+
argsort_64bit_<ymm_vector<uint32_t>>(
296+
arr, arg, 0, arrsize - 1, 2 * (int64_t)log2(arrsize));
297+
}
298+
}
299+
300+
template <>
301+
void avx512_argsort(float* arr, int64_t *arg, int64_t arrsize)
302+
{
303+
if (arrsize > 1) {
304+
argsort_64bit_<ymm_vector<float>>(
305+
arr, arg, 0, arrsize - 1, 2 * (int64_t)log2(arrsize));
306+
}
307+
}
308+
282309
template <typename T>
283310
std::vector<int64_t> avx512_argsort(T* arr, int64_t arrsize)
284311
{

0 commit comments

Comments
 (0)