【CANN训练营2023年第二季】我玩的就是真实!!Ascend C核函数如何声明中间变量

举报
yd_286753431 发表于 2023/12/19 04:47:54 2023/12/19
【摘要】 PS:巨量时间,不断踩坑,悲凉血泪史,总结成的小小见解。如果各位觉得写的还行,劳请各位老师们点赞收藏一波!!各位老师的鼓励是我坚持写作的动力!!我玩的就是真实!!!我玩的就是真实!!!我玩的就是真实!!!这是个挺好的问题,以下解决方案仅代表个人见解,如果有更好的方案,希望大家不吝提出,共同学习问:Ascend C核函数如何声明中间变量?这个问题来源于论坛某位大佬提出的问题,本人在编写sinh...

PS:巨量时间,不断踩坑,悲凉血泪史,总结成的小小见解。

如果各位觉得写的还行,劳请各位老师们点赞收藏一波!!各位老师的鼓励是我坚持写作的动力!!

我玩的就是真实!!!我玩的就是真实!!!我玩的就是真实!!!


这是个挺好的问题,以下解决方案仅代表个人见解,如果有更好的方案,希望大家不吝提出,共同学习

问:Ascend C核函数如何声明中间变量?

这个问题来源于论坛某位大佬提出的问题,本人在编写sinh的过程中也遇到这个问题

所以就想记录下个人思路


cke_4868.png


下面就直接贴代码展示了,直接声明


TBuf<TPosition::VECCALC> calcBuf1;
TBuf<TPosition::VECCALC> calcBuf2;
TBuf<TPosition::VECCALC> calcBuf3;复制

在应用的时候使用以下代码


        pipe.InitBuffer(calcBuf1, this->tileLength * sizeof(float));
        pipe.InitBuffer(calcBuf2, this->tileLength * sizeof(float));
        pipe.InitBuffer(calcBuf3, this->tileLength * sizeof(float));复制

        LocalTensor<float> bufLocal1 = calcBuf1.Get<float>();
        LocalTensor<float> bufLocal2 = calcBuf2.Get<float>();
        LocalTensor<float> bufLocal3 = calcBuf3.Get<float>();复制



PS:巨量时间,不断踩坑,悲凉血泪史,总结成的小小见解。

如果各位觉得写的还行,劳请各位老师们点赞收藏一波!!各位老师的鼓励是我坚持写作的动力!!

我玩的就是真实!!!我玩的就是真实!!!我玩的就是真实!!!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。