This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM5726:分配 DSP 的内存

Guru**** 2618835 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/578548/am5726-allocating-memory-from-dsp

器件型号:AM5726

您好,

我们希望使用 OpenCL 在 AM57xx EVM 中的 DSP 上运行一些操作

因此、有一个 DSP 算法代码、它希望在 DSP 端使用 MEM_alloc 分配内存

我们编译 DSP 端代码并创建它的静态库。
之后、我们在.cl 文件中创建包装程序、以便从 ARM 端调用该函数。

但是、当我们使用该 DSP 库编译.cl 文件以创建.out 文件时、它会显示 对 MEM_alloc 的引用未定义

在这种情况下、如果可以从 DSP 端使用 MEM_alloc、那么我们可以如何使用它。
或者是否有任何其他方法(在 OpenCL 中)在 DSP 端分配内存以替代 MEM_alloc。

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Harshil、

    TI OpenCL 用户指南中有一节介绍了 OpenCL C 内核或从 OpenCL C 内核调用的 C 代码的内存分配、网址为 :downloads.ti.com/.../dsp-malloc-extension.html

    希望这对您有所帮助、
    Ajay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ajay、

    根据您的回答、我们必须调用 OpenCL c 内核来分配 ARM 端主机代码中的内存、

    但是、我们希望根据需要在 DSP 端分配内存(在任何 DSP 端函数内)。

    在 DSP 端是否有任何分配存储器的配置。

    谢谢,

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Harshil、

    推荐的方法是使用缓冲区调用 OpenCL 内核、并使用该缓冲区作为后备存储器来初始化堆。 这是使用_heap_init_函数完成的。 堆初始化后、从 OpenCL 内核调用的 DSP 上的 C 代码可以使用__malloc_函数分配内存。 堆初始化内核被调用一次以在 DSP 上设置堆。 设置后、只要堆使用的 OpenCL 缓冲区可用、内核就可以使用__malloc_*函数。

    您必须将 DSP 代码中的 MEM_alloc 函数替换为__malloc_*函数。  

    Ajay