Build¶
Prerequisites¶
cmake
ninja
: Optional but common tools assume you have this installed.ispc
- A C++ 20 compiler and standard library.
Platform¶
Homebrew is recommended on macOS.
Full instructions to install ISPC for Debian based distributions are here.
First, install ISPC from Intel.
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
sudo apt-get install intel-oneapi-ispc
Add the following to your .rc
. If you don't, you'll need to specify the -DCMAKE_ISPC_COMPILER
to point to the path of ispc
to when invoking CMake
. The default rules in the Makefile
won't do this for you!
Now, install all other dependencies.
Run Benchmarks¶
To build and run all benchmarks,
Benchmarks use a Google Benchmarks harness at ./build/merle_benchmarks
.
Run Playgrounds¶
Playgrounds are interactive demos of the various effects. To build and run all playgrounds,
This builds and runs the ./build/merle_tests
binary which is a Google Test harness.