Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

arm unlocked 峰会在上海召开。 arm在此次峰会上正式发布了面向移动端的 arm lumex计算子系统(compute subsystem, css),包括了全新的基于armv9.3指令集的c1系列cpu集群,以及支持新一代光线追踪技术的mali g1 gpu系列。

其中,C1 CPU集群均支持可扩展矩阵延伸指令集SME2,极大地提升了CPU对于AI 和 ML 工作负载的支持。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

一、全新Armv9.3,加入对SME2支持

虽然对于目前的很多AI负载来说,利用GPU、NPU等计算单元来进行计算,可以拥有比CPU更高的计算效率。但是对于CPU厂商来说,也在不断通过融入一些新的指令集来提升CPU的AI计算能力。

过去多年来,Arm 也一直致力于提升的CPU的AI能力,比如在 Armv7 架构中引入了高级单指令多数据 (SIMD,也称Arm Neon 指令) 扩展,探索了机器学习 (ML) 工作负载;Armv8.4-A 支持 8 位整数点积指令;Armv8.6-A 支持各种数据类型的矢量内整数和浮点矩阵乘法指令。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

进入到 Armv9 架构,Arm在 CPU 上集成了用于加速和保护如大语言模型 (LLM) 等先进的生成式 AI 工作负载的特性。

比如,Armv9-A 加入了可伸缩矢量扩展 2 (SVE2),用于数字信号处理器 (DSP)、媒体和通用矢量化;Armv9.2-A 则首次引入了可伸缩矩阵扩展 (SME)指令,可加速 AI 和 ML 工作负载,并为 Arm CPU 上运行的 AI 和 ML 应用提供更高的性能、能效和灵活性。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

全新的Armv9.3则加入了对于SME2的支持,即在 SME 的基础上增加了多矢量指令,允许在矩阵和矢量运算中复用架构状态 (ZA Array),并具有更高吞吐量的矢量处理能力。

这有助于通过压缩 AI 格式来减少内存带宽并节省功耗,从而实现矢量和矩阵加速的平衡。

SME2 还能够灵活地动态去量化,并解压缩 2 位和 4 位权重,以节省内存带宽。在生成式 AI 工作负载日益复杂和耗电加剧的背景下,这些特性非常重要,同时也彰显了 Arm 致力于应对 AI 无止尽的能源需求。

二、面向AI高性能 Arm C1 CPU 集群

Arm全新的 C1 CPU 集群是 Arm Lumex CSS 平台的组件之一,也是首个基于 Armv9.3 架构的CPU 系列产品。

最高性能的 Arm C1 CPU 集群集成了新的 C1-Ultra CPU,以及可灵活组合的C1-Premium、C1-Pro 与 C1-Nano CPU 核心,能够根据合作伙伴的特定需求,实现性能和能效提升。

同时,C1 CPU 通过 Armv9 架构直接内建第二代 Arm 可伸缩矩阵扩展 (SME2),这为加速 AI 体验带来了革新突破。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

1、C1-Ultra:最强超大核

具体来说,C1-Ultra作为的C1 CPU系列当中性能最强的超大核。

它带来了业界领先的前端设计,并针对实际工作负载进行优化;拥有业内最宽、吞吐量最高的微架构;拥有出色的预取器,可在面积限制内优化性能。

这些特性使得C1-Ultra 的 IPC 进一步提升了12%,相比Cortex-X1的IPC提升了超过75%,使得C1-Ultra内核的性能表现比Cortex-X925高出约26%。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

从Geekbench 6.3的测试数据来看,在同等性能水平下,C1-Ultra的能耗比Cortex-X925低了28%,而如果从最高的单线程性能来看,C1-Ultra确实要比Cortex-X925高出25%左右。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

2、C1-Premium:最高PPA

C1-Premium是 Arm 首款次旗舰处理器CPU,追求最高的PAA(性能、功耗、面积)。

据Arm介绍,C1-Premium核心面积比包含私有 L2 缓存的 C1-Ultra 核心缩小了 35%。该 CPU 在 SPEC 套件等基准测试中以更小的占用面积,保持了同等的性能水平,实现了卓越的面积效率。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

得益于极高的PPA,这也使得C1-Premium可具有可灵活组合性,可以为新细分市场提供卓越性能。

比如,原本2个C1-Ultra + 6个C1-Pro的CPU,如果将超大核换成2个C1-Premium ,整体面积可以减少35%;同样,如果原本4个C1-Pro + 4个

C1-Nano的CPU,升级成2个C1-Premium + 6个C1-Pro的CPU,在面积不会增加多少的情况下,性能可以迅速提升35%。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

不过,Arm并未提供更多关于C1-Premium本身性能上的数据。

3、C1-Pro:最高能效大核

C1-Pro的定位是最高能效的大核。在微架构层面,Arm C1-Pro 引入了增强型分支预测和内存系统更新,尤其适用于实际用例中的多任务处理。

从Geekbench 6.3测试表现来看,在同等性能下,C1-Pro的功耗要比Cortex-A725低26%;在同等功耗下,C1-Pro的性能要比Cortex-A725高出11%。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

在相关应用测试中,与Cortex-A725相比,C1-Pro CPU在相同主频下,性能最高提升了16%;在相同性能下,功耗降低了12%。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

值得一提的是,C1-Pro还具有面积优化的配置方案,可以帮助客户轻松地迁移到最新的Armv9.3,无需牺牲任何面积,并且保留关键的微架构优势,并支持SME2。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

4、C1-Nano:最高能效小核

C1-Nano 在最小面积占用的条件下,将 Arm C1 系列 CPU 的优势集于一体。相比此前的Cortex-A520小核,C1-Nano电源效率大幅提高,在同一工艺下,与 Cortex-A520 相比,电源效率提高 26%了;减少 L3/DRAM 交互,实现了最小面积和最高区域效率。与 Cortex-A520 相比,SPECint2017 性能提高 5.5%,核心面积提高 2%;改进了指令获取,解耦预测/获取流水线在获取工作负载方面提高了10%以上的性能。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

C1-Nano出色的高能效和低功耗表现,使其成为可穿戴设备和紧凑型消费类电子设备的理想之选。

5、C1-DSU

DSU(DynamIQ Shared Unit)是Arm CPU集群架构中的一个关键组件,用于管理多核处理器的核心,优化性能和能效。对于全新的C1 CPU集群,Arm也带来了全新的C1-DSU,也加入了对于SME2的支持。

据Arm介绍,与DSU-120相比,C1-DSU典型功耗降低了11%,快速唤醒 RAM 功耗降低了7%。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

6、Arm C1 CPU 集群可满足各类端侧应用

C1系列的四款CPU内核,也为Arm C1 CPU集群的组合带来了非常多的选择。

如果拿最低端的2个C1-Nano(基于不支持SME2的DSU)与最高端的2个C1-Ultra + 6个C1-Pro(基于支持SEM2的DSU)对比,后者的性能达到了前者的17倍,不过面积也达到前者的25倍。足见性能、面积跨度之大,还可扩展至各个级别的消费类电子和移动设备,为多样化的端侧工作负载提供不同水平的性能、功耗和面积效率。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

Arm C1 CPU 集群在实际用例中表现突出。在行业领先的性能基准测试,该 CPU 集群在同等条件下,相较于上一代 CPU 集群性能平均提升 30%,在游戏和视频流媒体等应用中平均提速 15%。与此同时,在日常移动端工作负载(如视频播放、社交媒体、网页浏览)中,该 CPU 集群在同等条件下,相较于上一代 CPU 集群功耗平均降低 12%。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

在Arm看来,下一代主流的智能手机的CPU集群可能将会是支持SME2的C1集群,比如C1-Pro + C1-Nano这样的组合,预计相比当前的Cortex-A725+Cortex-A520的组合,可以带来11%的性能提升和2倍的AI性能密度。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

