Hi Thomas and Bruce, To improve PR speed we involved AVX-512, but AVX-512 is not available in all IA platforms, besides this after we have tested several times, using AVX-512 only improve 1 ms. So this patch we don't use it.
> -----Original Message----- > From: Zhang, Tianfei > Sent: Wednesday, May 09, 2018 23:58 > To: Richardson, Bruce <[email protected]> > Cc: Thomas Monjalon <[email protected]>; Xu, Rosen > <[email protected]>; [email protected]; Zhang, Roy Fan > <[email protected]>; Doherty, Declan <[email protected]>; > [email protected]; Yigit, Ferruh <[email protected]>; Ananyev, > Konstantin <[email protected]>; Liu, Song <[email protected]>; > Wu, Hao <[email protected]>; [email protected]; Wu, Yanglong > <[email protected]> > Subject: RE: [dpdk-dev] [PATCH v10 3/3] iFPGA: Add Intel FPGA BUS Rawdev > Driver > > > > > -----Original Message----- > > From: Richardson, Bruce > > Sent: Wednesday, May 9, 2018 11:37 PM > > To: Zhang, Tianfei <[email protected]> > > Cc: Thomas Monjalon <[email protected]>; Xu, Rosen > > <[email protected]>; [email protected]; Zhang, Roy Fan > > <[email protected]>; Doherty, Declan <[email protected]>; > > [email protected]; Yigit, Ferruh <[email protected]>; > > Ananyev, Konstantin <[email protected]>; Liu, Song > > <[email protected]>; Wu, Hao <[email protected]>; > > [email protected]; Wu, Yanglong <[email protected]> > > Subject: Re: [dpdk-dev] [PATCH v10 3/3] iFPGA: Add Intel FPGA BUS > > Rawdev Driver > > > > On Wed, May 09, 2018 at 04:33:45PM +0100, Zhang, Tianfei wrote: > > > > > > > > > > -----Original Message----- > > > > From: Thomas Monjalon [mailto:[email protected]] > > > > Sent: Wednesday, May 9, 2018 10:47 PM > > > > To: Xu, Rosen <[email protected]> > > > > Cc: [email protected]; Zhang, Roy Fan <[email protected]>; > > > > Doherty, Declan <[email protected]>; Richardson, Bruce > > > > <[email protected]>; [email protected]; Yigit, > > > > Ferruh <[email protected]>; Ananyev, Konstantin > > > > <[email protected]>; Zhang, Tianfei > > > > <[email protected]>; Liu, Song <[email protected]>; Wu, Hao > > > > <[email protected]>; [email protected]; Wu, Yanglong > > > > <[email protected]> > > > > Subject: Re: [dpdk-dev] [PATCH v10 3/3] iFPGA: Add Intel FPGA BUS > > > > Rawdev Driver > > > > > > > > 09/05/2018 09:43, Xu, Rosen: > > > > > From: Rosen Xu <[email protected]> > > > > > > > > > > Add Intel FPGA BUS Rawdev Driver which is based on librte_rawdev > > > > > library. > > > > > > > > > > Signed-off-by: Rosen Xu <[email protected]> > > > > > Signed-off-by: Yanglong Wu <[email protected]> > > > > > Signed-off-by: Tianfei Zhang <[email protected]> > > > > > Acked-by: Shreyansh Jain <[email protected]> > > > > > > > > I have a compilation error: > > > > drivers/raw/ifpga_rawdev/base/ifpga_fme_pr.c:10:15: error: > > > > instruction requires: AVX-512 ISA > > > > > > > > because of vmovdqu64: > > > > > > > > #if defined(RTE_ARCH_X86_64) > > > > static inline void copy512(const void *src, void *dst) { > > > > asm volatile("vmovdqu64 (%0), %%zmm0;" > > > > "vmovntdq %%zmm0, (%1);" > > > > : > > > > : "r"(src), "r"(dst)); } #else static inline void > > > > copy512(const void *src, void *dst) { > > > > UNUSED(src); > > > > UNUSED(dst); > > > > WARN_ON(1); > > > > } > > > > #endif > > > > > > > > I suggest to fix it quickly without waiting a v11 with this: > > > > > > > > static inline void copy512(const void *src, void *dst) { #ifdef > > > > CC_SUPPORT_AVX512F > > > > asm volatile("vmovdqu64 (%0), %%zmm0;" > > > > "vmovntdq %%zmm0, (%1);" > > > > : > > > > : "r"(src), "r"(dst)); #else > > > > UNUSED(src); > > > > UNUSED(dst); > > > > WARN_ON(1); > > > > #endif > > > > } > > > > > > > > It does not make any runtime detection, but it's better than previously. > > > > > > > > > > Which linux distribution are you use? We can compile it on Ubuntu > > > 16.04 > > and RHEL 7.4. > > > We will fix it on V11. > > > > > > > This shows up with meson builds for non-avx-512 architectures using clang. > > The makefile has the following snippet that doesn't have an equivalent > > in the meson.build file. > > > > 26 ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)$ > > 27 >-------CFLAGS_ifpga_fme_pr.o += -march=knl$ > > 28 endif$ > > > > However, it does also bring up the questions as to the unconditional > > use of > > AVX-512 code? What happens if this code is run on a system without > > AVX-512 support? > > This function is for SKY MCP platform (Xeon + FPGA integrated chip) which > can accelerate the PR (partial reconfiguration ) function on FPGA. > So the SKY support the AVX-512 instruction set.

