Displaying 4 results from an estimated 4 matches for "fast_red".
Did you mean:
factored
2017 Jan 31
0
RFC: Generic IR reductions
...or_reduce_fmax(vector_src, i32 NoNaNs)
A large list, and probably doesn't even cover all SVE can do, let
alone other reductions.
Why not simplify this into something like:
%sum = add <N x float>, <N x float> %a, <N x float> %b
%red = @llvm.reduce(%sum, float %acc)
or
%fast_red = @llvm.reduce(%sum)
For a min/max reduction, why not just extend @llvm.minnum and @llvm.maxnum?
> We have multiple options for expressing vector predication in reductions:
> 1. The first is to simply add a predicate operand to the intrinsics, and require that targets without predi...
2017 Jan 31
4
RFC: Generic IR reductions
...; A large list, and probably doesn't even cover all SVE can do, let
> alone other reductions.
>
> Why not simplify this into something like:
>
> %sum = add <N x float>, <N x float> %a, <N x float> %b
> %red = @llvm.reduce(%sum, float %acc)
> or
> %fast_red = @llvm.reduce(%sum)
Because the semantics of an operation would not depend solely in the
operand value types and operation, but on a chain of computations
forming the operands. If the input operand is a phi, you then have to
do potentially inter-block analysis. If it's a function parameter or...
2017 Jan 31
2
RFC: Generic IR reductions
Hi all,
During the Nov 2016 dev meeting, we had a hackers’ lab session where we discussed some issues about loop idiom recognition, IR representation and cost modelling. I took an action to write up an RFC about introducing reduction intrinsics to LLVM to represent horizontal operations across vectors.
Vector reductions have been discussed in the past before, notably here:
2017 Feb 01
2
RFC: Generic IR reductions
...it to IR with generic concepts, just like we did for scatter/gather and strided access.
>> Why not simplify this into something like:
>>
>> %sum = add <N x float>, <N x float> %a, <N x float> %b
>> %red = @llvm.reduce(%sum, float %acc) or
>> %fast_red = @llvm.reduce(%sum)
>
> Because the semantics of an operation would not depend solely in the
> operand value types and operation, but on a chain of computations
> forming the operands. If the input operand is a phi, you then have to
> do potentially inter-block analysis. If it...