切换版块
×
基础软件平台
PyTorch开发
TensorFlow开发
编解码及SDK开发
BANG语言与计算库
开发工具链
MagicMind开发
软件栈百科
云平台集成
硬件产品专区
MLU370系列AI加速卡
MLU270系列AI加速卡
MLU220系列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
开发平台
文档中心
新手必读
官方微信
版权所有 © 2024 寒武纪 Cambricon.com 备案/许可证号:
京ICP备17003415号-1
关闭