colortwist:SIMD优化中的练习

时间:2024-04-04 00:20:21
【文件属性】:

文件名称:colortwist:SIMD优化中的练习

文件大小:25KB

文件格式:ZIP

更新时间:2024-04-04 00:20:21

arm cpp neon image-processing avx2

色捻 这是SIMD优化中的一点手指练习。 我们尝试优化的示例是称为“颜色扭曲”的图像处理操作。 它是RGB三元组和给定矩阵的矩阵乘积。 因此,如果我们具有源像素值r,g,b,则目标像素R,G,B的计算公式为 在哪里 是颜色扭曲矩阵。 有针对SIMD优化的版本,它们利用了(对于x86)和(对于ARM)。 有多快? 以下是一些数字(1MB = 1,000,000字节): ,msvc 19.27.29112,x64:2048x2048 RGB48位图 版本 性能(MB /秒) colorTwistRGB48_C 1226.24 1720.98 colorTwistRGB48_AVX 3291.02 colorTwistRGB48_AVX2 4297.74 colorTwistRGB48_AVX3 5175.55 colorTwistRGB24_C 318.01


【文件预览】:
colortwist-main
----cmakemodules()
--------FindIPP.cmake(2KB)
----.vscode()
--------launch.json(622B)
--------c_cpp_properties.json(891B)
--------settings.json(1KB)
----lib()
--------colortwist_ipp.cpp(1KB)
--------colortwist_ipp.h(383B)
--------colortwist.h(2KB)
--------colortwist_neon.h(552B)
--------colortwist_c.cpp(2KB)
--------colortwist_c.h(379B)
--------CMakeLists.txt(3KB)
--------colortwist.cpp(5KB)
--------colortwist_neon.cpp(17KB)
--------utils.h(1KB)
--------colortwist_config.h.in(237B)
--------utils.cpp(3KB)
--------colortwist_avx.h(712B)
--------colortwist_avx.cpp(28KB)
----CMakeLists.txt(604B)
----LICENSE(1KB)
----test()
--------testcolortwist.cpp(12KB)
--------CMakeLists.txt(677B)
----README.md(6KB)
----CMakeSettings.json(4KB)
----.gitignore(283B)

网友评论