[Mono-dev] autovectorization

Rodrigo Kumpera kumpera at gmail.com
Mon Jan 4 09:29:16 EST 2010


On Sun, Jan 3, 2010 at 10:40 PM, Jerry Maine - KF5ADY <crashfourit at gmail.com
> wrote:

> I have been thinking of implementing some autovectorization capabilities
> to mono, and I was wondering the opinion of the community here.
>
> I was thinking of three different ways of implementing it:
>
> IL -> IL transformation using Mono.Simd structs to do the vectorization
> implemented in C#
> IL -> IL transformation--same as above but in the C runtime of mono.
> IR ->IR transformation in the C runtime.
>
> I do know that there will be a ease of implementation and performance
> differences between the three especially, I think, between the IR -> IR
> version and the IL -> IL version.
>
>
Performance-wise, there isn't much advantage of doing it on the C runtime,
be either on IL or IR. There isn't that much that can be done at the IR
level
that can't be done with IL.

Said that, doing auto-vectorization is a very expensive optimization that
there no room to do it at JIT time. Not mentioning the fact that it is a
quite
complex task.

My suggestion is to built it as an assembly rewriting tool that perform such
optimization and many others.

By the way, which of the few vectorization technique do you plan on employ?

Cheers,
Rodrigo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20100104/11912736/attachment.html 


More information about the Mono-devel-list mailing list