[英]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.