Building the Project¶
Requirements¶
To use this project CMake is required.
You can check if CMake is installed by running
cmake --version
Note
CMake can be downloaded or installed OS specific through other methods
- Linux
A simple way is using
apt-getby running the commandsudo apt-get install cmake
Building¶
Download the git repository with git
HTTPS
git clone https://github.com/Integer-Ctrl/machine-learning-compilers
SSH
git clone git@github.com:Integer-Ctrl/machine-learning-compilers
Go into the project folder. Your current path should look like this
../machine-learning-compilers.Now create a new folder called
buildwithmkdir buildGo into this directory. Your current path should look like this
../machine-learning-compilers/build.Now we can start with CMake. Run the following command
cmake .. -DCMAKE_BUILD_TYPE=<Type>
Supported values for
<Type>are Release and Debug. If onlycmake ..is used the Release build is selected.The most desired command might be:
cmake .. -DCMAKE_BUILD_TYPE=Release
Note
With the Option
-Ga Generator can be defined used to create the make files and compile the Code. All available Generators can be found at the bottom of the
cmake --helptext. An Example could look like thiscmake .. -G "MinGW Makefiles"
Important
When using a multi-config Generator, i.e. Ninja Multi-Config, Visual Studio Generators, Xcode,
-DCMAKE_BUILD_TYPE=<Type>is not needed, and the build type is configured on compilation.Therefore, this cmake build command is used:
cmake --build . --config Release --target benchmarks
Options for
--configare Release and Debug. Options for--targetare benchmarks and testsNote
With the Option
-Dtoggle options can be activated supported only by thisCMakeLists.txt. Available options are:Option
Description
SAVE_JITS_TO_FILE
Saves the JITed kernels into a file if activated.
To activate an option, the following must be written:
cmake .. -D <Option>=ON
For Example:
cmake .. -D SAVE_JITS_TO_FILE=ON
Now we can build the project. The most desired command might be
cmake --build . --target tests
Options for
--targetare benchmarks and testsOption
Description
benchmarks
Build the benchmarks executable.
tests
Builds the tests executable.
Running the Benchmarks & Tests¶
The executables have been build in to the ../machine-learning-compilers/build directory with their corresponding name.
E.g. If tests is built than the executable name is tests,
for benchmarks the executable name would be benchmarks, etc.
All the executables can be found in ../machine-learning-compilers/build.
The available executables are benchmarks and tests.
Note
They are available when build with their respective --target
E.g. the benchmarks executable can be run with the following command:
./benchmarks
The most desired command for the benchmarks might be:
./benchmarks --benchmark_counters_tabular=true --benchmark_repetitions=10 --benchmark_report_aggregates_only=true