zyl910

优化技巧、硬件体系、图像处理、图形学、游戏编程、国际化与文本信息处理。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

12 2024 档案

摘要:将复数乘法改造为SIMD向量算法,是稍微有一些的难度的。首个难点是需要重新调整元素的位置,才能满足复数乘法公式。而“调整元素的位置”与内存中数据布局有关,不同办法的性能不同。还需考虑优化内存访问等细节。 最近知乎有个 帖子 讨论了该话题,且 hez2010 给出了修正后的基于Avx指令集 Horiz 阅读全文
posted @ 2024-12-28 00:56 zyl910 阅读(52) 评论(0) 推荐(0) 编辑

摘要:在上一篇文章里,给大家讲解了24位图像水平翻转(FlipX)算法,其中用到了一个关键方法——YShuffleX3Kernel。一些读者对它背后的原理感兴趣——为什么它在跨平台时运行也能获得SIMD硬件加速, 各种向量指令集的情况下具体怎样实现的?于是本文便详细解答一下。 一、为什么它在跨平台时运行也 阅读全文
posted @ 2024-12-11 22:37 zyl910 阅读(56) 评论(3) 推荐(0) 编辑

摘要:在上一篇文章里,给大家讲解了32位图像水平翻转(FlipX)算法,于是本文来探讨更加复杂的24位图像水平翻转算法。 本文除了会给出标量算法外,还会给出向量算法。且这些算法是跨平台的,同一份源代码,能在 X86(Sse、Avx等指令集)及Arm(AdvSimd等指令集)等架构上运行,且均享有SIMD硬 阅读全文
posted @ 2024-12-04 21:44 zyl910 阅读(28) 评论(0) 推荐(0) 编辑

摘要:在上一篇文章里,我们讲解了图像的垂直翻转(FlipY)算法,于是本文来探讨水平翻转(FlipX)。先讲解比较容易的32位图像水平翻转算法,便于后续文章来探讨复杂的24位图像水平翻转算法。 本文除了会给出标量算法外,还会给出向量算法。且这些算法是跨平台的,同一份源代码,能在 X86(Sse、Avx等指 阅读全文
posted @ 2024-12-01 22:01 zyl910 阅读(45) 评论(0) 推荐(0) 编辑