我即将将我项目的一些 GPU 内核从 OpenCL/Cuda 转换为 Metal,以便在 Apple 设备上运行我的应用程序。目前,我的项目完全是用 C/C++ 编写的。在做了一些研究之后,我认为我需要用 Swift 或 Objective-C 弄脏我的手。但老实说,我对这些东西不太确定,因为用于计算和深度学习的 Metal 语言是相当新的。
我知道有一个名为“ CoreML ”的库,但我的应用程序需要一些自定义内核。我的问题:在我的情况下,处理 Apple 设备的低级 API 的最佳方法是什么?
最佳答案
Metal Shading Language 是 C++ 的一个版本。我在将 OpenCL 或 CUDA 内核移植到 Metal 方面并没有遇到太多麻烦。
Core ML 仅支持有限的一组层。您可以编写自己的自定义层,这涉及编写 CPU 版本和可选的 GPU 版本(使用 Metal 语言)。
我写了一篇关于这个的博客文章:http://machinethink.net/blog/coreml-custom-layers/
关于opencl - 将 OpenCL/CUDA 转换为 Metal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52292553/