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.

[参考译文] CCS/66AK2H14:如何使用 ARM 和 DSP 通过 K2H 板调试基于 OpenMP 的应用?

Guru**** 2539500 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/667276/ccs-66ak2h14-how-to-debug-an-openmp-based-application-over-k2h-board-using-both-arms-and-dsps

器件型号:66AK2H14

工具/软件:Code Composer Studio

您好!

目前、我正在 EVM 66AK2H 板上处理基于 OpenMP 的应用。 我需要使用TI OpenMP 加速器模型中介绍的模型将 DSP 内核用作加速器(目标器件)

我可以使用 clacc 编译和运行应用程序,方法是使用 Processor SDK (/usr/share/ti/examples/openmpacc)中包含的 OpenMP* Acc 示例。 但是、我想调试应用程序以修复一些运行时错误。

我已经使用了 CCS、如此处所示、以便编译和调试在 ARM 内核中执行的程序。 我已使用 gdbserver 进行调试。 我已启用 OpenMP,在“交叉 G++编译器”和“交叉 G++链接器”选项中添加了-fopenmp 标志。 但是,我发现的问题是,应该在 DSP 内核中执行的“#pragma omp target”中的代码实际上只在执行此 pragma 的 ARM 中执行。 因此、DSP 内核不执行代码。

您能给我一些关于如何将 CCS 调试项目用于电路板上使用 OpenMP 的应用的想法吗? 此应用程序应使用“#pragma omp target”设备结构将代码发送到内核 DSP。 例如、如何使用 CCS 使用 Processor SDK 中包含的矢量添加示例?

此致、

Javier

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    团队将收到通知。 他们将直接在此处发布反馈。

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

    在多核中调试 OpenMP 是一项挑战。 OpenMP 的低层是 IPC、负责'#pragma omp target'的指令、用于目标中的程序执行和与主机的通信。 "IP 3.x 的调试工具和技术"- www.ti.com/lit/an/sprac12/sprac12.pdf、可能会有所帮助。

    包含'#pragma omp target'的'./target_implicate_map/timplicit_map_target.c'是否与您的板上一样工作? 是否可以基于示例来集成您的应用?

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

    OpenCL 是 OpenMP 和 IPC 之间的一层。 OpenMP 卸载实现使用了 OpenCL。 OpenCL 页面上的信息适用于卸载的 OpenMP 代码、如果您的应用仍有问题、下面的文档可能会提供帮助。

    downloads.ti.com/.../index.html
    downloads.ti.com/.../examples.html

    此致、
    Garrett