FPGA 17 ,FPGA 与 SR-IOV虚拟化技术,高性能计算与虚拟化技术的结合(FPGA 与 SR-IOV 和 PCI,高性能计算与虚拟化的完美融合)

目录

前言
一. SR-IOV 的起源与发展
1. SR-IOV 的起源与时间线
2. SR-IOV 的诞生原因
3. SR-IOV 的详细介绍
二. SR-IOV 和 PCI 之间的关系
三. PCI 的起源与演进
1. PCI 的起源与时间线
2. PCI 的关键特性
四. FPGA 的独特魅力
1. FPGA 的定义与特性
2. FPGA 的内部结构详解
3. FPGA 的广泛应用领域
五. FPGA 与 SR-IOV 和 PCI 的关联
1. 加速计算任务
2. 与 SR-IOV 结合提升性能
3. 增强 I/O 性能
4. 实际应用
六. 目前的实际应用场景
1. 国内大厂和机构的应用
1. 为何使用?
2. 解决问题?
3. 应用实例?
2. 国外大厂和机构的应用
1. 为何使用?
2. 解决问题?
3. 应用实例?
3. SR-IOV 技术学习方向
七. 本文总结

前言

在当今数字化时代,高性能计算和高效虚拟化技术在各个领域都发挥着至关重要的作用。这里将以 FPGA(现场可编程门阵列)为核心,深入探讨 FPGA、SR-IOV(单根 I/O 虚拟化技术)以及 PCI(外设部件互连)技术之间的紧密联系,从基本介绍到实际应用,全面展示它们如何共同推动计算领域的进步。

一. SR-IOV 的起源与发展

1. SR-IOV 的起源与时间线

  1. SR-IOV(Single Root I/O Virtualization)是 PCI-SIG(Peripheral Component Interconnect Special Interest Group)组织于 2007 年左右推出的 I/O 虚拟化技术标准。它的出现是为了应对虚拟化环境中日益增长的性能需求,特别是对于那些需要高效网络和存储连接的应用来说至关重要。
  2. 2007 年:SR-IOV 规范首次发布,伴随 PCIe 技术的发展而引入。
  3. 后续发展:随着时间推移,SR-IOV 得到了持续改进和完善,成为现代数据中心不可或缺的一部分。

2. SR-IOV 的诞生原因

  1. 虚拟化需求的增长:随着多租户环境下的资源隔离、性能优化以及安全性要求的提升,传统软件模拟硬件的方法遇到了瓶颈。
  2. 硬件辅助虚拟化的需求:为了提高 I/O 密集型应用的性能,减少 Hypervisor 层的数据处理开销,业界开发了像 SR-IOV 这样的直接设备分配技术。

3. SR-IOV 的详细介绍

SR-IOV(Single Root I/O Virtualization)是一种硬件虚拟化技术,它允许一个单一的物理网络接口卡(NIC)、存储适配器或其他兼容设备被虚拟化成多个虚拟功能(Virtual Functions, VFs),从而使得多个虚拟机(VMs)可以直接访问这些虚拟化的资源。SR-IOV 提供了接近本机的性能,因为它绕过了hypervisor中的I/O虚拟化层,减少了数据包处理延迟和CPU使用率。

SR-IOV 的工作原理是基于两个主要组件:物理功能(Physical Function, PF)和虚拟功能(VF)。PF 是 SR-IOV 设备上的全功能资源,可以发现、管理和配置 SR-IOV 功能。每个 PF 可以配置生成多个 VF,VF 是一种轻量级的PF,具有自己独立的配置空间,但其功能受到限制,并依赖于PF进行管理。通过这种方式,一个物理适配器可以表现为多个分离的适配器,每个都能直接由不同的虚拟机或操作系统驱动程序控制。

为了实现高效的通信,SR-IOV 还支持多队列机制,允许多个VF共享同一物理网卡的不同队列,这有助于提高吞吐量和降低延迟。此外,由于VF是直接与物理硬件交互,因此它们能够提供更精细的QoS(服务质量)控制,如带宽分配和流量优先级设置等。

在云计算环境中,SR-IOV 对网络密集型应用特别有利,例如数据库服务、大数据分析以及实时数据处理等场景。它不仅提高了性能,还简化了网络架构,因为不需要为每个虚拟机创建单独的虚拟交换机端口。不过,使用 SR-IOV 也需要考虑一些挑战,包括安全性和隔离性问题,以及对现有网络管理和监控工具的适应性。                           

