【问题标题】:Does Intel IPP 8.0 support in-place operations?英特尔 IPP 8.0 是否支持就地操作?
【发布时间】:2013-08-14 08:39:49
【问题描述】:

IPP

在 IPP 8 中,它们已被弃用:deprecation-summary

尚不清楚新的异地功能是否也支持就地操作。

我的猜测是,对于某些函数,可以为 src/dst 传递相同的指针,但对于其他函数则不然,但这没有记录。

这里是documentation

【问题讨论】:

    标签: intel-ipp


    【解决方案1】:

    我有类似的问题,并已将其发布在英特尔的开发者专区。以下链接将带您访问我的帖子以及我从英特尔得到的答案:

    http://software.intel.com/en-us/forums/topic/498093

    这是来自上述链接的简短引用:

    在 IPP 8.1 中(将于 2014 年 6 月在 Web 上提供)弃用消息从所有 ipps 就地功能中删除(基于客户的反馈)。计划在不久的将来对 ippi 域进行相同的操作。

    希望你觉得这对你有帮助(我做到了)。

    【讨论】:

    • 您能否在答案中包含部分链接?如果该链接无效,那么我们将无法看到答案。
    【解决方案2】:

    这是英特尔对deprecated functions 评论的引述:

    就地功能将被删除:就地功能仅接受 一个输入和输出指针。不合时宜的版本经常 提供相同的功能,但具有额外的灵活性 指定不同的输出缓冲区。

    根据我的经验,所有已弃用的原地变体的原地函数都支持原地操作,pSrcpDst 可能指向相同的内存。

    因此我的回答是:是的,IPP 8.0 仍然支持就地操作,但没有很好地记录。

    【讨论】:

      【解决方案3】:

      这是 7.1 中已弃用的函数的 list,以及推荐的替代品。您应该注意到,非就地函数通常被推荐作为其就地对应物的替代品。

      这是一个论坛discussion,在该论坛中,一位英特尔工程师确认可以通过设置 src==dst 来使用非就地函数代替就地函数。

      不过,有一个警告。如果您使用的是 IPP 7.0,编译器将发出弃用警告。但是,至少对于其中一些函数,使用 src==dst 方法会产生损坏的输出。这似乎直到 7.1 才完全实现。我曾亲身经历过过滤器功能的问题,在讨论中有一个question,尽管英特尔从未对此作出回应。

      令人沮丧的是,英特尔并没有更加坦率地明确记录这一变化。由此产生的错误很难诊断,并且很容易被完全忽略。捕捉它们的唯一方法是比较两个函数的输出,很少有人会费心去做。

      【讨论】:

        猜你喜欢
        • 2018-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多