Hi Damjan, I applied SVE based vectorization in ethernet-input node functions. Could you please take time to review below patches?
The patches are committed as the proposal for your comments. I have verified the functionality of the code on software emulation platform, and will do performance benchmarking when CPUs with SVE feature are available. https://gerrit.fd.io/r/c/vpp/+/29939 vppinfra: apply SVE/SVE2 based vectorization [NEW] https://gerrit.fd.io/r/c/vpp/+/29940 ethernet: determine next[] node using SVE [NEW] https://gerrit.fd.io/r/c/vpp/+/29941 ethernet: secondary DMAC check using SVE [NEW] https://gerrit.fd.io/r/c/vpp/+/29942 ethernet: DMAC check using SVE [NEW] https://gerrit.fd.io/r/c/vpp/+/29943 ethernet: DMAC/ethertype parse using SVE [NEW] https://gerrit.fd.io/r/c/vpp/+/29944 vlib: SVE based vlib_buffer operations [NEW] Thanks. > -----Original Message----- > From: Damjan Marion <dmar...@me.com> > Sent: 2020年10月22日 20:33 > To: Lijian Zhang <lijian.zh...@arm.com> > Cc: nd <n...@arm.com>; Nitin Saxena <nsax...@marvell.com>; Govindarajan > Mohandoss <govindarajan.mohand...@arm.com>; Honnappa Nagarahalli > <honnappa.nagaraha...@arm.com>; Jieqiang Wang > <jieqiang.w...@arm.com>; vpp-dev <vpp-dev@lists.fd.io> > Subject: Re: SVE/SVE2 based vectorization optimization > > > Dear Lijian, > > You took very uncommon example of vector usage in the VPP codebase. > Common usage is big packet processing loop which is dealing with 2, 4 or 8 > packets in one iteration. > > I.e. How we will leverage use of SVE in src/vnet/ethernet/node.c ? > > Thanks, > > — > Damjan > > > > > On 22.10.2020., at 14:08, Lijian Zhang <lijian.zh...@arm.com> wrote: > > > > Hi Damjan, > > I committed a patch (https://gerrit.fd.io/r/c/vpp/+/28986) to apply > SVE/SVE2 based vectorization in VPP. > > The patch works a demo, calling for comments from VPP community. > > Could you please review the patch? > > If the idea in this proposal is agreed, we will find more opportunities to > deploy SVE based vectorization in VPP. > > > > If necessary, we can make some explanation about the proposal patch in > next VPP/Aarch64 meeting to you. > > > > Some SVE/SVE2 references: > > 1. ACLE (Arm C Language Extension) for > SVEhttps://static.docs.arm.com/100987/0000/acle_sve_100987_0000_00_en > .pdf > > 2. ARM Compiler Scalable Vector Extension User > Guidehttps://developer.arm.com/documentation/100891/0607/coding- > considerations/using-sve-intrinsics-directly-in-your-c-code > > 3. The Scalable Vector Extension (SVE), Architecture Reference Manual > Supplement, for ARMv8- > Ahttps://static.docs.arm.com/ddi0584/a/DDI0584A_a_SVE_supp_armv8A.pd > f > > > > > > Thank you.
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#18034): https://lists.fd.io/g/vpp-dev/message/18034 Mute This Topic: https://lists.fd.io/mt/77728478/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-