打开微信,使用扫一扫进入页面后,点击右上角菜单,
点击“发送给朋友”或“分享到朋友圈”完成分享
答:
这个问题可以参考《Cambricon BANG C/C++ 编程指南》了解cncc的异构混合编译流程,也可以参考CNToolkit安装后的samples,路径为/usr/local/neuware/samples/BANG
举例子有个Kernel叫foo,保存在foo.mlu文件中,假设希望编译出的二进制同时支持MLU270/MLU290/MLU370,那么编译时指定多个架构
cncc --bang-mlu-arch=mtp_270 --bang-mlu-arch=mtp_290 --bang-mlu-arch=mtp_372 -fPIC -c foo.mlu -o foo.o
那么foo.mlu会用三个架构选项分别编译成cnbin并合并为cnfatbin保存在foo.o中,foo.o可以和CPU端的二进制使用gcc链接,假设当前在MLU370卡上执行了foo<<<>>>()函数调用,CNRT会根据当前硬件型号解析cnfatbin从中选择mtp_372架构的cnbin执行热门帖子
精华帖子