tft每日頭條

 > 生活

 > 學習筆記計算機組成原理3-存儲器

學習筆記計算機組成原理3-存儲器

生活 更新时间:2024-10-20 07:53:01

學習筆記計算機組成原理3-存儲器(利用新型存儲器陣列一步解線性方程組和特征向量)1

線性代數存在于幾乎所有的科學和工程領域,比如統計學、物理學、信号處理,和機器學習。線性代數中最核心的一個操作是解不同的矩陣方程,包括解線性方程組和特征向量等。在傳統計算機上,解矩陣方程需要一些精心設計的算法,如高斯消元法、LU分解法,然後在多項式時間内(比如O(N3),N是矩陣行/列數)獲得方程解。

在大數據時代,人們要處理的數據呈爆發式增長,而很多數據處理本質是一個矩陣方程問題,如谷歌的網頁排序(PageRank算法)、利用超級計算機模拟量子效應(解薛定谔方程)。随着摩爾定律的失效,以及由于馮諾依曼架構存儲、計算分離的固有限制,想更快、更省地完成數據處理變得越來越難,而計算的時間和能耗效率在大數據時代顯得尤為重要。

近年來,存内計算(in-memory computing)興起,通過在存儲單元内完成計算将顯著提高計算效率。一個典型的存内計算例子是利用阻變存儲器(或稱憶阻器)的交叉陣列一步完成矩陣-向量乘法的運算,從而快速完成包括訓練神經網絡在内的大數據任務。然而,一步解矩陣方程,如線性方程組Ax = b,仍然是一個挑戰。在我們最新的PNAS文章裡,我們報道了利用交叉存儲陣列,通過引入反饋電路,可以一步解線性方程組和矩陣的特征向量,進而實現一步解微分方程,包括傅裡葉方程、薛定谔方程,和一步完成谷歌的網頁排序。

對于解線性方程組Ax = b,我們采用的電路如圖1(a)所示。電路中包含了一個交叉存儲陣列,陣列中每一個行線和列線之間有一個阻變存儲器件,它的電導值一一對應于矩陣中的一個元素值。已知向量b由行線的輸入電流表示,通過運算放大器(運放)引入的負反饋機制将使行線虛接地,從而列線上運放的輸出電壓可以表示未知向量x的解值。由于矩陣A以非易失的形式存儲在交叉陣列中,一旦施加輸入電流,相應的線性方程組就能一步得到解答。實驗中,我們存儲的矩陣A如圖1(a)所示。圖1(b)給出了一個相應的線性方程組的實驗解,以及它的解析解。可以看到,實驗解十分接近解析解(相對誤差在3%),從而證明了我們方案的可行性。逆矩陣也是線性代數中一項非常重要的内容,它也可以通過求解多個線性方程組獲得,實驗解和解析解的比較如圖1(c)所示。

學習筆記計算機組成原理3-存儲器(利用新型存儲器陣列一步解線性方程組和特征向量)2

圖1. 線性方程組求解電路及求解結果。

阻變存儲器件的電導值隻能為正數,因此圖1(a)的電路隻适用于解系數為正的線性方程組。為了使我們的方案具有普适性,即,解任意實數的線性方程組,我們進一步拓展了電路,如圖2(a)所示。圖中利用了兩個交叉陣列和反相器,實現了兩個正矩陣之間的差,從而能夠代表任意實數矩陣。基于該普适的線性方程組求解電路,利用有限差分法,我們求解了一個微分方程。如圖2(b)所示,在兩個電極之間施加一個電壓,電極之間導線上的溫度分布可以用一維靜态傅裡葉方程來描述。圖2(c)給出了該微分方程的電路解,可以發現與方程的解析解完美重合,從而證明了我們的電路用于快速求解實際問題的可靠性。

學習筆記計算機組成原理3-存儲器(利用新型存儲器陣列一步解線性方程組和特征向量)3

圖2. 針對任意實數矩陣的線性方程組求解電路,及求解熱傳導的一維傅裡葉方程。

基于交叉存儲陣列和運放的負反饋機制,我們還能求解矩陣方程Ax = λx,λ為矩陣的特征值,x為相應的特征向量。電路如圖3(a)所示,矩陣A依然由交叉陣列表示,λ由跨阻放大器的跨導表示,反相器的輸出電壓即為待解的x,從而實現一步求解特征向量。需要注意的是,圖3(a)電路用于求解正特征值的特征向量,而假如求解負特征值的特征向量,将反相器移去即可,負特征值的絕對值依然由跨阻放大器的跨導表示。和線性方程組求解電路一樣,特征向量求解電路也可以拓展到任意實數矩陣。谷歌公司的網頁排序算法(PageRank)本質上就是求解一個随機矩陣的最大特征值的特征向量,因此,我們的電路可以用于一步實現網頁排序,而不需要繁複的疊代算法,從而為搜索引擎提供加速。圖3(b)表示了各科技巨頭公司的Wikipedia網頁之間的連接情況(網頁i指向網頁j代表網頁i引用網頁j),圖3(c)則給出了電路解的排序結果和解析解之間的比較,可以發現二者排序一緻。

學習筆記計算機組成原理3-存儲器(利用新型存儲器陣列一步解線性方程組和特征向量)4

圖3. 特征向量求解電路及PageRank。

薛定谔方程HΨ = EΨ是量子力學的基礎,為了獲得一個量子系統的波函數分布,必須求解相應的薛定谔方程。作為一個微分方程,薛定谔方程可以通過有限差分法轉化為一個特征向量問題。圖4(a)是一個一維量子勢阱,為了求解它的基态波函數,我們将待求解的波函數離散化,從而将哈密頓量H 轉化為一個矩陣,基态能量E 則是最小特征值(負數),而離散化Ψ則是待求解的特征向量。圖4(b)給出了該波函數的電路解,可以看到它很好地描述了一維量子勢阱基态的波函數分布,因此證明了我們的電路具有很大的潛力用于加速模拟量子系統,比如在新型材料合成和新型藥物開發等領域。

學習筆記計算機組成原理3-存儲器(利用新型存儲器陣列一步解線性方程組和特征向量)5

圖4. 利用特征向量求解電路解一維量子勢阱的基态波函數。

在我們的工作中,通過利用非易失的阻變存儲器(憶阻器)交叉陣列和引入負反饋機制,常見的線性代數問題,包括解線性方程組、解特征向量、解微分方程可以在一步内完成,從而顯著提高計算速度,同時降低計算能耗,為未來的存内計算系統應用于實際的大數據問題中打下了堅實基礎。

該工作由來自意大利米蘭理工大學的一支團隊完成,團隊專注于利用新型存儲器件加速傳統計算和機器學習的開發。孫仲博士為論文的第一作者,Daniele Ielmini教授為論文的通訊作者。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved