Skip to content

Commit 281ae49

Browse files
author
Raghuveer Devulapalli
committed
Add examples of how to use and build header files
1 parent 85e1008 commit 281ae49

File tree

7 files changed

+94
-0
lines changed

7 files changed

+94
-0
lines changed

examples/Makefile

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
CC=g++-12
2+
CFLAGS=-I../src
3+
EXE = argsort kvsort qsortfp16 qsort16 qsort32 qsort64
4+
5+
default: all
6+
all : $(EXE)
7+
8+
qsortfp16: avx512fp-16bit-qsort.cpp
9+
$(CC) -o qsortfp16 -O3 -march=sapphirerapids $(CFLAGS) avx512fp-16bit-qsort.cpp
10+
11+
qsort16: avx512-16bit-qsort.cpp
12+
$(CC) -o qsort16 -O3 -march=icelake-client $(CFLAGS) avx512-16bit-qsort.cpp
13+
14+
qsort32: avx512-32bit-qsort.cpp
15+
$(CC) -o qsort32 -O3 -march=skylake-avx512 $(CFLAGS) avx512-32bit-qsort.cpp
16+
17+
qsort64: avx512-64bit-qsort.cpp
18+
$(CC) -o qsort64 -O3 -march=skylake-avx512 $(CFLAGS) avx512-64bit-qsort.cpp
19+
20+
argsort: avx512-argsort.cpp
21+
$(CC) -o argsort -O3 -march=skylake-avx512 $(CFLAGS) avx512-argsort.cpp
22+
23+
kvsort: avx512-kv.cpp
24+
$(CC) -o kvsort -O3 -march=skylake-avx512 $(CFLAGS) avx512-kv.cpp
25+
26+
clean:
27+
$(RM) $(EXE)

examples/avx512-16bit-qsort.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#include "avx512-16bit-qsort.hpp"
2+
3+
int main() {
4+
const int size = 1000;
5+
short arr[size];
6+
avx512_qsort(arr, size);
7+
avx512_qselect(arr, 10, size);
8+
avx512_partial_qsort(arr, 10, size);
9+
return 0;
10+
}

examples/avx512-32bit-qsort.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#include "avx512-32bit-qsort.hpp"
2+
3+
int main() {
4+
const int size = 1000;
5+
float arr[size];
6+
avx512_qsort(arr, size);
7+
avx512_qselect(arr, 10, size);
8+
avx512_partial_qsort(arr, 10, size);
9+
return 0;
10+
}

examples/avx512-64bit-qsort.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#include "avx512-64bit-qsort.hpp"
2+
3+
int main() {
4+
const int size = 1000;
5+
double arr[size];
6+
avx512_qsort(arr, size);
7+
avx512_qselect(arr, 10, size);
8+
avx512_partial_qsort(arr, 10, size);
9+
return 0;
10+
}

examples/avx512-argsort.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#include "avx512-64bit-argsort.hpp"
2+
3+
int main() {
4+
const int size = 1000;
5+
float arr[size];
6+
std::vector<size_t> arg1 = avx512_argsort(arr, size);
7+
std::vector<size_t> arg2 = avx512_argselect(arr, 10, size);
8+
return 0;
9+
}

examples/avx512-kv.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#include "avx512-64bit-keyvaluesort.hpp"
2+
3+
int main() {
4+
const int size = 1000;
5+
int64_t arr1[size];
6+
uint64_t arr2[size];
7+
double arr3[size];
8+
avx512_qsort_kv(arr1, arr1, size);
9+
avx512_qsort_kv(arr1, arr2, size);
10+
avx512_qsort_kv(arr1, arr3, size);
11+
avx512_qsort_kv(arr2, arr1, size);
12+
avx512_qsort_kv(arr2, arr2, size);
13+
avx512_qsort_kv(arr2, arr3, size);
14+
avx512_qsort_kv(arr3, arr1, size);
15+
avx512_qsort_kv(arr3, arr2, size);
16+
avx512_qsort_kv(arr3, arr3, size);
17+
return 0;
18+
}

examples/avx512fp-16bit-qsort.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#include "avx512fp-16bit-qsort.hpp"
2+
3+
int main() {
4+
const int size = 1000;
5+
_Float16 arr[size];
6+
avx512_qsort(arr, size);
7+
avx512_qselect(arr, 10, size);
8+
avx512_partial_qsort(arr, 10, size);
9+
return 0;
10+
}

0 commit comments

Comments
 (0)