You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add optional interprocedural optimization (IPO) aka
link-time optimization (LTO) to AMReX.
In my WarpX tests recently on x86_64 and ppc64le, using those options
incurred a 2% performance hit (although one would expect a slight
increase). Thus, they are not enabled by default. Also, enabling
them with some toolchains needs users to set the linker properly.
Nontheless, enabling IPO shrinks the binary size a lot. This is
very valuable and worth the runtime penalty for our binary
deployments, e.g. when shipping generic x86_64, aarch64 and ppc64le
binaries on conda-forge to users.
WarpX binary size (default build):
* no IPO: 217MiB
* WarpX IPO, AMReX no IPO: 155MiB
* both WarpX and AMReX with IPO: 127M
0 commit comments