Fused multiply add?

45 views
Skip to first unread message

Jay Lemmon

unread,
Apr 16, 2014, 8:01:30 PM4/16/14
to yeppp-...@googlegroups.com
Any timeline/plan for adding fused-multiply-add to the API?  eg: http://en.wikipedia.org/wiki/FMA_instruction_set

Obviously emulating it properly in older SSE or even AVX 1 would be a nightmare (handling the rounding guarantees that a proper FMA gives you, I mean), but entirely ignoring that issue and just doing the multiply and add one after another is probably fine in many/most cases.  There's probably even a performance benefit to a single API call since you avoid reloading data.

Marat Dukhan

unread,
Apr 23, 2014, 9:32:39 AM4/23/14
to Jay Lemmon, yeppp-...@googlegroups.com
Fused-multiply add instructions are already used in Yeppp! on supported platforms. E.g. vector log and exp functions have implementations for both FMA4 (targeting Bulldozer) and FMA3 (targeting Haswell).

A multiply-add operation, with FMA-based implementation on capable platforms, will be supported in the next Yeppp! release. However, I can not provide a timeline for when it will be released.

Regards,
Marat


On Wed, Apr 16, 2014 at 8:01 PM, Jay Lemmon <num...@gmail.com> wrote:
Any timeline/plan for adding fused-multiply-add to the API?  eg: http://en.wikipedia.org/wiki/FMA_instruction_set

Obviously emulating it properly in older SSE or even AVX 1 would be a nightmare (handling the rounding guarantees that a proper FMA gives you, I mean), but entirely ignoring that issue and just doing the multiply and add one after another is probably fine in many/most cases.  There's probably even a performance benefit to a single API call since you avoid reloading data.

--
You received this message because you are subscribed to the Google Groups "yeppp-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to yeppp-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages