2017-12-28 22 views
0

私は単純なメタルファイルを持っていて、私の関数の中で、私はインポートしようとしているC++ライブラリから時間のかかる関数を呼びたいと思っています(interface.h)。私のメタルカーネル関数から外部関数を呼び出す

私の目標は、signBlock機能の内部で発生するCPUからGPUへの負荷を軽減することです。

私は説明していることは可能ですか?ここで少しのコードでは、signBlock()のコードは、金属との互換性がある場合は、[はい、あなたはそれを呼び出すことができます(それは確かに非常に便利ではありません)

#include <metal_stdlib> 

#include "interface.h" 

using namespace metal; 

kernel void testFunc(); 
{ 
    // In here, can I call function `signBlock` from `interface.h`? 
} 

答えて

0

です。しかし、メタルシェーディング言語はC++と100%同じではないため、C++の機能はまったく受け入れられません。 (そして、実際には、C++ライブラリではなく、.metalソースファイルにコードを格納する必要があります。)

+0

Fwiw、ライブラリ関数はcharといくつかのバイトをとり、char –

関連する問題