c# - 有没有办法在没有第 3 方插件的情况下对 OpenCL 进行编程? C#

标签 c# kernel opencl gpgpu gpu

我知道如何在 GPU 上运行 C# 是一个常见问题,但我的问题有点不同。有没有办法在没有第 3 方框架(例如 Cudafy)的情况下做到这一点。我不想使用插件,因为我正在制作一个程序,我打算 100% 是我自己的代码(个人抱负)并且感觉如果我这样做我不会学到那么多。

我是否只需要创建一个内核并编译它并从 c# (process.start()) 调用它,还是有更好的方法来完成它。

我该如何制作内核?我是 GPGPU 的初学者,很抱歉我的无知。但是,我是一个非常高级的 c# 程序员。

最佳答案

经过很长一段时间,我终于找到了解决问题的办法。我创建了到(非托管)OpenCL.dll 的绑定(bind)。然后它使用一些技巧通过使用属性在 GPU 上运行代码。我能描述的最好的方式就像 Cudafy,但它是完全不同的。

感谢那些回答我问题的人。

关于c# - 有没有办法在没有第 3 方插件的情况下对 OpenCL 进行编程? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45225849/

相关文章:

scala - Scala 是否足以用于 native 、系统和内核编程?

c++ - `clEnqueueFillBuffer()` 仅随机正确填充缓冲区

c# - gridview e.CommandArgument 字符串格式不正确

linux - 如何使用 ftrace 跟踪 linux 公平(调度程序)进程

c# - 在 VB.Net/C# Forms 应用程序中打印 - 布局设计器?

memory-management - 关于 "__GFP_COMP"的用法?

memory-management - 如何将 cl_mem 缓冲区数组传递给 OpenCL 设备

opencl - 手动循环展开已知最大尺寸

c# - 如何返回一个已取消的 ValueTask<T> 并传播一个 OperationCanceledException,而不需要 async/await?

c# - 如何去除字符串中的unicode字符