c# - 在 C# 中使用 AMD APP SDK?

标签 c# c++ opencl gpgpu

<分区>

我到处找,也没有找到确切的资料。
是否有任何绑定(bind)或支持使用 AMD APP SDK用 C#?
我已经看到有用于 Java 的 APARAPI,C# 是否存在类似的东西?

我问这个的主要原因是我想尝试 HSA 和 hUMA 功能,但我不想在 C++ 上浪费时间。

最佳答案

看看这个选项 GpuLinq它将 C# 或 F# 源代码中的 LINQ 代码编译为 OpenCL。这不是通用的 C# API,而是并行执行 LINQ。

来自他们的 Github 网页

“GpuLinq 的主要任务是通过 LINQ 使 GPGPU 编程民主化。主要思想是我们将查询表示为表达式树,经过各种转换优化后,我们将其编译成快速的 OpenCL 内核代码。此外,我们提供了一个非常简单的无需弄乱 OpenCL API 的细节即可使用 API。”

F# 比 C# 更适合在 GPU 上进行并行编程,因为它具有并行异步模式。

截至 2014 年 10 月,HSA 和 hUMA 仍处于领先地位。 Linux 内核补丁于 2014 年 6 月发布,Java 支持将于 2015 年推出,C#/F# 到 OpenCL 分层方法可能存在问题,这些方法未经测试且未经 HSA 尝试。因此,与使用 C 或 C++ 进行编码相比,尝试使用更高级的编程语言可能会导致您花费更多时间来调试基础架构问题。

关于c# - 在 C# 中使用 AMD APP SDK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23888280/

相关文章:

c++ - 使用 system() 函数在后台播放声音

python - 在 C++ 中嵌入 Cython 类方法

OpenCL 缓冲区之间的指针

math - OpenCL 向量类型是否使用 SIMD

c# - Json空数组在MVC中反序列化为null

c# - FluentValidation 一个属性的多个错误消息

c# - IBM MQ XMS.NET 客户端重新连接超时无法更改

c++ - 调整半透明 Qt 小部件大小时黑色闪烁(仅当启用 Aero 时)?

opencl - 将许多内存对象通知 OpenCL 内核的正确方法?

c# - 使用 Dispatcher.Invoke 从非主线程更改 WPF 控件