前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DPDK 21.08 hygon (海光) CPU 环境构建

DPDK 21.08 hygon (海光) CPU 环境构建

作者头像
通信行业搬砖工
发布2023-09-06 14:06:39
1.2K0
发布2023-09-06 14:06:39
举报
文章被收录于专栏:网络虚拟化

本文章作者:功名半纸,国产化行业资深专家

海光(hygon) CPU 是基于 AMD Zen 1 (znver1)核心设计授权许可, AMD与国内合资研发的一款 x86_64 CPU. 支持 SSE/SSE2/SSE3/SSE4A/SSE4.1/SSE4.2/AVX/AVX2/RDRND/RDSEED/PCLMUL 指令集.

GCC

GCC 6.3+ 可指定微架构 -march=znver1 优化 hygon 代码:

代码语言:javascript
复制
$ gcc -march=znver1 -E -dM - < /dev/null |grep -i "_AVX\|_SSE\|_RD\|_PCLMUL"
#define __SSE4_1__ 1
#define __SSE4_2__ 1
#define __MMX_WITH_SSE__ 1
#define __SSE2_MATH__ 1
#define __AVX__ 1
#define __PCLMUL__ 1
#define __SSE_MATH__ 1
#define __RDSEED__ 1
#define __AVX2__ 1
#define __RDRND__ 1
#define __SSE4A__ 1
#define __SSE__ 1
#define __SSE2__ 1
#define __SSE3__ 1

DPDK 21.08

如何 下载DPDK 21.08

http://fast.dpdk.org/rel/dpdk-21.08.tar.xz

代码语言:javascript
复制
wget http://fast.dpdk.org/rel/dpdk-21.08.tar.xz

需要注意点:

dpdk-21.08 meson build 不再使用 -Dmachine 设定优化指令集参数, 现已变更为 -Dcpu_instruction_set;

dpdk-21.08 默认通过检查编译器是否支持AVX512添加 AVX512 的支持, 而hygon不支持AVX512指令集, dpdk 通过运行时检查是否启用;

构建 hygon dpdk 示例 (-Dcpu_instruction_set=znver1):

代码语言:javascript
复制
 CC=gcc meson ${MESON_ARGS} \
    -Dprefix=/DPDK/v2108/v2108-hygon-7285-gcc \
    -Dc_args="${C_ARGS}" \
    -Dbuild.c_args="${C_ARGS}" \
    -Dmax_lcores=32 \
    -Dmax_ethports=16 \
    -Dmax_numa_nodes=4 \
    -Denable_kmods=true \
    -Ddeveloper_mode=false \
    -Dkernel_dir=~/kernel/kylin-kernel-to-qmxc-V10S-1.0/ \
    -Dcpu_instruction_set=znver1 \
    -Dexamples=l3fwd,l2fwd,l3fwd-acl,flow_classify,flow_filtering,bond,l3fwd-graph \
    -Dwerror=false \
    v2108-znver1-50mlnx1-1.50218.x86_64-gcc

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 通信行业搬砖工 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GCC
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档