【发布时间】:2016-07-05 10:59:09
【问题描述】:
当我在 PyOpenCl 中编写代码时,我还需要用 C 编写内核,还是可以用 Python 编写它们?
【问题讨论】:
当我在 PyOpenCl 中编写代码时,我还需要用 C 编写内核,还是可以用 Python 编写它们?
【问题讨论】:
是的,您仍然需要用 C 编写内核。
处理起来真的不是很痛苦。如果您想要更多抽象,您可以使用 Python 创建一种特定于领域的语言,该语言映射到 C 内核的某些部分。
编写内核需要 C 的原因是因为 OpenCL 的存在是为了创建高性能的应用程序。为了充分利用 GPU,您需要控制应用程序执行的确切片上操作(例如按位操作),以及应用程序如何分配 GPU 的内存空间(全局、共享和本地)。 C 语言非常适合进行这种控制。
【讨论】: