智能视觉深度学习处理器,8路高清视频智能分析,16路高清硬解码,10路高清硬编码
智能视觉深度学习处理器,8路高清视频智能分析,16路高清硬解码,10路高清硬编码
SRA3-40是一款面向高性能计算的RISC-V通用服务器,国产主控具备强劲性能,融合智算,支持强编解码。
SRB3-40是一款高性能的RISC-V存储服务器,多盘位大容量安全存储。
智算服务器SGM7-40,适配主流LLM,单卡可运行70B的大语言模型
SOM1684,搭载算能BM1684,支持16路高清视频分析
Core-1684-JD4,搭载算能BM1684,支持16路高清视频分析
SBC-6841,搭载算能BM1684,支持16路高清视频分析
iCore-1684XQ,搭载算能BM1684X,支持32路高清视频分析
Core-1684XJD4,搭载算能BM1684X,支持32路高清视频分析
Shaolin PI SLKY01,搭载算能BM1684,支持16路高清视频分析
QY-AIM16T-M,搭载算能BM1684,支持16路高清视频分析
QY-AIM16T-M-G,搭载算能BM1684,支持16路高清视频分析
QY-AIM16T-W,搭载算能BM1684,支持16路高清视频分析
AIV02T,PCIE板卡,1684*2,半高半长
IVP03X,搭载算能BM1684X,支持32路高清视频分析
IVP03A,微服务器 被动散热,12GB内存
Coeus-3550T,搭载算能BM1684,支持16路高清视频分析
EC-1684JD4,搭载算能BM1684,支持16路高清视频分析
CSA1-N8S1684,算力集群服务器,BM1684*8,1U
DZFT-ZDFX,ARM+DSP智能封条分析,搭载算能BM1684X
ZNFX-32,搭载算能BM1684,支持16路高清视频分析
ZNFX-8,ARM+DSP架构,隔爆兼本安分析装置符合煤安要求,搭载BM1684X
EC-A1684JD4,微服务器主动散热,16GB内存,32GB eMMC
EC-A1684JD4 FD,搭载算能BM1684,支持16路高清视频分析,16GB内存,32GB eMMC
EC-A1684XJD4 FD,搭载算能BM1684X,支持32路高清视频分析
ECE-S01,搭载算能BM1684,支持16路高清视频分析
IOEHM-AIRC01,微服务器,主动散热,搭载算能BM1684,支持16路高清视频分析
IOEHM-VCAE01,搭载算能BM1684,支持16路高清视频分析
CSA1-N8S1684X,算力集群服务器,BM1684X*8,1U
QY-S1U-16,1U版本BM1684盒子
QY-S1U-192,算力集群服务器,BM1684*12,1U
QY-S1X-384,算力集群服务器,BM1684X*12,1U
为交通拥堵、行车安全、车辆违法和道路污染治理问题赋能
利用深度学习云边结合方式解决全域多家餐饮机构的食品安全监管需求,为政府、企业级公众打造监督闭环
对生产全过程、全方位实时感知与精细化监管,推进应急监测智能化,赋能风险识别预警
以云边协同的新型算力基础设施赋能各类数字城市场景,为数字经济发展提供源动力
以自动化训练推理一体化平台为基础,助力算力/算法整合应用快速、高效工程化落地
比赛所使用的算丰TPU的架构如下所示:
其中host memory为计算机内存,system memory为算丰TPU的内存,local memory为NPU内存。Execution Units(EU)为计算单元。CDMA用于host memory与system memory数据搬运,GDMA用于system momery与local memory之间的数据搬运,BDC用于local memory中数据的计算。
算丰的运算是由指令完成,具体的计算指令由host端发射,device端收到指令执行。其中host memory与system momery的交互由host端代码完成,system memory与local memory的交互由device端代码完成。
比赛需要编写device的代码,也就是关注的是GDMA部分以及BDC的部分,即在local memory和system memory中搬运数据,和使用EU计算数据。
比赛所使用的TPU数据如下:
global memory: 128GB
NPU number: 64
local memory:512KB * 64 = 32MB
EU number: 32bit的EU数量为16
数据在host memory和system memory中的搬运赛事已经提供且无法修改。因此需要选手做的事情简化起来就是:数据从system memory搬入local memory->使用bdc计算->将结果从local memory搬运到system memory。
其中,数据搬运使用的是gdma操作,比赛使用的都是浮点数,因此,搬运一般使用的就是:
void okk_gdma_32bit_cpy_S2L(local_addr_t dst_addr, system_addr_t src_addr, const dim4 *shape, const dim4 *dst_stride, const dim4 *src_stride); //tensor搬入
void okk_gdma_32bit_cpy_L2S(system_addr_t dst_addr, local_addr_t src_addr, const dim4 *shape, const dim4 *dst_stride, const dim4 *src_stride); //tensor搬出
void okk_gdma_32bit_matrix_S2L(local_addr_t dst_addr, system_addr_t src_addr, int rows, int cols, int cols_per_channel, int row_stride); //矩阵搬入
void okk_gdma_32bit_matrix_L2S(system_addr_t dst_addr, local_addr_t src_addr, int rows, int cols, int cols_per_channel, int row_stride); //矩阵搬出
其中local_addr_t表示local memory中的地址,所有local memory为统一寻址。
bdc的相关操作较多,就不一一列举了,详见二元函数,一元函数,神经网络函数。
流程中选手要完成比赛的题目主要分为两部分:数据切分和实现新算子。比赛中的tensor输入有多种大小,因此对特别大的数据需要使用数据切分,每次搬入一部分以完成计算。实现新算子是由于基础的神经网络算子库中提供的算子并不多,例如softmax函数需要自己结合exp算子、池化算子以及除法算子完成。