安装DPDK

dpdk 运行testpmd 出现: Couldn‘t get fd on hugepage file (已解决) dpdk 环境搭建中遇到的几个问题, 和大家分享下, 主要注意grub的配置, 环境 变量的配置。万事开头难,每解决一个问题都是宝贵的经验。 阅读详情

安装DPDK教程

环境说明

软件版本:dpdk-17.02
操作系统:Centos 7
linux内核:3.10
虚拟机环境:VmwareStation 8

安装步骤

使用安装脚本安装时,重新打开脚本需要重新执行以下所有步骤

设置环境变量

将如下命令写入dpdk.rc文件中

export RTE_SDK=`pwd`  
export RTE_TARGET=x86_64-default-linuxapp-gcc 

启用环境变量

source dpdk.rc
开始安装

对应安装脚本[x86_64-native-linuxapp-gcc]

make config T=x86_64-native-linuxapp-gcc

执行完命令后会
在安装目录下出现x86_64-native-linuxapp-gcc/目录
进入该目录,使用make编译

出现如下错误:
make: * /lib/modules/3.10.0-327.e17.x86_64/build:Not such file or directory . Stop

解决方法:

  • 切换到指定目录,后删除build链接
  • 使用ln -s /usr/src/kernel/3.10.0-327.e17.x86_64 build重新建立链接
加载igb_uio模块

对应安装脚本[Insert IGB UIO module]

命令如下

sudo modprobe uio
sudo insmod igb_uio.ko

出现如下错误:
insmod: ERROR: could not insert module igb_uio.ko: Invalid parameters

解决方法:

  • 首先使用 uname -r查看当前内核版本
  • 再使用modinfo igb_uio.ko查看vermagic字段是否当前内核版本一致
  • 如果不一致则使用sudo yum -y update kernel kernel-devel更新内核版本
  • 重启后进入新的选项
挂载hugetlbfs文件系统

对应安装脚本[Setup hugepage mappings for non-NUMA systems]

此步骤尽量设置多个页面 否则后面会出现内存不足的错误

命令如下

mkdir –p /mnt/huge
mount –t hugelbfs nodev /mnt/huge
echo 1024 >> /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
绑定网卡

对应安装脚本[Bind Ethernet device to IGB UIO module]

首先需要使用如下命令关闭需要绑定的网卡

sudo ifconfig ens34 down

使用usertools目录下的dpdk-devbind.py进行绑定

  • 查看网卡状态
./usertools/dpdk-devbind.py --status 
  • 绑定网卡
./usertools/dpdk-devbind.py -b igb_uio 02:02.0 

测试用例

出现如下错误:
EAL: Error reading from file descriptor 8
EAL: Error reading from file descriptor 11

解决方法:

  • 切换到lib/librte_eal/linuxapp/igb_uio目录下
  • 修改igb_uio.c中的代码
if (pci_intx_mask_supported(dev)) 

改为

if (pci_intx_mask_supported(dev) || true) 

test-pmd

一开始需要输入的bitmask表示你需要使用的核心数

如:f 代表 1111 使用四个核心

命令:

  • start开始包转发
  • stop停止包转发

结果如下图所示
这里写图片描述

DPDK系列之七:OVS-DPDK的在CentOS安装和测试 一、前言根据文章《DPDK系列之六:qemu-kvm网络后端的加速技术》,OVS-DPDK可以给虚拟机的部署密度和虚拟机网络性能的提升带来帮助。本文将介绍如何编译和安装DPDK以及如何使用DPDK提升网络性能:OS:CentOS 7.4.1708OVS:2.8.1DPDK:17.08.1转载自https://blog.youkuaiyun.com/cloudvtech二、操作系统和DPDK的安装2.1 系统配... 阅读详情

相关推荐

DPDK入门,安装,编译

参考:DPDK官网 https://software.intel.com/zh-cn/networking/dpdk 版本:dpdk-stable-17.08.1 http://dpdk.org/download 1.下载源代码: wget https://fast.dpdk.org/rel/dpdk-17.08.1.tar.xz 2.解压: xz -d dpdk-17.08.1.t...

旺仔不爱小馒头的博客 3147

DPDK-20.11.1版本在Centos8上安装和测试

一 安装前提条件uname-a Kernelversion>=2.6.34 ldd--version glibc>=2.7 我在虚拟机安装的是c...

3716

DPDK 与DPDK-Pktgen 安装

文本将介绍DPDK与Pktgen的安装。

lingshengxiyou的博客 1210

CentOS7下编译安装SPDK iSCSI Target

