[vector] ARM SVE
Adam Pocock
adam.pocock at oracle.com
Thu Mar 1 13:26:25 UTC 2018
Hi Roland,
Shape agnostic code works fine until you've got to switch between data
types and understand whether a rebracket or a cast is the right thing.
You can pop out of supported spaces easily (e.g. by trying to convert an
Int256Vector to a LongVector on a machine with AVX2), so it needs some
thought.
Thanks,
Adam
On 01/03/18 04:12, Roland Westrelin wrote:
> Hi Paul,
>
>> For SVE It makes less sense to refer to explicit shapes we currently
>> have now, the implementations are far less useful for any cross
>> x86/ARM CPU platform code, and in general the guidance is where
>> possible to code algorithms in a shape agnostic manner.
>>
>> Might it be useful to expose such a shape explicitly as a type, such
>> as Shapes.SPreferred? does this imply in the long run that shape is
>> not required as the sweet spot is shape agnostic code?
> I'm somewhat confused by this. Are you suggesting to expose
> Shapes.SPreferred as a way to help better take advantage of ARM SVE?
>
> I thought the guideline/goal was, whether on x86 or other hardware, to
> write shape agnostic code anyway?
>
> My understanding, also, was that shape agnostic code in the vector API
> is built on top of fixed size shapes. Those shapes are then what the
> JIT works with and where interfacing with the hardware is happening so
> exposing Shapes.SPreferred higher up wouldn't affect code generation.
>
> What am I misunderstanding?
>
> Roland.
--
Adam Pocock
Principal Member of Technical Staff
Machine Learning Research Group
Oracle Labs, Burlington, MA
More information about the panama-dev
mailing list