我正在使用最小编辑距离算法来确定两个字符串的相关程度.我已经实现了它在CPU上运行,当你有数百个字符串时它很有用,但是当你多次比较数千个字符串时,它会减慢速度.所以我认为卸载GPU可能很有用,因为它可以同时执行多次比较.
这可能吗?我遇到的金属资源主要是图形,没有帮助.或许他们是?
您想要做的事情是可能的,至少对于某些问题规模而言,但并不是特别简单.您需要做的是以可在GPU上运行的方式表达算法,在iOS上运行,这可能意味着使用Metal.具体来说,您需要使用Metal着色语言编写一个或多个计算内核,以实现最小编辑距离算法,然后使用Metal计算命令编码器对其进行调度.Web上有Metal的计算编程有几种资源.
我不知道MED的现有Metal实现,但至少有一个CUDA实现,你可以在这里阅读GPU上更长的MED解释.
除了@warrenm的回答,你需要编写内核函数或其中的几个.有很酷的金属教程网站:http://metalbyexample.com,Apple文档也有一些内容:https://developer.apple.com/library/content/documentation/Miscellaneous/Conceptual/MetalProgrammingGuide/Compute-Ctx/Compute -Ctx.html
还有一些关于https://www.raywenderlich.com的教程,但它们大多是面向图形的.您还可以检查iOS的GPUImage库,这是一个很好的OpenGL包装器,界面很好.也许还有一个选项来编写将使用OpenGL执行的自定义函数?