可以使用https://hackage.haskell.org/package/ghc-prim-0.4.0.0/docs/GHC-Prim.html#g:28在Haskell中编写基于SIMD的矢量库,但是它有意义吗?我在Haskell中发现了几篇致力于自动SIMD优化的论文,但目前的状况是什么(2014年)?例如。将https://hackage.haskell.org/package/vector使用SIMD,或者最好使用低级SIMD原语手动编写优化库?
答案 0 :(得分:8)
首先:我不知道GHC甚至有SIMD的初学者。很好找!
无论如何,除此之外,我的理解是:
答案 1 :(得分:6)
目前ghc中没有SIMD自动矢量化。无
当使用本机代码时,当前的simd primops将触发GHC恐慌,尽管它们将与-fllvm后端一起使用。
那些simd primops至关重要地缺乏一个良好的数据混洗数据模型,当前的数据模型将需要相当大的改造来正确支持simd shuffle。