论文精读-存内计算芯片研究进展及应用

文章目录

  • 论文精读-存内计算芯片研究进展及应用
    • 概述
    • 背景介绍
      • 前人工作
    • 存内计算
      • 3.1 SRAM存内计算
      • 3.2 DRAM存内计算
      • 3.3 ReRAM/PCM存内计算
      • 3.4 MRAM存内计算
      • 3.5 NOR Flash存内计算
      • 3.6 基于其他介质的存内计算
      • 3.7 存内计算芯片
        • 应用场景
    • 总结
    • QA

论文精读-存内计算芯片研究进展及应用

优点:

1、详细总结了存内计算的发展

概述

随着数据快速增长,冯诺依曼架构内存墙成为计算性能进一步提升的关键瓶颈。新型存算一体架构(包 括存内计算(IMC)架构与近存计算(NMC)架构),有望打破冯诺依曼架构瓶颈,大幅提高算力和能效。该文介绍了 存算一体芯片的发展历程、研究现状以及基于各类存储器介质(如传统存储器DRAM, SRAM和Flash和新型非易 失性存储器ReRAM, PCM, MRAM, FeFET等)的存内计算基本原理、优势与面临的问题。然后,以知存科技 WTM2101量产芯片为例,重点介绍了存算一体芯片的电路结构与应用现状。最后,分析了存算一体芯片未来的 发展前景与面临的挑战。

背景介绍

自2012年起, 全世界每天产生的数据量约为2.5×1018 Byte,且该 体量仍然以每40个月翻倍的速度在持续增长[1]。海 量数据的高效存储、迁移与处理成为当前信息领域的重大挑战。然而,由于冯诺依曼架构的局限性[2], 数据的高效处理遇到了存储墙和功耗墙两大问题。 在冯诺依曼架构中,数据存储与处理是分离的,存 储器与处理器之间通过数据总线进行数据传输,如 图1(a)所示。

一方面,存储器的访问速度远远小于 处理器的运算速度,系统整体会受到传输带宽的限 制,导致处理器的实际算力远低于理论算力,难以 满足大数据应用的快、准响应需求,称为存储墙问 题。通过增加数据总线带宽或者时钟频率可以在一 定程度上提高处理器性能,但必将带来更大的功耗 与硬件成本开销,且其扩展性也严重受限。(but,我感觉,这里主要是带宽墙,茶壶里倒饺子,目前内存的频率已经很快了,而且现在内存都是直连cpu。不过似乎大多数地方没有将存储墙与带宽墙分开,因为这两个一般是伴生关系。存储墙不仅考虑数据访问,还考虑数据存储容量和功耗)

另一方 面,冯诺依曼架构的存储与计算分离,数据在存储 器与处理器之间的频繁迁移带来巨大的传输功耗,称为功耗墙瓶颈。例如,英伟达的研究报告指出, 在22 nm工艺节点下,浮点运算所需的数据传输功 耗是数据处理功耗的约200倍[3,4]。

上述存储墙与功 耗墙问题并称为冯诺依曼架构瓶颈,为了缓解冯诺依曼架构瓶颈,目前产业界采用 的主流方案是通过高速接口、光互联、3维堆叠、 增加片上缓存等方法来提高数据带宽,并把存储器 和处理器之间的数据传输距离缩短,以减小功耗。 其中,产业界应用较多的是3维堆叠技术与增加片 上缓存等方法。以3维堆叠技术[5,6]为例,其基本思 想就是把更多的存储器通过在垂直方向上的堆叠, 提高数据带宽,并缩短两者之间的距离,这在本质 上称为近存计算架构[7,8],如图1(b)所示。但是, 3维堆叠技术并没有改变冯诺依曼架构,只能在一 定程度上缓解,但并不能从根本上解决冯诺依曼架 构瓶颈。存内计算,作为一种新型计算架构,直接 利用存储器本身进行数据处理,从根本上消除数据搬运,实现存储与计算融合一体化,有望突破冯诺 依曼架构存储墙与功耗墙瓶颈,成为后摩尔时代集 成电路领域的重点研究方向之一,如图1©所示。 近年来,基于先进2.5D/3D封装技术,结合近存计 算和存内计算的新型架构得到业界的重点关注,有 望从存储与计算两方面进一步优化性能,如图1(d)所示。

image-20240506103256684

前人工作

存算一体包括近存计算与存内计算,其概念最 早在1969年被提出[9,10],后续各国学者在电路、算 法、计算架构、操作系统、系统应用等层面开展了 一系列相关研究。例如,1997年,文献[11]展示了 一种智能内存(Intelligent RAM)方案,其将处理器 和DRAM集成在单颗芯片上,算力可达到当时最 先进的Cray向量处理器(Cray T-90)的5倍。1999 年,文献[12]提出了一种嵌入计算功能的灵活内存 (FlexRAM)方案,仿真结果表明该芯片架构可使计算性能提升25~40倍。但是,早期由于缺少大数据 处理的应用需求,加之芯片的制造成本昂贵、设计 复杂,存算一体技术多年来仅停留在研究阶段。

2015年以来,由于摩尔定律的逐渐失效与冯诺 依曼架构的局限性越来越明显,加之大数据应用的 驱动,工艺水平的不断提高,存算一体技术重新受 到关注,并成为研究热潮。例如,在2017年微处理 器顶级年会(Micro2017)上,众多高校和企业都推 出了他们的存算一体芯片或系统原型[13–15],包括苏 黎世联邦理工学院、加利福尼亚大学圣巴巴拉分 校、英伟达、英特尔、微软、三星等。2019年,文 献[16]提出的SRAM存算一体芯片可实现二值权重 的神经网络卷积计算。2020年,文献[17]展示了一 款ReRAM存算一体芯片,在降低计算延迟的同时 大幅提升能效。2021年,文献[18]提出三值DRAM 存算一体架构实现神经网络运算加速。2022年,文 献[19]提出了多芯粒的存算一体集成芯片。文献[20–24] 基于SRAM/ReRAM发表了一系列存算一体器件、 芯片与系统相关的研究成果。迄今,基于SRAM, DRAM, Flash, ReRAM, PCM, FeFET, MRAM等 各类存储介质,涌现出了一系列相关研究工作[25–38], 存算一体芯片研究百花齐放,如图2所示。特别 地,2021-2022年,被誉为芯片领域奥林匹克的顶 级国际会议ISSCC收录了存算一体相关论文20余 篇,研究单位包括三星、台积电、麻省理工学院、 普林斯顿大学、清华大学、北京大学、复旦大学、 中国科学院大学等国际顶尖高校和企业。

虽然基于各类存储介质的存算一体芯片研究百 花齐放,但是各自在大规模产业化之前都仍然面临 一些问题和挑战。

更具体地,

1、SRAM工艺成熟,且 微缩性好;但是属于易失性存储器(掉电数据丢 失),且单元面积较大,成本较高,难以通过较低 成本实现大规模、大算力存内计算芯片。

2、DRAM 工艺成熟,且单元面积较小;但同属易失性存储器,需定期刷新,且存在漏电问题,难以实现高精 度存内计算芯片,近年来被广泛应用于近存计算。

3、ReRAM属于非易失性存储器,且能够实现大规模 交叉点阵列,是未来实现存内计算芯片的潜力介质 之一;但是目前的工艺尚不成熟,存储单元的多比 特精度较低(低于8 bit),且一致性/鲁棒性较差。(所以模型需要经过8bit量化才能在ReRAM上计算)

4、PCM属于非易失性存储器,且能够实现大规模交 叉点阵列;但是功耗较大,速度较慢,耐久性较 差。

5、FeFET可实现非易失性存储,且能实现交叉 点阵列;但是目前的工艺也尚不成熟。

6、MRAM是 非易失性存储器,具有高耐久性、高速度、低功耗 等优点,工艺相对较成熟,扩展性较好,但是器件 的阻值(约几千欧姆)与高低阻值比率(约250%)相对 较小,在实现多比特存内计算芯片方面具有一定挑 战。

