對booth演算法的一點理解

2021-07-27 23:17:19 字數 431 閱讀 2288

最近學到了booth演算法,不太理解,看了網上很多解釋,感覺wiki和知乎的乙個回答裡解釋的比較好:

在這裡寫一點我自己的理解:乙個用的比較多的解釋booth演算法的例子是 0011_1100 它可以寫成0100_0000-0000_0010 為了方便理解我們可以在表示中引進-1,這樣就可以寫成0100_00(-1)0 被乘數直接和0100_0000或者0000_00(-1)0相乘可以直接用左移的方式計算,不過因為有正負,所以booth演算法中會有遇到「10」,減去被乘數;遇到「01」加上被乘數的規則,這和我們的轉換也正好對應。

還有一點,booth演算法中是不斷右移,右移次數和乘數字數相同。之所以右移是因為booth演算法中對被乘數的加減都是把被乘數放在高位上(充分利用暫存器),有乙個相對運動的轉化。

因為初學的緣故,以上理解可能會有偏差。總的來說,還是對照wiki和知乎的解釋,多做兩道題會比較有感覺。

對raft演算法的一點理解

raft演算法的目的及工作過程 raft演算法是為了保證在超過半數的伺服器正常工作的情況下仍然可以達成一致,像乙個整體一樣工作,並且一少部分慢的機器不會影響系統的整體效能的一致性演算法。raft演算法開始時在集群中選舉出領導人負責日誌複製的管理,領導人接受來自客戶端的請求並把該日誌複製給集群中的其它...

對 threadfence的一點理解

一直沒搞清楚,cuda 2.2版增加的 threadfence到底有何作用,直到今天看到sdk 3.0手冊 中的下面例子才恍然大悟.中文為我的理解,嘿嘿 乙個求和的例子 device unsigned int count 0 統計有幾個block結束的變數 shared bool islastblo...

對GBDT的一點理解

gbdt由一系列的回歸樹組成,如下圖所示 樹的深度未必都要一樣,下圖僅為示意圖 gbdt原理 針對每乙個類別訓練一系列的回歸樹,再累加每個類別回歸樹的 值得到針對每個類別的最終的 值。單獨拿乙個類別來說,訓練的過程中假設需要 的值為f xi 實際的值為yi 有loss function l yi,f...