综上所述,SR-IOV 技术是现代数据中心和云平台中提升网络性能和效率的关键之一。随着硬件和软件生态系统的不断进化,SR-IOV 将继续演进,为虚拟化环境带来更多的可能性。


二. SR-IOV 和 PCI 之间的关系

  1. 基于PCI ExpressSR-IOV是PCI-SIG组织基于PCI Express (PCIe) 标准开发的技术
  2. 依赖PCI Express架构:SR-IOV的工作原理依赖于PCIe提供的点对点连接特性,用于高效的数据传输和资源分配。
  3. 需要支持SR-IOV的PCI设备:为了实现SR-IOV功能,必须使用支持该特性的PCI设备(如网卡、GPU等)以及相应的服务器硬件。
  4. 提升虚拟化性能:SR-IOV显著提高了虚拟化环境中I/O操作的性能,减少了通过软件模拟访问PCI设备所带来的CPU开销。
  5. 资源共享与隔离:SR-IOV允许一个物理PCI设备创建多个虚拟功能(VF),这些VF可以被不同虚拟机独立使用,实现了资源的有效共享和隔离。
  6. 优化系统效率:通过让多个虚拟机共享同一个物理接口,SR-IOV减少了对专用硬件的需求,降低了成本并提高了系统的整体资源利用率。


三. PCI 的起源与演进

1. PCI 的起源与时间线

  1. PCI(Peripheral Component Interconnect)是由英特尔公司在 1991 年推出的一种用于定义局部总线的标准。它旨在解决当时计算机内部组件之间的互连问题,提供一个统一的接口标准来连接各种外设,如网卡、声卡和显卡等。随着 Intel Pentium 处理器的诞生,PCI 迅速成为个人电脑和其他计算设备中广泛采用的标准。
  2. 1991 年:PCI 首次被提出,作为第一代 PCI 规范。
  3. 1993 年:PCI 2.0 发布,引入了 32 位和 64 位两种版本,并支持更高的时钟频率。
  4. 1998 年:PCI-X 推出,提高了带宽至 1GB/s,适用于服务器级应用。
  5. 2004 年:PCIe(PCI Express)问世,采用串行点对点拓扑结构,极大提升了性能和可扩展性。

2. PCI 的关键特性

  1. 共享总线架构:早期 PCI 使用并行传输方式,所有设备共享一条总线。
  2. 即插即用 (PnP):简化了硬件安装过程。
  3. 直接内存访问 (DMA):允许设备直接读写主存,减轻 CPU 负担。
  4. 热插拔支持:部分版本支持在不关闭系统的情况下添加或移除设备。


四. FPGA 的独特魅力

1. FPGA 的定义与特性

  1. FPGA 是一种集成电路芯片,具有高度的可编程性。与传统的固定功能芯片(如 ASIC)不同,用户可以在制造完成后通过编程来配置其内部的逻辑功能。
  2. 它包含大量的可编程逻辑单元(如查找表、寄存器等)、可编程布线资源以及输入 / 输出(I/O)模块,使得用户能够根据具体需求实现各种复杂的逻辑电路。

2. FPGA 的内部结构详解

  1. 可编程逻辑单元:这是 FPGA 的核心部分,用于实现各种逻辑功能。以查找表(LUT)为例,它可以实现布尔函数。一个 4 输入的查找表能够实现任意 4 变量的布尔函数。比如实现一个简单的与门功能,当输入为 A 和 B 时,查找表可以根据输入组合(00、01、10、11)存储对应的输出值(0、0、0、1),从而实现逻辑与的功能。
  2. 可编程布线资源:这些资源用于连接各个逻辑单元,使得它们能够按照用户设计的电路逻辑进行通信。就像在城市中修建道路一样,布线资源可以将不同的 “建筑物”(逻辑单元)连接起来,形成一个完整的电路系统。
  3. I/O 模块:负责 FPGA 芯片与外部设备的连接,它可以支持多种不同的接口标准,如 LVTTL、LVCMOS、PCI-E 等。例如,当 FPGA 需要与一个外部的传感器通信时,I/O 模块可以将传感器的信号(可能是模拟信号经过模数转换后的数字信号)输入到 FPGA 内部进行处理,并且可以将 FPGA 处理后的结果输出给其他外部设备,如显示器或执行机构。

