Hello,
Following today performance call (https://wiki.linaro.org/WorkingGroups/ToolChain/Meetings/2011-08-23) here are some points raised regarding the steps towards enabling SMS by default:
* Benchmarks testing:
-- Running benchmarks as EEMBC and SPEC2006 with SMS enabled is crucial to expose loops where SMS degrades the performance. those loops need to be analysed to construct a cost model. -- SMS increases code size by introducing prologue and epilogue to the loop kernel. This should also be measured. -- Measure increase in compile time: on native or cross build?
Currently SMS fails to bootstrap trunk on ARM machine. this should also be taken into account when considering enabling it by default.
Should it be turned on with -O2 or -O3?
SMS flags to use for testing:
-O3 -fmodulo-sched-allow-regmoves -fmodulo-sched -funsafe-loop-optimizations -fno-auto-inc-dec
Thanks, Revital
On Tue, Aug 23, 2011 at 02:20:32PM +0300, Revital Eres wrote:
-- Measure increase in compile time: on native or cross build?
Native will probably give you the most useful measurement because it is likely to suffer more, and is what is used to build Ubuntu and our developer platform images.
Currently SMS fails to bootstrap trunk on ARM machine. this should also be taken into account when considering enabling it by default.
Are there bugs reported on the failures?
On 23 August 2011 12:20, Revital Eres revital.eres@linaro.org wrote:
SMS flags to use for testing:
-O3 -fmodulo-sched-allow-regmoves -fmodulo-sched -funsafe-loop-optimizations -fno-auto-inc-dec
Would we expect -funsafe-loop-optimizations to be turned on as well by default ? I would expect that to be used for peak tuning rather than anything else.
Also I suspect we only want to turn this on for v7-a cores and not for anything earlier and probably not for the M-class cores given that code size is of higher importance there than the wins we'd get with SMS.
cheers Ramana
Thanks, Revital
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
linaro-toolchain@lists.linaro.org