使用 PyOpenCl 在 Python 中编写 OpenCl 内核
Writing OpenCl Kernels in Python using PyOpenCl
当我在 PyOpenCl 中编写代码时,我是否仍需要在 C 中编写内核,或者我可以在 Python 中以某种方式编写它们?
是的,你仍然需要用 C 编写内核。
处理起来真的不是很痛苦。如果你想要更多的抽象,你可以创建一个领域特定语言 Python 映射到 C 内核的一部分。
编写内核需要 C 的原因是因为 OpenCL 的存在是为了创建极其高性能的应用程序。为了充分利用 GPU,您需要控制应用程序执行的确切片上操作(例如按位操作),以及应用程序如何分配 GPU 的内存空间(全局、共享和本地)。 C 是一种具有这种控制能力的好语言。
当我在 PyOpenCl 中编写代码时,我是否仍需要在 C 中编写内核,或者我可以在 Python 中以某种方式编写它们?
是的,你仍然需要用 C 编写内核。
处理起来真的不是很痛苦。如果你想要更多的抽象,你可以创建一个领域特定语言 Python 映射到 C 内核的一部分。
编写内核需要 C 的原因是因为 OpenCL 的存在是为了创建极其高性能的应用程序。为了充分利用 GPU,您需要控制应用程序执行的确切片上操作(例如按位操作),以及应用程序如何分配 GPU 的内存空间(全局、共享和本地)。 C 是一种具有这种控制能力的好语言。