一般做企业网站需要什么,wordpress企业中文模板下载,网页设计与制作平台,局网站信息内容建设 自查报告参考#xff1a;芯来科技发布最新NI系列内核#xff0c;NI900矢量宽度可达512/1024位 (qq.com)
本土RISC-V CPU IP领军企业——芯来科技正式发布首款针对人工智能应用的专用处理器产品线Nuclei Intelligence(NI)系列#xff0c;以及NI系列的第一款AI专用RISC-V处理器CPU IP…参考芯来科技发布最新NI系列内核NI900矢量宽度可达512/1024位 (qq.com)
本土RISC-V CPU IP领军企业——芯来科技正式发布首款针对人工智能应用的专用处理器产品线Nuclei Intelligence(NI)系列以及NI系列的第一款AI专用RISC-V处理器CPU IP——NI900系列内核。
随着Chatgpt的横空出世全球掀起一股AI的浪潮从云端数据中心到边缘侧对AI的需求进一步提升。AI应用主要分布在训练和推理需要大量的并行计算和NPU来完成更离不开高性能CPU的算力加持。CPU有着广泛的普及性、兼容性、可扩展性和可靠性并通过多核多节点进行串行计算、混合计算和安全防护等复杂任务除此之外CPU的通用矢量(Vector)指令集也可以提供强大且通用的并行计算能力在AI领域进行高效的并行计算、前处理、后处理、激活函数等工作更加灵活地处理GPU和NPU相对难以处理的复杂计算任务。
近期OpenAI发布的Sora模型将AI能够理解和生成的内容模态从文字和图片拓展到视频进一步证明基础模型能力上限不断被突破想象空间被打开对算力基础设施的需求也远没有停止。芯来科技此次推出的NI900重点布局AI应用场景助力本土芯片设计公司快速完成AI产品的设计。
NI900基于900系列处理器针对“AI应用”进行了多项特性优化
Nuclei Intelligence —— NI900系列之于“AI应用”的优势
NI900基于Nuclei成熟的900系列处理器针对“AI应用”进行了多项特性优化
NI900主要特性如下
基础标量处理器可以配置为900系列的RV32或RV64的任何一款——N900/U900/NX900/UX900RVV1.0 VPU可配置基于RISC-V V ExtensionRVV1.0 Vector指令集的VPU单元VPU的VLEN可配置为512b或者1024b 可配Per-Core-VPUNI900支持Cluster内的每个Core均可以配置VPU或可配多核共享Shared-VPUNI900也可支持Cluster内的多个Core共享一份VPU单元NPU加速器可通过NI900的IOCPIO Coherent Port与处理器紧耦合实现对CPU内部Cache的一致性用户自定义指令扩展接口用户可以使用Nuclei的NICE硬件扩展接口增加自己自定义的指令包括Scalar或Vector指令 NI900支持RISC-V Vector1.0标准 矢量扩展被称之为RV指令集标准最重要的一组扩展2015年发起2021年正式生成标准。RVV 1.0支持的数据类型广泛运算类型丰富且可动态扩展同一套指令可无修改适配各种微架构实现。RISC-V GCC从10.2版本已经支持RVV1.0指令目前GCC13对应的intrinsic API接口已经升级到最新v0.12版本且已部分支持自动向量化预计GCC14正式发布GCC的自动向量化会更加完备。RISC-V CLANG17版本也已支持最新v0.12版本intrinsic APl, 支持自动向量化。RISC-V Linux 6.5 版本开始支持RVV,其它各种计算库及应用中间件都快速支持了RVV1.0。有了RVV1.0标准和软件生态的完备为应对AI算力的需求需要RISC-V CPU 在微架构设计上做更多有针对性的设计。 Nuclei 900系列基础处理器 900系列处理器包括N90032位、U90032位MMU、NX90064位和UX90064位MMU四个产品系列其中U900、UX900带MMU可以运行重型操作系统如Linux等。900系列非常适合对标ARM Cortex-M7、A7、R8、A35、A53、A55等内核可应用于AIoT边缘计算、数据中心、网络设备和基带通信等领域。 NI900的VPU可进行多种参数配置 参数描述 VLEN一个向量寄存器的总bit数宽度DLEN内部运算单元能够并行处理的一个向量元素的最大bit数ELEN并行处理的数据类型的最大宽度如果ELEN32则最大的处理数据类型是INT32和FP32 可配选项 参数值 VLEN_512 VLEN 512, DLEN 512ELEN 32/64 VLEN_1024 VLEN 1024, DLEN 1024ELEN 32/64 NI900的VPU特性与配置 VPU特性: Follow RISC-V V Extension (RVV1.0) instruction set with 32 Vector registersDual vector arithmetic computing pipeline and one Load/Store pipelineVector registers can be combined (LMUL) up to VLEN*8bits vector operationsFull Vector Load/Store memory operationsSupport Vector Instruction Chaining VPU支持数据类型 Data type: INT8/16/32, BFP16/FP16/FP32如果ELEN等于64的配置则也支持INT64与FP64 NI900 的标量和矢量双发射机制 900系列双发射机制 Scalar标量部分ALU指令Ld/St指令可以任意组合双发射乘除、浮点以及DSP指令无法进行双发射但是他们可以和ALU搭配进行双发射CSR/WFE/WFI等特殊指令只能单发射Vector矢量部分Vector Ld/StVector A类型和Vector B类型可以两两组合双发射A类运算单元包含vmul/vmacvfpu for single precesionB类运算单元包含除了上述A类指令和Vector Load Store指令之外的其他运算类型指令可配置的第二份vfpu vfadd/vfsub/vfmul/vfmac类型Example: Vector Ld/St Vector A, Vector Ld/St Vector B, Vector A Vector BScalar指令和Vector指令可以任意双发射Example: Vector Ld/St ALUScalar流水线和Vector流水线可以乱序执行Scalar和Vector共享内存资源DCacheDLMExternal Memory等 NI900的VPU的Vector Store Buffer带来性能提升 NI900 的 VPU 的带来的性能提升 NI900 的多核 VPU 可以灵活进行配置 NI900 提供更轻量级的 VPU 解决方案 —— Lite-VPU NI900 的 VPU 面积对比 基于 T22 工艺综合 ( tcbn22ulpbwp30p140ssgp81vm40c_ccs) NI900的功耗——Dhrystone与矩阵运算示例 NI900的VPU与主Core的内存空间实现完全的Coherent VPU和Core LSU共享MMU资源 VPU并非独立的协处理器而是与主Core的内存空间实现完全的Coherent Vector指令与普通Scalar一样支持虚拟地址访问使得NI900的Vector指令可以无缝运行与大型操作系统之上VPU和Core LSU共享Memory资源与通道 VPU拥有最高512b位宽访问直接访问DCache VPU拥有最高1024b位宽访问直接访问DLM DLM具备1024b的Slave Port供SoC访问 可单独配置VLM port以进一步增加性能 VLM port可以直接连接到外部加速器或者内存 VLM port位宽VLEN(目前支持最多1024b) Scalar Core也可以通过Load Store访问到VLM区间 NI900的IOCP接口可用于连接硬件加速器单元 I/O Coherent Port (IOCP): 支持外部master和所有层级的缓存保持一致性 从IOCP读取 从私有cache中获取数据 如果cache miss则将从系统级缓存获取数据 从IOCP写入 Invalidate所有私有缓存 写入系统级缓存IOCP接口数量可以进行配置IOCP可以被DMA, PCIe, NPU等外部master使用 NI900的Scalar/Vector NICE自定义指令接口 NICE(Nuclei Instruction Co-unit Extension)是芯来CPU IP的一种用户可扩展指令接口机制允许用户基于芯片的标准通用CPU内核定义自己的扩展指令集 NI900提供用于Scalar指令扩展的NICE接口 可支持单周期多周期流水线等不同指令类型NI900提供用于Vector指令扩展的NICE接口 可支持单周期多周期流水线等不同指令类型NI900的NICE扩展单元不仅可以进行运算型的自定义指令扩展还可以通过专用总线访问Core的存储资源DCache等实现与主Core的内存一致性 总线位宽可以达到VLEN(最高1024b) 用户可以结合自己的应用扩展自定义指令将NI900处理器内核扩展成为面向AI领域进一步强化的专用处理器 NI900系列NICE示例 – 通过Vector NICE扩展其私有的访存通路 图例解释如下 可以通过Vector NICE机制扩展“用户自定义的硬件单元”该“硬件单元”可以拥有其私有的访存通路图例中称为VNP(Vector Nice Port) 外部可以有一个多Banks或多Ports的Memory模块该VNP Port可以直接接到外部的Memory模块Core的VLM Port也可以直接接到外部的Memory模块来自系统内其他AI加速器的读写Port也可以直接接到外部的Memory模块用户可以在该“硬件单元”中扩展一条VNP_Load指令该VPN_Load指令可以从VNP Port批量读出数据写入标准Vector Regfile可以使用标量寄存器rs1作为基地址, Vector寄存器作为结果寄存器用户可以在该“硬件单元”中扩展一条VNP_Store指令该VNP_Store指令可以将标准Vector Regfile中的数据批量写出VNP Port可以使用标量寄存器rs1作为基地址, Vector寄存器作为源操作数寄存器标准的VLoad/Store指令和VNP_Load/Store可以同时并行访问如下列伪代码程序序列所示VLoad V7~V0 mem[VLM] #从VLM地址区间读数据写入V0到V7八个Vector RegistersVEXU V15~V8V7~V0rs1 #对V0到V7八个Vector Registers的数据进行Vector计算结果写入V8到V15八个Vector RegistersVNP_Store V15~V8 mem[VNP] #将V8到V15八个Vector Registers写出VNP地址区间 NI900 的 Dual-Mode 特性 : Applicat i on Real-Time NI900 的 Cluster Local Memory 模式