7、Flash是非易失性存储器,掉电数据不丢失, 且工艺成熟,成本低,已实现量产芯片(如Myth- ic的M1076,知存科技的WTM2101),但在微缩性 方面存在一定挑战;

存内计算

由于计算范式和存储介质的不同,存内计算芯片可以有不同的分类方法。

根据计算范式的不同, 主要分为模拟式和数字式两种。模拟式存内计算是 指存储单元内部或阵列周边的信号以模拟信号的方 式进行操作,数字式存内计算是指在实际运算过程 中,存储单元内部或阵列周边的信号以数字信号的 方式进行操作。其中,诸多的研究工作同时包含了 模拟和数字两种运算方式。

同时,根据存储介质的 不同,存内计算芯片可分为基于传统存储器和基于 新型非易失性存储器两种。传统存储器包括SRAM, DRAM和Flash等;新型非易失性存储器包括ReRAM, PCM, FeFET, MRAM等。其中,距离产业化较近 的是基于NOR Flash和基于SRAM的存内计算芯片。

image-20240506104333455

3.1 SRAM存内计算

基于SRAM的存内计算芯片以典型的6T(6- Transistor)基本单元为基础,如图3(a)所示。由于 SRAM是二值存储器,二值乘累加运算等效于同或 累加运算,可以用于二值神经网络运算,其核心思 想是网络权重存储于SRAM单元中,激励信号从字 线给入,最终利用外围电路实现同或累加运算,结 果通过计数器或模拟电流/电压输出。如果要实现 多比特精度运算,通常需要多个单元进行拼接,这 不可避免地会带来面积开销。对6T基本单元的一 个简单修改是将字线进行拆分,如图3(b)所示。此 外,为了解决读写干扰问题,可以采用8T基本单元, 但明显增加了布局面积,如图3©所示。基于SRAM 的存内计算技术由于其工艺成熟度与良好的微缩 性,受到业界的高度关注,近几年的ISSCC会议上 连续报道了多篇相关论文。例如2021年,存内计算共有两个分论坛,共收录8篇论文,其中5篇是 SRAM存内计算芯片。在2022年的ISSCC中,北京 大学提出了一种基于动态逻辑且无模数转换器的 SRAM存内计算芯片[42]。

SRAM存内计算技术的主 要应用难点是在保证运算精度的前提下,实现高算 力和小面积。
image-20240506104343567

3.2 DRAM存内计算

基于DRAM的存内计算芯片层次结构可分为阵列、子阵列和单元,一组阵列由若干子阵列和用 于读写操作的相关外围电路组成,而子阵列则包含 若干行1T1C(1-Transistor-1-Capacitor)单元、感知 放大器和本地解码器。其基本原理是利用DRAM 单元之间的电荷共享机制[13,43]。如图4所示为一种 典型实现方案[43],当多行单元同时被选通时,不同 单元之间因为存储数据的不同会产生电荷交换共享, 从而实现逻辑运算。

DRAM存内计算方案的主要难点:

一是其本身为易失性存储器,计算操作 会破坏数据,需要每次运算后进行刷新,带来功耗问题

二是实现大阵列运算时难以保证运算精度。

image-20240506104027536

3.3 ReRAM/PCM存内计算

ReRAM/PCM存内计算的基本原理是利用存 储单元的模拟多比特特性,通过基于电流/电压的 欧姆定律与基尔霍夫定律进行矩阵乘加运算,主要 有1T1R (1-transistor-1-resistance)结构和交叉阵列 结构两种实现方案,如图5(a)和图5(b)所示。

ReRAM 能够实现大规模交叉点阵列,使其成为学术界的热 点研究方向。自2008年ReRAM首次实验发现以 来,基于ReRAM的存内计算研究就层出不穷。尤其2020年,清华大学研发出基于多个ReRAM阵列 的存内计算系统,该系统在手写数字集上的识别准 确率达到96.19%,与软件的识别准确率相当,证明 了存内计算架构全硬件实现的可行性,其测试芯片 如图5©所示[24]。ReRAM存内计算技术未来具有 非常大的应用潜力,目前的主要难点在于工艺尚不 太成熟,多比特精度实现较困难,一致性/鲁棒性 较差。