3. FPGA 的广泛应用领域

  1. 通信领域:在通信基站中,FPGA 可以用于实现高速数据处理和信号调制解调。例如,在 5G 基站中,FPGA 能够处理大量的基带信号,对信号进行编码、解码、波束成形等复杂操作,以提高通信系统的性能和效率。
  2. 工业自动化:用于控制工业机器人的运动和操作。通过对 FPGA 编程,可以实现机器人的运动控制算法,如路径规划、速度控制等。并且由于 FPGA 的并行处理能力,它可以同时处理多个传感器的数据,如视觉传感器、力传感器等,从而实现更精准的操作。
  3. 数据中心:用于加速数据处理任务,如在人工智能推理应用中,FPGA 可以加速神经网络的计算。与传统的 CPU 和 GPU 相比,FPGA 可以针对特定的神经网络模型进行定制化的硬件加速,减少计算时间和能耗。

等等


五. FPGA 与 SR-IOV 和 PCI 的关联

FPGA 在 PCI 和 SR-IOV 架构中的作用

1. 加速计算任务

  • 硬件加速FPGA通过PCIe总线连接,为虚拟机提供定制化的硬件加速,适用于大数据分析、机器学习推理等计算密集型任务

2. 与 SR-IOV 结合提升性能

  • 资源共享:结合SR-IOV,FPGA可以创建多个虚拟功能(VF),分配给不同虚拟机,实现高效的硬件加速资源分享。
  • 并行处理:充分利用FPGA的并行处理能力,提高多虚拟机环境下的计算效率。

3. 增强 I/O 性能

  • 高速接口:FPGA集成高效网络接口,提高数据传输速度和吞吐量。
  • 低延迟通信:配合SR-IOV,减少中间件延迟,确保快速的数据处理和传输。

4. 实际应用

  • 数据中心:FPGA加速数据库查询、视频转码等任务,结合SR-IOV为多租户提供高性能服务。
  • NFV:在网络设备中,FPGA加速包处理和流量分类,支持多租户的高效网络服务。

FPGA在PCI和SR-IOV架构中提供了强大的硬件加速、高效的资源共享和增强的I/O性能,适用于多种高性能计算和网络应用场景。


六. 目前的实际应用场景

SR-IOV(Single Root I/O Virtualization)技术本身并不依赖于FPGA(Field-Programmable Gate Array),并且可以在没有FPGA的情况下非常有效地应用。SR-IOV主要是一种用于提高虚拟化环境中I/O性能的技术,它通过将单个物理设备虚拟化为多个逻辑上的独立功能(VF),从而允许多个虚拟机直接访问这些VF,减少Hypervisor层的数据处理开销,提升数据传输速度和降低延迟。SR-IOV能够在没有FPGA的情况下很好地工作,并且已经在众多领域中得到了广泛应用。FPGA作为一种强大的可编程硬件,可以在某些特定场景下与SR-IOV结合使用,以实现更高级别的性能优化和灵活性,但这并不是SR-IOV正常运作所必需的。因此,SR-IOV离开了FPGA也可以非常好地应用。

1. 国内大厂和机构的应用

1. 为何使用?

国内大厂和机构选择使用 SR-IOV 技术的主要原因是为了解决虚拟化环境中 I/O 性能瓶颈的问题。随着云计算、大数据分析、人工智能等领域的快速发展,越来越多的企业开始重视提高虚拟化环境下的 I/O 性能和资源利用率。SR-IOV 技术能够显著提升网络和存储的性能,降低延迟,并且减少 CPU 负载,从而更好地满足业务需求。 

2. 解决问题?

  • 性能提升:通过让虚拟机直接访问物理设备,减少了 Hypervisor 层的数据处理开销,提升了数据传输速度。
  • 资源利用率:允许多个虚拟机共享同一个物理设备,减少了所需硬件的数量,提高了资源利用率。
  • 成本节约:减少了适配器数量,简化了布线,减少了交换机端口,从而降低了运营成本。
  • 安全性和隔离性:确保不同虚拟机之间的资源隔离,防止一个虚拟机的问题影响到其他虚拟机。

