开发企业识别号网上查询/长春网站优化页面
AI时代显卡如何选择,B100、H200、L40S、A100、H100、V100 含架构技术和性能对比。
英伟达系列显卡大解析B100、H200、L40S、A100、A800、H100、H800、V100如何选择,含架构技术和性能对比带你解决疑惑。
近期,AIGC领域呈现出一片繁荣景象,其背后离不开强大算力的支持。以ChatGPT为例,其高效的运行依赖于一台由微软投资建造的超级计算机。这台超级计算机配备了数万个NVIDIA A100 GPU,并利用60多个数据中心的数十万个GPU辅助,为ChatGPT提供了强大的算力支持。这种规模的算力部署不仅体现了AIGC技术的先进性,也预示着人工智能技术未来的发展趋势。这种集成了高性能计算、大数据处理和人工智能算法的超级计算机,将成为推动科技进步的重要引擎。
1.GPU 的核心架构及参数
在了解 V100、A100、H100 这几款 GPU 的区别之前,我们先来简单了解下 NVIDIA GPU 的核心参数,这样能够更好地帮助我们了解这些 GPU 的差别和各自的优势。
CUDA Core:CUDA Core 是 NVIDIA GPU 上的计算核心单元,用于执行通用的并行计算任务,是最常看到的核心类型。NVIDIA 通常用最小的运算单元表示自己的运算能力,CUDA Core 指的是一个执行基础运算的处理元件,我们所说的 CUDA Core 数量,通常对应的是 FP32 计算单元的数量。
Tensor Core:Tensor Core 是 NVIDIA Volta 架构及其后续架构(如 Ampere 架构)中引入的一种特殊计算单元。它们专门用于深度学习任务中的张量计算,如[矩阵乘法]和卷积运算。Tensor Core 核心特别大,通常与深度学习框架(如 TensorFlow 和 PyTorch)相结合使用,它可以把整个矩阵都载入寄存器中批量运算,实现十几倍的效率提升。
RT Core:RT Core 是 NVIDIA 的专用硬件单元,主要用于加速光线追踪计算。正常数据中心级的 GPU 核心是没有 RT Core 的,主要是消费级显卡才为光线追踪运算添加了 RTCores。RT Core 主要用于游戏开发、电影制作和虚拟现实等需要实时渲染的领域。 V100 是前一代的算力大哥 ,而 H100 则是新一代的大哥,这些架构区别:
Volta 架构:Volta 架构是 NVIDIA GPU 的第六代架构,发布于 2017 年。Volta 架构专注于深度学习和人工智能应用,并引入了 Tensor Core。
Turing 架构:Turing 架构是 NVIDIA GPU 的第七代架构,发布于 2018 年。Turing 架构引入了实时光线追踪(RTX)和深度学习超采样(DLSS)等重要功能。
Ampere 架构:Ampere 架构是 NVIDIA GPU 的第八代架构,2020 年发布。Ampere 架构在计算能力、能效和深度学习性能方面都有重大提升。Ampere 架构的 GPU 采用了多个[流多处理器](SM)和更大的总线宽度,提供了更多的 CUDA Core 和更高的频率。它还引入了第三代 Tensor Core,提供更强大的深度学习计算性能。Ampere 架构的 GPU 还具有更高的内存容量和带宽,适用于大规模的数据处理和机器学习任务。
Hopper 架构:Hopper 架构是 NVIDIA GPU 的第九代架构,2022 年发布。相较于 Ampere,Hopper 架构支持第四代 Tensor Core,且采用新型流式处理器,每个 SM 能力更强。Hopper 架构在计算能力、深度学习加速和图形功能方面带来新的创新和改进。
1.1 V100 vs A100 vs H100
在了解了 GPU 的核心参数和架构后,我们接下来的对比理解起来就简单多了。
1.1.1 V100 vs A100
V100 是 NVIDIA 公司推出的[高性能计算]和人工智能加速器,属于 Volta 架构,它采用 12nm FinFET 工艺,拥有 5120 个 CUDA 核心和 16GB-32GB 的 HBM2 显存,配备第一代 Tensor Cores 技术,支持 AI 运算。
A100 采用全新的 Ampere 架构。它拥有高达 6912 个 CUDA 核心和 40GB 的高速 HBM2 显存。A100 还支持第二代 NVLink 技术,实现快速的 GPU 到 GPU 通信,提升大型模型的训练速度。A100 增加了功能强大的新第三代 Tensor Core,同时增加了对 DL 和 HPC 数据类型的全面支持,以及新的稀疏功能,可将吞吐量进一步翻倍。
A100 中的 TF32 Tensor Core 运算提供了一种在 DL 框架和 HPC 中加速 FP32 输入 / 输出数据的简单路径,其运行速度比 V100 FP32 FMA 运算快 10 倍,或者在稀疏性的情况下快 20 倍。对于 FP 16/FP 32 混合精度 DL,A100 的性能是 V100 的 2.5 倍,稀疏性的情况下提高到 5 倍。
在跑 AI 模型时,如果用 PyTorch 框架,相比上一代 V100 芯片,A100 在 BERT 模型的训练上性能提升 6 倍,BERT 推断时性能提升 7 倍。
架构:A100采用了最新的Ampere架构,而V100则采用了前一代的Volta架构。Ampere架构相对于Volta架构具有更高的计算密度、更多的CUDA核心和更快的内存带宽,因此A100在计算能力上更强。
计算能力:A100的浮点计算能力达到19.5 TFLOPS(FP32)和156 TFLOPS(TensorFloat-32),而V100的浮点计算能力为14.1 TFLOPS(FP32)。这意味着A100在相同的工作负载下可以实现更高的计算性能。
Tensor Core:A100显卡引入了第三代Tensor Core技术,相较于V100的第二代Tensor Core,A100的Tensor Core在混合精度计算和矩阵乘法运算方面更加高效。这使得A100在深度学习训练和推理中具有更好的性能优势。
内存容量和带宽:A100显卡拥有40 GB或80 GB的HBM2E高带宽存储器,内存带宽达到1.6 TB/s。而V100显卡则有16 GB或32 GB的HBM2存储器,内存带宽为900 GB/s。A100的更大内存容量和更高带宽可以处理更大规模的数据集和复杂的计算任务。
NVLink连接:A100支持第三代NVLink技术,提供了高速的GPU互连通信,可在多个A100显卡之间实现更快的数据传输和并行计算。而V100则支持第二代NVLink。
1.1.2 A100 vs H100
NVIDIA H100 采用 NVIDIA Hopper GPU 架构,使 NVIDIA 数据中心平台的加速计算性能再次实现了重大飞跃。H100 采用专为 NVIDIA 定制的 TSMC 4N 工艺制造,拥有 800 亿个 [晶体管],并包含多项架构改进。
H100 是 NVIDIA 的第 9 代数据中心 GPU,旨在为大规模 AI 和 HPC 实现相比于上一代 NVIDIA A100 Tensor Core GPU 数量级的性能飞跃。H100 延续了 A100 的主要设计重点,可提升 AI 和 HPC 工作负载的强大扩展能力,并显著提升架构效率。
1.1.3 A800 和 H800
从数字上来看,800 比 100 数字要大,其实是为了合规对 A100 和 H100 的某些参数做了调整。A800 相对比 A100 而言,仅限制了 GPU 之间的互联带宽,从 A100 的 600GB/s 降至 400GB/s,算力参数无变化。而 H800 则对算力和[互联带宽]都进行了调整。
A800 虽然在互联带宽上有所降低,但和 A100 在双精方面算力一致,在[高性能科学计算]领域没有影响。
1.1.4 H800 VS H100
作为 H100 的替代品,中国特供版 H800,PCIe 版本 SXM 版本都是在双精度(FP64)和 nvlink 传输速率的削减,其他其他参数和 H100 都是一模一样的。
FP64 上的削弱主要影响的是 H800 在科学计算,流体计算,[有限元分析](等超算领域的应用,深度学习等应用主要看单精度的浮点性能,大部分场景下性能不受影响。而受到影响较大的还是 NVlink 上的削减,但是因为架构上的升级,虽然比不上同为 Hopper 架构的 H100,但是比 ampere 架构的 A800 还是要强上不少的。
1.2 A100 vs H100G细解
1.2.1 新的 SM 架构
H100 SM 基于 NVIDIA A100 Tensor Core GPU SM 架构而构建。由于引入了 FP8,与 A100 相比,H100 SM 将每 SM 浮点计算能力峰值提升了 4 倍,并且对于之前所有的 Tensor Core 和 FP32 / FP64 数据类型,将各个时钟频率下的原始 SM 计算能力增加了一倍。
与上一代 A100 相比,采用 Hopper 的 FP8 Tensor Core 的新 Transformer 引擎使大型语言模型的 AI 训练速度提升 9 倍,AI 推理速度提升 30 倍。针对用于基因组学和[蛋白质测序]的 Smith-Waterman 算法,Hopper 的新 DPX 指令可将其处理速度提升 7 倍。
1.2.2 第四代 Tensor Core 架构
Hopper 新的第四代 Tensor Core、Tensor 内存加速器以及许多其他新 SM 和 H100 架构的总体改进,在许多其他情况下可令 HPC 和 AI 性能获得最高 3 倍的提升。
与 A100 相比,H100 中新的第四代 Tensor Core 架构可使每时钟每个 SM 的原始密集计算和[稀疏矩阵]运算吞吐量提升一倍,考虑到 H100 比 A100 拥有更高的 GPU 加速频率,其甚至会达到更高的吞吐量。其支持 FP8、FP16、BF16、TF32、FP64 和 INT8 MMA 数据类型。新的 Tensor Core 还能够实现更高效的数据管理,最高可节省 30% 的操作数传输功耗。
1.2.3 Hopper FP8 数据格式
H100 GPU 增加了 FP8 Tensor Core,可加速 AI 训练和推理。FP8 Tensor Core 支持 FP32 和 FP16 累加器,以及两种新的 FP8 输入类型:E4M3(具有 4 个[指数位]、3 个尾数位和 1 个符号位)和 E5M2(具有 5 个指数位、2 个尾数位和 1 个符号位)。E4M3 支持动态范围更小、精度更高的计算,而 E5M2 可提供更宽广的动态范围和更低的精度。与 FP16 或 BF16 相比,FP8 可将所需要的数据存储空间减半,并将吞吐量提升一倍。
新的 Transformer 引擎可结合使用 FP8 和 FP16 精度,减少内存使用并提高性能,同时仍能保持大型语言模型和其他模型的准确性。
综合 H100 中所有新的计算技术进步的因素,H100 的计算性能比 A100 提高了约 6 倍。首先是 H100 配备 132 个 SM,比 A100 的 108 个 SM 增加了 22%。由于采用新的第四代 Tensor Core,每个 H100 SM 的速度都提升了 2 倍。在每个 Tensor Core 中,新的 FP8 格式和相应的 Transformer 引擎又将性能提升了 2 倍。最后,H100 中更高的时钟频率将性能再提升了约 1.3 倍。通过这些改进,总体而言,H100 的峰值[计算吞吐量]大约为 A100 的 6 倍。
1.2.4 NVLink Switch 系统升级
为了加快业务速度,百亿亿次级 HPC 和万亿参数的 AI 模型需要[服务器集群]中每个 GPU 之间高速、无缝的通信,以实现大规模加速。
第四代 NLVink 是一种[纵向扩展互联技术],当与新的外部 NVLlink [交换机]结合使用时,NVLink Switch 系统现在可以跨多个服务器以每个 GPU 900 GB/s 的双向带宽扩展多 GPU IO,比 PCIe 5.0 的带宽高 7 倍。NVLINK Switch 系统支持多达 256 个相互连接的 H100 组成的集群,且带宽比 Ampere 架构上的 InfiniBard HDR 高 9 倍。
第三代 NVSwitch 技术包括驻扎在节点内部和外部的交换机,用于连接服务器、集群和数据中心环境中的多个 GPU。
节点内的每个 NVSwitch 提供 64 个第四代 NVLink 链接端口,以加速多 GPU 连接。交换机的总吞吐量从上一代的 7.2 Tbits / 秒增加到 13.6 Tbits / 秒。新的第三代 NVSwitch 技术还为多播和 NVIDIA SHARP 网内还原的集体操作提供了硬件加速。
新的 NVLink 互连和基于第三代 NVSwitch 技术的新的二级 NVLink Switches 引入了[地址空间]隔离和保护,使多达 32 个节点或 256 个 GPU 能够通过 NVLink 以 2:1 的锥形树状拓扑连接起来。
总结一下,相比 A100,H100 更受欢迎,因为[缓存延迟]更低和计算效率更高。效率提升 3 倍的情况下,成本只有只有(1.5-2 倍)。从技术细节来说,比起 A100,H100 在 16 位推理速度大约快 3.5 倍,16 位训练速度大约快 2.3 倍。
2.目前主流四款GPU详解[A100、H100 、L40S、H200(2024) ]
项目 A100 H100 L40S H200
架构 Ampere Hopper Ada Lovelace Hopper
发布时间 2020 2022 2023 2024
FP64 9.7 TFLOPS 34 TFLOPS 暂无 34 TFLOPS
FP64 向量核心 19.5 TFLOPS 67 TFLOPS 暂无 67 TFLOPS
FP32 19.5 TFLOPS 67 TFLOPS 91.6 TFLOPS 67 TFLOPS
TF32 向量核心 312 TFLOPS 989 TFLOPS 183 366* TFLOPS
BFLOAT16 向量核心 624 TFLOPS 1,979 TFLOPS 362.05 733* TFLOPS
FP16 向量核心 624 TFLOPS 1,979 TFLOPS 362.05 733* TFLOPS
FP8 向量核心 不适用 3,958 TFLOPS 733 1,466* TFLOPS
INT8 向量核心 1248 TOPS 3,958 TOPS 733 1,466* TFLOPS
INT4 向量核心 暂无 暂无 733 1,466* TFLOPS
GPU 内存 80 GB HBM2e 80 GB 48GB GDDR6 ,带有 ECC 141GB HBM3e
GPU 内存带宽 2,039 Gbps 3.35 Tbps 864 Gbps 4.8 Tbps
解码器 Not applicable 7 NVDEC 7 JPEG Not applicable 7 NVDEC 7 JPEG
最高 TDP 400W 700W 350W 700W
多实例 GPU 最高 7 MIGs @ 10 GB 最高 7 MIGs @ 10 GB each 无 最高 7 MIGs @16.5 GB each
外形尺寸 SXM SXM 4.4“(H) x 10.5” (L), dual slot SXM**
互联技术 NVLink: 600 GB/s PCIe Gen4: 64 GB/s NVLink: 900GB/s PCIe Gen5: 128GB/s PCIe Gen4 x16: 64GB/s bidirectional NVIDIA NVLink®: 900GB/s PCIe Gen5: 128GB/s
服务器平台选项 NVIDIA HGX™ A100-Partner and NVIDIA-Certified Systems with 4,8, or 16 GPUs NVIDIA DGX™ A100 with 8 GPUs NVIDIA HGX H100 Partner and NVIDIA-Certified Systems™ with 4 or 8 GPUs NVIDIA DGX H100 with 8 GPUs 暂无 NVIDIA HGX™ H200 partner and NVIDIA-Certified Systems™ with 4 or 8 GPUs
NVIDIA AI Enterprise Included Add-on 暂无 Add-on
CUDA 核心数 6,912 16,896 18,176 暂无
2.1 A100(2020)
A100 是 2020 年首次采用 Ampere 架构的 GPU,这种架构带来显著的性能提升。在 H100 发布之前,A100 一览众山小。它的性能提升得益于改进的 Tensor 核心、更多的 CUDA 核心数量、更强的内存和最快的 2 Tbps 内存带宽。
针对大型模型提供高达 3 倍的 AI 训练速度
A100 支持多实例 GPU 功能,允许单个 A100 GPU 分割成多个独立的小 GPU,这大大提升了云和数据中心的资源分配效率。A100 在训练复杂的神经网络、深度学习和 AI 学习任务方面仍然是一个优秀的选择,它的 Tensor 核心和高吞吐量在这些领域表现出色。A100 在 AI 推理任务方面表现突出,在语音识别、图像分类、推荐系统、数据分析和大数据处理、科学计算场景都有优势,在基因测序和药物发现等高性能计算场景也都属于优势领域。
深度学习推理 A100 引入了突破性的功能来优化推理工作负载。它能在从 FP32 到 INT4 的整个精度范围内进行加速。多实例 GPU (MIG) 技术允许多个网络同时基于单个 A100 运行,从而优化计算资源的利用率。在 A100 其他推理性能增益的基础之上,仅结构稀疏支持一项就能带来高达两倍的性能提升。在 BERT 等先进的对话式 AI 模型上,A100 可将推理吞吐量提升到高达 CPU 的 249 倍。在受到批量大小限制的极复杂模型(例如用于自动语音识别用途的 RNN-T)上,显存容量有所增加的 A100 80GB 能使每个 MIG 的大小增加一倍,并提供比 A100 40GB 高 1.25 倍的吞吐量。NVIDIA 产品的出色性能在 MLPerf 推理测试中得到验证。A100 再将性能提升了 20 倍,进一步扩大了这种性能优势。
2.2 H100(2022)
H100 能处理最具挑战性的 AI 工作负载和大规模数据处理任务。H100 升级了 Tensor 核心,显著提高了 AI 训练和推理的速度。支持双精度(FP64)、单精度(FP32)、半精度(FP16)和整数(INT8)计算负载。
相比 A100,FP8 计算速度提升六倍,达到 4petaflops。内存增加 50%,使用 HBM3 高带宽内存,带宽可达 3 Tbps,外部连接速度几乎达到 5 Tbps。此外,新的 Transformer 引擎使模型转换器训练速度提升高达六倍。
尽管 H100 和 A100 在使用场景和性能特点上有相似之处,但 H100 在处理大型 AI 模型和更复杂的科学模拟方面表现更佳。H100 是高级对话式 AI 和实时翻译等实时响应型 AI 应用的更优选择。
总之,H100 在 AI 训练和推理速度、内存容量和带宽、以及处理大型和复杂 AI 模型方面相比 A100 有显著的性能提升,适用于对性能有更高要求的 AI 和科学模拟任务。
2.3 L40S(2023)
L40S 旨在处理下一代数据中心工作负载,包括生成式 AI、大型语言模型(LLM)的推理和训练,3D 图形渲染、科学模拟等场景。与前一代 GPU(如 A100 和 H100)相比,L40S 在推理性能上提高了高达 5 倍,在实时光线追踪(RT)性能上提高了 2 倍。内存方面,它配备 48GB 的 GDDR6 内存,还加入了对 ECC 的支持,在高性能计算环境中维护数据完整性还是很重要的。L40S 配备超过 18,000 个 CUDA 核心,这些并行处理器是处理复杂计算任务的关键。L40S 更注重可视化方面的编解码能力,而 H100 则更专注于解码。尽管 H100 的速度更快,但价格也更高。从市场情况来看,L40S 相对更容易获得。综上所述,L40S 在处理复杂和高性能的计算任务方面具有显著优势,特别是在生成式 AI 和大型语言模型训练等领域。其高效的推理性能和实时光线追踪能力使其成为数据中心不可忽视的存在。
2.4 H200(2024)
200 将是 NVIDIA GPU 系列中的最新产品,预计在 2024 年第二季度开始发货。NVIDIA H200 Tensor Core GPU 具有改变游戏规则的性能和内存功能,可增强生成式 AI 和高性能计算 (HPC) 工作负载。作为首款采用 HBM3e 的 GPU,H200 借助更大更快的内存可加速生成式 AI 和大型语言模型 (LLM) 的运行,同时推进 HPC 工作负载的科学计算。
NVIDIA H200 和 H100 GPU 采用 Transformer 引擎(FP8 精度),与上一代 GPU 相比,可助力大语言模型的训练速度最高提升至原来的 5 倍。通过结合使用能够提供 900GB/s GPU 间互连的第四代 NVLink、PCIe 5.0 以及 Magnum IO™ 软件,小型企业可高效扩展为大规模统一 GPU 集群。这些基础架构技术进步能够与 NVIDIA AI Enterprise 软件套件协同发挥作用,让 HGX H200 和 HGX H100 成为卓越的 AI 计算平台。
NVIDIA H200 基于 NVIDIA Hopper 架构,与 H100 相互兼容,这意味着已经使用先前模型进行训练的人工智能公司将无需更改其服务器系统或软件即可使用新版本。
H200 是首款提供 141 GB HBM3e 内存和 4.8 Tbps 带宽的 GPU,其内存容量和带宽分别几乎是 H100 的 2 倍和 1.4 倍。
在高性能计算方面,与 CPU 相比,H200 能实现高达 110 倍的加速,从而更快地得到结果。在处理 Llama2 70B 推理任务时,H200 的推理速度是 H100 GPU 的两倍。
运行 GPT-3 等模型时,NVIDIA H200 Tensor Core GPU 的推理性能提高了 18 倍。不仅如此,在其他生成式 AI 基准测试中,还能在 Llama2-13B 上每秒可处理 12000 个 tokens。
参考链接:
https://www.zhihu.com/question/618932114/answer/3211844003
https://zhuanlan.zhihu.com/p/680317363
https://www.nvidia.cn/data-center/a100/
https://www.nvidia.cn/data-center/h100/
https://www.nvidia.cn/data-center/l40s/
https://www.nvidia.com/en-au/data-center/h200/
相关文章:

AI时代显卡如何选择,B100、H200、L40S、A100、H100、V100 含架构技术和性能对比
AI时代显卡如何选择,B100、H200、L40S、A100、H100、V100 含架构技术和性能对比。 英伟达系列显卡大解析B100、H200、L40S、A100、A800、H100、H800、V100如何选择,含架构技术和性能对比带你解决疑惑。 近期,AIGC领域呈现出一片繁荣景象&a…...

R语言入门笔记2.5
数据预处理 R语言处理的数据多以数据框的形式出现。 预备操作 数据查看 > dim(x) [1] 16 3 #数据框有16行3列 > names(x) #查看数据框的变量名 [1] "X" "Z" "Y" > head(x,3) #查看前3行,若为-3则是查看后三行之…...

命令记录学习
1. 查看当前用户 cat /etc/passwd 添加test用户 useradd test -G root 查看test用户状态 id test 查看用户adaminstrator passwd -S adaminstrator 禁用用户adaminstrator passwd -l adaminstrator 密码策略设置文件地址 vi /etc/pam.d/system-auth 设…...

Python3 TCP 客户端
下面是一个简单的 Python TCP 客户端示例代码,用于与之前提到的 EchoServer 进行通信: import socketserver_address (localhost, 8888)# 创建 TCP 客户端套接字 client_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)try:# 连接到服务器…...

图论(算法竞赛、蓝桥杯)--拓扑排序
1、B站视频链接:D01 拓扑排序_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; const int N100010; int n,m,a,b; vector<int> e[N],tp; int din[N]; bool topsort(){queue<int> q;for(int i1;i<n;i){if(din[i]0)q.push(i);}…...

内网穿透(docker部署frp)
文章目录 内网穿透实现内网穿透的常见方法 frpfrp的实现原理frps服务端应用部署配置文件部署参数配置 frpc客户端部署 内网穿透 内网穿透是指在内部网络(内网)中实现穿透外网(公网)的通信。内网通常是指公司、组织或家庭等内部网…...

Java设计模式 | 简介
设计模式的重要性: 软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。 这个术语由埃里希 伽玛(Erich Gamma)等人在1…...

微信小程序video 点击自动全屏播放
//因为这个地址可能是图片也可能是视频 点击 图片可以预览,点击视频可放大全屏自动播放。 代码如下 <view v-else :class{contentImg: x.picture.length0} style"margin-top: 10px;"v-for"(x1, y1) in x.picture" :key"y"><…...

MySQL基础面试问题(一)
MySQL面试问题的标准回答: 什么是数据库范式?MySQL中常见的范式有哪些? 标准回答:数据库范式是一组规则,用于设计关系型数据库的结构,以减少数据冗余和提高数据的一致性。常见的数据库范式包括第一范式&…...

抖音爬虫批量视频提取功能介绍|抖音评论提取工具
抖音爬虫是指通过编程技术从抖音平台上获取视频数据的程序。在进行抖音爬虫时,需要注意遵守相关法律法规和平台规定,以确保数据的合法获取和使用。 一般来说,抖音爬虫可以实现以下功能之一:批量视频提取。这个功能可以用于自动化地…...

mac真的安装不了vmware吗 mac如何安装crossover crossover序列号从哪里买 购买正版渠道
有些用户可能想在mac上运行一些只能在windows上运行的软件,比如游戏、专业软件等。这时候,就需要用到虚拟机技术,也就是在mac上安装一个可以模拟其他操作系统的软件,比如vmware或者crossover。那么,mac真的安装不了vmw…...

C语言-指针详解速成
1.指针是什么 C语言指针是一种特殊的变量,用于存储内存地址。它可以指向其他变量或者其他数据结构,通过指针可以直接访问或修改存储在指定地址的值。指针可以帮助我们在程序中动态地分配和释放内存,以及进行复杂的数据操作。在C语言中&#…...

C# RabbitMQ使用--动态更新
在使用 RabbitMQ 的 C# 客户端库时,只需要在应用程序中引用 RabbitMQ.Client 包,而不需要单独安装 RabbitMQ 服务器。 RabbitMQ.Client 是一个用于在 C# 中与 RabbitMQ 服务器进行通信的客户端库。通过使用该客户端库,你可以在应用程序中创建…...

Unity资源加密解决方案
据统计,全球范围内超过50%的游戏均使用Unity创作而成,作为游戏开发市场第一大游戏引擎占有者,Unity已经全面覆盖到各个游戏平台。 全球游戏引擎市场占有率 由于体量庞大,Unity游戏已成为受游戏黑灰产攻击的重灾区,因游…...

使用 yarn 的时候,遇到 Error [ERR_REQUIRE_ESM]: require() of ES Module 怎么解决?
晚上回到家,我打开自己的项目,执行: cd HexoPress git pull --rebase yarn install yarn dev拉取在公司 push 的代码,然后更新依赖,最后开始今晚的开发时候,意外发生了,竟然报错了,…...

多维时序 | Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、BiLSTM的多变量时间序列预测
多维时序 | Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、BiLSTM的多变量时间序列预测 目录 多维时序 | Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、BiLSTM的多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于VMD-DBO-BiLSTM、VMD-BiLSTM、…...

实战营第四节笔记
这节课包含四大部分,为finetune简介、xtuner介绍、使用8GB玩转LLM和动手实践环节。 LoRA和QLoRA是两种很重要的方法,对微调模型、减少内存使用非常有效。 后面是XTuner的介绍。 之后是动手实践。可参考https://github.com/InternLM/tutorial/blob/ma…...

【网络】HTTPS协议原理
目录 一、HTTPS是什么? 二、常见加密方式 2.1、只使用对称加密 2.2、只使用非对称加密 2.3、双方都使用非对称加密 2.4、非对称加密对称加密(中间人攻击情况) 2.5、非对称加密对称加密证书认证 三、数据摘要&&数据指纹 四、CA证书 五、数字签名 六…...

C#常识篇(一)
面向对象的三大特性 继承:子类通过继承父类来获取基础特性,并且能够基于父类进行扩展以及提升代码的复用性。继承具有传递性,例如A继承自B,C继承自A,那么C就间接继承自B。在C#中,每个类仅允许继承一个父类。…...

Linux使用C语言获取进程信息
Linux使用C语言获取进程信息 Author: OnceDay Date: 2024年2月22日 漫漫长路,才刚刚开始… 全系列文章可查看专栏: Linux实践记录_Once_day的博客-CSDN博客 参考文档: Linux proc目录详解_/proc/mounts-CSDN博客Linux下/proc目录介绍 - 知乎 (zhihu.com)Linux内…...

tomcat通过JAVA_OPTS注入自定义变量 —— 筑梦之路
背景说明 tomcat部署的java应用在k8s集群或容器中,想要给tomcat传自定义变量,应该如何实现? 解决方法 1. 在k8s集群或容器环境中通过env或者configmap方式添加自定义的环境变量 比如: my_key: aaaa 2. tomcat下新增脚本&am…...

Linux——简单的Shell程序
📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、Shell程序思路二、Shell代码展示 一、Shell程序思路 用下图的时间轴来表示事件的发生次序…...

计算机网络-网络互联与互联网(一)
1.常用网络互联设备: 1层物理层:中继器、集线器2层链路层:网桥、交换机3层网络层:路由器、三层交换机4层以上高层:网关 2.网络互联设备: 中继器Repeater、集线器Hub(又叫多端口中继器…...

Android 解决后台服务麦克风无法录音问题
Android 解决后台无法录音问题 问题分析问题来源解决方案1. 修改清单文件:`AndroidManifest.xml`2. 修改启动服务方式3. 服务启动时创建前台通知并且指定前台服务类型参考文档最后我还有一句话要说我用心为你考虑黄浦江的事情,你心里想的却只有苏州河的勾当 问题分析 安卓9.…...

【计网】TCP的三次握手四次挥手
🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 三次握手(Connection Establishment) 四次挥手(Connection Termination) 结语 我…...

android pdf框架-4,分析vudroid源码2
继续分析源码 阅读器的入口 MainBrowserActivity,这个是主ui,由于代码较旧,所以没有处理sdcard的权限. 一般阅读器申请整个卡的读写. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {if (!Environment.isExternalStorageManager()) {Intent intent = new Intent…...

[算法沉淀记录] 排序算法 —— 希尔排序
排序算法 —— 希尔排序 算法介绍 希尔排序(Shell Sort)是一种基于插入排序的算法,由Donald Shell于1959年提出。希尔排序的基本思想是将待排序的序列划分成若干个子序列,分别进行插入排序,待整个序列中的记录基本有…...

conda 进入虚拟环境命令报错
问题描述 conda-script.py: error: argument COMMAND: invalid choice: activate 解决方案: 在终端命令先执行 conda init,重置conda环境。然后退出终端,重新进入终端即可conda activate env了。...

域名 SSL 证书信息解析 API 数据接口
域名 SSL 证书信息解析 API 数据接口 网络工具,提供域名 SSL 证书信息解析,多信息查询,毫秒级响应。 1. 产品功能 提供域名 SSL 证书信息解析;最完整 SSL 属性信息解析;支持多种元素信息抽取,包括主题的可…...

学习JAVA的第二天(基础)
目录 基本概念 关键字 class关键字 字面量 练习 变量 定义格式 变量使用 数据类型 基本数据类型 标识符 命名规则 键盘录入 1.导包 2.创建对象 3.接受数据 运算符 算术运算符 练习 隐式转换(自动类型提升) 强制转换 自增自减运算符 …...