Metatest is a program for automatically running the enzo test suite over
compiler parameter speace to quickly determine what optimization of enzo
you should be using. It runs compiles enzo in debug, high, and aggressive
optimization levels, then runs the test suite with low, medium, and high
strictness levels to determine how accurately enzo behaves on your machine
relative to the gold standard. In addition to cataloging accuracy of the
tests, Metatest keeps track of the time it takes for your enzo to
run the simulations and tests for each optimization level.
After running this suite, you should have a much better idea of what
optimization level you should be using on your particular computer
based on speed and accuracy constraints. Furthermore, you could
help populate the universal chart for how well enzo does with its
testing on various computers found here:
Please note, Metatest should be run from the <enzo_root>/run directory.
Also, make sure you have a fully updated yt version before running metatest,
by running `yt update` if you already have yt installed. If you need to
install yt, then visit http://yt-project.org/#getyt for more details.
For documentation on the general testing suite, see:
./meta_test.py <output_dir> -j 4
Then let it run for about 40-60 minutes until it completes, and you should
have a file in <output_dir> called metatest.txt with all of your relevant
summary information. In addition, for further inspection of the tests,
you can look in the <output_dir> hierarchy for all of the test output