3. 应用实例?

  • 互联网巨头:
    • 阿里巴巴云:阿里云在其数据中心中广泛部署了支持 SR-IOV 技术的硬件设备,以提供高性能的网络和存储服务给用户。
    • 腾讯云:腾讯利用 SR-IOV 增强虚拟机的网络性能,尤其是在游戏云等需要低延迟的应用场景中。
    • 百度智能云:百度云基础设施中集成了 SR-IOV,服务于 AI 训练等高带宽需求的应用。
  • 电信运营商:
    • 中国移动、中国联通、中国电信:构建 NFV 平台时选择支持 SR-IOV 的技术方案,以确保虚拟化的网络服务能够达到与传统物理设备相近的性能水平。
  • 金融机构:
    • 银行及其他金融企业:依赖实时交易处理系统的金融机构开始引入 SR-IOV 技术,以保证交易的速度和准确性,同时降低市场波动带来的风险。
  • 硬件制造商和服务提供商:
    • 浪潮存储:推出了基于 SR-IOV 的企业级 NVMe SSD 产品,帮助云数据中心降本增效。
    • 忆恒创源 (Memblaze):为其 SSD 加入 SR-IOV 支持,改善未来汽车驾驶体验中的数据传输效率。
    • 寒武纪:云端智能芯片及加速卡系列思元 270 首次引入 SR-IOV 功能,为 AI 计算提供了更好的租户隔离和应用热迁移特性。
  • 其他行业参与者:
    • 苏宁私有云:通过 SR-IOV 实现虚拟网络性能优化,减少了 CPU 负荷并提高了网络性能。
    • 慧荣科技:其主控芯片支持 SR-IOV,改善了未来汽车驾驶体验中的数据传输效率。

2. 国外大厂和机构的应用

1. 为何使用?

国外的大厂和机构同样面临类似的挑战,即如何在虚拟化环境中保持高效能的同时降低成本。SR-IOV 技术为他们提供了一个理想的解决方案,特别是在云计算、金融服务、电信等领域,这些领域对网络带宽和延迟有着极高的要求。

2. 解决问题?

  • 性能瓶颈:解决了传统虚拟化架构中因 Hypervisor 层处理导致的性能下降问题。
  • 资源优化:通过虚拟化多个功能实体,最大化利用现有硬件资源,减少额外硬件投资。
  • 成本控制:降低了适配器数量、简化布线、减少交换机端口,进而降低了总体拥有成本(TCO)。
  • 安全性:加强了虚拟机之间的隔离,提升了系统的整体安全性。

3. 应用实例?

  • 云服务提供商:
    • 亚马逊 AWS:在其弹性计算云(EC2)实例中支持 SR-IOV,提供更优质的网络服务。
    • 微软 Azure:Azure 平台利用 SR-IOV 来增强虚拟机的网络性能。
    • 谷歌云平台 (GCP):为用户提供了高性能的网络连接选项。
  • 电信运营商:
    • AT&T、Verizon、Deutsche Telekom:在 NFV 平台上采用 SR-IOV 技术,以满足虚拟化网络服务的性能要求。
  • 金融机构:
    • 摩根大通、高盛:这些大型银行也在探索或实施 SR-IOV 技术,以优化其内部 IT 系统。
  • 硬件制造商和服务提供商:
    • 英特尔、AMD:这两家公司在其处理器和支持芯片组上广泛支持 SR-IOV。
    • NVIDIA:在其 GPU 产品线上加入了对 SR-IOV 的支持,以满足高性能计算和图形处理的需求。

3. SR-IOV 技术学习方向

  1. 基础理论:SR-IOV原理、工作机制及优势;核心概念如PF、VF、IOMMU。
  2. 硬件配置:支持SR-IOV的硬件厂商及产品;BIOS/UEFI启用和命令行配置方法。
  3. 虚拟化集成:在KVM、VMware、Hyper-V中部署SR-IOV;不同平台的支持差异。
  4. 网络与存储:SR-IOV在NFV和分布式存储中的应用;结合DPDK优化性能。
  5. 安全隔离:IOMMU的作用和资源隔离方法;确保虚拟机之间资源共享的安全性。
  6. 高级应用:FPGA结合SR-IOV的应用场景;开发基于SR-IOV的自定义驱动程序或模块。
  7. 性能调优:使用iperf等工具进行性能基准测试;识别和解决常见的性能瓶颈。
  8. 案例分析:行业实际应用案例,包括互联网巨头、电信运营商、金融机构的应用。


