Skip to content

Commit 6fce1ad

Browse files
author
Raghuveer Devulapalli
committed
Update README
1 parent 35dd7eb commit 6fce1ad

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

README.md

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ int main() {
5454
### Build using gcc
5555

5656
```
57-
gcc main.cpp -mavx512f -mavx512dq -O3
57+
g++ main.cpp -mavx512f -mavx512dq -O3
5858
```
5959

6060
This is a header file only library and we do not provide any compile time and
@@ -75,33 +75,40 @@ compiler to build.
7575
gcc >= 8.x
7676
```
7777

78+
### Build using Meson
79+
80+
meson is the recommended build system to build the test and benchmark suite.
81+
82+
```
83+
meson setup builddir && cd builddir && ninja
84+
```
85+
86+
It build two executables:
87+
88+
- `testexe`: runs a bunch of tests written in ./tests directory.
89+
- `benchexe`: measures performance of these algorithms for various data types.
90+
91+
7892
### Build using Make
7993

80-
`make` command builds two executables:
94+
Makefile uses `-march=sapphirerapids` as a global compile flag and hence it
95+
will require g++-12. `make` command builds two executables:
8196
- `testexe`: runs a bunch of tests written in ./tests directory.
8297
- `benchexe`: measures performance of these algorithms for various data types
8398
and compares them to std::sort.
8499

85100
You can use `make test` and `make bench` to build just the `testexe` and
86101
`benchexe` respectively.
87102

88-
### Build using Meson
89-
90-
You can also build `testexe` and `benchexe` using Meson/Ninja with the following
91-
command:
92-
93-
```
94-
meson setup builddir && cd builddir && ninja
95-
```
96-
97103
## Requirements and dependencies
98104

99105
The sorting routines relies only on the C++ Standard Library and requires a
100106
relatively modern compiler to build (gcc 8.x and above). Since they use the
101107
AVX-512 instruction set, they can only run on processors that have AVX-512.
102108
Specifically, the 32-bit and 64-bit require AVX-512F and AVX-512DQ instruction
103109
set. The 16-bit sorting requires the AVX-512F, AVX-512BW and AVX-512 VMBI2
104-
instruction set. The test suite is written using the Google test framework.
110+
instruction set. The test suite is written using the Google test framework. The
111+
benchmark is written using the google benchmark framework.
105112

106113
## References
107114

0 commit comments

Comments
 (0)