image-20240506104300152

3.4 MRAM存内计算

MRAM存内计算主要有两种技术方案:

(1) 基于读/写操作的数字式存内计算;

(2) 基于基尔霍夫 电流定律和欧姆定律的模拟式存内计算。

早期的 MRAM存内计算大多基于数字式方案,如2015年 日本东北大学提出基于读操作实现多种布尔逻辑并 流片验证,获得了48.3%的能效提升[44];

2019年, 北京航空航天大学提出基于单次写操作的数字式MRAM 存内计算方案,实现计算结果原位存储的同时降低 了延时和功耗 [45–47]。基于MRAM的模拟式存内计 算的难点在于器件的阻值(约几千欧姆)与高低阻值 比率(约250%)相对较小,难以实现多比特精度。近 年来,得益于计算范式、器件、电路的多层次创新 突破,MRAM模拟存内计算发展迅速。

2021年, 美国普林斯顿大学通过电路级优化,流片验证了第 一款基于STT-MRAM的模拟存内计算硬核[48];

2022年,韩国三星公司在Nature期刊上发表了基于 电阻累加方案的MRAM模拟存内计算芯片原型,

并实现了最高405 TOPS/W的能效比[49],其阵列的 布局图、显微图和结构如图6所示。

image-20240506104403291

3.5 NOR Flash存内计算

基于NOR Flash的存内计算技术原理与ReRAM 类似,如图7(a)所示。目前,NOR Flash存内计算 芯片技术相对较成熟,已于2021年实现量产。美国 的Mythic和国内的知存科技都已推出NOR Flash存 内计算芯片产品,其中,Mythic推出了M1076芯片 (如图7(b)所示),知存科技推出了WTM2101量产 SoC芯片(如图7©所示)。

image-20240506104419467

3.6 基于其他介质的存内计算

此外,学术界还发表了基于NAND Flash以及新型纳米器件(如FeFET、斯格明子等)的存内计算 相关工作,其基本原理与上述方案类似,但是目前 仅仅是概念阶段,这里不再详述[50–54]。

3.7 存内计算芯片

基于 NOR Flash 的soc :WTM2101

在NOR Flash存内计算芯片当中,向量-矩阵乘法运算基于电流/电压的跨导与基尔霍夫定律进 行物理实现,如图7(a)所示。因此,其核心是设计 NOR Flash单元阵列以满足大规模高能效向量-矩 阵乘法运算。同时,在核心电路的基础上,根据算 法特征设计芯片架构,以充分利用神经网络数据流 式的特点来实现芯片的并行化与流水线。在传统NOR Flash阵列中,对某一个特定器件编程会不可 避免地改变同一行上其他器件的状态,称为行干 扰。作为存内计算应用,NOR Flash编程需要逐个 器件进行单独操作,每个器件存储8 bit(256个量化 状态)以上的信息,微小的干扰就将导致状态的变 化。因此,需要抗编程干扰阵列结构来消除编程干 扰。除此之外,NOR Flash基于浮栅中电子的数量 来存储信息,随着时间的增加,电子会泄露,造成 阈值电压漂移。作为存储应用的NOR Flash器件通 常只保存1~2 bit信息(对应2~4个不同状态),状 态之间的裕量比较大(每个状态的电子数量多,即使泄露也能保持较长时间),不用特殊设计即可保存信息 10年以上。但在存内计算应用中,NOR Flash器件需要存储8 bit(256个不同状态)以上信息,状态之 间的裕量非常小,且通过整个阵列同时工作。因 此,阈值电压漂移的影响非常大。WTM2101通过 特殊的电路设计抑制阈值电压漂移对计算精度的影 响。此外,为了同时实现低功耗计算与低功耗控 制,WTM2101结合了RISC-V指令集与NOR Flash 存内计算阵列,其阵列结构与芯片架构如图8所 示,包括1.8 MB NOR Flash存内计算阵列,一个 RISC-V核,一个数字计算加速器组,320 kB RAM以及多种外设接口。