七. 本文总结

从 FPGA 的高度可编程性到 PCI 的互连标准,再到 SR-IOV 的 I/O 虚拟化技术,这三项技术在计算领域中相互依存、协同发展。FPGA 为计算任务提供了灵活的硬件加速解决方案,PCI 奠定了现代计算机系统互连的基础,而 SR-IOV 则在虚拟化环境中进一步提升了 I/O 性能。无论是国内还是国外的大厂和机构,都在积极采用这三项技术,并不断探索它们的结合应用,以解决虚拟化环境中存在的性能瓶颈、资源优化和成本控制等问题。未来,随着相关技术和标准的不断完善,预计会有更多企业和组织采纳这一先进技术组合,继续推动计算行业的创新发展。

完整FPGA系列,请看

FPGA系列,文章目录icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_65793170/article/details/144185217?spm=1001.2014.3001.5501

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/934186.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】深刻理解Masked Autoencoders(MAE)

Masked Autoencoders (MAE) 是近年来自监督学习领域中的一项重要创新,尤其在计算机视觉领域取得了显著进展。随着深度学习的快速发展,自监督学习逐渐成为了一种重要的无监督学习方法,它通过从数据中学习表示而不依赖人工标签,极大…

Oracle报错ORA-01653: 表xx无法通过 8192在表空间中扩展

