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.

[参考译文] RTOS/EVMK2G:fmaxf、fminf 的 DSPLIB 函数

Guru**** 2941480 points

Other Parts Discussed in Thread: MATHLIB

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/673238/rtos-evmk2g-dsplib-function-for-fmaxf-fminf

器件型号:EVMK2G
主题中讨论的其他器件: MATHLIB

工具/软件:TI-RTOS

您好!

我正在使用 EVMK2G 评估板、并尝试对我们的 DSP 代码进行一些优化以使用矢量化操作、希望它能够利用 DSP 芯片上的 SIMD 操作。

对于整个数组调用 fmaxf 或 fminf 的最佳方式、您有什么建议? 例如、我有如下代码:

对于(i = 0;i < arrayLength;++I){
newArray[i]= fmaxf (0.0f、array[i]);
newArray[i]= fminf (127.0f、array[i]);
} 

希望有一个函数、如 DSPLib 中的数学函数、可以帮助我解决问题。

非常感谢您的帮助!

Andrew

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

    您能否分享您使用的 SDK 版本?

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

    Yordan、您好、感谢您能很快回来。

    我们使用的是 RTOS 的最新处理器 SDK、版本为 v04.02:

    www.ti.com/.../processor-sdk-k2g

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

    请参阅 TMS320C6000优化编译器 v8.2.x 用户指南文献编号:SPRUI04B、它是 C6000编译器指南的一部分、了解 C6000编译器支持的所有 C 内在函数代码。 虽然架构支持一些最小值和最大值运算、但内在函数中不支持浮点最小值和最大值运算。

    我建议参考此处提供的应用手册"C6000优化简介":
    www.ti.com/.../sprabf2.pdf

    本节介绍了编译器设置和循环修改技术、这些技术将有助于循环的软件移液。 另一个要尝试的操作是将 fmax 和 fminf 函数定义为内联函数。 我们在 MATHLIB 3.0.1.1中提供了多个算术、对数和三角函数、这些函数是 SDK 的一部分、您可以在该 SDK 中参阅、了解如何像这些函数那样内联和向量化这些函数。

    此致、
    Rahul