优势:

1、基 于存内计算架构,可高效地实现神经网络语音激活 检测和上百条语音命令词识别。

2、以超低功耗实 现神经网络环境降噪算法、健康监测与分析算法。

3、典型应用场景下,工作功耗均在微瓦级别。

4、采用极小封装尺寸。

image-20240506105314306

应用场景

可应用于智能可穿戴设备、智能家居、安防监控、 玩具机器人等;适应多种应用,如语音识别、语音 降噪/增强、轻量级视觉识别、健康监测和声纹识 别等。如图10所示为搭载WTM2101的耳机产品及 其自动化部署流程。如图11所示为基于WTM2101 的耳机降噪前后效果的波形和频谱对比。如表2所 示为部署在WTM2101的神经网络的各层累计余弦 相似度(指存内计算相对于8-bit量化计算的余弦相 似度),可以看到经过8层神经网络计算,余弦相似度依旧保持在0.99以上。如表3所示为WTM2101在 语音激活检测、语音唤醒、命令词识别、环境去噪 和声纹识别方面与市场同类产品的对比。

image-20240506105849799

总结

存内计算芯片技术,因其高算力、低功耗、低 成本等优势,未来可为物联网、大数据和人工智能 等具有海量数据特征的智能应用场景提供高能效硬 件解决方案。但要实现大规模产业化仍存在诸多挑 战:

(1)模拟计算精度提升困难,模拟存内计算的 精度受到信噪比的影响,很难做到8 以上。数字存内计算则不受信噪比的影响,但其能效、面积和成本需要综合权衡。近年来,通过数模混合的设计方式,可以在精度、成本与功耗之间得到很好的折中,是存内计算发展的一大重要方向。

(2)工具链 环节需更加完善以建立良好的生态:存内计算芯片 产业化处于起步阶段,目前面临相关工具链支持不足的问题,导致算法/应用厂商移植困难。随着存 内计算技术的快速发展,以及企业在这个技术领域 持续加大投入,相应的编译、优化等工具链可以快 速进步,有望建立初步的应用生态。

(3)跨层协同 设计需进一步加强:存内计算芯片涉及器件-工艺-芯片-算法-应用等多层次的跨层协同,各层环环相 扣,密不可分,需要跨层协同来实现性能(精度、 功耗、时延、可靠性等)与成本的最优。

QA

Q:存储墙与带宽墙的区别与联系?

A:

  1. 存储墙: 存储墙问题源于处理器(CPU)的计算速度远远超过内存的读写速度。随着处理器性能的快速提升,内存的性能增长却没有跟上,导致处理器在等待数据时出现闲置,无法充分发挥其计算能力。这种现象在高性能计算(HPC)领域尤为突出,因为它严重制约了计算效率。存储墙问题不仅涉及到内存的访问速度,还包括内存的容量和功耗问题
  2. 带宽墙: 带宽墙则更侧重于数据传输速率的限制。在计算机系统中,不同组件之间需要通过总线或网络进行数据交换,如果这些数据传输通道的带宽不足,就会成为系统性能的瓶颈。例如,在图形处理、网络通信或分布式计算中,数据传输需求可能非常巨大,如果带宽不够,就会限制整体性能。带宽墙问题通常与内存总线、互连网络或I/O系统相关。

两者之间的关系是,存储墙问题通常伴随着带宽墙问题。当内存访问速度跟不上处理器需求时,不仅内存本身成为瓶颈,而且当处理器尝试通过有限的带宽从内存中获取数据时,带宽也成为问题。解决存储墙和带宽墙问题的方法包括改进内存技术、使用更快的互连技术、采用分布式存储策略、以及开发新的计算架构如存内计算(PIM)等。
[Ref:郭昕婕, 王光燿, 王绍迪. 存内计算芯片研究进展及应用[J]. 电 子 与 信 息 学 报, 2023, 45: 5.]

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

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