操作环境 Centos 7 操作步骤 1.下载SPDK #git clone https://github.com/spdk/spdk.git 2.安装依赖包 # dnf install -y gcc gcc-c++ CUnit-devel libaio-devel openssl-devel 3.下载安装DPDK #cd spdk #wget

bobpen的专栏 5368

CentOS安装基于Mellanox网卡的DPDK开发环境

主要参考: https://doc.dpdk.org/guides/nics/mlx5.html#quick-start-guide-on-ofed-en https://blog.youkuaiyun.com/qq_16088269/article/details/103477194 环境 网卡:Mellanox MCX515A 系统:CentOS 7.8 DPDK: dpdk-19.11.3 网卡驱动:MLNX_OFED_LINUX-5.1-0.6.6.0-rhel7.8-x86_64 下载 Mellanox 网卡

bt_的博客 6557

centos7 安装DPDK

参考:https://blog.youkuaiyun.com/weixin_28712713/article/details/100804163 下载DPDK安装包 我是下载的最新版本,dpdk-19.08,放在定义的目录下,解压: tar -xvf dpdk-19.08.tar.xz dpdk-19.08 环境变量配置 在dpdk-19.08下,创建一个dpdkenv的文件,在里面填充如下内容:1. ex...

u010411205的博客 2994

configure: error: Cannot find ldap libraries in /usr/lib 解决办法

64bit 确保对应的包都安装了前提下 添加configure参数 --with-libdir=lib64 ps: mysql lib目录做一下软连接到lib64

饮水思源 670

DPDK从入门到精通之编译安装

本文档主要是介绍如何从零开始搭建一个dpdk的自习环境(包括一个运行示例程序)。

tour_de_france的博客 2825

Centos 安装dpdk

下载 dpdk-20.05.tar.gz解压到本地目录/home下: tar -xvf dpdk-20.05.tar.gz执行一下 source dpdkenv.查看是否设置好:env |grep RTE。

paopaolele的博客 1752

Python读取三菱PLC数据

3、支持自定义的数据读写操作。直接调用Read方法,可以读取到原生的byte数组,然后进行组合数据。1、每次的数据交互您都可以判断是否成功,如果您不判断,如果网络断开或是异常,会影响程序的执行。Qna3E协议的ascii类 MelsecMcAsciiNet。A兼容1E协议的二进制类 MelsecA1ENet。Qna3E协议的二进制类 MelsecMcNet。2、读写操作支持单个数和数组。

weixin_46744807的博客 2000

数学建模常用模型10 :数据包络(DEA)分析法(投入产出法)

数据包络分析是评价多输入指标和多输出指标的较为有效的方法,将投入与产出进行比较。它的结果包含的意思有: ①θ=1,DEA有效,表示投入与产出比达到最优 ②θ<1,非DEA有效,表示投入与产出比没有达到最优,一般来说,θ越大说明效果越好。 数据包络分析是通过对投入的指标和产出的指标做了一个线性规划,并且进行变换后,然后根据其线性规划的对偶问题(线性规划对偶问题具有经济学意义),求解这个对...

HaLosec_Wei 9万+

安装运行DPDK

这样,CPU和设备都能读取到对方写入的内容。软亲和性主要由操作系统来实现,Linux操作系统的调度器会倾向于保持一个进程不会频繁的在多个CPU之间迁移,通常情况下调度器都会根据各个CPU的负载情况合理地调度运行中的进程,以减轻繁忙CPU的压力,提高所有进程的整体性能。但是随着CPU多核技术的发展,一颗物理CPU中集成了越来越多的core,导致SMP架构的性能瓶颈越来越明显,因为所有的处理器都通过一条总线连接起来,因此随着处理器的增加,系统总线成为了系统瓶颈,另外,处理器和内存之间的通信延迟也较大。

weixin_51458682的博客 1106

C/C++李峋同款跳动的爱心代码(完整代码)

C++语言实现出李峋同款跳动的爱心的完整代码。

AIGC 10万+

dpdk最细流程,包含虚拟机安装dpdk

安装dpdk超详细过程,包含虚拟机安装dpdk过程

一个好人的博客 4201

一个中科大差生的8年程序员工作总结

今年终于从大菊花厂离职了,离职前收入大概60w不到吧,在某乎属于比较差的,今天终于有空写一下自己的职场故事,也算是给自己近8年的程序员工作做个总结复盘。近8年有些事情做对了,也有更多事情做错了,在这里记录一下,希望能够给后人一些帮助吧,也欢迎私信交流。文笔不好,见谅,有些细节记不清了,如果有出入,就当是我编的这个故事吧。 PS:有几个问题先在这里解释一下,评论就不一一回复了 1、关于差生,我本人在科大时确实成绩偏下,差生主要讲这一点,没其他意思。 2、因为买房是我人生中的大事,我认为需要记录和总结一下