6、SEM2加持下的AI性能提升

得益于 SME2 内置的矩阵扩展,Arm C1 CPU 能够加速 AI 功能,包括涉及大量矩阵运算的大语言模型 (LLM)、媒体处理(图像与视频)、语音识别、计算机视觉、实时应用(AI 助手、计算摄影与 AI 滤镜)以及多模态应用等。

SME2 是在 SME 基础上进行了全新的智能升级,能提升性能、降低内存占用,并使端侧 AI 运行得更为流畅,尤其是在音频生成、摄像头推理、计算机视觉及即时聊天等高实时性要求的应用中。

据Arm介绍,针对生成式 AI、语音识别、典型的机器学习 (ML) 和计算机视觉 (CV) 等工作负载,启用 SME2 的 Arm C1 CPU 集群在同等条件下,能比上一代 CPU 集群带来5倍 AI 性能提速。

此外,借助 SME2,该C1 CPU 集群可实现多达3倍的能效优化。而上述的 AI 性能和能效改进能为用户带来更流畅、响应更迅速的端侧体验。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

Arm表示,SME2 显著缩小了C1 CPU与GPU之间的AI性能差距,特别是在小型AI工作负载上,CPU 现已超越 GPU,并且保留了CPU的灵活性。

从Arm公布的测试数据来看,在没有SME2 的支持下,C1-Pro CPU的AI性能与Arm最新的Mali G1 GPU的AI性能差距巨大。

AI新媒体文章 AI新媒体文章

专为新媒体人打造的AI写作工具,提供“选题创作”、“文章重写”、“爆款标题”等功能

AI新媒体文章 75 查看详情 AI新媒体文章

但是,有了SME2加持的C1-Pro CPU,AI性能大幅提升,特别是在运行一些小的神经网络时,其性能表现甚至比Arm最新的Mali G1 GPU表现更好。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

SME2 还可加速各种图像处理工作负载,比如在libyuv中,支持SME2的C1-Pro的图像处理表现提升到了原来的3倍。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

对于 Arm 合作伙伴和开发者生态系统而言,相较于未启用 SME2 特性的硬件,这些提升能显著加速不同工作负载和用例中的 AI 性能,包括:

在 Whisper Base 上处理语音工作负载时,延迟降低 4.7 倍;在 Google Gemma 3 模型上进行聊天交互,AI 性能增长 4.7 倍;在 Stability AI Stable Audio 模型上生成音频,速度提升 2.8 倍。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

三、Mali G1-Ultra 重新定义游戏与 AI 体验

手机的游戏性能一直以来都是厂商和用户极为关心的一大关键能力。根据最新的 Newzoo 报告,手游玩家占据了高达 83% 的全球游戏玩家人口,其手游总时长达到 3,900 亿小时。

Arm作为移动计算平台的霸主,其也一直致力于利用自身的GPU来提升手机游戏体验。数据显示,截至目前,搭载 Arm GPU 的芯片出货量已逾 120 亿颗。

此次,Arm全新推出的Mali G1-Ultra是专为新一代手游和 AI 体验打造的GPU,基于Arm 第五代 GPU 架构。引入多项核心级改进,旨在移动设备上实现高端沉浸式游戏体验。

与上一代的Immortalis-G925 GPU相比,Mali G1-Ultra还带来了新一代 Arm 光线追踪单元 RTUv2,使得光线追踪性能达到了前一代的两倍;借助 IRD、tiler 改进、IDVS/计算调度,2倍快速访问统一内存,使得Mali G1-Ultra在主流图形基准测试中,性能表现提升了20%;通过优化计算和新的 MMUL.FP16 指令,使得AI性能也提升了20%;每帧生成的功耗也降低了9%。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