向Oracle 19g数据库中批量插入数据,当插入近2亿条数据后,报出如下错误: ORA-01653: 表xx无法通过 8192 (在表空间 xx_data 中) 扩展 查看表空间,发现表空间大小已达到32G,表空间无法进行自动扩展了。(初始…

图的遍历(C++实现图【2】)

目录 1. 图的遍历 1.1 图的广度优先遍历 2.2 图的深度优先遍历 1. 图的遍历 给定一个图G和其中任意一个顶点v0,从v0出发,沿着图中各边访问图中的所有顶点,且每个顶点仅被遍历一次。"遍历"即对结点进行某种操作的意思。 1.1 图的广度…

群控系统服务端开发模式-应用开发-邮件发送工具类

一、邮件发送工具类开发 1、添加框架对应的SDK composer require phpmailer/phpmailer 2、添加工具集 在根目录下extend文件夹下创建Email文件夹&#xff0c;在Email文件夹下添加工具集控制并命名为EmailSender.php <?php /*** 邮件发送工具* User: 龙哥三年风水* Date: …

如何在vue中使用ECharts

一. 打开ECharts官网,点击快速入门 下面是ECharts官网的链接 https://echarts.apache.org/ 二.在vue中使用 1.首先先引入Echarts js文件 如下图&#xff0c;下面的第一张图片是官网的实现&#xff0c;第二章图片是我根据官网的实现 2.给ECharts 创建一个DOM容器 3. 使用ec…

Java版-图论-拓扑排序与有向无环图

拓扑排序 拓扑排序说明 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列…

Nginx安装和配置详解

1.Nginx的安装 1.1运行以下脚本安装 yum install yum-utils -y rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm# 查看所有可安装nginx版本 yum --showduplicates list available nginx yum install nginx-1.24.0 -y …

Pytest测试框架

Pytest测试框架 测试用例发现规则 默认从当前或者指定文件夹下递归查找文件名以test_开头或者_test结尾的.py文件以Test 开头且&#xff08;不继承自 unittest.TestCase或者含有init方法的类&#xff09;的类函数名以 test_ 开头的测试用例方法 自定义测试用例发现规则 我们…

【OpenCV】图像阈值

简单阈值法 此方法是直截了当的。如果像素值大于阈值&#xff0c;则会被赋为一个值&#xff08;可能为白色&#xff09;&#xff0c;否则会赋为另一个值&#xff08;可能为黑色&#xff09;。使用的函数是 cv.threshold。第一个参数是源图像&#xff0c;它应该是灰度图像。第二…

idea压缩js,css

这是需要的jar包(文章顶部也可以下载) 地址:https://download.csdn.net/download/yuzheh521/90109966?spm1001.2101.3001.9500 压缩js arguments: -jar E:\swj\jar_packages\css_js_compress\yuicompressor-2.4.8.jar --type js --charset utf-8 $FilePath$ -o $FileNameWith…

css基础记录

基础 选择器 复合选择器 后代选择器 div p {}; 类似如上,找到div中所有的后代,注意是所有的后代 子代选择器 > div > a 只选择div的儿子中有a的 并集选择器 用逗号,分隔 p,div,span,h1 { … } 一般一行写一个 CSS元素显示模式 分为块元素,行内元素 块元素 特点…

【C++】LeetCode:LCR 078. 合并 K 个升序链表

题干&#xff1a; 给定一个链表数组&#xff0c;每个链表都已经按升序排列。 请将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 解法&#xff1a;优先队列 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *ne…

使用PHPUnit使用本地调试代替远程调试,快速提高开发效率

Laravel 是一个在 Linux 环境下表现非常出色的 PHP 框架&#xff0c;但它在 Windows 环境下可能会遇到一些兼容性和配置问题。为了调试或没试的方便可以在 Windows 环境下进行 Laravel PHPUnit进行本地调试和测试。 本地主要针对断点调试效果非常高效。 在 Laravel 中&#x…

【模型对比】ChatGPT vs Kimi vs 文心一言那个更好用?数据详细解析,找出最适合你的AI辅助工具!

在这个人工智能迅猛发展的时代&#xff0c;AI聊天助手已经深入我们的工作与生活。你是否曾在选择使用ChatGPT、Kimi或是百度的文心一言时感到一头雾水&#xff1f;每款AI都有其独特的魅力与优势&#xff0c;那么&#xff0c;究竟哪一款AI聊天助手最适合你呢&#xff1f;本文将带…

Spring Boot 性能提升的核武器,速度提升 500%!

虚拟线程是 Java 21 引入的一个新特性&#xff0c;用于简化并发编程。它与传统的操作系统线程相比&#xff0c;具有显著的优势&#xff1a; 轻量级&#xff1a;虚拟线程由 JVM 管理&#xff0c;而非操作系统&#xff0c;因此它们的内存占用和创建成本远低于传统线程。理论上&am…

Ubuntu下的gpt-sovits学习记录1:安装与测试

GitCode - 全球开发者的开源社区,开源代码托管平台 国内镜像点。 下载压包&#xff1a; 解压到没有中文名的文件夹内。如我 1.创建虚拟环境 conda create -n GPTSoVits python3.9 2.新建工程 3.部分环境 pip install -r requirements.txt 4.模型下载。建议直接下载上边的…

二叉树节点相关算法题|双分支节点个数|所有左叶子之和|每一层节点平均值(C)

双分支节点个数 假设二叉树采用二叉链表存储结构存储&#xff0c;试设计一个算法&#xff0c;计算一棵给定二叉树的所有双分支节点个数 算法思想 计算一棵二叉树中所有双分支节点个数的递归模型 若树为空&#xff0c;结果为0 若当前节点为双分支节点&#xff0c;递归左右孩子…

MySQL:表的内置函数

目录 一. 日期函数 二. 字符串函数 三. 数学函数​编辑 四. 其他函数 此篇博客讲解MySQL中关于表的内置函数。内置函数广泛用于数据库查询语句中。 一. 日期函数 例子一&#xff1a;创建一个样例表&#xff1a; 类似于隐式转换&#xff0c;虽然这样可以但是不建议。 …

Vue框架入门

Author&#xff1a;Dawn_T17?? 目录 什么是框架 一.Vue 的使用方向 二.Vue 框架的使用场景 &#xff08;TIP&#xff09;MVVM思想 三.Vue入门案例 TIP&#xff1a;插值表达式 四.Vue-指令? &#xff08;1&#xff09;v-bind 和 v-model? ? &#xff08;2&#x…

【OpenCV】图像转换

理论 傅立叶变换用于分析各种滤波器的频率特性。对于图像&#xff0c;使用 2D离散傅里叶变换&#xff08;DFT&#xff09; 查找频域。快速算法称为 快速傅立叶变换&#xff08;FFT&#xff09; 用于计算DFT。 Numpy中的傅立叶变换 首先&#xff0c;我们将看到如何使用Numpy查…