切换版块
×
基础软件平台
PyTorch开发
TensorFlow开发
编解码及SDK开发
BANG语言与计算库
开发工具链
MagicMind开发
软件栈百科
云平台集成
硬件产品专区
大模型专区
寒武纪® AIDC® MLU370®系列加速卡
MLU200系列AI加速产品
经验方案交流区
经验案例与实践分享
开发者服务
开发者活动
公告与版务
高校支持
《智能计算系统》
签到
版块
社区
文档
SDK下载
370系列
200系列
开发平台
官网首页
注册
登录
全部版块
基础软件平台
硬件产品专区
经验方案交流区
开发者服务
高校支持
发布新帖
登录/注册
LV.1
JueXiao
25
积分
0
赞
2
帖子
3
回复
0
收藏
TA的动态
TA的帖子
TA的回复
MLU端掉用多次__bang_mlp报错
我的回复:#1HelloAI回复可否贴一下报错的源码?#include "mlu.h" __mlu_entry__ void CmlpFloatMCPipeline_mlu(float* out_data, int16_t* in_data, int8_t* filter_data,int* in_channel,int* in_height,int* in_width,int* out_channel) { int in_data_num=in_channel[0]*in_height[0]*in_width[0]; int filter_data_num= in_channel[0]*in_height[0]*in_width[0]*out_channel[0]; int out_data_num=out_channel[0]; int per_in_data_num=in_channel[0]*in_height[0]*in_width[0]*32; int per_out_data_num=64; int per_filter_data_num=in_channel[0]*64; int loops_nums=filter_data_num/per_filter_data_num; int remain_nums=(filter_data_num-per_filter_data_num*loops_nums)/4096; int POS=0; __nram__ float nram_out_data[2*64]; __nram__ int16_t nram_in_data[5000]; __wram__ int8_t wram_filter_data[4096*64]; __memcpy(nram_in_data,in_data,in_data_num*sizeof(int16_t),GDRAM2NRAM); //L0 __memcpy(wram_filter_data,filter_data,per_filter_data_num*sizeof(int8_t),GDRAM2WRAM); printf("第一个filter:%d\\n",wram_filter_data[0]); //C0 __bang_mlp(nram_out_data, nram_in_data, wram_filter_data, 64, per_filter_data_num, POS); printf("第一个out:%f\\n",nram_out_data[0]); //L1 __memcpy(wram_filter_data,filter_data+ per_filter_data_num, per_filter_data_num*sizeof(int8_t),GDRAM2WRAM); int loops; for(loops=2;loops<loops_nums;loops++){ //Si-2 __memcpy(out_data+(loops-2)* per_out_data_num,nram_out_data+((loops-2)%2)* per_out_data_num, per_out_data_num*sizeof(float),NRAM2GDRAM); //Ci-1 __bang_mlp(nram_out_data +((loops-1)%2)*per_out_data_num, nram_in_data, wram_filter_data , 64, per_filter_data_num, POS); //Li __memcpy(wram_filter_data,filter_data+(loops)* per_filter_data_num, per_filter_data_num*sizeof(int8_t),GDRAM2WRAM); } //Sn-1 __memcpy(out_data+(loops_nums-2)* per_out_data_num,nram_out_data+((loops_nums-2)%2)* per_out_data_num, per_out_data_num*sizeof(float),NRAM2GDRAM); //Cn __bang_mlp(nram_out_data +(loops_nums-1)%2*per_out_data_num, nram_in_data, wram_filter_data +((loops_nums-1)%2)* per_filter_data_num , per_filter_data_num, per_filter_data_num, POS); //Li //Sn __memcpy(out_data+(loops_nums-1)* per_out_data_num,nram_out_data+((loops_nums-1)%2)* per_out_data_num, per_out_data_num*sizeof(float),NRAM2GDRAM); }
0
MLU370— BANG 3.0 编程优化直播课【FAQ合集】
我的回复:#4含含回复如果数据量超过NRAM,可以把计算任务切片成多个计算任务进行分次运行,并不限制切分方式有没有切片的demo程序呀?
0
MLU370— BANG 3.0 编程优化直播课【FAQ合集】
我的回复:请问bangc中数据量太大超过NRAM内存有什么方法可以切分数据再运算吗
0
MLU370— BANG 3.0 编程优化直播课【FAQ合集】
我的回复:BANGC可以指定运行的Core吗
0
Github
开发平台
文档中心
新手必读
官方微信
版权所有 © 2025 寒武纪 Cambricon.com 备案/许可证号:
京ICP备17003415号-1
关闭