相关文章

Echarts旭日图的配置项,强大的层级关系展示图表。

ECharts中的旭日图(Sunburst Chart)是一种数据可视化图表,用于展示层级关系数据。它通常用于呈现树状结构或层级结构的数据,例如组织结构、文件目录结构、地理区域层级等。 旭日图通过圆形的方式展示数据的层级结构,每…

动手学深度学习16 Pytorch神经网络基础

动手学深度学习16 Pytorch神经网络基础 1. 模型构造2. 参数管理1. state_dict()2. normal_() zeros_()3. xavier初始化共享参数的好处 3. 自定义层4. 读写文件net.eval() 评估模式 QA 1. 模型构造 定义隐藏层–模型结构定义前向函数–模型结构的调用 import torch from torch…

Windows密码破解常见手段

mimikatz导出lsass破解 如果域管在成员机器上登录过,那么密码机会保存到lsass.exe进程当中,可以通过mimikatz读取密码 用本地管理员登录本地机器 导出hash reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCred…

大模型,阿里云不做选择题 | 最新快讯

什么加速了云的发展? 自 2006 年云计算诞生之日算起,互联网和移动应用、云原生技术普及、企业向先进技术架构演进、中企全球化等因素,先后塑造了云计算的内在与外表,造就了一个数万亿规模的行业。 毋庸置疑的是,生成式…

wordpress 访问文章内容页 notfound

解决&#xff1a; 程序对应的伪静态规则文件.htaccess是空的 网站根目录下要有 .htaccess 文件&#xff0c;然后将下面的代码复制进去。 <ifmodule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRew…

python + word文本框中文字识别并替换【真替换,不只是识别】

1. 简单描述 在一些转换场景下&#xff0c;文本框不会被转换&#xff0c;需要先识别成文字内容。 【识别的文字段落可能会和实际看到的效果有些差异&#xff0c;后续还需校对&#xff0c;如下图】。 不足&#xff1a;除了上面说的那个情况&#xff08;上图说的问题&#xff0…

同时安装多个nodejs版本可切换使用,或者用nvm管理、切换nodejs版本(两个详细方法)

目录 一.使用nvm的方法&#xff1a; 1.卸载nodejs 2.前往官网下载nvm 3.安装nvm 4.查看安装是否完成 5.配置路径和淘宝镜像 6.查看和安装各个版本的nodejs 7.nvm的常用命令 二.不使用nvm&#xff0c;安装多个版本&#xff1a; 1.安装不同版本的nodejs 2.解压到你想放…

天猫最热销的三款随身WiFi,哪一款直播最好用?2024公认最好的随身WiFi,天猫上的随身wifi是正规产品吗

近期有小伙伴问我&#xff1a;“小编、小编我要当户外博主了&#xff0c;想买一个随身WiFi&#xff0c;但是天猫榜单前三的随身WiFi自己都没有听说过&#xff0c;到底入手哪个比较好&#xff1f;”三款随身WiFi呢&#xff0c;分别是格行随身WiFi、迅优随身WiFi、小米随身WiFi&a…

STL-Setmap

前言 大家好&#xff0c;我是jiantaoyab&#xff0c;我们将进入到CSTL 的学习。STL在各各C的头文件中&#xff0c;以源代码的形式出现&#xff0c;不仅要会用&#xff0c;还要了解底层的实现。源码之前&#xff0c;了无秘密。 STL六大组件 Container通过Allocator取得数据储存…

系统集成项目管理工程师第4章思维导图发布

2024年开年&#xff0c;软考系统集成项目管理工程师官方教程&#xff0c;迎来了阔别7年的大改版&#xff0c;改版之后的软考中项考试&#xff0c;离同宗兄弟高项考试渐行渐远。 中项第3版教程&#xff0c;仅仅从教程来看&#xff0c;其难度已经不亚于高级的信息系统项目管理师&…

