[Issue 4393] New: Very good dotProduct
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Jun 25 15:17:44 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4393
Summary: Very good dotProduct
Product: D
Version: unspecified
Platform: All
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P2
Component: Phobos
AssignedTo: nobody at puremagic.com
ReportedBy: bearophile_hugs at eml.cc
--- Comment #0 from bearophile_hugs at eml.cc 2010-06-25 15:17:41 PDT ---
This is really an enhancement request.
In many programs I compute dot product among two arrays of doubles (often
inside another loop. So it's positive std.numeric.dotProduct uses assert
instead of enforce). This is sometimes the most time-critical operation of a
whole small numerical program.
So I'd like the dot product among two arrays of doubles to be specialized with
an asm routine (that uses SSE registers). In my opinion this algorithm is
simple enough and this product is critical enough to justify this asm code
added to Phobos (a disadvantage is that D front-end doesn't inline functions
that contain asm) (as array operations in druntime are often in asm).
Two more specialized routines can be added somewhere (if necessary elsewhere,
where a small vector struct is defined in Phobos) to perform dotProduct among
fixed-sized arrays of 3 or 4 doubles. This often another performance-critical
operation.
See for example:
http://www.bealto.com/mp-dot_sse.html
http://www.gamedev.net/community/forums/topic.asp?topic_id=380764
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list