主题中讨论的其他器件: AWR6843
工具/软件:
尊敬的雷达团队:
我在 C674x (AWR6843) 上有一个需要移植到 C66 (AWRL6844) 的应用。 但是、我担心、如果我对代码进行矢量化、C66 性能只会比 C674 提高。 如何确保代码得到正确的矢量化、从而充分发挥 C66 的潜力?
祝您一切顺利、
Ethan cope
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.
嘿 Ethan、
这应该在一定程度上由编译器自动完成。 有一些特定的 DSP 内在函数、pragma、变量属性、restrict 限定符和断言、可以帮助编译器识别可以在循环中矢量化的运算。 但是、C66 和 C674 之间应保持相同的方式来利用这些特性、因此我相信这里不需要太多的手动工作。
某些 DSP 优化功能可能需要手动调整,并且扩展了某些优化功能,例如新的内在函数,但这必须根据具体情况进行处理 — 请参阅下面的资源。
我建议让代码运行 C66 并进行基准测试、看看是否需要更高的性能。 如 TMS320C6000 编程人员指南所述、大多数循环只需通过与上述功能协同工作的编译器优化即可实现最大吞吐量、因此、只要这些功能在 C674 上使用、那么编译器可能已经对这些循环进行了优化、使 C66 上的吞吐量接近最大值。 如果需要额外的工作、我建议查看以下材料、因为有大量的优化方案可供选择:
希望这对您有所帮助、但如果您有任何后续问题、请告诉我。
谢谢、
Kristien