陈小房的自我修炼 5万+

基于YOLOv10的微小目标检测,多头检测器提升小目标检测精度

引入多头检测器助力YOLOv10,暴力提升小目标检测性能

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 2571

安装dpdk

首先下载dpdk官方安装包dpdk-2.2.0.tar.xz,官方下载地址为: http://fast.dpdk.org/rel/dpdk-2.2.0.tar.xz 解压: [root@localhost dingtao]# tar Jxvf dpdk-2.2.0.tar.xz[root@localhost dingtao]# cd dpdk-2.2.0 [root@localhost d

dingtao7890的博客 581

大模型技术全景与核心概念解析:从基础原理到AI智能体架构(实时更新中)

本文系统解析了大模型技术的核心概念与架构。首先介绍了LLM(大语言模型)、LLMOps(模型运维)、AIGC(生成内容)、AGI(通用AI)等基础概念,重点阐述了大模型的工作原理,包括预处理、推理和后处理三个阶段。深入讲解了Token分词、FLOPs计算、Embedding向量表示等关键技术,并分析了LoRA微调、MoE架构等前沿方法。文章还探讨了AI智能体的发展前景,为理解大模型技术提供了全景视角。

算法工程师 1252

CentOS安装DPDK

dpdk是Inter开发的数据平台开发包,用于替代内核处理网络数据包的处理,在网络负载很大的情形下,避免了系统耗散,同时优化了数据包处理的效率。主要是在用户空间下对网络数据包进行协议的处理。 dpdk安装要求很多的硬件和系统条件,现以CentOS7为例讲解安装和测试步骤。 centos6.5可能会出现编译不通过的情形,由于内核版本和glibc的版本问题。 建议使用linux3.0版本。 1

jyt11112的博客 4288

Python爬虫实战:公共资源交易平台招标数据采集实战 - 从零构建企业情报系统(附CSV导出 + SQLite持久化存储)!

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 1288

飞牛fnNAS搭建Web网页版OFFICE(WPS)软件

本文介绍了如何在飞牛NAS上通过Docker容器部署WPS Office办公软件。主要内容包括:启用Docker服务、准备项目文件夹结构、使用Compose方式构建容器、解决端口冲突问题、配置中文输入法和字体库,以及通过ZeroTier实现远程访问。文章详细说明了每个步骤的操作方法,包括容器启动、输入法设置、字体添加和文件存储位置配置。最后还介绍了使用ZeroTier内网穿透技术实现远程访问NAS上WPS服务的方法,让用户可以在不同设备上随时编辑NAS中的文件。整个部署过程完整清晰,为NAS用户提供了便捷的

dgnankai的专栏 1702

DPDK安装

安装依赖 # yum install make gcc numactl-devel*x86_64 kernel-devel # modprobe uio 编译 拷贝dpdk-19.08.tar.xz到/usr/local 解压tarxvfdpdk-19.08.tar.xz Cddpdk-19.08 dpdk编译动态库编辑config/common_base下的编辑项C...

superbfly的专栏 2075

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

DPDK在centos8中安装编译

DPDK编译安装指南 安装dpdk有两种方式:第一种命令;第二种使用dpdk-setup.sh。这次主要是通过dpdk-setup.sh方式来安装。 一.准备工作 CentOS版本信息:CentOS Linux release 8.2.2004 (Core) 1.下载dpdk 进入dpdk官网,下载想要的版本:http://core.dpdk.org/download/ 使用的dpdk版本为;dpdk-stable-19.08.2 2.下载相应需要的依赖和工具包 yum install -y kernel-

qq_40982287的博客 3201

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

DPDK install安装配置

在DPDK编译完成之后,默认情况下执行make install会将目标文件安装到系统的/usr/local目录下。通过查看DPDK的安装Makefile文件mk/rte.sdkinstall.mk,可知其将prefix指向了/usr/local目录。 ifdef T # defaults with T= will install an almost flat staging tree expo...

redwingz的博客 3363

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

dpdk-pktgen安装总结

dpdk及pktgen的安装 下载并解压安装包 1.设置环境变量 export RTE_SDK=dpdk解压后目录 export RTE_TARGET=x8664-Linuxapp 2.下载dpdk依赖包libpcap及libpcap-level yum install libpcap -y yum install libpcap-level -y 3.进入dpdk下usertool...

weixin_46045444的博客 1578
上一篇: printk浅析
下一篇: 【系统安装】PXELINUX(网络安装引导启动)
code__L
博客等级 码龄10年 3粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值