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