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.

[参考译文] TMS320C6678:为多核编程启用 OpenMP API 时出现内部错误

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1503986/tms320c6678-internal-error-when-enabling-openmp-api-for-multicore-programming

部件号:TMS320C6678

工具/软件:

尊敬的 TI 团队:

我们可以   在 TMDSEVM6678LE EVM 上使用"openmp_dsp_c667x_2_06_03_00"实现"多核编程"。 我们使用  "openmp_dsp_c667x_2_06_03_00" 执行多核编程。

我们使用下面的代码来测试 OpenMP 功能、我们在下面提到。  

#include <ti/runtime/openmp/omp.h>

int main(){


    int count = 0;
    #pragma omp parallel num_threads(8)
    {
    count++;
    printf("thread %d: count = %d\n", omp_get_thread_num
    (), count);
    }
    printf("thread %d: nb of threads= %d\n", omp_get_thread_num
    (), count);

      return 0;
}

不幸的是、在编译后、我们发现  当我们使用 OpenMP API 时、每个内核都存在大量错误。

[C66xx_2]内部错误:意外的 src 指针- NULL/tomp_parallel.c、224
[C66xx_5]内部错误:意外的 src 指针- NULL/tomp_parallel.c、224
[C66xx_6]地址(0xC01E288)的 CIO 缓冲区中的 CIO 命令(255)无效、未被识别。 请检查器件和程序存储器映射。
[C66xx_7]未识别地址(0xC01E288)的 CIO 缓冲区中的 CIO 命令(255)无效。 请检查器件和程序存储器映射。
[C66xx_0]内部错误:意外的 src 指针- NULL/tomp_parallel.c、224
[C66xx_6]内部错误:意外的 src 指针- NULL/tomp_parallel.c、224
[C66xx_1]内部错误:意外的 src 指针- NULL/tomp_parallel.c、224
[C66xx_7]内部错误:意外的 src 指针- NULL/tomp_parallel.c、224
[C66xx_3]地址(0xC01E288)的 CIO 缓冲区中的 CIO 命令(255)无效、未被识别。 请检查器件和程序存储器映射。

上面我们详细描述了这些错误、我们不知道这些错误的来源。 为什么?

请仔细研究这一问题并相应地指导我们。

最热情的问候

Krishn Singh Chauhan

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

    您好、

    Unknown 说:
    上面我们详细描述了这些错误、我们不知道这些错误来自哪里。 为什么?

    该错误清楚地表明它来自 b224/tomp_parallel.c 文件行 src。  PSDK RTOS 版本附带了完整的源代码供您查看。

    此特定文件位于路径中: /openmp_dsp_c665x_2_06_03_00/packages/ti/runtime/openmp/tomp_parallel.c src

    谢谢。

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

    尊敬的 Praveen Rao:

    您好。

    感谢您的回复和持续支持。

    我们目前正在探索 多核编程 消息流 OpenMP 和观察到了与您之前提到的类似的行为。 但是、我们仍然不确定以下错误的根本原因:

    INTERNAL ERROR: Unexpected NULL pointer - src/tomp_parallel.c, 224

    我们的目标是成功实现多核编程、但我们在执行过程中会遇到此问题。 如果您能分享任何其他资源、见解或建议、以帮助我们更有效地解决此错误、我们将不胜感激。

    此外、如果您可以提供以下方面的提示或最佳实践:

    • 库依赖项

    • 文件和存储器设置

    • 在 TI 平台上进行多核执行的系统配置

    这将非常有帮助。

    期待您的宝贵指导。

    最热情的问候
    Krishn Singh Chauhan

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

    您好、Krishn、

    我们知道您正在探索使用 OpenMP 进行多核编程。 但是、器件和 SDK 被视为旧版、我们将对它们提供有限的支持。 最好的选择是查看 SDK 代码和文档。  

    我们在上一个主题中提到过您、但我们想重申、我们可以为此器件提供有限的支持。 除了已有的公共 SDK 之外、我们没有任何其他资源可供共享。  

    谢谢。

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

    尊敬的 Praveen R.:

    您好。

    我们衷心感谢您的持续参与和您提供的宝贵技术援助。

    我们期待在此线程上出现最终查询:
    您能给我们一些有关此错误的提示"如何避免或解决该错误?"。

    因为这种编译错误 很难从 SDK 进行调试或跟踪(因为我们保护了 TI 的标准库和代码)。 这就是我们需要您最终帮助的原因。

    这些信息将极大地帮助我们调整我们的设置 以 探索"多核编程"。

    如果此信息不易获得或无需进一步输入、请随时关闭该主题。

    最热情的问候

    Krishn Singh Chauhan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid="193493" url="~/support/processors-group/processors/f/processors-forum/1503986/tms320c6678-internal-error-when-enabling-openmp-api-for-multicore-programming/5781336 #5781336"]

    您能给我们一些有关此错误的提示"如何避免或解决该错误?"。

    因为这种编译错误 很难从 SDK 进行调试或跟踪(因为我们保护了 TI 的标准库和代码)。 这就是我们需要您最终帮助的原因。

    这些信息将极大地帮助我们调整我们的设置 以 探索"多核编程"。

    [/报价]

    您的"我们保护 TI 的标准库和代码"这一声明并不理解。  您能解释一下您正在保护什么吗? TI SDK 提供了完整的源代码、供您根据需要查看、理解和开发。

    请注意、这些模块是几年前发布的。 因此、我们目前可以提供有限的支持。 感谢您的理解。

    谢谢、

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

    尊敬的 Praveen R.:

    您好。

    再次感谢您对此主题的技术支持、我们非常感谢 您提供的宝贵技术帮助。

    请关闭此主题。

    最热情的问候

    Krishn Singh Chauhan

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

    关闭螺纹。