Optimizations
This merge request adds various code optimizations:
- Compiler optimization flags for Intel compiler:
- /Qipo enables interprocedural optimizations across all files
- /QxHost allows the highest instruction set available on the host processor to be used
- If
STORE_PLAQUETTES
is #defined, the plaquettes are calculated after the EOMs and stored in RAM. Other calculations then use the stored plaquettes. - If
USE_INDEXES
is #defined, loops over the whole grid use position indexes instead of position vectors. - If
USE_STAPLE_SUM
is #defined, the EOMs usecalculateStapleSum()
, otherwise they use the stored plaquettes.
On my laptop I get the fasted code if STORE_PLAQUETTES
, USE_INDEXES
and USE_STAPLE_SUM
are #defined. However, USE_STAPLE_SUM
improves the performance only slightly.