专栏算法工具链hbSysMem是否要执行clean、invalidate

hbSysMem是否要执行clean、invalidate

白菜飘落2023-09-01
18
7
1.芯片型号:J5
2.天工开物开发包OpenExplorer版本:J5_OE_1.1.29
3.问题定位:API使用问题
4.问题具体描述:你好,假设我现在有如下网络。其中前一次前推的output2的结果是后一次前推的input2的输入。
  1. 我是否可以这样写代码? 分配两块buffer:hbSysMem buffer[2],第一次前推 直接input2.sysMem[0] = buffer[0];output2.sysMem[0] = buffer[1]。第二次前推input2.sysMem[0] = buffer[1];output2.sysMem[0] = buffer[0]。以此类推。

  2. 如果这样写可以,那这两块buffer是不是可以不执行clean和invalidate操作?

算法工具链
评论2
0/1000
  • 颜值即正义
    Lv.2

    你好,不是用带cache的内存,是可以不执行clean和invalidate的,从经验看,推荐使用带cache的内存哈,详细解读可见社区文章:https://developer.horizon.cc/forumDetail/177840463137677546

    另外,建议升级一下OE版本哈,新版工具链获取链接:https://developer.horizon.cc/forumDetail/118363912788935318

    2023-09-01
    0
    5
    • 白菜飘落回复颜值即正义:

      我这个分配的是带cache的内存。所以一定要执行clean和invalidate?

      2023-09-01
      0
    • 颜值即正义回复白菜飘落:

      在文章中有写呀,麻烦看一下文章

      2023-09-01
      0
    • 白菜飘落回复颜值即正义:

      额,你可能没有仔细看问题具体描述。我知道正常带cache的内存是肯定要clean和invalidate的。但是,我现在的前推代码中不会操作这两块的内存。所以是不是就可以省去clean和invalidate的操作?

      2023-09-01
      0
    • 颜值即正义回复白菜飘落:

      如果确认不涉及计算器件(CPU、BPU等)的读写,是可以的,建议实践看一下是否会影响精度

      2023-09-01
      0
    • 白菜飘落回复颜值即正义:

      好的,谢谢解答。

      2023-09-01
      0
  • 颜值即正义
    Lv.2
    您好,地平线工具链在持续迭代优化,为了给您提供更好的服务,希望您能抽出3分钟左右的时间,将您在使用工具链期间的感受和建议告诉我们,您的宝贵意见对我们很重要,非常感谢!
    问卷链接:地平线算法工具链使用满意度反馈
    2023-09-01
    0
    0