Zhongwei Yao
2015-Jan-27 03:51 UTC
[opus] fixed point version for celt_pitch_xcorr on aarch64
Hi, all, Does Opus need celt_pitch_xcorr' s fixed point version for ARM aarch64 architecture? If yes, which version does Opus prefer: assembly or instrinsics? Thanks, Zhongwei -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/opus/attachments/20150127/9fc41dc9/attachment.htm
Timothy B. Terriberry
2015-Jan-30 08:41 UTC
[opus] fixed point version for celt_pitch_xcorr on aarch64
Zhongwei Yao wrote:> Hi, all, > > Does Opus need celt_pitch_xcorr? s fixed point version for ARM aarch64 > architecture? If yes, which version does Opus prefer: assembly or > instrinsics?It would be nice to have one. I don't have a lot of experience with aarch64 (I still haven't been able to obtain a dev board), so I don't really know how intrinsics compare to assembly. Historically, intrinsics performance on most platforms has been significantly below that of hand-written assembly, and the tool support is more of a headache, which is why we've favored hand-written assembly, but getting some kind of vectorization is better than the serial code we currently have.
Viswanath Puttagunta
2015-Jan-30 17:00 UTC
[opus] fixed point version for celt_pitch_xcorr on aarch64
On 30 January 2015 at 02:41, Timothy B. Terriberry <tterribe at xiph.org> wrote:> Zhongwei Yao wrote: >> Hi, all, >> >> Does Opus need celt_pitch_xcorr? s fixed point version for ARM aarch64 >> architecture? If yes, which version does Opus prefer: assembly or >> instrinsics? > > It would be nice to have one. I don't have a lot of experience with > aarch64 (I still haven't been able to obtain a dev board), so I don't > really know how intrinsics compare to assembly. Historically, intrinsics > performance on most platforms has been significantly below that of > hand-written assembly, and the tool support is more of a headache, which > is why we've favored hand-written assembly, but getting some kind of > vectorization is better than the serial code we currently have.Could you please elaborate on "It would be nice to have"? Specifically: - Are there use cases where fixed point is preferred when AAarch64 has mandatory support for floating point both in regular CPU as well as NEON? - Does using Fixed Point on any CPU (regardless of ARMv7/ARMv8 or otherwise) have notable advantages over using floating point? (performance, compatibility or otherwise) - If yes to above question, does same logic apply to ARMv8?> _______________________________________________ > opus mailing list > opus at xiph.org > http://lists.xiph.org/mailman/listinfo/opus
Zhongwei Yao
2015-Feb-02 03:01 UTC
[opus] fixed point version for celt_pitch_xcorr on aarch64
>-----Original Message----- >From: Timothy B. Terriberry [mailto:tterribe at xiph.org] >Sent: Friday, January 30, 2015 4:42 PM >To: Zhongwei Yao; opus at xiph.org >Cc: Phil Wang >Subject: Re: [opus] fixed point version for celt_pitch_xcorr on aarch64 > >Zhongwei Yao wrote: >> Hi, all, >> >> Does Opus need celt_pitch_xcorr' s fixed point version for ARM aarch64 >> architecture? If yes, which version does Opus prefer: assembly or >> instrinsics? > >It would be nice to have one. I don't have a lot of experience with >aarch64 (I still haven't been able to obtain a dev board), so I don't really know >how intrinsics compare to assembly. Historically, intrinsics performance on >most platforms has been significantly below that of hand-written assembly, >and the tool support is more of a headache, which is why we've favored hand- >written assembly, but getting some kind of vectorization is better than the >serial code we currently have.Intrinsics performance on recent toolchain (e.g. gcc 4.9) is comparable to hand-written assembly. WebRTC's audio processing module has been switch to intrinsics on ARM platform. Here are some cases: https://webrtc-codereview.appspot.com/23349004/ https://webrtc-codereview.appspot.com/36689004/ https://webrtc-codereview.appspot.com/32749004/ Thanks, Zhongwei -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
Possibly Parallel Threads
- fixed point version for celt_pitch_xcorr on aarch64
- fixed point version for celt_pitch_xcorr on aarch64
- [RFC][FFT][Fixed-Point][NEON] NEON-Optimize
- [RFC][FFT][Fixed-Point][NEON] NEON-Optimize Fixed-Point FFT?
- [[RFC PATCH v2]: Ne10 fft fixed and previous 5/8] aarch64: celt_pitch_xcorr: Fixed point intrinsics