[dpdk-users] build dpdk for a cpu that doesn't support avx
Van Haaren, Harry
harry.van.haaren at intel.com
Thu Feb 21 17:02:46 CET 2019
> -----Original Message-----
> From: users [mailto:users-bounces at dpdk.org] On Behalf Of Alex Kiselev
> Sent: Thursday, February 21, 2019 3:33 PM
> To: users at dpdk.org
> Subject: Re: [dpdk-users] build dpdk for a cpu that doesn't support avx
>
> It looks like I've found a way:
>
> I edited $RTE_SDK/config/defconfig_x86_64-native-linuxapp-gcc
> CONFIG_RTE_MACHINE="x86-64"
>
> and then I used
> make EXTRA_CFLAGS="-march=x86-64 -mpopcnt -mmmx -msse -msse2 -msse3 -mssse3
> -msse4.1 -msse4.2 -mfpmath=sse -mpopcnt"
>
> The application has started successfully.
> But I am wondering, maybe I've missed something and there are potential bugs
> in this way?
>
> > Hi.
>
> > Is it possible to build DPDK application on a machine that do have AVX
> support
> > for use at another machine that doesn't have AVX feature?
>
> > Thanks.
Using -march to manually tune should work fine, just be aware of mistakes made; this is an error prone method..
As per the GCC docs, you can target specific CPU families, and the optimal flags will be selected:
https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
Example: -march=goldmont-plus
With make, EXTRA_CFLAGS="-march=NAME-HERE" should work
With Meson, cd <build_dir> && meson configure -Dc_args="-march=NAME-HERE"
I guess there's a prettier method for meson, but the above works here :)
Hope that helps, -Harry
More information about the users
mailing list