我们正在写一个针对英特尔硬件的图像处理算法。一般来说,我们更喜欢通用的C实现,但我们已经确定了一种算法,它的核心是做大量的离散余弦变换(DCT),工作得非常好。不幸的是,我们的吞吐量要求是这样的,一般的C实现大约是2个数量级太慢。我可以通过其他一些技巧得到一个数量级,所以如果我可以将DCT的数量级提高一个数量级,我就有一条通往成功的道路。
英特尔MMX是一种让硬件加速来实现DCT的方法吗?有没有其他特定于英特尔的库和/或硬件,我可以利用它们来加速这些坏家伙?
我从哪里开始找?这对我来说是一份新工作,也是我第一次努力钻研英特尔硬件,所以任何指针都会非常感谢。

最佳答案

看看英特尔的Integrated Performance Primitives库。它包含大量的例程,这些例程经过了大量优化以使用英特尔体系结构,特别是MMX和SSE。在许多其他事情中,IPP还包含DCT(documentation here)的例程。

关于c - 基于Intel的DCT硬件速度提升了吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8930644/

10-12 21:32