[llvm-dev] Polly loop offloading to Accelerator

Michael Kruse via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 29 07:20:17 PST 2018


Hi,

you could use Polly to generate an AstInfo. With the option
-polly-ast-detect-parallel it will mark loops in the generated Ast as
"coincident", i.e. parallel and without reuse.

If you know the vector width of your accelerator, you can use
LoopVectorizationLegality::canVectorize to determine whether you can
vectorize it. If your accelerators computational model assumes no
loop-carried dependencies, maybe LoopVectorizationLegality can be
modified to accept 'infinite' vector width.

polly-dev at googlegroups.com would be the mailing list for help
specically for Polly.

Michael





2018-01-20 9:47 GMT-06:00 hameeza ahmed via llvm-dev <llvm-dev at lists.llvm.org>:
> Hello,
>
> i have been working with an accelerator backend. the accelerator has large
> vector/simd units.
>
> i want  streaming loops (non-temporal) vectorized present in code to be
> offloaded to accelerator simd units.
>
>
> i find polly really suitable for this.
>
> i am thinking if the generated IR is passed to polly and then it analyzes
> loop to know it posses no reuse, if such loop is identified accelerator
> instructions are emitted..
>
> where should i begin from to achieve the goals?
>
> please clarify?
>
>
> Thank You
> Regards
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>


More information about the llvm-dev mailing list