Back in the game: Numerics in D
FeepingCreature
default_357-line at yahoo.de
Sat Feb 20 11:28:48 PST 2010
On 20.02.2010 20:27, FeepingCreature wrote:
> On 20.02.2010 20:13, Norbert Nemec wrote:
>> Hi there,
>>
>> just to say "Hi" to those that might still remember my name from the
>> good ol' times. (I just checked - I actually sent 464 messages to this
>> list from 2004 to 2006 and none since.)
>>
>
> I don't think I remember you! But I'll say welcome back anyway.
>
> If you're interested in high-performance numerical computing, the current gdc has some hairy bugs that only show themselves on -O3 -ffast-math -march=native. Certainly enough to keep people on their toes :) Just keep it in mind - numerical errors may not actually be your fault.
>
> Also, here's a copy of the GDC autovectorization patch: http://pastebin.com/f1c5b28df
>
> It basically does the following: if you have a (simple) loop with index size four or two or whatever your mmx or sse step size is, it translates it into SSE expressions.
>
> Example:
>
> float[4] a, b, c; [...]
>
> for (int i = 0; i < 4; ++i) a[i] = b[i] + c[i]; // addps
>
> You can observe the process by passing -ftree-vectorizer-verbose=9 2>&1 |less to gdc (or gdc-build, which I've found handy for full custom rebuilds: http://pastebin.com/f28310a8a ).
>
> Good luck with the numerical work and, welcome back to D. Have fun!
PS here's my implementation of a generic vector for comparison: http://dsource.org/projects/scrapple/browser/trunk/tools/tools/vector.d Some nice performance tweaks in there.
More information about the Digitalmars-d
mailing list