除了面向旗舰智能手机的 Mali G1-Ultra,Arm 还推出 Arm Mali G1-Premium 和 Mali G1-Pro GPU,旨在提供可扩展的性能和能效选择,以满足不同移动设备市场和产品层级的需求。Mali G1 GPU 系列提供从 1 到 24 个着色器核心选项,使系统级芯片 (SoC) 设计商能够根据其目标市场和特定需求,灵活配置 GPU。

1、新一代光线追踪单元RTUv2

得益于 Mali G1-Ultra 中的光线追踪单元RTUv2,在启用硬件光线追踪的游戏中,光线追踪性能可提升两倍,帧率可提升 40%。新的光线追踪单元专为移动端的实时性能而打造,实现了桌面级的光照、反射与阴影。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

与前一代 RTUv1 相比,RTUv2 更加智能,且采用单光线模型,大幅增强对非一致性光线的支持,并成为完全独立的硬件单元。这些设计变化带来了显著的能效与性能优势。例如,其模块化架构与独立电源域使得 RTUv2 可在设备空闲时断电,从而为其他任务节省电力。

鉴于通过 RTUv2 实现的性能与能效平衡的优势,Mali G1-Ultra 能在旗舰智能手机上实现长时间的游戏体验,使其成为旗舰智能手机的理想配置。

2、端侧实时智能加速

AI 正在重塑移动设备思考、感知与响应的方式,而 GPU 在这一演进历程中扮演着关键角色。Mali G1-Ultra 引入新的矩阵乘法单元 (MMUL) FP16 指令,可加速如语义分割、去噪、深度估计、物体检测、语音识别和图像增强等端侧关键 AI 工作负载。在FP32 ML网络中,Mali G1-Ultra与上一代 Immortalis-G925(同样均为14核心)相比,其性能提升高达 104%。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

通过扩大的 L2 缓存和优化的互连设计,Mali G1-Ultra 专为并行处理 AI 与图形工作负载而打造,大幅减少内存瓶颈,并确保实时体验的灵敏响应与流畅运行。无论是增强照片质量,还是支持更智能的应用交互,Mali G1-Ultra 都在边缘侧实现响应灵敏的实时智能。

3、可扩展性能的新架构特性

据介绍,Mali G1-Ultra带来了双堆叠着色器核心,可使内部带宽加倍并减少拥塞;增加快速访问统一寄存器,以在着色器执行期间大幅减少内存提取。这些更新共同提升了包括实时光照和基于物理的渲染在内的响应效果(这些特效通常属于计算密集型工作负载)。

此外,Mali G1-Ultra 还引入 Arm 图像区域依赖 (Image Region Dependencies, IRD),这是一种更智能的调度特性,使 GPU 能同时处理屏幕的不同部分,从而在复杂场景中提升性能并减少空闲时间。

4、为开发者量身打造

为帮助开发者实现更精细的性能优化,Mali G1 GPU 通过基于块 (tile) 的硬件计数器,提供更强的可观测性。这些计数器能逐帧按区域洞察 GPU 活动,让开发者可以更高效地识别热点,并平衡工作负载。

这些计数器可通过 Vulkan 扩展访问,并将在未来的安卓版本中支持 RenderDoc。这让游戏引擎公司、游戏工作室和设备 OEM 厂商能够更为轻松地从该架构中获得最大性能,同时保持视觉质量和电池效率。

Mali G1 GPU 还支持 Arm 精锐超级分辨率技术 (Arm Accuracy Super Resolution, Arm ASR),这项时域类超分技术可在减少 GPU 工作负载的同时,提升图像质量。该技术通过虚幻引擎 5 (Unreal Engine 5) 提供,并已集成至《堡垒之夜》手游。Arm ASR 能帮助开发者在不牺牲视觉保真度的情况下,保持高帧率,从而在各种移动设备上实现更流畅的游戏体验与更清晰的细节效果。

四、Arm Lumex CSS 平台

