I would file an issue about having and fma! function. Since it's only sensible for matrices (as far as I can tell), there doesn't seem to be a corresponding need for muladd! since the fusion is at the collection level.
On Sat, Jul 23, 2016 at 2:31 PM, Oliver Schulz <oliver.sch...@tu-dortmund.de > wrote: > Oh, sure - I was actually mainly thinking about matrices. I was looking > for something like fma! in ArrayFire (without success), and then wondered > what it might be called in Base. > > On Saturday, July 23, 2016 at 8:04:31 PM UTC+2, Stefan Karpinski wrote: >> >> They don't make sense for scalars but they could be added for matrices. >> >> On Sat, Jul 23, 2016 at 1:54 PM, Oliver Schulz <oliver...@tu-dortmund.de> >> wrote: >> >>> Hi Stefan, >>> >>> sorry, yes, I had somehow overlooked fma. Mainly I was looking for an >>> in-place version though, like fma! and muladd!. Is there a reason those >>> don't exist? >>> >>> On Saturday, July 23, 2016 at 7:50:30 PM UTC+2, Stefan Karpinski wrote: >>>> >>>> Yes: https://github.com/JuliaLang/julia/issues/6330. In short, there >>>> are both fma and muladd operations with different purposes: >>>> >>>> help?> fma >>>> >>>> >>>> search: fma findmax @fastmath UniformScaling >>>> >>>> >>>> >>>> >>>> >>>> fma(x, y, z) >>>> >>>> >>>> >>>> >>>> >>>> Computes x*y+z without rounding the intermediate result x*y. On some >>>> systems this is significantly more expensive than x*y+z. fma is used to >>>> improve accuracy in certain algorithms. See muladd. >>>> >>>> >>>> >>>> >>>> >>>> help?> muladd >>>> >>>> >>>> search: muladd >>>> >>>> >>>> >>>> >>>> >>>> muladd(x, y, z) >>>> >>>> >>>> >>>> >>>> >>>> Combined multiply-add, computes x*y+z in an efficient manner. This >>>> may on some systems be equivalent to x*y+z, or to fma(x,y,z). muladd is >>>> used to improve performance. See fma. >>>> >>>> On Sat, Jul 23, 2016 at 1:40 PM, Oliver Schulz < >>>> oliver...@tu-dortmund.de> wrote: >>>> >>>>> Does Julia have a standardized FMA (Fused-Multiply-Add) function? Like >>>>> fma(A, B, factor) and fma!(dest, A, B, factor), so that that GPU >>>>> libraries, >>>>> etc. can provide optimized versions? >>>>> >>>> >>>> >>