Skip to content

Optimizations

Patrick Kappl requested to merge PatrickKappl/openpixi_c:optimize into master

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 use calculateStapleSum(), 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.

Merge request reports