6

D 的 Mixins 是否可以用于将线性代数运算映射到CPU代码和 OpenCL 或 GPU 顶点着色器函数(如 GLSL)?这将是 D 的真正杀手级应用程序,以及针对 CPU 和 GPU 执行的更好的桥接逻辑。将此与glm和 D 的gl3n进行比较,后者仅将固定大小的线性代数编译为 CPU 代码。

VexCL是使用 OpenCL 和 C++11(GCC 4.6 或更高版本)的概念证明,它完全抽象出与 C++ AMP 有点相似的内存分配和代码执行的后端相关(CPU/GPU)实现细节。所以事情只能在 D 中变得更好,对吗?mixins 能否完全替代 VexCL 中使用的 C++ 表达式模板?这是一个很好的使用教程。

CTFE 也可能在此讨论中发挥作用。

4

1 回答 1

1

当然是。事实上,它应该非常简单。早在 2007 年,我就对这类事情进行了概念验证(请参阅我在第一次 D 会议上的演讲)。那时在 CTFE 中几乎没有什么工作,但它仍然比在 C++ 中做同样的事情要容易一个数量级。

做这种事情的愿望是开发模板值参数、CTFE 和 SIMD 操作的动机的一部分。

于 2013-02-08T12:18:41.337 回答