在2024年5月,Arm就推出了面向客户端的计算子系统(CSS for Client),整合了当时最新的 Armv9.2 指令集的 CPU 集群,包括Cortex-X925 CPU、Cortex-A725 CPU、更新后的Cortex-A520 CPU,以及Immortalis-G925 GPU等IP。

此次Arm最新的发布的Arm Lumex CSS 平台是专门面向旗舰智能手机和大屏计算设备的计算子系统,不仅整合了前面介绍的Arm C1 CPU集群、Mali G1-Ultra GPU、C1-DSU,还带来了Arm SI L1 系统互连与 Arm MMU L1 系统内存管理单元等IP。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

1、面向AI优先SoC平台的系统IP

Lumex CSS平台要支持 AI 优先体验,自然不能只局限于CPU、GPU等计算 IP 和前面提到的多核调度的DSU IP的提升,还必须在整个互连和内存架构层面持续演进。

所以,Arm为了Lumex CSS平台带来了全新的SI L1和MMU L1和NoC S3等系统IP,专为满足高要求 AI 和其他计算密集型工作负载的带宽与延迟需求而优化。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

具体来说,新的SI L1系统互连适用于需要硬件管理一致性、SLC和高级QoS的数据共享的高性能设计。其配备了业内先进的,且具有出色面积效率的系统级缓存 (SLC) ,相比标准编译的 RAM,其泄漏功耗降低了 71%,大幅减少了待机功耗。

SI L1 系统互连面向旗舰移动设备,具备完全集成的可选 SLC 并支持 Arm 内存标记扩展 (Memory Tagging Extension, MTE) 特性,可提供一流的安全性。

而MMU L1则是新一代面向移动优化的内存管理单元(Memory Management Unit,MMU),通过PPA优化提高系统MMU的可负担性和可扩展的安全基础,可以为Android和Windows设备实现基于内存转换的安全、经济、高效的可扩展虚拟化。

据Arm披露的数据显示,SI L1 系统互连相比上代的CI-7000,互联延迟降低了75%;MMU L1相比上代的MMU-700最多可将TBU延迟降低83%。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

NoC S3 片上网络互连则面向注重成本且非一致性的移动系统。

2、解锁3nm物理实现

据Arm介绍,Lumex CSS提供针对3nm工艺优化、生产就绪的CPU和GPU实现,已为多家晶圆代工厂所支持。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

如此一来,Arm 的芯片合作伙伴和 OEM 厂商能够:将这些实现作为灵活的构建模块,以便专注于 CPU 和 GPU 集群层面的差异化设计;实现卓越的频率和 PPA;在向最新 3nm 工艺节点过渡时,助力确保芯片一次流片成功。

3、全栈软件已就绪

为充分释放 Lumex CSS性能潜力,帮助客户在硅片发货前,实现从固件到应用程序的所有层的顶级性能,Arm 推出了全新系列的软件与工具,助力开发者即刻着手原型设计、构建 AI 工作负载,以及利用 Lumex CSS 平台的完整 AI 功能。

这些软件与工具包括:完整的 Android 16 就绪软件栈,涵盖可信固件至应用程序层;完整且免费的启用 SME2 的 KleidiAI 软件库;全新的自顶向下的遥测解决方案,用于分析应用性能、识别瓶颈并优化算法。

Arm KleidiAI 于 2024 年推出,旨在为Arm CPU 上运行的 AI 推理工作负载提供软件性能优化,开发者无需进行任何额外的工作,目前该软件库已应用于移动端、云和数据中心等关键领域,包括 KleidiAI 已被集成到 ExecuTorch、Llama.cpp、MediaPipe、PyTorch、LightRT等几乎所有主流AI框架的最新版本中,开发者只需开始构建应用程序,即可在基于 Arm 架构的平台上自动获取性能的显著提升。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

因此,当基于 Lumex 的设备在未来数月上市时,应用程序即刻就能在其 AI 工作负载上实现性能和效率提升。

在图形处理方面,随着未来的安卓版本将支持 RenderDoc,以及通过 Lumex 提供 Vulkan计数器、Streamline 和 Perfetto 等统一可观测性工具,开发者能够实时分析工作负载、调优延迟,并精确平衡电池续航与视觉效果。

小结:

Arm全新推出的 C1 CPU 集群提供了高性能、高能效、高可扩展性的内核IP选择,并且凭借对于SME2的支持,极大地提升了CPU的AI性能,为未来端侧 AI 的发展奠定了坚实的基础。

Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追

全新的Mali G1-Ultra 则重新定义了移动 GPU 的性能,在光线追踪性能提升的同时,在架构效率和AI加速性能上也迎来了突破性进展,有望为新一代移动终端的游戏体验和AI应用带来更出色的体验。

基于全新IP的Arm Lumex CSS 平台则为客户带来了更为完整的CPU/GPU集群解决方案和软件栈,以及基于3nm节点的物理版图,这在当前众多科技大厂纷纷自研芯片的热潮下,将有助于他们大幅降低在CPU/GPU集群研发上的投入,可以更专注地投入到自己核心的需求研发上,提升芯片一次流片成功率,加速产品的推出周期。

不过,Arm高管在采访环节也明确指出,目前Arm的CSS 平台只是专注于其擅长的CPU、GPU IP和集群解决方案,可以为客户提供参考设计和物理实现,并不意味着Arm利用LumexCSS平台就可以为客户定制完整的SoC解决方案,客户也并不能利用Lumex CSS平台就能够直接交由晶圆代工厂生产自己的芯片,因为SoC并不只有CPU/GPU就能够运行,这并不是一个完整的SoC解决方案,客户仍然需要在LumexCSS平台基础上加入一系列自己的IP或第三方IP来打造一个完整的SoC解决方案,比如接口IP、NPU IP、基带IP等等。

值得一提的是,以往Arm在发布全新的CPU/GPU IP时都会透露相关产品的大致上市时间,也会有相关芯片厂商宣布将会率先采用,但是在这次的发布会上却并没有,只有vivo这家手机厂商高管有上台发言。

不过,猜测联发科即将发布的天玑9500有可能会采用Arm全新的C1 CPU集群及G1-Ultra GPU,但是可能并不会采用LumexCSS平台来进行设计。

毕竟之前联发科天玑9400被说是基于Arm面向客户端的CSS设计时,联发科还曾公开辟谣。

以上就是Arm发布全新C1 CPU与G1-Ultra GPU:Armv9.3指令集、新一代光追的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/238417.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
即梦ai如何生成分屏效果 即梦ai多画面拼接教程
上一篇 2025年11月4日 00:26:00
JOLT Shift 转换技巧:确保多层级数据扁平化为统一数组
下一篇 2025年11月4日 00:26:10

