Steve,
I'd like you to meet Jim who did the initial hardfloat work. This email contains the results that Jim produced.
I believe that the conclusion was that skia and webkit may benefit, but that such benefits would impose an undue burden on Android's distribution model which tries to create libs that can run on as many architectures as possible.
-Zach
---------- Forwarded message ---------- From: Jim Huang jserv@0xlab.org Date: 7 August 2011 18:01 Subject: Re: Would you send me your hard float experiment results you presented in Budapest? To: Zach Pfeffer zach.pfeffer@linaro.org
2011/8/7 Zach Pfeffer zach.pfeffer@linaro.org:
Jim,
Thanks. Would it be possible to post them by the end of the day?
skia ->
Switch from VFP back to fixed scalar based calculation
Previous configuration enabled ARM VFP for scalar float, but VFP on ARM11 is not as powerful as VFPv3 or NEON.
Reference benchmark: Item Fixed based VFP-based ------------ ----------- --------- Draw Canvas 58.37 fps 58.40 fps Draw Circle 37.48 fps 22.93 fps Draw Circle2 17.14 fps 18.31 fps Draw Rect 17.62 fps 20.69 fps Draw Arc 24.79 fps 27.45 fps Draw Image 19.08 fps 18.73 fps Draw Text 29.22 fps 25.79 fps
Also, have you sync'd up with Mike? He wants to negotiate on your contract.
I sent mail to Mike already. I don't know how to proceed.
Thanks, -jserv
Zach, you'd need to use multiarch and have multiple installed libraries so that you could support both hard and soft float ABI. Does Android do anything different / interesting in its image / shared library loader(s)? Dave
On 30 Aug 2011, at 17:24, Zach Pfeffer wrote:
Steve,
I'd like you to meet Jim who did the initial hardfloat work. This email contains the results that Jim produced.
I believe that the conclusion was that skia and webkit may benefit, but that such benefits would impose an undue burden on Android's distribution model which tries to create libs that can run on as many architectures as possible.
-Zach
---------- Forwarded message ---------- From: Jim Huang jserv@0xlab.org Date: 7 August 2011 18:01 Subject: Re: Would you send me your hard float experiment results you presented in Budapest? To: Zach Pfeffer zach.pfeffer@linaro.org
2011/8/7 Zach Pfeffer zach.pfeffer@linaro.org:
Jim,
Thanks. Would it be possible to post them by the end of the day?
skia ->
Switch from VFP back to fixed scalar based calculation
Previous configuration enabled ARM VFP for scalar float, but VFP on ARM11 is not as powerful as VFPv3 or NEON.
Reference benchmark: Item Fixed based VFP-based
Draw Canvas 58.37 fps 58.40 fps Draw Circle 37.48 fps 22.93 fps Draw Circle2 17.14 fps 18.31 fps Draw Rect 17.62 fps 20.69 fps Draw Arc 24.79 fps 27.45 fps Draw Image 19.08 fps 18.73 fps Draw Text 29.22 fps 25.79 fps
Also, have you sync'd up with Mike? He wants to negotiate on your contract.
I sent mail to Mike already. I don't know how to proceed.
Thanks, -jserv <Mail Attachment><NOTE>_______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Including Bero who's looked at this recently.
On 2 September 2011 05:41, David Rusling david.rusling@linaro.org wrote:
Zach, you'd need to use multiarch and have multiple installed libraries so that you could support both hard and soft float ABI. Does Android do anything different / interesting in its image / shared library loader(s)? Dave
On 30 Aug 2011, at 17:24, Zach Pfeffer wrote:
Steve,
I'd like you to meet Jim who did the initial hardfloat work. This email contains the results that Jim produced.
I believe that the conclusion was that skia and webkit may benefit, but that such benefits would impose an undue burden on Android's distribution model which tries to create libs that can run on as many architectures as possible.
-Zach
---------- Forwarded message ---------- From: Jim Huang jserv@0xlab.org Date: 7 August 2011 18:01 Subject: Re: Would you send me your hard float experiment results you presented in Budapest? To: Zach Pfeffer zach.pfeffer@linaro.org
2011/8/7 Zach Pfeffer zach.pfeffer@linaro.org:
Jim,
Thanks. Would it be possible to post them by the end of the day?
skia ->
Switch from VFP back to fixed scalar based calculation
Previous configuration enabled ARM VFP for scalar float, but VFP on ARM11 is not as powerful as VFPv3 or NEON.
Reference benchmark: Item Fixed based VFP-based ------------ ----------- --------- Draw Canvas 58.37 fps 58.40 fps Draw Circle 37.48 fps 22.93 fps Draw Circle2 17.14 fps 18.31 fps Draw Rect 17.62 fps 20.69 fps Draw Arc 24.79 fps 27.45 fps Draw Image 19.08 fps 18.73 fps Draw Text 29.22 fps 25.79 fps
Also, have you sync'd up with Mike? He wants to negotiate on your contract.
I sent mail to Mike already. I don't know how to proceed.
Thanks, -jserv <Mail Attachment><NOTE>_______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
On Tue, Aug 30, 2011 at 11:24:59AM -0500, Zach Pfeffer wrote:
I'd like you to meet Jim who did the initial hardfloat work. This email contains the results that Jim produced.
Hmm, but the email seems to not actually contain a hard-float run. Or am I misreading what he means by Fixed vs VFP?
I believe that the conclusion was that skia and webkit may benefit, but that such benefits would impose an undue burden on Android's distribution model which tries to create libs that can run on as many architectures as possible.
You may be confusing things here. Hard-float is a pure software ABI change, and any platform which supports VFP can use it if you build it that way. However, since it is an ABI change it requires that hard-float libraries be available.
What /would/ stop code from running on certain platforms is using NEON (it would exclude the Tegra2 and some existing Marvell v7s). But that doesn't seem to be in question here.
---------- Forwarded message ---------- From: Jim Huang jserv@0xlab.org Date: 7 August 2011 18:01 Subject: Re: Would you send me your hard float experiment results you presented in Budapest? To: Zach Pfeffer zach.pfeffer@linaro.org
2011/8/7 Zach Pfeffer zach.pfeffer@linaro.org:
Jim,
Thanks. Would it be possible to post them by the end of the day?
skia ->
Switch from VFP back to fixed scalar based calculation
Previous configuration enabled ARM VFP for scalar float, but VFP on ARM11 is not as powerful as VFPv3 or NEON.
Reference benchmark: Item Fixed based VFP-based ------------ ----------- --------- Draw Canvas 58.37 fps 58.40 fps Draw Circle 37.48 fps 22.93 fps Draw Circle2 17.14 fps 18.31 fps Draw Rect 17.62 fps 20.69 fps Draw Arc 24.79 fps 27.45 fps Draw Image 19.08 fps 18.73 fps Draw Text 29.22 fps 25.79 fps
Also, have you sync'd up with Mike? He wants to negotiate on your contract.
I sent mail to Mike already. I don't know how to proceed.
Thanks, -jserv
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
2011/9/3 Christian Robottom Reis kiko@linaro.org:
On Tue, Aug 30, 2011 at 11:24:59AM -0500, Zach Pfeffer wrote:
I'd like you to meet Jim who did the initial hardfloat work. This email contains the results that Jim produced.
Hmm, but the email seems to not actually contain a hard-float run. Or am I misreading what he means by Fixed vs VFP?
hi kiko,
In fact, the presentation was incomplete. That is exactly the reason why I didn't want to make it public.
The original plans were as following: - Analyze skia and webkit for soft/hard-fp - Select fixed-point, soft-vfp, and hard-fp implementations in skia and then check the benchmark results.
However, I didn't make all benchmark results ready when I built with hard-fp. I didn't know why and stopped the study due to personal reasons. (sorry for being absent)
I believe that the conclusion was that skia and webkit may benefit, but that such benefits would impose an undue burden on Android's distribution model which tries to create libs that can run on as many architectures as possible.
You may be confusing things here. Hard-float is a pure software ABI change, and any platform which supports VFP can use it if you build it that way. However, since it is an ABI change it requires that hard-float libraries be available.
Yes, since ABI has to be changed, we have to confirm the modifications against existing components: - dalvik fast-interpreter and jitter - v8 compiler/evaluator - android software OpenGL|ES renderer
Again, please don't be too serious about my incomplete materials. I didn't have enough time to analyze that time.
What /would/ stop code from running on certain platforms is using NEON (it would exclude the Tegra2 and some existing Marvell v7s). But that doesn't seem to be in question here.
Regards, -jserv
On Sat, Sep 03, 2011 at 09:18:53PM +0800, Jim Huang wrote:
2011/9/3 Christian Robottom Reis kiko@linaro.org:
On Tue, Aug 30, 2011 at 11:24:59AM -0500, Zach Pfeffer wrote:
I'd like you to meet Jim who did the initial hardfloat work. This email contains the results that Jim produced.
Hmm, but the email seems to not actually contain a hard-float run. Or am I misreading what he means by Fixed vs VFP?
hi kiko,
In fact, the presentation was incomplete. That is exactly the reason why I didn't want to make it public.
The original plans were as following:
- Analyze skia and webkit for soft/hard-fp
- Select fixed-point, soft-vfp, and hard-fp implementations in skia
and then check the benchmark results.
However, I didn't make all benchmark results ready when I built with hard-fp. I didn't know why and stopped the study due to personal reasons. (sorry for being absent)
That's fine -- I was just curious as to whether I was misunderstanding the data in your findings. If you have time to update it so we can tell the different build configuration used in each case (and if you can do separate runs just swapping between ABIs) then I'd like to take a deeper look into it.
On Fri, Sep 2, 2011 at 1:27 PM, Christian Robottom Reis kiko@linaro.org wrote:
On Tue, Aug 30, 2011 at 11:24:59AM -0500, Zach Pfeffer wrote:
I'd like you to meet Jim who did the initial hardfloat work. This email contains the results that Jim produced.
Hmm, but the email seems to not actually contain a hard-float run. Or am I misreading what he means by Fixed vs VFP?
I believe that the conclusion was that skia and webkit may benefit, but that such benefits would impose an undue burden on Android's distribution model which tries to create libs that can run on as many architectures as possible.
You may be confusing things here. Hard-float is a pure software ABI change, and any platform which supports VFP can use it if you build it that way. However, since it is an ABI change it requires that hard-float libraries be available.
What /would/ stop code from running on certain platforms is using NEON (it would exclude the Tegra2 and some existing Marvell v7s). But that doesn't seem to be in question here.
Fwiw, VFP and NEON share same registers.. so as long as Tegra2 has VFP, I think it could use hard-float. Are we supporting any armv7-a that doesn't have at least VFP?
Although I'm a bit lost on this topic, are we comparing non-hard-float-but-vfp-enabled (ie. fp op's not falling back to sw) vs hard-float? Or soft-float vs hard-float?
BR, -R
---------- Forwarded message ---------- From: Jim Huang jserv@0xlab.org Date: 7 August 2011 18:01 Subject: Re: Would you send me your hard float experiment results you presented in Budapest? To: Zach Pfeffer zach.pfeffer@linaro.org
2011/8/7 Zach Pfeffer zach.pfeffer@linaro.org:
Jim,
Thanks. Would it be possible to post them by the end of the day?
skia ->
Switch from VFP back to fixed scalar based calculation
Previous configuration enabled ARM VFP for scalar float, but VFP on ARM11 is not as powerful as VFPv3 or NEON.
Reference benchmark: Item Fixed based VFP-based ------------ ----------- --------- Draw Canvas 58.37 fps 58.40 fps Draw Circle 37.48 fps 22.93 fps Draw Circle2 17.14 fps 18.31 fps Draw Rect 17.62 fps 20.69 fps Draw Arc 24.79 fps 27.45 fps Draw Image 19.08 fps 18.73 fps Draw Text 29.22 fps 25.79 fps
Also, have you sync'd up with Mike? He wants to negotiate on your contract.
I sent mail to Mike already. I don't know how to proceed.
Thanks, -jserv
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
-- Christian Robottom Reis, Engineering VP Brazil (GMT-3) | [+55] 16 9112 6430 | [+1] 612 216 4935 Linaro.org: Open Source Software for ARM SoCs
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
I'm a little confused. There's two comparisons to be made.
The comparison between vfp enabled in all cases, comparing using the soft float ABI with using the hard float ABI means that you'll identify the effect of moving VFP registers in and out of integer registers to make function call (soft float ABI) versus using them directly (hard float ABI).
The comparision of using VFP at all versus only using integer emulation of floating point is separate and different.
Both have an effect, the effects manifest themselves differently.
Dave
On Wed, 2011-09-07 at 16:33 -0500, Rob Clark wrote:
On Fri, Sep 2, 2011 at 1:27 PM, Christian Robottom Reis kiko@linaro.org wrote:
On Tue, Aug 30, 2011 at 11:24:59AM -0500, Zach Pfeffer wrote:
I'd like you to meet Jim who did the initial hardfloat work. This email contains the results that Jim produced.
Hmm, but the email seems to not actually contain a hard-float run. Or am I misreading what he means by Fixed vs VFP?
I believe that the conclusion was that skia and webkit may benefit, but that such benefits would impose an undue burden on Android's distribution model which tries to create libs that can run on as many architectures as possible.
You may be confusing things here. Hard-float is a pure software ABI change, and any platform which supports VFP can use it if you build it that way. However, since it is an ABI change it requires that hard-float libraries be available.
What /would/ stop code from running on certain platforms is using NEON (it would exclude the Tegra2 and some existing Marvell v7s). But that doesn't seem to be in question here.
Fwiw, VFP and NEON share same registers.. so as long as Tegra2 has VFP, I think it could use hard-float. Are we supporting any armv7-a that doesn't have at least VFP?
Although I'm a bit lost on this topic, are we comparing non-hard-float-but-vfp-enabled (ie. fp op's not falling back to sw) vs hard-float? Or soft-float vs hard-float?
BR, -R
---------- Forwarded message ---------- From: Jim Huang jserv@0xlab.org Date: 7 August 2011 18:01 Subject: Re: Would you send me your hard float experiment results you presented in Budapest? To: Zach Pfeffer zach.pfeffer@linaro.org
2011/8/7 Zach Pfeffer zach.pfeffer@linaro.org:
Jim,
Thanks. Would it be possible to post them by the end of the day?
skia ->
Switch from VFP back to fixed scalar based calculation
Previous configuration enabled ARM VFP for scalar float, but VFP on ARM11 is not as powerful as VFPv3 or NEON.
Reference benchmark: Item Fixed based VFP-based
Draw Canvas 58.37 fps 58.40 fps Draw Circle 37.48 fps 22.93 fps Draw Circle2 17.14 fps 18.31 fps Draw Rect 17.62 fps 20.69 fps Draw Arc 24.79 fps 27.45 fps Draw Image 19.08 fps 18.73 fps Draw Text 29.22 fps 25.79 fps
Also, have you sync'd up with Mike? He wants to negotiate on your contract.
I sent mail to Mike already. I don't know how to proceed.
Thanks, -jserv
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
-- Christian Robottom Reis, Engineering VP Brazil (GMT-3) | [+55] 16 9112 6430 | [+1] 612 216 4935 Linaro.org: Open Source Software for ARM SoCs
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
On 7 September 2011 23:01, David Rusling david.rusling@linaro.org wrote:
I'm a little confused. There's two comparisons to be made.
The comparison between vfp enabled in all cases, comparing using the soft float ABI with using the hard float ABI means that you'll identify the effect of moving VFP registers in and out of integer registers to make function call (soft float ABI) versus using them directly (hard float ABI).
The comparision of using VFP at all versus only using integer emulation of floating point is separate and different.
Both have an effect, the effects manifest themselves differently.
I don't think we need to run any tests at all to know the outcome of VFP (regardless of ABI) versus emulation.
In addition to the above, a few applications have both floating-point and fixed-point implementations of the same algorithms with a compile- time choice of which is used. In these cases, a speed comparison is of course of interest, although one must keep in mind that the output is likely to be different, floating-point often having better accuracy.
Agreed, I'm only interested in hardfloat versus softfloat ABI...
Dave
On Wed, 2011-09-07 at 23:25 +0100, Mans Rullgard wrote:
On 7 September 2011 23:01, David Rusling david.rusling@linaro.org wrote:
I'm a little confused. There's two comparisons to be made.
The comparison between vfp enabled in all cases, comparing using the soft float ABI with using the hard float ABI means that you'll identify the effect of moving VFP registers in and out of integer registers to make function call (soft float ABI) versus using them directly (hard float ABI).
The comparision of using VFP at all versus only using integer emulation of floating point is separate and different.
Both have an effect, the effects manifest themselves differently.
I don't think we need to run any tests at all to know the outcome of VFP (regardless of ABI) versus emulation.
In addition to the above, a few applications have both floating-point and fixed-point implementations of the same algorithms with a compile- time choice of which is used. In these cases, a speed comparison is of course of interest, although one must keep in mind that the output is likely to be different, floating-point often having better accuracy.