【问题标题】:Calling external functions when using OpenCL for CPU Device使用 OpenCL for CPU Device 时调用外部函数
【发布时间】:2013-01-19 15:00:15
【问题描述】:

我正在评估使用 OpenCL 即时编译 CPU 设备的性能关键数学表达式的可能性。我目前正在直接使用 LLVM(或者更确切地说,我有一个有效的概念证明),但会发现 OpenCL 提供的抽象在未来非常有用。

我现在正试图弄清楚在将 OpenCL 用于 CPU 设备时是否有某种方法可以调用具有外部链接的函数,相当于 LLVM 中的以下内容:

... = llvm::Function::Create(..., llvm::Function::ExternalLinkage, "...", ...);

因为我的 OpenCL 实现至少是建立在 LLVM 之上的,所以我希望这能以某种方式实现。

【问题讨论】:

    标签: opencl llvm


    【解决方案1】:

    【讨论】:

    • 不,那个链接并不是我真正想要的。我的意思是从(CPU)内核内部调用具有外部链接的函数。然而,第二个链接非常有用。答案表明,如果不与内核进行“反向通信”之类的事情,这可能根本不可能。
    • 我会奖励你赏金,因为你提供的两个链接基本上提供了我需要的所有信息。通过结合使用与内核的反向通信和 clEnqueueNativeKernel,应该可以从 OpenCL 内核中调用任何外部函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 2017-09-25
    • 1970-01-01
    • 2018-04-22
    • 2014-02-04
    • 2013-01-12
    相关资源
    最近更新 更多