将OpenCL / CUDA转换为Metal

问题描述 投票:1回答:1

我准备将我的项目的一些GPU内核从OpenCL / Cuda转换为Metal,以便在Apple设备上运行我的应用程序。目前,我的项目完全用C / C ++编写。在做了一些研究之后,我想我需要用Swift或Objective-C弄脏我的手。但说实话,我不确定这些东西,因为用于计算和深度学习的金属语言是相当新的。

我知道有一个名为“CoreML”的库,但我的应用程序需要一些自定义内核。我的问题:在我的情况下,处理Apple设备的低级API的最佳方法是什么?

opencl coreml metalkit
1个回答
3
投票

Metal Shading Language是C ++的一个版本。将OpenCL或CUDA内核移植到Metal时,我没有遇到太多麻烦。

Core ML仅支持一组有限的图层。您可以编写自己的自定义图层,包括编写CPU版本和可选的GPU版本(使用Metal语言)。

我写了一篇关于此的博文:http://machinethink.net/blog/coreml-custom-layers/

© www.soinside.com 2019 - 2024. All rights reserved.