Displaying 8 results from an estimated 8 matches for "maxvl".
2018 Jun 12
3
[RFC][SVE] Supporting SIMD instruction sets with variable vector lengths
...>>>
>>>>> <scalable 1 x double>
>>>>>
>>>>> I know it won't map to an SVE type. I'm simply curious because
>>>>> traditionally Cray machines defined vectors in terms of
>>>>> machine-dependent "maxvl" with an element type, so with the above vscale
>>>>> would == maxvl. Not that we make any such things anymore. But maybe
>>>>> someone else does?
>>>>
>>>> That's legal in IR, yes, and we believe it should be usable to represent the...
2018 Jun 07
3
[RFC][SVE] Supporting SIMD instruction sets with variable vector lengths
...bit width? For example, is this legal?
>>>
>>> <scalable 1 x double>
>>>
>>> I know it won't map to an SVE type. I'm simply curious because
>>> traditionally Cray machines defined vectors in terms of
>>> machine-dependent "maxvl" with an element type, so with the above vscale
>>> would == maxvl. Not that we make any such things anymore. But maybe
>>> someone else does?
>>
>> That's legal in IR, yes, and we believe it should be usable to represent the vectors for
>> RISC-V'...
2018 Jun 06
2
[RFC][SVE] Supporting SIMD instruction sets with variable vector lengths
...a scalable vector that requires a
> minimum bit width? For example, is this legal?
>
> <scalable 1 x double>
>
> I know it won't map to an SVE type. I'm simply curious because
> traditionally Cray machines defined vectors in terms of
> machine-dependent "maxvl" with an element type, so with the above vscale
> would == maxvl. Not that we make any such things anymore. But maybe
> someone else does?
That's legal in IR, yes, and we believe it should be usable to represent the vectors for
RISC-V's 'V' extension. The main problem...
2018 Jul 31
3
[RFC][SVE] Supporting SIMD instruction sets with variable vector lengths
Hi David,
Let me put the last two comments up:
> > But we're trying to represent slightly different techniques
> > (predication, vscale change) which need to be tied down to only
> > exactly what they do.
>
> Wouldn't intrinsics to change vscale do exactly that?
You're right. I've been using the same overloaded term and this is
probably what caused the
2018 Jul 31
3
[RFC][SVE] Supporting SIMD instruction sets with variable vector lengths
...ething like this:
>
> loop top:
> vl = getvl N # N contains the number of iterations left
> <do computation>
> N = N - vl
> branch N > 0, loop top
>
> The "getvl" instruction would usually return the full hardware vector
> register length (MAXVL), except on the 2nd-to-last iteration if N was
> larger than MAXVL but less than 2*MAXVL it would return something like
> <N % 2 == 0 ? N/2 : N/2 + 1>, so in the range (0, MAXVL). The last
> iteration would then run at the same VL or one less depending on whether
> N was odd or e...
2018 Jun 05
3
[RFC][SVE] Supporting SIMD instruction sets with variable vector lengths
Hi David,
Thanks for taking a look.
> On 5 Jun 2018, at 16:23, dag at cray.com wrote:
>
> Hi Graham,
>
> Just a few initial comments.
>
> Graham Hunter <Graham.Hunter at arm.com> writes:
>
>> ``<scalable x 4 x i32>`` and ``<scalable x 8 x i16>`` have the same number of
>> bytes.
>
> "scalable" instead of "scalable
2018 Jun 15
2
[RFC][SVE] Supporting SIMD instruction sets with variable vector lengths
Hi David,
Responses below.
-Graham
On 11 Jun 2018, at 22:19, David A. Greene <dag at cray.com<mailto:dag at cray.com>> wrote:
Graham Hunter <Graham.Hunter at arm.com<mailto:Graham.Hunter at arm.com>> writes:
========
1. Types
========
To represent a vector of unknown length a boolean `Scalable` property has been
added to the `VectorType` class, which indicates that
2018 Jul 02
3
[RFC][SVE] Supporting SIMD instruction sets with variable vector lengths
Hi,
i am the main author of RV, the Region Vectorizer
(github.com/cdl-saarland/rv). I want to share our standpoint as
potential users of the proposed vector-length agnostic IR (RISC-V, ARM SVE).
-- support for `llvm.experimental.vector.reduce.*` intrinsics --
RV relies heavily on predicate reductions (`or` and `and` reduction) to
tame divergent loops and provide a vector-length agnostic