Hello, I had talked earlier with 'Timothy B. Terriberry' <tterribe at xiph.org>, about adding support for AVX instructions in Opus, but since he appears to be busy I would like to resend this on the mailing list. I've created a pull request https://github.com/xiph/opus/pull/5 to add the testing infrastructure for the changes before adding the actual code. A draft for the rest of the code for the AVX functions can be found here: https://github.com/rvelea/opus/commits/workspace. Timothy advised me to break them into smaller commits before trying to push them so as not to break anything. If anyone is interested in reviewing this please let me know and I will follow up with the rest of the code via pull requests. Thanks, Radu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/opus/attachments/20160120/6c5079ca/attachment-0001.htm -------------- next part -------------- An embedded message was scrubbed... From: "Velea, Radu" <radu.velea at intel.com> Subject: RE: [opus] AVX Optimizations Date: Thu, 22 Oct 2015 17:22:24 +0000 Size: 31894 Url: http://lists.xiph.org/pipermail/opus/attachments/20160120/6c5079ca/attachment-0001.eml
Hi! AFAIK, there are different version of AVX; maybe clarify which versions you use, and how you detect the availability of the instructions needed. Also you could point out which CPUs are expected to be supported. Also consider that besides Intel there still exists AMD ;-) Regards, Ulrich>>> "Velea, Radu" <radu.velea at intel.com> schrieb am 20.01.2016 um 19:02 inNachricht <81B494F3CB9BA140BC4E7A506215EB0C5C442CFE at irsmsx105.ger.corp.intel.com>:> Hello, > > I had talked earlier with 'Timothy B. Terriberry' <tterribe at xiph.org>, about > adding support for AVX instructions in Opus, but since he appears to be busy > I would like to resend this on the mailing list. > I've created a pull request https://github.com/xiph/opus/pull/5 to add the > testing infrastructure for the changes before adding the actual code. > > A draft for the rest of the code for the AVX functions can be found here: > https://github.com/rvelea/opus/commits/workspace. Timothy advised me to break > them into smaller commits before trying to push them so as not to break > anything. > > If anyone is interested in reviewing this please let me know and I will > follow up with the rest of the code via pull requests. > > Thanks, > > Radu
Hello, To answer your question: AVX for starters, and then later on AVX2 if there is a need for improvement. The detection code is already upstreamed into opus: both compile time and runtime detection: https://github.com/xiph/opus/commit/1632152b83b8ab4e28393bca94450796b71b0201 According to Wikipedia AVX is supported on a wide range hardware: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX Thanks, Radu -----Original Message----- From: Ulrich Windl [mailto:Ulrich.Windl at rz.uni-regensburg.de] Sent: Thursday, January 21, 2016 9:20 AM To: Velea, Radu; opus at xiph.org Subject: Antw: [opus] AVX Optimizations in Opus Hi! AFAIK, there are different version of AVX; maybe clarify which versions you use, and how you detect the availability of the instructions needed. Also you could point out which CPUs are expected to be supported. Also consider that besides Intel there still exists AMD ;-) Regards, Ulrich>>> "Velea, Radu" <radu.velea at intel.com> schrieb am 20.01.2016 um 19:02 >>> inNachricht <81B494F3CB9BA140BC4E7A506215EB0C5C442CFE at irsmsx105.ger.corp.intel.com>:> Hello, > > I had talked earlier with 'Timothy B. Terriberry' <tterribe at xiph.org>, > about adding support for AVX instructions in Opus, but since he > appears to be busy I would like to resend this on the mailing list. > I've created a pull request https://github.com/xiph/opus/pull/5 to add > the testing infrastructure for the changes before adding the actual code. > > A draft for the rest of the code for the AVX functions can be found here: > https://github.com/rvelea/opus/commits/workspace. Timothy advised me > to break them into smaller commits before trying to push them so as > not to break anything. > > If anyone is interested in reviewing this please let me know and I > will follow up with the rest of the code via pull requests. > > Thanks, > > Radu