[英]Does Haskell perfom SIMD optimizations automatically?
可以使用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原语手动编写优化库?
第一:我不知道GHC甚至有SIMD的初学者。 很好找!
无论如何,除此之外,我的理解是这样的:
目前ghc中没有SIMD自动矢量化。 没有
当与本机代码一起使用时,当前的simd primops将触发GHC恐慌,尽管它们将与-fllvm后端一起使用。
那些simd primops至关重要地缺乏数据改组的良好数据模型,当前的数据模型将需要相当大的改造才能正确地支持simd shuffle。
llvm后端可以对代码进行某些自动矢量化优化,但我通常将自动矢量化视为奖励而不是代码如何优化的核心假设,它需要一些仔细的审核来验证!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.