7

我正在使用 OpenCL 编写针对 NVidia CUDA 运行时的 GPGPU 内核。我最近在阅读 V8 并发现描述 V8 嵌入技术的页面:

http://code.google.com/apis/v8/embed.html

是否可以在 V8“模板”中“包装”所有 OpenCL 函数,以便我可以在 JavaScript 中编写内核逻辑?

作为参考,OpenCL 1.1 C++ 绑定的链接位于 Khronos 网站上。

我主要担心的是 OpenCL 严重依赖 OpenGL。V8 OpenCL 包装器是否也需要包装大部分 OpenGL(或者令人望而却步的闭源 CUDA 运行时)?还是根本不可能协调 V8 虚拟机和 CUDA 运行时?

4

1 回答 1

1

这可能是“可能的”,但很可能是不可行和不切实际的。解释器本质上是串行处理器。您必须为每个线程生成一个解释器(或者至少每个线程组使用共享内存,但是如果它们使用相同的解释器实例,您将不得不处理相互踩踏的线程)。大多数视频卡没有执行此操作的内存。我想你可以映射共享主机内存来解决这个问题。

底线。

可能是的,但是您会破坏 OpenCL 快速的目的,它实际上会慢数百甚至数百万倍,并且极难实现。

于 2010-12-18T15:29:56.723 回答