2010-01-28 77 views
17

我在哪裏可以找到關於常見SIMD技巧的信息?我有一個指令集並知道如何編寫非棘手的SIMD代碼,但我知道,現在SIMD功能更強大。它可以容納複雜的條件無分支代碼。
例如(ARMv6),下面的指令序列集合等於Ra和Rb的對應字節的無符號的最小路的每個字節:常見SIMD技術

USUB8 Rd, Ra, Rb 
SEL Rd, Rb, Ra 

教程的鏈接/罕見SIMD技術也很好: )ARMv6對我來說是最有趣的,但x86(上證所,...)/ 霓虹(在ARMv7)/其他人也很好。

回答

12

有史以來最好的SIMD資源之一是舊的AltiVec郵件列表。儘管PowerPC/AltiVec專用,但我懷疑這個列表中的許多材料對於任何使用其他SIMD體系結構的人來說都是普遍感興趣的。令人遺憾的是,這個列表現在在移至power.org上的論壇後現在已經不復存在,但您可能能夠找到其存檔版本。 (如果沒有,那麼讓我知道 - 我有幾乎所有從2000年的職位 - 2007年)

還有一個在http://developer.apple.com/hardwaredrivers/ve/index.html了很多關於AltiVec技術,SSE,一般SIMD矢量化和性能的潛在有用的信息,好其中的交易可能轉讓給其他SIMD架構。

+1

同意的AltiVec技術頁面上的項目 - 「編寫的AltiVec代碼」的一些章節是關於一般矢量編程最佳實踐非常有幫助。 – 2010-01-30 04:33:14

+3

不幸的是,截至目前該頁面現在重定向到Apple Advanced Conmputation Group。該網頁仍在Google緩存中:http://209.85.229.132/search?q=cache:eHR6ni6SROoJ:developer.apple.com/hardware/ve/index.html+site:developer.apple.com+Velocity+Engine&cd = 1&hl = fr&ct = clnk&gl = fr並且子頁面不重定向,所以內容仍然可用,儘管我將它歸檔爲Just In Case(TM)。 – 2010-04-01 17:07:09

+0

@Pierre:這真是一種恥辱 - 我想蘋果覺得沒有人會在意AltiVec了。不幸的是,舊的AltiVec郵件列表似乎也消失了 - 它顯然已經移到了power.org,但現在我找不到它了。幸運的是,我已將其大部分歸檔。 – 2010-04-01 17:10:02