[opus] [Opus][RFC][FFT][Fixed-Point][NEON] NEON-Optimize Fixed-Point FFT?

Phil Wang phil.wang at arm.com
Thu Dec 25 19:07:52 PST 2014


Hi Peter,

I have discussed with developers on Series-M. For Series-M, a well optimized FFT written C is good enough for most cases. Although SIMD instruction for Series-M and NEON have similar form, there is a large gap between optimizing them. CMSIS provides some well optimized DSP routines for Series-M. We don’t want to overlap with it. But since you mentioned, I will benchmark Ne10 on Series-M, with NEON disabled.

Thanks,
Phil Wang

> -----Original Message-----
> From: Phil Wang [mailto:phil.wang at arm.com]
> Sent: Thursday, December 25, 2014 6:41 PM
> To: 'Peter Robinson'
> Cc: opus at xiph.org; Zhongwei Yao; Yang Zhang; Zhou (Joe) Yu; Steve Bannister
> Subject: RE: [opus] [Opus][RFC][FFT][Fixed-Point][NEON] NEON-Optimize
> Fixed-Point FFT?
> 
> Hi Peter,
> 
> We are focused on CPU with NEON, and Cortex-M series do not have one.
> 
> Thanks,
> Phil Wang
> 
> > -----Original Message-----
> > From: Peter Robinson [mailto:pbrobinson at gmail.com]
> > Sent: Thursday, December 25, 2014 6:35 PM
> > To: Phil Wang
> > Cc: opus at xiph.org; Zhongwei Yao; Yang Zhang; Zhou (Joe) Yu; Steve
> > Bannister
> > Subject: Re: [opus] [Opus][RFC][FFT][Fixed-Point][NEON] NEON-Optimize
> > Fixed-Point FFT?
> >
> > > I am working on DSP module of Ne10. I see there are fixed-point and
> > > floating-point FFT inside Opus. Is fixed-point FFT only a fall back
> > > for CPU without VFP? On ARMv7-A and ARMv8-A, benchmark result shows
> > > that fixed-point
> > > (int32) and floating-point (float32) FFT have similar performance. I
> > > guess fixed-point version is not often used on these platforms. Is
> > > it worth the effort to NEON-optimize fixed-point FFT?
> >
> > Floating point units are optional on the ARM Cortex-M series so I
> > believe it might still be worth while. The Cortex-M3-7 are based on
> > the ARMv7 architecture.
> >
> > [1] https://en.wikipedia.org/wiki/ARM_Cortex-M#Instruction_sets






More information about the opus mailing list