git clone git@github.com:mars-research/DRAMHiT.git --recursive
Nix manages all project dependencies. Install nix if your system doesn't have nix
curl -L https://nixos.org/nix/install | shUse following script to enter nix development shell
./nix-dev-shell.sh- Apply constant frequency, enable hugepages, and disable hardware prefetching.
./scripts/setup.sh
You alternatively can do similar for amd machine
./scripts/setup_amd.sh
- Setup build directory
cmake -S . -B build
Note that above command will not set up build unless you provide -DCPUFREQ_MHZ=XXXX
This is the constant frequency of the cpu pinned by setup scripts.
cmake --build build/
This is cmd line gui tool you can use to see all build time configuration if you don't want to use standard cmake ways -DVAR.
On command line, install and start ccmake
sudo apt install cmake-curses-gui
ccmake ./build
./build/dramhit --help
Run all tests.
ctest --test-dir=build
Run individual test binary. For example, the hashmap test:
./build/unittests/hashmap_test