Android Studio连接MySQL8.0

【序言】 移动平台这个课程要做一个app的课设&#xff0c;我打算后期增加功能改成毕设&#xff0c;就想要使用MySQL来作为数据库&#xff0c;相对于SQLlite来说&#xff0c;我更熟悉MySQL一点。 【遇到的问题】 一直无法连接上数据库&#xff0c;开始的时候查了很多资料&#…

Linux:进程概念(三.详解进程:进程状态、优先级、进程切换与调度)

上次讲了进程这些内容&#xff1a;Linux&#xff1a;进程概念&#xff08;二.查看进程、父进程与子进程、进程状态详解&#xff09; 文章目录 1.Linux中的进程状态1.1前台进程和后台进程运行状态睡眠状态磁盘休眠状态停止状态kill指令—向进程发送信号 死亡状态 2.僵尸进程2.1僵…

一文读懂NVIDIA AI全景:从芯片到应用,全面解析未来科技

英伟达 NVIDIA AI 全景解析 NVIDIA 概述 公司概况 NVIDIA作为全球顶尖科技公司&#xff0c;早期深耕图形处理器设计制造&#xff0c;现已跃升为人工智能领域的领军者&#xff0c;产品和服务覆盖AI应用的全方位&#xff0c;引领科技潮流。 NVIDIA&#xff0c;1993年创立于美国…

机器学习实战宝典:用scikit-learn打造智能应用

书接上文——《数据探险家的终极指南&#xff1a;用Python挖掘机器学习的奥秘》 前文我们在这段精彩的机器学习探险之旅中&#xff0c;从基础概念出发&#xff0c;深入探索了使用Python和scikit-learn库进行数据分析和模型构建的全过程。 我们首先了解了机器学习的基本原理&am…

RabbitMQ - 以 MQ 为例,手写一个 RPC 框架 demo

目录 前言 一、再谈自定义应用层协议 二、再谈 BrokerServer 三、再谈 Connection、Channel 四、Demo a&#xff09;启动服务器 b&#xff09;客户端连接 前言 本篇文章来自于笔者之前写过的一个系列 —— “根据源码&#xff0c;模拟实现 RabbitMQ” 系列&#xff0c…

WPF之工具栏菜单栏功能区。

1&#xff0c;菜单栏&#xff0c;工具栏&#xff0c;状态栏。 1.1&#xff0c;Menu中可添加菜单分隔条<Separator></Separator>作为分割线&#xff0c;使用Separator可以通过改变其template来自定义&#xff0c;Separator是无焦点的&#xff0c;如果简单的在MenuIt…

c++ 获取机器码

看到网上代码代码都没什么好的&#xff0c;自己备用一个 #include <iostream> #include <string> #include <sstream> #include <iomanip> #include <Windows.h> #include <iphlpapi.h> // 包含这个头文件以获取 PIP_ADAPTER_INFO #inclu…

面试官:SPA(单页应用)首屏加载速度慢怎么解决

一、什么是首屏加载 首屏时间&#xff08;First Contentful Paint&#xff09;&#xff0c;指的是浏览器从响应用户输入网址地址&#xff0c;到首屏内容渲染完成的时间&#xff0c;此时整个网页不一定要全部渲染完成&#xff0c;但需要展示当前视窗需要的内容 首屏加载可以说是…

Macbook2024电脑必备系统优化软件CleanMyMacX

随着时间的推移&#xff0c;你可能会发现你的MacBook运行速度变慢&#xff0c;甚至在执行一些基本任务时也会感觉到卡顿。这不仅影响了工作效率&#xff0c;也大大降低了使用体验。特别是当你运行大型应用程序&#xff0c;比如视频编辑软件或图形设计工具时&#xff0c;卡顿现象…

Python计算器程序代码

from tkinter import * import random class App: def __init__(self, master): self.master master self.initwidgets() #表达式的值 self.expr None def initwidgets(self): #定义一个输入组件 self.show Label(relief SUNKEN, font (Courier New, 24), width 25, bg …