Matilda is presently run as standalone executables, with no installation
required or supported. It is currently aimed at Linux, BSD and macOS systems.
If you have difficulties compiling Matilda for these systems please open an
issue at GitHub.


PREPARATION

It is tested using GCC and Clang. Please try to use modern versions of these
compilers. They need to be recent enough to support OpenMP 3.0.

On macOS do not use the default Xcode clang -- it does not support OpenMP.
Instead install through brew clang-omp, and override the compiler to be used
in src/Makefile.

Before compiling, review the contents of the file src/inc/config.h for your
system. Remember to edit the line

#define UCT_MEMORY 512

with the amount of memory (in MiB) that Matilda can use for MCTS. Please notice
Matilda is agressive in its use of the available memory: It will cache game
state information instead of freeing it, so do not be surprised to see the
memory used always go up.

Other settings may also be configured for a widely different setting than your
own, so please try to take a look at the options meant for editing.


COMPILATION

When ready, execute

make

You should now have an executable file named matilda, that is the main program.

To test the good behaviour of the program in the current system you can also run
the executable named test.

For short instructions on how to use each program run them with --help.

All external files reside in the folder data/. Files produced by Matilda will
also be produced to this folder only.

Matilda will expect to find the data/ folder in the current working directory,
that by default is that of the parent process. Because of this, you may need to
create a link to data/ in the current directory, or use the switch --data
<folder> to override the directory path.