[opus] [PATCH] Optimize silk_warped_autocorrelation_FIX() for ARM NEON

Linfeng Zhang linfengz at google.com
Mon Feb 6 19:42:40 UTC 2017


Hi Jean-Marc,

1) Why does the patch need to define SKIP_CONFIG_H and CUSTOM_MODES at the
beginning? I can't see a reason for that.

A: I just copied them from some CELT optimizations and didn't think too
much. Will fix. Thanks!

2) The whole code is inside an #ifdef FIXED_POINT. It seems like it
the file shouldn't be compiled at all for float, so that #ifdef would be
unnecessary. Or did I miss something?

A: Will fix.

3) The code as it is written is pretty hard to follow. Can you explain at a
high level how you're vectorizing this code, i.e. which loop(s) gets
unrolled and the general strategy. That should make it easier to follow.

A: Please see next email.

4) In general I'm a bit skeptical that so much unrolled prolog/epilog code
is needed. Did you try having less unrolling for the prolog/epilog? That
would be nicer to the I-cache (if possible).

A: Please see next email.

Thanks,
Linfeng Zhang

On Thu, Feb 2, 2017 at 2:39 PM, Jean-Marc Valin <jmvalin at jmvalin.ca> wrote:

> Hi Felicia,
>
> I've not yet really looked into the details, but first here's a few
> comments and questions:
>
> 1) Why does the patch need to define SKIP_CONFIG_H and CUSTOM_MODES at
> the beginning? I can't see a reason for that.
>
> 2) The whole code is inside an #ifdef FIXED_POINT. It seems like it the
> file shouldn't be compiled at all for float, so that #ifdef would be
> unnecessary. Or did I miss something?
>
> 3) The code as it is written is pretty hard to follow. Can you explain
> at a high level how you're vectorizing this code, i.e. which loop(s)
> gets unrolled and the general strategy. That should make it easier to
> follow.
>
> 4) In general I'm a bit skeptical that so much unrolled prolog/epilog
> code is needed. Did you try having less unrolling for the prolog/epilog?
> That would be nicer to the I-cache (if possible).
>
> Cheers,
>
>         Jean-Marc
>
> On 31/01/17 12:30 PM, Felicia Lim wrote:
> > Hi,
> >
> > Attached is a patch with arm neon optimizations for
> > silk_warped_autocorrelation_FIX(). Please review.
> >
> > Thanks,
> > Felicia
> >
> >
> > _______________________________________________
> > opus mailing list
> > opus at xiph.org
> > http://lists.xiph.org/mailman/listinfo/opus
> >
> _______________________________________________
> opus mailing list
> opus at xiph.org
> http://lists.xiph.org/mailman/listinfo/opus
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xiph.org/pipermail/opus/attachments/20170206/b447a5b7/attachment.html>


More information about the opus mailing list