TWI648640B - 一種用以建構人工智慧電腦之平行硬體搜索系統 - Google Patents
一種用以建構人工智慧電腦之平行硬體搜索系統 Download PDFInfo
- Publication number
- TWI648640B TWI648640B TW102136037A TW102136037A TWI648640B TW I648640 B TWI648640 B TW I648640B TW 102136037 A TW102136037 A TW 102136037A TW 102136037 A TW102136037 A TW 102136037A TW I648640 B TWI648640 B TW I648640B
- Authority
- TW
- Taiwan
- Prior art keywords
- search
- value
- data
- formula
- pus
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本發明係將現有電腦搭配一種平行硬體搜索系統用以建構大眾負擔得起的人工智慧電腦。這樣的電腦可被視為一種圖靈機,用執行人工智慧的邏輯推理方式,來取代傳統電腦依序處理程式指令的方式。本發明之平行硬體搜索系統採用平行化及硬體化的虛擬B樹搜索、階層分頁(Hierarchical Page Table)與HASH等技術來處理大量資料。此系統已被成功地建立在一張PCIE介面卡上,主要含:一顆Xilinx的Kintex7 FPGA晶片及兩個DDR3記憶體模組。FPGA晶片中包含:32個32位元處理器單元(PU)、一個PCIE控制器、一個搜索/刪除/插入控制器、兩個DRAM控制器。
Description
在喬姆斯基階層(Chomsky hierarchy)的定義中,目前使用於計算機之語言文法被定義為無關上下文(context-free),而圖靈機(Turing Machine)則被定義為最高階的文法。不同於現今計算機依序處理程式指令的方式,PROLOG語言每一步驟都需要搜索和處理horn clause(rule或fact),以用於執行人工智慧的邏輯推理,因此,搜索成為這種語言最大的瓶頸。本發明設計了一個平行硬體搜索系統,並且已將此系統之主要硬體部分建立於Xilinx的Kintex7晶片中。解決了PROLOG語言長期存在的搜索問題。由於PROLOG語言具備了圖靈機完整的特性,因此插入本發明之平行硬體搜索系統介面卡的電腦具備人工智慧功能,可被視為一種圖靈機。
20世紀80年代,日本政府提出第五代電腦研究計劃,PROLOG被用作這個計劃的主要語言。在2011年,IBM的超級計算機名為“WATSON”已經被證明比人類更聰明。雲端計算技術被用來解決PROLOG的搜索問題。WATSON在網路上包含了將近3000台伺服器,蘋果電腦公司的Siri則將此技術進一步應用於日常生活,唯有跨國大企業才有能力擁有如此龐大又昂貴的計算機系統。機器人技術近年來有很好的進展。然而,設計一個大眾負擔得起的人工智慧電腦系統,以促進機器人產業仍然是一個具有挑戰性的任務。
於本發明之平行硬體搜索系統的實施例中,使用32個處理器單元(PU)進行搜索,這些PU主要任務是執行四個數學公式來完成虛擬B-樹搜尋。階層分頁結構被用以有效地實現大容量數據搜索,如第1圖所示,大型資料分割成許多表單結構的頁(page),且每頁的大小不超過312筆記錄,因此搜尋一頁的比較數不超過二,階層分頁結構之階層數為三時,由上層至下層取出3頁搜索,搜索316(=0.8875×109)筆記錄需要6個比較數。如果再結合HASH技術且HASH共有314個桶(buckets),則平均比較數是2。目前的計算機使用二進制搜索法(binary search),6個比較數只能搜索63(=26-1)筆記錄。本發明之主要搜索硬體模組已成功地建立在Xilinx的Kintex7晶片中,有效地解決PROLOG的搜索問題,因此計算機語言文法從無關上下文升級到圖靈機。數學上可證明,對任何處理器單元(PU)總數量,本發明之方法全部可以真正地平行處理。
02‧‧‧平行硬體搜索系統
021‧‧‧處理單元(PU)
022‧‧‧跨處理單元邏輯電路
023‧‧‧DRAM單元
024‧‧‧BRAM單元
025‧‧‧PCIE控制單元
026‧‧‧個人電腦(PC)
027‧‧‧搜索/刪除/插入控制器
028‧‧‧DRAM控制單元
為了可詳細地瞭解到本發明上述的參考特性,可參考實施例來獲得,其某些實施例係繪示在附加的圖式中。然而,所注意的是,附加的圖式係僅繪示本發明典型的實施例,且因此其並不會限制其範圍,本發明係可容許其他等效的實施例。
第1圖係本發明之一實施例中使用階層分頁結構來處理大量數據之示意圖。
第2圖係本發明之一實施例中包含平行硬體搜索系統之電腦架構之示意圖。
第3圖係本發明之一實施例中平行硬體搜索系統分配961筆記錄給32個處理器單元(PU)之示意圖。
第4圖係為用數學公式在第4圖之資料進行搜索時所推演出的虛擬B樹之示意圖。
第5圖係本發明之一實施例中平行硬體搜索系統使用32個處
理器單元(PU)進行搜索之時序示意圖。
於一實施例中,本發明之搜索系統使用階層分頁結構以有效地實現大容量數據之搜索。本發明中,可完全使用純硬體來實現搜索操作,四種數學公式被用來模擬虛擬的B-樹結構,而每一個公式都可在一個時鐘周期內執行完成。
本發明之搜索硬體模組,成功地建立在Xilinx的Kintex7晶片中,硬體模組包含32個處理器單元(PU)、一個PCIE控制器、一個搜索/刪除/插入控制器、兩個DRAM控制器,而每一個處理器單元(PU)一次可以處理32個數據位元,這種架構可有效的解決PROLOG的搜索問題,因此,目前計算機的主要語言文法可從無關上下文之層次提升到圖靈機之層次。
首先參考第1圖,第1圖係本發明之實施例中使用階層分頁結構來處理大量數據之示意圖。由第1圖可知,處理器單元(PU)總數為m=32,且一個處理器單元(PU)必須進入休息狀態,本發明之方法中的每一頁的最大記錄數為961(=31*31)。因此,搜索一頁不會超過兩個比較數。每筆記錄包含一個搜索值的區段和物件指標(object pointer)區段。搜索值的大小可以達到一百多bytes。
第2圖係本發明之實施例中包含平行硬體搜索系統之電腦架構之示意圖。此實施例中包含平行硬體搜索系統02,其中,各個處理單元(PU)021透過跨處理器單元邏輯電路022相互連接溝通,每一頁的資料透過本發明平行硬體搜索系統02之DRAM控制單元028被儲存在第2圖中的DRAM單元023。在第2圖中,BRAM為FPGA晶片中提供的DUAL PORT RAM記憶體可存取32個數據位元,於各個BRAM單元024(BRAM1、BRAM2、、、BRAM32)中,頁的記錄可以被儲存於DRAM,或從DRAM取出頁中的記錄,然後分發到32個BRAM單元024以進行搜尋、刪除、插入運算,
而且增加DRAM單元數可加快頁的傳輸時間。
透過PCIE(可用USB或SATA)控制單元025,個人電腦(PC)026可從硬碟將一頁資料傳送到BRAM單元024,也可收集或修改在BRAM單位的該頁資料。個人電腦(PC)026可以經由PCIE控制單元025下指令給搜索/刪除/插入控制器027及DRAM控制單元028,依指令執行5種不同的運算:搜索、刪除、插入、傳輸資料,從BRAM到DRAM、或由DRAM到BRAM。
第3圖係本發明之一實施例中平行硬體搜索系統依排序大小之順序分配961筆記錄給32個處理器單元(PU)之示意圖。記錄的位置(location)被用來代表每一筆記錄,這個位置是根據記錄的搜索值在頁中排序後產生的名次。在每列中的記錄被儲存在每一個處理器單元(PU)自己的BRAM單元。第4圖係用四個無符號數(unsigned number)的公式在第3圖之資料結構進行搜索時所推演出來的虛擬B樹之示意圖。如果處理器單元(PU)數為2k,其中k是整數,因此除法可以使用左移位來實現,每一個公式可以因此在一個時鐘週期之內處理完成。
處理器單元(PU)之指標以Pindex來表示,32個處理器單元(PU)的Pindex值為從1到32,並且PU0被視為PU32。於本發明中,用已知位置即可算出負責此筆紀錄的處理器單元(PU)之Pindex值,其公式為:Pindex=LOCATION MOD m。最初的搜索範圍是從位置1到位置961,因此下界中的位置被定義為LowerBound=1,並且上界的位置被定義為UpperBound=961,DLB被定義為LowerBound-1,休息狀態的處理器單元(PU)其指數被定義為RPindex=DLB MOD m。在樹結構的每一個層(LEVEL)中,搜索範圍被劃分成m-1個數據區塊(Block),數據區塊的大小定義為BlockSize:BlockSize=(m-1)LEVEL-1,其中LEVEL為樹結構的層別。當LEVEL=2時,BlockSize為31。當LEVEL=1時,BlockSize為1。所有BlockSize的值已被預先儲存在系統中。
如第4圖所示,搜索開始時最上層為LEVEL=2所以BlockSize為31,而DLB之初始值被指定為0,由此可知PU32進入休息狀態,PU31~PU1的PATH值分別為1~31,其LOCATION值分別為31,62,…,961。搜索值與標準值(criteria)相比後,跨處理單元邏輯電路可得知標準值是介於PU26的LOCATION=186和PU25的LOCATION=217之間,因此,下迴圈之DLB值為較小之LOCATION值,∴DLB=186且PU26將進入休息狀態。接著,進行搜索B樹的最底層(LEVEL=1)且BlockSize為1,搜索範圍縮減成原來範圍的1/31,即範圍為LOCATION 187~217,PU26以外的31個PU再搜索一次就可得知結果,並將其物件指標儲存於暫存器DO4。
第5圖係本發明之一實施例中平行硬體搜索系統使用32個處理器單元(PU)進行搜索頁中961筆記錄之時序示意圖。於本實施例中,PU需要做兩次比較,而且記錄長度(Record Size)為四個32位元,其中搜索值長度為三個32位元,物件指標長度為一個32位元。當start='1'時搜索開始,並在start='0'時完成,共需要兩個迴圈。這個時序圖是用Xilinx的軟體ISE Design Suite模擬硬體描述語言得到的結果,虛擬樹的第二層的搜索步驟詳細描述如下:步驟一:在state=S0,LEVEL=2,BlockSize=31,DLB=0,由RPindex=DLB MOD m找到進入休息狀態PU之索引值RPindex=0;步驟二:在state=S1,每一個PU代表的路徑的計算公式為:PATH=RPindex-Pindex如果LEVEL為奇數;PATH=Pindex-PPindex如果LEVEL為偶數;休息狀態PU之路徑值=0。其餘m-1個工作狀態PU其代表路徑值分別為1至m-1;步驟三:在state=S2,虛擬B樹中此層之搜索範圍被m-1個
工作狀態PU切割成m-1個數據區塊,每一個處理器單元(PU)計算其代表的區塊中的最大位置值,計算公式為:LOCATION=DLB+PATH*BlockSize;步驟四:在state=S3,將上步驟的位置值轉換成搜索值在記憶體之物理地址(PAddress):PAddress=LOCATION*RecordSize/m;步驟五:在state=S4,PAddress的值送到BRAM地址暫存器;步驟六:在state=S5,BRAM讀取數據需要一個時鐘延遲;步驟七:在state=S6,每一處理器單元(PU)將3個32位元搜索值與標準值(criteria)相比;步驟八:在state=S7,如果有一個處理器單元(PU)發現其搜索值與標準值相同,其32位元的物件指標,將被存放到暫存器DO4且結束搜索運算,否則,儲存0(null)表示未發現指標;步驟九:在state=S8,跨處理單元邏輯電路(Inter Processing Unit Logic)得知搜索值介於其中兩個工作PU之間,且搜索值較小之PU的位置設定為下迴圈之DLB值;步驟十:在state=S9,DLB被廣播到所有的處理器單元(PU),然後返回下個迴圈;執行下一層相似的十個步驟,搜索就可完成並將其物件指標:“63636969”儲存於暫存器DO4。
於本發明中,假設某頁有N筆紀錄,處理刪除時,先用搜索找到刪除記錄的位置:LOCATION=N,然後記錄從I+1到N左移一次。如果一筆新記錄要插入此位置,需要確定此記錄有不同的搜索值,然後所有記錄從N到I右移一次。最後電腦將這個紀錄送到位置I,這兩種運算可以使用32個處理器單元(PU)來平行處理。於本發明中,每一筆在該頁的記錄需具有不同於其他記錄的搜索值。在某些情況下,多個物件可能有相同的檢索值,這時,本發明中的物件指標指向的物件為一個包含幾個指標的陣列,然後,
這些物件可以透過陣列一一被取出來。
請參考第1圖,於第1圖的資料中,使用本發明的方法搜索0.8875×109(=316)筆記錄需要6個比較數。目前的計算機使用二進制搜索法(binary search),6個比較數只能搜索63(=26-1)筆記錄。本發明的方法結合HASH的技術,此HASH共有314個桶(buckets),在最好的情況下,需1個比較數來搜索0.8875×109筆記錄。在最壞的情況下需要6個比較數。平均比較數是2。本發明的方法用純硬體搜索,因此處理每一個比較都比現在的計算機更快且更可靠。
在第3圖中處理器單元(PU)數目為32,此頁的表單被用來建構第4圖中具有兩層的虛擬B-樹第一層的節點。很明顯地可看出,每一個處理器單元(PU)處理的記錄都存在於它自己的BRAM單元。第一層的31個節點的邊緣記錄則被用來建構第二層的節點。很明顯所有B-樹結構的節點中,每一個處理器單元(PU)都處理它自己的BRAM單元的記錄。如果處理器單元(PU)總數是任何值,近似第3圖中的表單可建構形成近似第4圖的虛擬B-樹結構且具有多層,在第一層的節點,此層中的每一個處理器單元(PU)處理的記錄皆存在於其自己的BRAM單元。假設在第i層每一個處理器單元(PU)處理的記錄在其自己的BRAM單元是正確的,可以很容易地證明,在第i+1層中,每一個處理器單元(PU)處理的記錄皆在其自己的BRAM單元之中,因為所有的第i+1層節點,全部由第i層節點的邊緣記錄形成,因此,在數學上可證明,對任何處理器單元(PU)總數量,本發明之方法全部可以真正地進行平行處理。
雖然前文係針對本發明的實施例,但在不偏離本發明的基本範圍下可設計出其它及另外的實施例,本發明的範圍由下列的申請專利範圍所界定。
Claims (9)
- 一種平行硬體搜索系統,該系統包括:複數個處理器單元(PU),假設為m個,連接m個BRAM單元及一跨處理器單元邏輯電路(Inter Processing Unit Logic),PU用以處理來屬於自己的BRAM單元之資料,跨處理單元邏輯電路處理PU之間的所有功能;一個PCIE介面控制器,用以連接該系統及一外部電腦,並接收該外部電腦發出之指令;以及一個搜索/刪除/插入控制器,用以連接該m個處理器單元(PU)及該m個BRAM單元,接收該外部電腦之指令進行搜索/刪除/插入之運算;及其中,該m個BRAM單元係連接外部之數個DRAM控制器,並接收來自該數個DRAM控制器之資料;當執行搜索時,m個PU有一PU需要進入休息狀態,執行刪除及插入時,m個PU則同時使用;其中,該系統將大量紀錄(record)切割成許多資料頁,並建立一個大型階層分頁(Hierarchical Page Table)的資料結構,其中的每一資料頁能執行一次或數次搜尋,或搭配HASH成許多小型的階層分頁,假設搜尋k次,搜尋的總資料量至少為(m-1)k筆紀錄,且HASH桶(HASH BUCKET)內資料量大小一致搜尋次數最好為1,最壞為k,平均為(1+k)/2,藉此可於m值大小不受到限制的情況下使該系統達到平行處理,且不會產生資料衝突及通訊問題,因此平行處理時不可平行部分近乎零,有效對抗平行電路產生的Amdahl’s Law問題,此雙引擎系統中,外部電腦用軟體彈性地執行各種小數據運算,並指揮搜索器用平行和純硬體的方式,來處理大數據運算(search/insert/delete/Load/Store),二種資料處理方式能彼此互補。
- 根據申請專利範圍第1項之平行硬體搜索系統,該系統可用以建構人工智慧電腦。
- 根據申請專利範圍第1項之平行硬體搜索系統,其中,該系統可透過一界面與一電腦連接,該系統運作時,可使電腦語言文法從無關上下文(Context Free)層次提昇至圖靈機(Turing Machine)層次。
- 根據申請專利範圍第1項之平行硬體搜索系統,其中,該系統係增加DRAM(或通用記憶體)單元數以增加資料傳輸速率。
- 根據申請專利範圍第1項之平行硬體搜索系統,其中,該系統可從該BRAM單元到該DRAM單元或由該DRAM單元到該BRAM單元中執行五種不同的運算,包括:搜索、刪除、插入、傳輸資料。
- 根據申請專利範圍第1項之平行硬體搜索系統,其中,該系統可透過搜索之方式進行刪除和插入運算,複數個處理單元(PU)在記錄數量相對小的資料頁中平行執行左移或右移動作,並保持頁內所有記錄的排序和完美之一致性。
- 根據申請專利範圍第1項之平行硬體搜索系統,其中,該系統處理的記錄需具有不同於該頁其他記錄的搜索值,多個物件可能有相同的搜索值,此時一物件指標指向一個包含複數個指標的陣列物件,資料物件可以透過該陣列一一被讀取。
- 根據申請專利範圍第1項之平行硬體搜索系統,其中,該系統使用四個無符號數(Unsigned number)公式模擬虛擬B樹結構,其分別為一第一公式,一第二公式,一第三公式及一第四公式,該等公式可由DLB推導而來,DLB為搜索範圍的下限位置減一的位置,假設,處理單元(PU)總數為2k,其中k為一整數,除法可使處理單元(PU)位置左移,該四個公式可在一個時鐘週期之內處理完成,其中,該等公式分別表示如下:第一公式:可由DLB尋找休息狀態處理單元的索引值,公式為:RPindex=DLB MOD m;第二公式:Pindex為m個PU被指定的由1至m的固定索引 值,其代表路徑值的可由虛擬B樹的層別為奇數或偶數決定,計算公式為:PATH=RPindex-Pindex(當LEVEL值為奇數時);PATH=Pindex-PPindex(當LEVEL值為偶數時);第三公式:搜索範圍切割成m-1個大小相同的數據區塊,BlockSize為數據區塊之大小,每一個數據區塊中最大位置之計算公式為:LOCATION=DLB+PATH * BlockSize;第四公式:取出已知位置所代表的搜索值,並與標準值比較,RecordSize為頁中記錄的大小,搜索值之物理地址公式為:PAddress=LOCATION * RecordSize/m。
- 根據申請專利範圍第1項之平行硬體搜索系統,該搜尋方法可在至多個資料搜尋迴圈內完成該頁資料之搜尋,其中,PU個數為m,而N為此頁中記錄之個數,搜索由B樹結構的最上層LEVEL=L開始執行迴圈之步驟進行資料搜尋,此時DLB之初始值設定為0,搜索範圍在每一層不斷被縮減成原來範圍的1/(m-1),一直找到最底層(LEVEL=1)時即可完成搜索,每一迴圈執行包括以下之步驟:(1)、每一PU用第一公式算出虛擬B樹中此層休息狀態PU的索引值;(2)、每一PU用第二公式算出虛擬B樹中此層其代表之路徑值,休息狀態PU之路徑值=0,其餘m-1個工作狀態PU其代表路徑值分別為1至m-1;(3)、虛擬B樹中此層之搜索範圍被m-1個工作狀態PU切割成m-1個數據區塊,每一工作狀態PU用第三公式算出在虛擬B樹中其數據區塊中最大位置值,PU可由此位置之記錄找到用以比較之搜索值;(4)、每一工作狀態PU用第四公式將上步驟的位置值轉換成搜索值在記憶體之物理地址;(5)、工作狀態PU取出已知位置所代表的搜索值,並與標準值 比較;及(6)、跨處理單元邏輯電路得知搜索值介於其中兩個工作PU之間,且搜索值較小之PU的位置設定為下迴圈之DLB值,將此DLB值廣播至所有PU,然後進入下一個迴圈的資料搜尋。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW102136037A TWI648640B (zh) | 2013-10-04 | 2013-10-04 | 一種用以建構人工智慧電腦之平行硬體搜索系統 |
| CN201310504610.0A CN104516939A (zh) | 2013-10-04 | 2013-10-23 | 一种用以建构人工智能计算机的平行硬件搜索系统 |
| US14/160,622 US9384449B2 (en) | 2013-10-04 | 2014-01-22 | Parallel hardware searching system for building artificial intelligent computer |
| IN954CH2014 IN2014CH00954A (zh) | 2013-10-04 | 2014-02-26 | |
| HK15109921.8A HK1209217A1 (zh) | 2013-10-04 | 2015-10-12 | 一种用以建构人工智能计算机的平行硬件搜索系统 |
| US15/170,281 US20160275146A1 (en) | 2013-10-04 | 2016-06-01 | Use a parallel hardware search device to implement big databases efficiently |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW102136037A TWI648640B (zh) | 2013-10-04 | 2013-10-04 | 一種用以建構人工智慧電腦之平行硬體搜索系統 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201514729A TW201514729A (zh) | 2015-04-16 |
| TWI648640B true TWI648640B (zh) | 2019-01-21 |
Family
ID=52777805
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW102136037A TWI648640B (zh) | 2013-10-04 | 2013-10-04 | 一種用以建構人工智慧電腦之平行硬體搜索系統 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9384449B2 (zh) |
| CN (1) | CN104516939A (zh) |
| HK (1) | HK1209217A1 (zh) |
| IN (1) | IN2014CH00954A (zh) |
| TW (1) | TWI648640B (zh) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105608224A (zh) * | 2016-01-13 | 2016-05-25 | 广西师范大学 | 一种提高海量数据查询性能的正交多哈希映射索引方法 |
| CN108388532B (zh) * | 2018-03-13 | 2025-09-09 | 北京算能科技有限公司 | 可配置硬件算力的ai运算加速板卡及其处理方法、服务器 |
| CN110619595B (zh) * | 2019-09-17 | 2021-04-13 | 华中科技大学 | 一种基于多fpga加速器互联的图计算优化方法 |
| US11132326B1 (en) | 2020-03-11 | 2021-09-28 | Nvidia Corporation | Techniques to transfer data among hardware devices |
| CN114154611B (zh) * | 2021-11-10 | 2022-12-06 | 中国科学院自动化研究所 | 一种支持图灵测试模式的人机对抗系统及智能体测试方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW550898B (en) * | 2000-12-12 | 2003-09-01 | Acute Technology Corp | Hash compensation architecture and method for network address lookup |
| US6629099B2 (en) * | 2000-12-07 | 2003-09-30 | Integrated Silicon Solution, Inc. | Paralleled content addressable memory search engine |
| TW200734894A (en) * | 2006-03-10 | 2007-09-16 | Univ Chung Hua | Virtual tree searcher using parallel tree search method |
| TW201027425A (en) * | 2008-12-01 | 2010-07-16 | Micron Technology Inc | Devices, systems, and methods to synchronize parallel processing of a single data stream |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1100825A (zh) * | 1993-09-25 | 1995-03-29 | C&T科技发展有限公司 | 一种智能机译系统 |
-
2013
- 2013-10-04 TW TW102136037A patent/TWI648640B/zh not_active IP Right Cessation
- 2013-10-23 CN CN201310504610.0A patent/CN104516939A/zh active Pending
-
2014
- 2014-01-22 US US14/160,622 patent/US9384449B2/en not_active Expired - Fee Related
- 2014-02-26 IN IN954CH2014 patent/IN2014CH00954A/en unknown
-
2015
- 2015-10-12 HK HK15109921.8A patent/HK1209217A1/zh unknown
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6629099B2 (en) * | 2000-12-07 | 2003-09-30 | Integrated Silicon Solution, Inc. | Paralleled content addressable memory search engine |
| TW550898B (en) * | 2000-12-12 | 2003-09-01 | Acute Technology Corp | Hash compensation architecture and method for network address lookup |
| TW200734894A (en) * | 2006-03-10 | 2007-09-16 | Univ Chung Hua | Virtual tree searcher using parallel tree search method |
| TW201027425A (en) * | 2008-12-01 | 2010-07-16 | Micron Technology Inc | Devices, systems, and methods to synchronize parallel processing of a single data stream |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150100536A1 (en) | 2015-04-09 |
| IN2014CH00954A (zh) | 2015-05-08 |
| TW201514729A (zh) | 2015-04-16 |
| CN104516939A (zh) | 2015-04-15 |
| HK1209217A1 (zh) | 2016-03-24 |
| US9384449B2 (en) | 2016-07-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101938953B1 (ko) | 빅 데이터 질의 엔진을 위한 플래시 최적화된 열 데이터 배치 및 데이터 액세스 처리 알고리즘 | |
| CN107273042B (zh) | 重复删除dram系统算法架构的存储器模块及方法 | |
| TWI648640B (zh) | 一種用以建構人工智慧電腦之平行硬體搜索系統 | |
| KR20190100537A (ko) | 플래시 저장장치의 내부 병렬성을 이용하는 키 값 기반의 데이터 액세스 장치 및 방법 | |
| CN105989015B (zh) | 一种数据库扩容方法和装置以及访问数据库的方法和装置 | |
| CN112435157B (zh) | 包括不同类型的存储器装置的图形处理系统及其操作方法 | |
| CN111858651A (zh) | 一种数据处理方法以及数据处理装置 | |
| WO2018120109A1 (zh) | 数据处理的方法和装置 | |
| CN110837584B (zh) | 一种分块并行构造后缀数组的方法及系统 | |
| Kang et al. | PIM-trie: A Skew-resistant Trie for Processing-in-Memory | |
| WO2022061995A1 (zh) | 基于希尔伯特曲线的r树索引合并更新方法、装置及介质 | |
| CN118964686A (zh) | 向量检索方法、装置、设备和存储介质 | |
| CN113918807B (zh) | 数据推荐方法、装置、计算设备及计算机可读存储介质 | |
| CN105900085B (zh) | 具备信息检索功能的存储器及其利用方法、装置、信息处理方法 | |
| CN104036141A (zh) | 一种基于OpenCL的红黑树加速算法 | |
| CN113297432A (zh) | 用于分区拆分与合并的方法、处理器可读介质和系统 | |
| Roumelis et al. | Bulk-loading and bulk-insertion algorithms for xBR+-trees in solid state drives | |
| JP6006740B2 (ja) | インデックス管理装置 | |
| Quinn et al. | DReX: Accurate and Scalable Dense Retrieval Acceleration via Algorithmic-Hardware Codesign | |
| CN120297204A (zh) | 一种存储器组合筛选方法、装置、设备及介质 | |
| Huai et al. | Crossbar-aligned & integer-only neural network compression for efficient in-memory acceleration | |
| CN109937453B (zh) | 存储器减少的核苷酸序列比较 | |
| CN203941525U (zh) | 一种用以建构人工智能计算机的平行硬件搜索系统 | |
| US11914587B2 (en) | Systems and methods for key-based indexing in storage devices | |
| CN113641872B (zh) | 一种散列方法、装置、设备及介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |