gpt4 book ai didi

swift - Metal 计算-像素依赖于其他像素颜色

转载 作者:行者123 更新时间:2023-11-30 10:28:53 24 4
gpt4 key购买 nike

我最近开始学习 Metal 框架,这样我就可以为我的 swift 应用程序编写一些过滤器。我即将编写一个 Metal 内核,它基于误差扩散抖动来抖动图片。每个像素都被赋予一个颜色,然后根据原始像素颜色将值分配到相邻像素。在计算每个像素时,这些值会分布在整个图像上,因此所有像素都相互依赖。该示例是弗洛伊德·斯坦伯格抖动。

根据 Metal 处理线程的方式,这种抖动方法不起作用。对图像进行抖动处理时,只能按从第一个到最后一个的顺序计算像素。是否有可能有一个不涉及线程的内核,或者一种选择整个图像数组由单个线程计算的方法?

最佳答案

简而言之,不,您无法使用 GPU 计算来做到这一点,因为 GPU 方法是隐式并行的。这意味着一个结果不能依赖于所有其他结果。您可以尝试将计算分解为多个阶段,以便一次可以并行完成一个阶段。但这取决于您的计算逻辑的作用。如果您只想在 GPU 上使用“一个线程”,那么在 CPU 上进行计算可能会更快。如果您有兴趣,我写了一个您可能想阅读的方法 Rice decompression with Metal 。这种方法对解压缩任务进行逐 block 分段。

关于swift - Metal 计算-像素依赖于其他像素颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59581584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com