相关推荐

  • composer require-dev和require有什么不同_Composer Require与Require-Dev区别解析

    require用于声明项目运行必需的依赖,如框架、数据库组件和第三方SDK,这些包会随项目部署到生产环境;2. require-dev用于声明仅在开发和测试阶段需要的工具,如PHPUnit、PHPStan、Faker等,不会默认部署到生产环境;3. 安装时composer install根据环境决定…

    2026年5月10日
    1000
  • 修复Django电商项目中AJAX过滤产品列表图片不显示问题

    在Django电商项目中,当使用AJAX动态加载过滤后的产品列表时,常遇到图片无法正常显示的问题。这通常是由于前端模板中图片加载方式(如data-setbg属性结合JavaScript库)与AJAX动态内容更新机制不兼容所致。解决方案是直接在AJAX返回的HTML中使用标准的标签来渲染图片,确保浏览…

    2026年5月10日
    000
  • Matplotlib 地图中多类型图例的创建与优化

    Matplotlib 地图中多类型图例的创建与优化Matplotlib 地图中多类型图例的创建与优化Matplotlib 地图中多类型图例的创建与优化Matplotlib 地图中多类型图例的创建与优化

    本教程旨在解决matplotlib地图可视化中,如何在一个图例中同时展示颜色块(如区域分类)和自定义标记(如特定兴趣点)的问题。文章详细介绍了当传统`patch`对象无法正确显示标记时,如何利用`matplotlib.lines.line2d`创建标记图例句柄,并将其与颜色块图例句柄合并,从而生成一…

    2026年5月10日 用户投稿
    100
  • Golang JSON序列化:控制敏感字段暴露的最佳实践

    本教程探讨golang中如何高效控制结构体字段在json序列化时的可见性。当需要将包含敏感信息的结构体数组转换为json响应时,通过利用`encoding/json`包提供的结构体标签,特别是`json:”-“`,可以轻松实现对特定字段的忽略,从而避免敏感数据泄露,确保api…

    2026年5月10日
    000
  • 利用海象运算符简化条件赋值:Python教程与最佳实践

    本文旨在探讨Python中海象运算符(:=)在条件赋值场景下的应用。通过对比传统if/else语句与海象运算符,以及条件表达式,分析海象运算符在简化代码、提高可读性方面的优势与局限性。并通过具体示例,展示如何在列表推导式等场景下合理使用海象运算符,同时强调其潜在的复杂性及替代方案,帮助开发者更好地掌…

    2026年5月10日
    100
  • Debian syslog性能优化技巧有哪些

    提升Debian系统syslog (通常基于rsyslog)性能,关键在于精简配置和高效处理日志。以下策略能有效优化日志管理,提升系统整体性能: 精简配置,高效加载: 在rsyslog配置文件中,仅加载必要的输入、输出和解析模块。 使用全局指令设置日志级别和格式,避免不必要的处理。 自定义模板: 创…

    2026年5月10日
    000
  • 怎么在PHP代码中实现图片上传功能_PHP图片上传功能实现与安全处理教程

    首先创建含enctype的HTML表单,再用PHP接收文件,检查目录、移动临时文件,验证类型与大小,生成唯一文件名,并调整php.ini限制以确保上传成功。 如果您尝试在PHP项目中添加图片上传功能,但服务器无法正确接收或保存文件,则可能是由于表单配置、文件处理逻辑或安全限制的问题。以下是实现该功能…

    2026年5月10日
    100
  • 比特币新手教程 比特币交易平台有哪些

    比特币是一种去中心化的数字货币,基于区块链技术实现点对点交易,具有匿名性、有限发行和不可篡改等特点;新手可通过交易所购买,P2P交易获得比特币,常用平台包括Binance、OKX和Huobi;交易流程包括注册账户、实名认证、绑定支付方式、充值法币并下单购买,可选择市价单或限价单;比特币存储方式有交易…

    2026年5月10日
    000
  • c++中的SFINAE技术是什么_c++模板编程中的SFINAE原理与应用

    SFINAE 是“替换失败不是错误”的原则,指模板实例化时若参数替换导致错误,只要存在其他合法候选,编译器不报错而是继续重载决议。它用于条件启用模板、类型检测等场景,如通过 decltype 或 enable_if 控制函数重载,实现类型特征判断。尽管 C++20 引入 Concepts 简化了部分…

    2026年5月10日
    000
  • 如何让动态追加元素的类事件生效?

    如何在追加元素后使其绑定类事件生效 在页面中引入三方 JavaScript 类并通过添加相应 class 来调用事件方法是一种常见的做法。然而,如果通过 JavaScript 追加标签元素,即使添加了对应的 class,事件也可能无法生效。 为了解决这个问题,可以尝试以下步骤: 检查追加的标签是否为…

    2026年5月10日
    000
  • Golang gRPC流式请求异常处理

    在Golang的gRPC流式通信中,必须通过context.Context处理异常。应监听上下文取消或超时,及时释放资源,设置合理超时,避免连接长时间挂起,并在goroutine中通过context控制生命周期。 在使用 Golang 和 gRPC 实现流式通信时,异常处理是确保服务健壮性的关键部分…

    2026年5月10日
    000
  • Go语言mgo查询构建:深入理解bson.M与日期范围查询的正确实践

    本文旨在解决go语言mgo库中构建复杂查询时,特别是涉及嵌套`bson.m`和日期范围筛选的常见错误。我们将深入剖析`bson.m`的类型特性,解释为何直接索引`interface{}`会导致“invalid operation”错误,并提供一种推荐的、结构清晰的代码重构方案,以确保查询条件能够正确…

    2026年5月10日
    100
  • css max-height属性怎么用

    max-height 属性设置元素的最大高度。 说明 该属性值会对元素的高度设置一个最高限制。因此,元素可以比指定值矮,但不能比其高。不允许指定负值。 注意:max-height 属性不包括外边距、边框和内边距。 立即学习“前端免费学习笔记(深入)”; 值描述none 默认。定义对元素被允许的最大高…

    2026年5月10日
    100
  • vscode上怎么运行html_vscode上运行html步骤【指南】

    首先保存文件为.html格式,再通过浏览器或Live Server插件打开预览;推荐安装Live Server实现本地服务器运行与实时刷新,提升开发体验。 在 VS Code 上运行 HTML 文件并不需要复杂的配置,只需几个简单步骤即可预览页面效果。VS Code 本身是一个代码编辑器,不直接运行…

    2026年5月10日
    100
  • RichHandler与Rich Progress集成:解决显示冲突的教程

    在使用rich库的`richhandler`进行日志输出并同时使用`progress`组件时,可能会遇到显示错乱或溢出问题。这通常是由于为`richhandler`和`progress`分别创建了独立的`console`实例导致的。解决方案是确保日志处理器和进度条组件共享同一个`console`实例…

    2026年5月10日
    000
  • 修复点击时按钮抖动:CSS垂直对齐实践

    本文探讨了在Web开发中,交互式按钮(如播放/暂停按钮)在点击时发生意外垂直位移的问题。通过分析CSS样式变化对元素布局的影响,我们发现这是由于按钮不同状态下的边框样式和内边距改变,以及默认的垂直对齐行为共同作用所致。核心解决方案是利用CSS的vertical-align属性,将其设置为middle…

    2026年5月10日
    000
  • Golang goroutine与channel调试技巧

    使用go run -race检测数据竞争,结合runtime.NumGoroutine监控协程数量,通过pprof分析阻塞调用栈,利用select超时避免永久阻塞,有效排查goroutine泄漏、死锁和数据竞争问题。 Go语言的goroutine和channel是并发编程的核心,但它们也带来了调试上…

    2026年5月10日
    000
  • 《魔兽世界》将于6月11日开启国服回归技术测试

    《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试

    《%ign%ignore_a_1%re_a_1%》官方宣布,将于6月11日开启国服回归技术测试,时间为7天,并称可以在6月内正式开服,玩家们可以访问官网下载战网客户端并预下载“巫妖王之怒”客户端,技术测试详情见下图。 WordAi WordAI是一个AI驱动的内容重写平台 53 查看详情 以上就是《…

    2026年5月10日 用户投稿
    200
  • 使用 Jupyter Notebook 进行探索性数据分析

    Jupyter Notebook通过单元格实现代码与Markdown结合,支持数据导入(pandas)、清洗(fillna)、探索(matplotlib/seaborn可视化)、统计分析(describe/corr)和特征工程,便于记录与分享分析过程。 Jupyter Notebook 是进行探索性…

    2026年5月10日
    000
  • 如何在HTML中插入表单元素_HTML表单控件与输入类型使用指南

    HTML表单通过标签构建,包含action和method属性定义数据提交目标与方式,常用input类型如text、password、email等适配不同输入需求,配合label、required、placeholder提升可用性,结合textarea、select、button等控件实现完整交互,是…

    2026年5月10日
    000

发表回复

登录后才能评论
关注微信