![]() |
1
7
你最好的选择可能是OpenCL。我知道它主要是被吹捧为在GPU上运行代码的一种方式,但是OpenCL内核也可以在CPU上编译和运行。opencl基本上是C,有一些限制:
还有一堆附加的东西。特别是向量类型:
大警告是,代码必须是干净的可执行的,opencl不能调用任意库等。但是,如果计算内核是合理独立的,那么基本上你会得到一个向量增强的C,在这里你不需要使用intrinsic。 Here 是包含所有扩展的快速参考/作弊表。 |
![]() |
3
6
最近英特尔发布了 ISPC 这正是我在问这个问题时想要的。它是一种可以与普通C代码链接的语言,具有隐式执行模型,并支持start post中提到的所有功能(swizzle操作符、分支、数据结构、向量操作、shader-like),并为SSE2、SSE4、AVX、AVX2和Xeon phi向量指令编译。 |
![]() |
4
1
它是C++的一个库,而不是构建在语言中,但是 Eigen 一旦变量被声明,就相当不可见。 |
![]() |
5
0
目前最好的解决方案是通过为Nvidia发布的开源CG前端创建一个后端来实现这一点,但是我想节省自己的精力,所以我很好奇以前是否做过。最好我马上开始用。 |
![]() |
6
0
D编程语言还以与mono.simd类似的方式提供对simd的访问。 |
![]() |
7
0
那就是你要找的要塞。如果内存服务于开放源码编译器(G95、Gfortran),那么如果在硬件上实现了SSE,那么它将利用SSE。 |