【发布时间】:2010-11-29 22:53:04
【问题描述】:
是否有可能让 GHC 为各种 SSE 生成生成 SIMD 代码?
例如。有这样的程序
import Data.Array.Vector
main = print . sumU $ (enumFromToFracU 1 10000000 :: UArr Double)
我可以看到生成的代码(为 64 位 x86 编译)在标量模式下使用 SSE 指令(C 和 asm 后端)。所以addsd而不是addpd。对于我从事的程序类型,向量指令的使用对性能很重要。对于像我这样的新手,有没有一种简单的方法可以让 GHC 使用 SSE 对代码进行 SIMDize?
【问题讨论】:
标签: loops haskell vector parallel-processing simd