Hi,<br><br>Could someone please explain how this impacts Pd's performance on the Raspberry Pi ?<br>It doesn't make any sense to me right now, but i'm very curious...<br><br>Cheers,<br><br>Pierre.<br><br><div class="gmail_quote">
2013/1/20 Hans-Christoph Steiner <span dir="ltr"><<a href="mailto:hans@at.or.at" target="_blank">hans@at.or.at</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I think this is what you want, from 'man gcc'. Its interesting to note that<br>
the NEON mode, which provides SIMD, also does not do denormals:<br>
<br>
-mfpu=name<br>
-mfpe=number<br>
-mfp=number<br>
This specifies what floating point hardware (or hardware emulation) is<br>
available on the target. Permissible names are: fpa, fpe2, fpe3, maverick,<br>
vfp, vfpv3, vfpv3-fp16, vfpv3-d16, vfpv3-d16-fp16, vfpv3xd, vfpv3xd-fp16,<br>
neon, neon-fp16, vfpv4, vfpv4-d16, fpv4-sp-d16 and neon-vfpv4. -mfp and<br>
-mfpe are synonyms for -mfpu=fpenumber, for compatibility with older<br>
versions of GCC.<br>
<br>
If -msoft-float is specified this specifies the format of floating point<br>
values.<br>
<br>
If the selected floating-point hardware includes the NEON extension (e.g.<br>
-mfpu=neon), note that floating-point operations will not be used by GCC's<br>
auto-vectorization pass unless -funsafe-math-optimizations is also<br>
specified. This is because NEON hardware does not fully implement the IEEE<br>
754 standard for floating-point arithmetic (in particular denormal values<br>
are treated as zero), so the use of NEON instructions may lead to a loss of<br>
precision.<br>
<br>
<br>
.hc<br>
<div><div class="h5"><br>
On 01/20/2013 06:54 AM, katja wrote:<br>
> I was assuming, or maybe just hoping? that Raspberry Pi (and ARM<br>
> devices in general) would not suffer from Denormal's disease like<br>
> Intel processors do. But guess what: Pi's float coprocessor is IEEE<br>
> 754 compliant and does all denormals by default (can check with<br>
> attached denorm-test.pd). Bummer! As if one would use an ARM device to<br>
> calculate the size of a Majorana particle, rather than doing simple<br>
> dsp. Do we really need to enable PD-BIGORSMALL() checks for this poor<br>
> little processor? There seems to be something called 'RunFast mode'<br>
> for Pi's float processor vfpv2, but I see no way how to enable this<br>
> via gcc. Option -ffast-math is allowed but doesn't do the trick. Can't<br>
> find an option to set vfpv2 specifically, in gcc docs.<br>
><br>
> Katja<br>
><br>
><br>
><br>
</div></div>> _______________________________________________<br>
> <a href="mailto:Pd-list@iem.at">Pd-list@iem.at</a> mailing list<br>
> UNSUBSCRIBE and account-management -> <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
><br>
<br>
_______________________________________________<br>
<a href="mailto:Pd-list@iem.at">Pd-list@iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote></div><br>