欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數據處理裝置和系統(tǒng)、服務器的制造方法

文檔序號:10594665閱讀:361來源:國知局
數據處理裝置和系統(tǒng)、服務器的制造方法
【專利摘要】本發(fā)明實施例提供了一種數據處理裝置和系統(tǒng)、服務器,其中數據處理裝置包括主控芯片和與所述主控芯片通信連接的節(jié)點矩陣,所述節(jié)點矩陣包括一個以上節(jié)點芯片;其中:所述主控芯片,設置有外部接口,用于將通過外部接口接收到的數據處理任務分發(fā)給節(jié)點矩陣,以及向節(jié)點矩陣發(fā)送控制消息,并接收節(jié)點矩陣返回的數據處理結果;所述節(jié)點矩陣,用于接收主控芯片發(fā)送的控制消息和數據處理任務,根據所述控制消息,通過一個以上節(jié)點芯片對所述數據處理任務進行相應的處理,并向主控芯片返回數據處理結果。本發(fā)明實施例可以提供較強的數據處理能力且數據處理能力易于擴展,數據傳輸延遲小。
【專利說明】
數據處理裝置和系統(tǒng)、服務器
技術領域
[0001]本發(fā)明涉及數據處理技術,尤其涉及一種數據處理裝置和系統(tǒng)、服務器。
【背景技術】
[0002]目前,深度學習是機器學習研究中的一個新的領域,是所有高科技研究和開發(fā)中最熱門的領域之一,其動機在于建立、模擬人腦進行分析學習的神經網絡,它模仿人腦的機制來解釋數據,例如圖像,聲音和文本。
[0003]深度學習的關鍵是DNN(Deep Neural Network,深度神經網絡),由于DNN具有深層結構、數千萬參數需要學習,因此DNN的預測和訓練過程需要巨大的計算能力。由于采用SIMD(Single Instruct1n Multiple Data,單指令多數據流)架構特性,GF^KGraphicsProcessing Unit,圖形處理器)具有強大的計算能力,在深度學習領域的應用大大優(yōu)于傳統(tǒng)的CPU(Central Processing Unit,中央處理器),目前作為通行的DNN計算平臺處于主導地位?,F有采用GPU實現的DNN計算平臺中,一張GPU上只搭載一顆GPU芯片,GPU插入到服務器主板的PCIE插槽中。
[0004]在實現本發(fā)明的過程中,發(fā)明人發(fā)現,現有技術采用GPU實現的DNN計算平臺至少存在以下問題:
[0005]由于GPU的出現旨在促進通用科學計算任務,它不是專門為DNN設計開發(fā)的,因此其單GPU芯片架構限制了其計算能力,無法滿足DNN對計算能力的需求;
[0006]如要擴充計算能力,就需要在同一臺服務器中插入多張GPU,然而,由于一臺服務器主板上的PCIE插槽數目有限,可支持的GPU數目也就受到限制,因此可支持的計算能力仍然受到限制。

【發(fā)明內容】

[0007]本發(fā)明實施例所要解決的其中一個技術問題是,提供一種數據處理裝置和系統(tǒng)、服務器,以提供較強的數據處理能力,包括計算能力。
[0008]為解決上述技術問題,根據本發(fā)明實施例的一個方面,提供一種數據處理裝置,包括主控芯片和與所述主控芯片通信連接的節(jié)點矩陣,所述節(jié)點矩陣包括一個以上節(jié)點芯片;其中:
[0009]所述主控芯片,設置有外部接口,用于將通過外部接口接收到的數據處理任務分發(fā)給節(jié)點矩陣,以及向節(jié)點矩陣發(fā)送控制消息,并接收節(jié)點矩陣返回的數據處理結果;
[0010]所述節(jié)點矩陣,用于接收主控芯片發(fā)送的控制消息和數據處理任務,根據所述控制消息,通過一個以上節(jié)點芯片對所述數據處理任務進行相應的處理,并向主控芯片返回數據處理結果。
[0011]在另一個實施例的數據處理裝置中,所述節(jié)點矩陣包括N列節(jié)點芯片組,每列節(jié)點芯片組分別包括一個以上節(jié)點芯片;
[0012]其中,第一列節(jié)點芯片組中的每個節(jié)點芯片分別與所述主控芯片通信連接,第η列節(jié)點芯片組中的每個節(jié)點芯片,分別與第η-l列節(jié)點芯片組中的對應節(jié)點芯片通信連接,ηe【2,N】,N的取值為不小于I的整數。
[0013]在另一個實施例的數據處理裝置中,每列節(jié)點芯片組中的節(jié)點芯片依次通信連接。
[0014]在另一個實施例的數據處理裝置中,每列節(jié)點芯片組中分別位于首、尾節(jié)點芯片通信連接。
[0015]在另一個實施例的數據處理裝置中,具有通信連接關系的主控芯片與節(jié)點芯片之間、節(jié)點芯片之間具體采用SERDES通信通道進行通信連接。
[0016]在另一個實施例的數據處理裝置中,所述主控芯片與節(jié)點芯片上分別設置有串行器/解串器SERDES接口;具有通信連接關系的主控芯片與節(jié)點芯片之間、節(jié)點芯片之間具體通過SERDES接口,采用SERDES通信通道進行通信連接;
[0017]或者
[0018]所述主控芯片與節(jié)點芯片上分別設置有總線和接口標準PCIE接口;具有通信連接關系的主控芯片與節(jié)點芯片之間、節(jié)點芯片之間具體通過PCIE接口,采用PCIE通信通道進行通信連接。
[0019]在另一個實施例的數據處理裝置中,所述節(jié)點芯片包括多個計算單元;
[0020]所述數據處理任務包括深度神經網絡DNN的數據處理任務。
[0021]在另一個實施例的數據處理裝置中,每個節(jié)點芯片中的多個計算單元被分為不同的計算單元組;
[0022]所述節(jié)點矩陣具體通過一個節(jié)點芯片對所述數據處理任務進行相應的處理;
[0023]接收到數據處理任務的節(jié)點芯片對所述數據處理任務進行相應的處理時,具體用于:
[0024]根據預先配置的執(zhí)行策略,分別通過所述接收到數據處理任務的節(jié)點芯片中不同的計算單元組,依次對DNN中各個層或連續(xù)多個層的數據處理任務進行處理。
[0025]為解決上述技術問題,根據本發(fā)明實施例的另一個方面,提供一種數據處理系統(tǒng),包括多個如本發(fā)明上述任一實施例所述的數據處理裝置;
[0026]相鄰數據處理裝置中的主控芯片之間通信連接,以通過一個以上所述數據處理裝置實現對同一個數據處理任務的處理。
[0027]為解決上述技術問題,根據本發(fā)明實施例的又一個方面,提供一種服務器,包括主板,所述主板上具有一個以上卡槽,還包括:
[0028]一個以上如上述任一實施例所述的數據處理裝置,所述數據處理裝置中的主控芯片以插接方式插入主板上的卡槽中時,主控芯片通過外部接口與主板進行數據交互;或者
[0029]如本發(fā)明上述任一實施例所述的數據處理系統(tǒng),所述數據系統(tǒng)中的多個主控芯片分別以插接方式插入主板上的不同卡槽中時,主控芯片分別通過外部接口與主板進行數據交互。
[0030]基于本發(fā)明上述實施例提供的數據處理裝置和系統(tǒng)、服務器,每個數據處理裝置包括一個主控芯片和一個與主控芯片通信連接的節(jié)點矩陣,每個節(jié)點矩陣包括一個以上節(jié)點芯片;其中,主控芯片可以通過外部接口與外部設備連接,將數據處理任務分發(fā)給節(jié)點矩陣,以及向節(jié)點矩陣發(fā)送控制消息,由節(jié)點矩陣通過一個以上節(jié)點芯片對數據處理任務進行相應的處理,例如計算,并向主控芯片返回數據處理結果。由于每個數據處理裝置中,只需要主控芯片與外部設備通信連接,用于對數據處理任務進行具體處理的節(jié)點芯片的數量可以根據數據處理任務的處理性能需求無限擴展,但是節(jié)點芯片只需與主控芯片進行通信連接即可,無需與外部設備通信連接、因此無需占用外部設備的通信接口,例如卡槽,因此本發(fā)明實施例中數據處理裝置和系統(tǒng)、服務器的數據處理能力,例如計算能力,易于擴展,從而根據任務需要提供足夠的數據處理能力,且避免了擴展數據處理能力需增加外部設備的通信接口所產生的成本。
[0031]本發(fā)明實施例的數據處理能力(例如計算能力)易于擴展,可適用于對DNN或其他任意網絡中數據處理任務的處理。
[0032]上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發(fā)明實施例的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】對本發(fā)明的技術方案做進一步的詳細描述。
【附圖說明】
[0033]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0034]圖1為本發(fā)明數據處理裝置一個實施例的結構示意圖。
[0035]圖2為現有DNN計算平臺采用的單機多GPU的一個數據并行框架示意圖。
[0036]圖3為本發(fā)明數據處理裝置另一實施例的示意圖。
[0037]圖4為本發(fā)明數據處理裝置又一實施例的示意圖。
[0038]圖5為本發(fā)明數據處理裝置再一實施例的示意圖。
[0039]圖6為本發(fā)明數據處理系統(tǒng)一個實施例的示意圖。
[0040]圖7為本發(fā)明服務器一個實施例的示意圖。
【具體實施方式】
[0041]現在將參照附圖來詳細描述本發(fā)明的各種示例性實施例。應注意到:除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數字表達式和數值不限制本發(fā)明的范圍。
[0042]同時,應當明白,為了便于描述,附圖中所示出的各個部分的尺寸并不是按照實際的比例關系繪制的。
[0043]以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發(fā)明及其應用或使用的任何限制。
[0044]對于相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為說明書的一部分。
[0045]應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
[0046]圖1為本發(fā)明數據處理裝置一個實施例的結構示意圖。如圖1所示,該實施例的數據處理裝置包括主控芯片(Master Chip) I和與主控芯片I通信連接的節(jié)點矩陣(NodeMatrix)2,節(jié)點矩陣包括一個以上節(jié)點芯片(Node Chip)。其中:
[0047]主控芯片I,設置有外部接口,主控芯片I可以通過該外部接口接入外部設備,例如服務器中的主板上;主控芯片I用于將通過外部接口接收到的數據處理任務(例如,計算任務)分發(fā)給節(jié)點矩陣2,以及向節(jié)點矩陣2發(fā)送控制消息,并接收節(jié)點矩陣2返回的數據處理結果。
[0048]示例性地,該外部接口可以是一個PCIE(總線和接口標準)接口,以接入外部設備的PCIE插槽中。另外,外部接口也可以是其他接口,只要與接入的外部設備的接口類型匹配即可。另外,主控芯片I具體可以基于FPGA(現場可編程門陣列)方式實現,這樣可以根據用戶需求靈活定制。
[0049]節(jié)點矩陣2,用于接收主控芯片I發(fā)送的控制消息和數據處理任務,根據該控制消息,通過一個以上節(jié)點芯片對數據處理任務進行相應的處理,即:負責處理數據處理任務,并在獲得數據處理結果后向主控芯片I返回數據處理結果。
[0050]這里,將數據處理功能劃分為主控芯片I和節(jié)點矩陣2兩個獨立的單元來執(zhí)行,主控芯片I負責與外部設備(例如服務器中主板)的通信以及數據處理任務的分發(fā),而節(jié)點矩陣2專注于對數據處理任務的具體處理。
[0051]基于本發(fā)明上述實施例提供的數據處理裝置,每個數據處理裝置包括一個主控芯片和一個與主控芯片通信連接的節(jié)點矩陣,每個節(jié)點矩陣包括一個以上節(jié)點芯片;其中,主控芯片可以通過外部接口與外部設備連接,將數據處理任務分發(fā)給節(jié)點矩陣,以及向節(jié)點矩陣發(fā)送控制消息,由節(jié)點矩陣通過一個以上節(jié)點芯片對數據處理任務進行相應的處理,例如計算,并向主控芯片返回數據處理結果。由于每個數據處理裝置中,只需要主控芯片與外部設備通信連接,用于對數據處理任務進行具體處理的節(jié)點芯片的數量可以根據數據處理任務的處理性能需求無限擴展,但是節(jié)點芯片只需與主控芯片進行通信連接即可,無需與外部設備通信連接、因此無需占用外部設備的通信接口,例如卡槽,因此本發(fā)明實施例中數據處理裝置和系統(tǒng)、服務器的數據處理能力,例如計算能力,可以根據需求任意擴展,從而根據任務需要提供足夠的數據處理能力,不會受到主板卡槽數量的限制,且避免了擴展數據處理能力需增加外部設備的通信接口所產生的成本。
[0052]本發(fā)明實施例的數據處理能力(例如計算能力)易于擴展,可適用于對DNN或其他任意網絡中數據處理任務的處理。
[0053]例如針對DNN,由于DNN是一層一層的,比如說有十層,下一層數據處理任務需要等到當前一層數據處理任務處理完之后才能開始處理,層間數據處理任務存在依賴關系,但同一層的數據處理任務可以并行處理,因此,本發(fā)明實施例中,同一列節(jié)點芯片組21中的節(jié)點芯片可以同時去處理DNN同一層的數據處理任務,例如這一層的數據處理任務包括十億次運算操作,同一列節(jié)點芯片組21中包括四個節(jié)點芯片,可以將這一層的十億次操作分為四部分讓該列節(jié)點芯片組21中的四個節(jié)點分別去運算,只需占用服務器中的一個卡槽便可提供相對于現有的單個GHJ成倍增強的數據處理能力。
[0054]圖2為現有DNN計算平臺采用的單機多GPU的一個數據并行框架示意圖。在現有的DNN計算平臺中,一張GPU上只搭載一顆GPU芯片,GPU再插入到服務器主板的PCIE卡槽中。在圖2所示的數據并行框架中,可能存在以下兩種數據通信情況:
[0055]情況1:在同一臺服務器上的不同GPU卡之間通信,例如,從一個服務器上的GPU A向GPU B發(fā)送數據包。GPU之間通過PCIE連接,因此GPU之間的數據包需要通過該服務器主板上的PCIE交換芯片來完成傳輸,該情況I中,數據包的傳輸順序是:
[0056]GPU A^PCIE Hub(集線器)—GPU B。
[0057]情況2:在不同服務器上的GPU之間通信,例如,從一個服務器上的GPU A向另一服務器上的GPU C發(fā)送數據包。由于兩個GHJ之間的數據包需要通過交換網絡才能到達目的地,該情況2中,數據包的傳輸順序是:
[0058]一個服務器上GPU A^PCIE Hub—網卡—網絡交換機—另一服務器上網卡—PCIEHub—GPU Co
[0059]由此,若需要同一個服務器上的多個GPU協(xié)作處理同一個DNN的數據處理任務,由于不同GPU之間的通信需要通過主板進行,GPU之間的數據傳輸時延較大;如果同一個服務器上的所有GPU仍不足以支持同一個DNN的數據處理任務,則還需要多個服務器上的GPU之間進行通信,則除了需要通過多個服務器上的主板轉發(fā)外,還需要經過網卡、網絡和網絡交換機進行,不同服務器上GPU之間的數據傳輸時延更大。因此現有采用單機多GPU的DNN計算平臺對DNN的數據處理任務的處理效率低下。
[0060]而本發(fā)明實施例的數據處理裝置中,節(jié)點矩陣易于擴展,可以包括多個節(jié)點芯片,從而單個數據處理裝置即具有強大的數據處理能力,由于數據處理裝置中主控芯片與節(jié)點芯片、以及節(jié)點芯片之間直接通信,無需通過服務器的主板、以及網絡進行數據轉發(fā),因此相對于現有技術具有較小的傳輸時延。
[0061]在圖1所示實施例的數據處理裝置中,節(jié)點矩陣2具體可以包括N列節(jié)點芯片組,每列節(jié)點芯片組分別包括一個以上節(jié)點芯片。其中,第一列節(jié)點芯片組中的每個節(jié)點芯片分別與主控芯片I通信連接,第η列節(jié)點芯片組中的每個節(jié)點芯片,分別與第η-l列節(jié)點芯片組中的對應節(jié)點芯片通信連接,n e【2,N】,N的取值為不小于I的整數。
[0062]圖3為本發(fā)明數據處理裝置另一實施例的示意圖。圖3示出了節(jié)點矩陣2包括I列節(jié)點芯片組21、4個節(jié)點芯片的一個具體示例。該節(jié)點芯片組21中的每個節(jié)點芯片均與主控芯片I通信連接,負責處理相應的數據處理任務。作為示例,在圖3僅示出了節(jié)點矩陣2包括四個節(jié)點芯片的一個示例,本領域技術人員基于本發(fā)明實施例的記載,可以了解,該列節(jié)點芯片組21中可根據需要設置所需數量的節(jié)點芯片。
[0063]圖4為本發(fā)明數據處理裝置又一實施例的示意圖。如圖4所示,為了滿足數據處理任務的需要,在該I列節(jié)點芯片組21中,各節(jié)點芯片依次通信連接。由于同一列節(jié)點芯片組中的各節(jié)點芯片可通過垂直方向的互聯(lián)鏈路直接進行通信,而無需通過主控節(jié)點轉發(fā),傳輸時延較低,提高了數據處理任務的處理效率。
[0064]此外,還可根據數據處理任務的特定要求,例如根據DNN的計算要求,同一列節(jié)點芯片組21中,分別位于首、尾節(jié)點芯片(S卩:一列節(jié)點芯片組兩端的節(jié)點芯片)通信連接,使得同一列節(jié)點芯片組21構成一個回環(huán)結構,從而實現了同一列節(jié)點芯片組21中節(jié)點芯片之間的直接數據傳輸。
[0065]在圖3、圖4所示的實施例中,僅示例性示出了節(jié)點矩陣2包括I列節(jié)點芯片組21的示例,另外,為了進一步提高大規(guī)?;虺笠?guī)模的網絡數據處理效率,可以設置多列節(jié)點芯片組21,也就是說,節(jié)點矩陣2可根據需要在水平方向上進行擴展。如圖5所示,為本發(fā)明數據處理裝置再一實施例的示意圖,該實施例示例性地示出了節(jié)點矩陣包括3列節(jié)點芯片組21的一個具體示例,本領域技術人員基于本發(fā)明實施例的記載,可以了解,節(jié)點矩陣2包括任意多列節(jié)點芯片組21的實現及各種實施例中的連接關系。
[0066]同樣,在節(jié)點矩陣2包括多列節(jié)點芯片組21的實施例中,同一列列節(jié)點芯片組21中的各節(jié)點芯片依次通信連接,分別位于首、尾節(jié)點芯片也可以進一步通信連接,使得同一列節(jié)點芯片組21構成一個回環(huán)結構。
[0067]節(jié)點矩陣2包括I列節(jié)點芯片組21,也稱為一維擴展;節(jié)點矩陣2包括多列節(jié)點芯片組21,也稱二維擴展。同一列節(jié)點芯片組21中的節(jié)點芯片分工、并行去處理DNN同一層的數據處理任務,例如將DNN—個層的一億詞運算量的數據處理任務分成四份,分配給第一列節(jié)點芯片組21中的四個節(jié)點芯片進行運算,一個DNN可能是有很多層的,層間是有依賴關系的,二維擴展便可以實現DNN不同層數據處理任務的處理,就是說第一列節(jié)點芯片組21中的四個節(jié)點芯片并行地運算第一層的數據處理任務,并將數據處理結果傳輸給第二列節(jié)點芯片組21,第二列節(jié)點芯片組2中的四個節(jié)點芯片并行地運算第二層的數據處理任務,以此類推,從而實現了數據處理任務的層間流水。
[0068]基于本發(fā)明上述實施例提供的數據處理裝置,每一列節(jié)點芯片組21中包括多個節(jié)點芯片,可以在接收到數據處理任務后同時并行地處理該數據處理任務,由于每一列節(jié)點芯片組21構成一個回環(huán)結構,每一列節(jié)點芯片組21的節(jié)點芯片形成一條環(huán)形鏈路,因此它們之間可以相互通信,并且通信的時間可以跟它們處理數據處理任務的時間重疊,例如針對DNN,由于DNN是一層一層的,比如說有十層,它的同一層的數據處理任務可以并行處理,本發(fā)明實施例同一列節(jié)點芯片組21構成的一個回環(huán)結構,同一列節(jié)點芯片組21中的節(jié)點芯片可以同時去處理DNN同一層的數據處理任務,例如這一層的數據處理任務包括十億次運算操作,可以將這一層的十億次操作分為四部分讓該列節(jié)點芯片組21中的四個節(jié)點分別去運算,在它們運算的過程中可能存在一些數據交換就通過該環(huán)形鏈路傳輸,也就是說,同一列節(jié)點芯片組21中的四個節(jié)點可以一邊運算,一邊將交互數據通過該環(huán)形鏈路傳輸,為下一輪的運算做好準備,這樣就不會浪費時間,提高了數據處理效率;另外,避免了同一列節(jié)點芯片21中節(jié)點芯片之間需要交互數據時,交互數據需要通過主控節(jié)點I轉發(fā)占用帶寬。
[0069]在本發(fā)明上述任一實施例的數據處理裝置中,主控芯片I與節(jié)點芯片上可以分別設置PCIE接口,具有通信連接關系的主控芯片I與節(jié)點芯片之間,以及具有通信連接關系的節(jié)點芯片之間,具體可以通過芯片上的PCIE接口,采用PCOE通信通道進行通信連接。
[0070]或者,在本發(fā)明上述任一實施例的數據處理裝置中,主控芯片I與節(jié)點芯片上也可以分別設置SERDES(串行器/解串器)接口,具有通信連接關系的主控芯片I與節(jié)點芯片之間,以及具有通信連接關系的節(jié)點芯片之間,具體可以通過芯片上的SERDES接口,采用SERDES通信通道進行通信連接。
[0071]SERDES是一種主流的TDM(時分多路復用)、P2P(點對點)的串行通信技術,S卩:在發(fā)送端多路低速并行信號被轉換成高速串行信號,經過傳輸媒體(光纜或銅線),最后在接收端高速串行信號重新轉換成低速并行信號。這種點對點的串行通信技術充分利用傳輸媒體的信道容量,減少了所需的傳輸信道和器件引腳數目,突破了傳統(tǒng)并行I/o接口的數據傳輸瓶頸,大大降低通信成本:一是采用差分信號傳輸代替單端信號傳輸,從而增強了抗噪聲、抗干擾能力;二是采用時鐘和數據恢復技術代替同時傳輸數據和時鐘,從而解決了限制數據傳輸速率的信號時鐘偏移問題。因此,本發(fā)明實施例中,在芯片之間采用SERDES通信通道,有效減少了數據傳輸延遲。
[0072]另外,具有通信連接關系的芯片之間也可采用其它高速率低延遲的通信通道進行通信連接。
[0073]另外,在本發(fā)明任一實施例的數據處理裝置中,針對DNN或類似數據流向具有特殊性的網絡,具有通信連接關系的各芯片之間的通信通道可以是非對稱的,也就是發(fā)送方向(Tx)和接收方向(Rx)的傳輸帶寬不同,數據可主要沿著一個方向流動,而在另一方向上主要傳遞一些控制信息或者命令。例如,針對DNN的數據處理任務,可以設置SERDES通信通道在數據處理任務發(fā)送方向Tx的傳輸帶寬大于接收方向Rx的傳輸帶寬。
[0074]在本發(fā)明上述任一實施例的數據處理裝置中,每個節(jié)點芯片具體可以包括多個計算單元,例如上千個計算單元。本發(fā)明實施例的數據處理裝置可用于對包括但不限于DNN的數據處理任務進行處理。在以下的特定實施例中,以對DNN的數據處理任務進行處理為例對本發(fā)明實施例的數據處理裝置進行進一步詳細說明,但是,本領域技術人員基于本發(fā)明實施例的記載,可以知悉本發(fā)明實施例的數據處理裝置基于類似的方式對其他網絡中數據處理任務進行處理的具體實現。
[0075]采用發(fā)明實施例的數據處理裝置對DNN的數據處理任務進行計算處理時,可以示例性而非限制性地采用以下策略:
[0076]通過一個節(jié)點芯片運算處理DNN中全部層的數據處理任務;或者,通過一個節(jié)點芯片運算DNN中多個層的數據處理任務,通過多個節(jié)點完成DNN中全部層的數據處理任務的運算處理。其中,前一種情況適用于單節(jié)點芯片模式,可適用于特別小型的DNN,一個節(jié)點芯片就足以高效完成一個DNN中所有的數據處理任務,這種情況下,DNN的數據處理任務數據由服務器下發(fā)給主控芯片,主控芯片再下發(fā)給節(jié)點芯片,節(jié)點芯片對DNN中全部層的數據處理任務進行運算處理,運算完畢之后再沿與任務數據相反的方向將處理結果數據回傳給服務器。后一種情況下,適用于多節(jié)點芯片模式,可適用于小型的DNN,少數幾個節(jié)點芯片就可以高效完成一個DNN中所有的數據處理任務,這種情況下,DNN的數據處理任務數據由服務器下發(fā)給主控芯片,主控芯片再下發(fā)給其中一個節(jié)點芯片,對DNN中多個層的數據處理任務進行運算處理,并將運算得到的臨時結果數據通過節(jié)點芯片間的互聯(lián)鏈路傳輸給下一個節(jié)點芯片,此時該節(jié)點芯片便可處理下一個DNN中多個層的數據處理任務,下一個節(jié)點芯片開始對后續(xù)多個層的數據處理任務進行運算處理,依次類推,完成DNN的所有數據處理任務的運算處理后,沿與任務數據相反的方向將處理結果數據回傳給服務器。
[0077]通過組成一維矩陣處理DNN的全部數據處理任務。具體地,通過組成一維矩陣的多個節(jié)點芯片,先處理DNN—個層的數據處理任務,本層的數據處理任務運算處理完成后再一起開始運算處理下一層的數據處理任務。該情況適用于節(jié)點矩陣為一維矩陣模式。DNN的數據處理任務數據由服務器下發(fā)給主控芯片,再由主控芯片同時下發(fā)到一維矩陣的所有節(jié)點芯片,一層的數據處理任務運算處理結束之后,得到的臨時結果數據暫存在節(jié)點芯片中,當所有層的數據處理任務均運算處理結束后,將最終的處理結果數據回傳給主控芯片,再由主控芯片回傳給服務器。在對一層數據處理任務進行運算處理時,節(jié)點芯片之間通過節(jié)點芯片間的互聯(lián)通路進行數據互通,協(xié)同完成任務。例如,假設一個節(jié)點芯片中有兩千個計算單元,一維節(jié)點矩陣共有四個節(jié)點芯片共八千個計算單元,八千個計算單元一起處理DNN—個層的數據處理任務,DNN—層數據處理任務具體為八億次運算,則可以讓這八千個計算單元分擔預算八千萬次的運算量,經過十次這樣的循環(huán)運算后,便可完成這一層的數據處理任務,然后在一起進行下一層的數據處理任務的處理。
[0078]通過二維矩陣處理DNN的全部數據處理任務,該情況適用于節(jié)點矩陣為二維矩陣模式。具體地,DNN的數據處理任務數據由服務器下發(fā)給主控芯片,再由主控芯片同時下發(fā)到二維矩陣的第一列節(jié)點芯片組21中的多個節(jié)點芯片,二維矩陣中每列節(jié)點芯片組21的一個節(jié)點芯片處理DNN—層數據處理任務的一部分,每列節(jié)點芯片組21中的多個節(jié)點芯片并行處理,共同完成DNN—個層的數據處理任務,本層的數據處理任務運算處理完成后,將運算得到的臨時結果數據通過節(jié)點芯片間的橫向互聯(lián)鏈路傳輸給下一列節(jié)點芯片組21,此時該節(jié)點芯片組便可處理下一個DNN中一個層的數據處理任務,下一列節(jié)點芯片組21采用類似方式對下一層的數據處理任務進行運算處理,依次類推,完成DNN的所有數據處理任務的運算處理后,沿與任務數據相反的方向將處理結果數據回傳給服務器。
[0079]在單個節(jié)點芯片中,可以根據其內部計算單元的不同配置,通過以下方式來處理數據處理任務:
[0080]節(jié)點芯片中的計算單元未分組,都被配置為在同一時刻進行完全相同的運算,例如,假設一個節(jié)點芯片中有兩千個計算單元,DNN—個層的數據處理任務具體為八億次相同的運算,該節(jié)點芯片處理該一個層的數據處理任務時,兩千個計算單元同時對該八億次運算進行分擔處理;
[0081 ]每個節(jié)點芯片中的所有計算單元被配置為幾個計算單元組,同一個計算單元組內的計算單元在同一時刻進行完全相同的運算,不同計算單元組間可以執(zhí)行不同的運算操作。例如,一個節(jié)點芯片包括兩千個計算單元,則可以配置前一千個計算單元運算處理DNN第一層的數據處理任務,另外一千個計算單元運算處理第二層的數據處理任務,從而可以在節(jié)點芯片內部實現一個層間的流水作業(yè)。
[0082]示例性地,在本發(fā)明實施例中,節(jié)點芯片啟動時,會從板載的ROM里將固件加載到節(jié)點芯片的微控制器(MCU)中,通過節(jié)點芯片中的固件(f irmware)來選擇具體采用何種方式處理數據處理任務。
[0083]根據上述策略,在基于本發(fā)明上述實施例的一個具體示例中,每個節(jié)點芯片中的多個計算單元被分為不同的計算單元組。該具體示例中,節(jié)點矩陣2具體通過一個節(jié)點芯片對數據處理任務進行相應的處理。相應地,接收到數據處理任務的節(jié)點芯片對數據處理任務進行相應的處理時,具體用于:根據預先配置的執(zhí)行策略,分別通過該接收到數據處理任務的節(jié)點芯片中不同的計算單元組,依次對DNN中各個層或連續(xù)多個層的數據處理任務進行處理。
[0084]該具體示例可用于對特別小型DNN網絡中數據處理任務的處理。
[0085]作為本發(fā)明各實施例的一個具體示例而非限制,其中的執(zhí)行策略可以預先配置在主控芯片I中,由主控芯片I根據本次待處理DNN網絡中數據處理任務的大小與單個節(jié)點芯片可支持的數據處理能力之間的關系,確定執(zhí)行本次DNN網絡中數據處理任務的節(jié)點芯片的數量及具體的節(jié)點芯片,從而向第一列節(jié)點芯片組21中的節(jié)點信息發(fā)送數據處理任務與控制消息。其中的執(zhí)行策略可以根據需求隨時修改。
[0086]此外,在基于本發(fā)明上述實施例的另一個具體示例中,節(jié)點矩陣2具體可以通過同一列節(jié)點芯片組21或不同列節(jié)點芯片組21中的多個節(jié)點芯片對一次DNN的數據處理任務進行相應的處理,每個節(jié)點芯片處理DNN—個層的數據處理任務。
[0087]具體地,上述多個節(jié)點芯片中的各節(jié)點芯片,可以分別用于依次對DNN中各個層或連續(xù)多個層的數據處理任務進行處理。或者,多個節(jié)點芯片中的每個節(jié)點芯片,用于對DNN一個層的數據處理任務進行處理,并在得到處理結果數據后發(fā)送給縱向通信連接的、所在節(jié)點芯片組21中的下一個節(jié)點芯片,或者橫向通信連接的、下一列節(jié)點芯片組21中的下一個節(jié)點芯片,以便該下一個節(jié)點芯片對DNN下一個層的數據處理任務進行處理。
[0088]另外,在基于本發(fā)明上述實施例的又一個具體示例中,節(jié)點矩陣2具體還可以通過由多列節(jié)點芯片組構成的二維節(jié)點矩陣對所述DNN中所有層的數據處理任務進行相應的處理。
[0089]具體地,每一列節(jié)點芯片組中的所有節(jié)點芯片,用于對DNN—個層的數據處理任務進行并行處理,將處理數據處理任務獲得的數據處理結果發(fā)送給該列節(jié)點芯片組中各節(jié)點芯片對應橫向通信連接的、下一列節(jié)點芯片組的節(jié)點芯片,以便下一列節(jié)點芯片組中的所有節(jié)點芯片對DNN下一層的數據處理任務進行并行處理。
[0090]由于數據處理裝置連接的存儲單元帶寬和1/0(輸入/輸出)帶寬主要受限于主控芯片I的能力,如果一個主控芯片I可提供的帶寬不足,本發(fā)明實施例中,還可以通過主控芯片I互聯(lián)的設計來提供額外的帶寬支援。如圖6所示,為本發(fā)明數據處理系統(tǒng)一個實施例的示意圖。該實施例的數據處理系統(tǒng)中,包括多個數據處理裝置,相鄰數據處理裝置中的主控芯片I之間通信連接,以通過一個以上數據處理裝置實現對同一個數據處理任務的處理。圖6僅示例性地示出了數據處理系統(tǒng)包括兩個數據處理裝置的一個具體示例。其中的數據處理裝置具體可以基于本發(fā)明上述任一實施例數據處理裝置實現。
[0091]基于本發(fā)明上述實施例提供的數據處理系統(tǒng),包括多個本發(fā)明上述實施例的數據處理裝置,數據處理能力強大且易于擴展,不會受到主板卡槽數量的限制,且避免了擴展數據處理能力需增加外部設備的通信接口所產生的成本。
[0092]另外,基于本發(fā)明實施例的數據處理系統(tǒng),通過多個數據處理裝置進一步擴展了數據處理能力,若兩個數據處理裝置之間通過插入的主板進行通信,延時較大,而相鄰數據處理裝置中的主控芯片I之間通信連接,避免了兩個數據處理裝置之間通過插入的主板進行通信,降低了通信時延,提高了數據處理效率。
[0093]在上述數據處理系統(tǒng)實施例的一個具體示例中,主控芯片I上設置有SERDES接口,相鄰數據處理裝置中的主控芯片I之間具體可以通過主控芯片I上的SERDES接口,采用SERDES通信通道進行通信連接。
[0094]與上述數據處理裝置實施例類似地,主控芯片I之間的SERDES通信通道也可以是非對稱的,在數據處理任務發(fā)送方向Tx的傳輸帶寬大于接收方向Rx的傳輸帶寬。
[0095]或者,在上述數據處理系統(tǒng)實施例的另一個具體示例中,主控芯片I上設置有PCIE接口,相鄰數據處理裝置中的主控芯片I之間具體可以通過主控芯片I上的PCIE接口,采用PCIE通信通道進行通信連接。
[0096]本發(fā)明一個實施例提供的服務器中,包括主板,主板上具有一個以上卡槽。另外,服務器中還包括一個以上數據處理裝置,數據處理裝置中的主控芯片I以插接方式插入主板上的卡槽中時,主控芯片I可以通過外部接口與主板進行數據交互。其中的數據處理裝置具體可以基于本發(fā)明上述任一實施例數據處理裝置的結構實現。
[0097]基于本發(fā)明上述實施例提供的服務器,包括多個本發(fā)明上述實施例的數據處理裝置,數據處理能力強大且易于擴展,不會受到主板卡槽數量的限制,且避免了擴展數據處理能力需增加外部設備的通信接口所產生的成本。
[0098]本發(fā)明另一個實施例提供的服務器中,包括主板,主板上具有一個以上卡槽。另夕卜,服務器中還包括數據處理系統(tǒng),數據系統(tǒng)中的多個主控芯片I分別以插接方式插入主板上的不同卡槽中時,主控芯片I可以分別通過外部接口與主板進行數據交互。其中的數據處理系統(tǒng)具體可以基于本發(fā)明上述任一實施例數據處理系統(tǒng)的結構實現。
[0099]基于本發(fā)明上述實施例提供的服務器,包括多個本發(fā)明上述實施例的數據處理系統(tǒng),數據處理能力強大且易于擴展,不會受到主板卡槽數量的限制,且避免了擴展數據處理能力需增加外部設備的通信接口所產生的成本;并且,通信時延低,具有較高的數據處理效率。
[0100]如圖7所示,為本發(fā)明服務器一個實施例的示意圖,圖7所示的實施例中,僅示例性地示出了服務器包括兩個數據處理裝置的一個具體示例。
[0101]在本發(fā)明上述任一實施例服務器的一個具體示例中,主控芯片I外部接口為PCIE接口,主板上的卡槽具體為PCIE插槽。另外,主控芯片I的外部接口與主板上的卡槽也可以采用其他標準實現,只要二者類型匹配即可。
[0102]另外,在本發(fā)明服務器的又一服務器中,上述任一實施例的服務器中,還可以包括與主板連接的、用于與其他服務器進行數據交互的外部通信接口。示例性地,外部通信接口可以是以太網接口,例如40/100G以太網接口,具體的選擇可可以根據不同的應用場景靈活決定。例如,若要搭建一個云服務器中心,則外部通信接口相應設置為以太網接口。
[0103]進一步地,再參見圖7,在本發(fā)明服務器的再一服務器中,還可以包括分別與每個主控芯片I通信連接的存儲單元,以便進行相應的信息存儲。作為本發(fā)明實施例的一個具體示例而非限制,該存儲單元可以是DDR(雙倍速率同步動態(tài)隨機存儲器)、LPDDR(低功率雙倍速率同步動態(tài)隨機存儲器)、GDDR(圖形雙倍速率同步動態(tài)隨機存儲器)、HBM(高帶寬存儲器)、或者HMC(混合存儲立方體存儲器),另外,也可以是其它類型的高速存儲器。
[0104]綜上所述,由于本發(fā)明實施例提出了一種新的拓撲結構,該拓撲結構可更適合諸如DNN或深度學習的大運算量硬件加速平臺的優(yōu)化實現。
[0105]本發(fā)明實施例,具有以下總的有益技術效果:
[0106]將數據處理任務劃分為主控芯片和節(jié)點芯片的兩種功能芯片的解決方案,增加了數據處理裝置的適應性。當計算能力不足時,可以通過對節(jié)點矩陣做一維或二維擴展來實現算力的提升,大大增強了系統(tǒng)的可擴展性和可伸縮性,付出的代價相對較低,提供的最大計算能力遠遠超過現在的GPU,整個產品的物理大小也比較緊湊;
[0107]節(jié)點芯片與主機接口無關,降低了開發(fā)難度,節(jié)點芯片的實現可以專注于數據處理功能的實現,有助于提高集成度和硬件效率;
[0108]節(jié)點芯片不會占用主板上的卡槽,易于擴展節(jié)點芯片、增強數據處理裝置、系統(tǒng)和服務器的數據處理能力;
[0109]主控芯片可以采用FPGA方式實現,可以根據客戶需求靈活定制;
[0110]各芯片間通信的延遲可控,大部分的情況下都是芯片和芯片利用高速通信通道直接進行通信;
[0111]主控芯片可以選擇用FPGA(現場可編程門陣列)來實現,這樣可以根據客戶需求靈活定制。
[0112]本發(fā)明實施例提供了以下技術方案:
[0113]1、一種數據處理裝置,包括主控芯片和與所述主控芯片通信連接的節(jié)點矩陣,所述節(jié)點矩陣包括一個以上節(jié)點芯片;其中:
[0114]所述主控芯片,設置有外部接口,用于將通過外部接口接收到的數據處理任務分發(fā)給節(jié)點矩陣,以及向節(jié)點矩陣發(fā)送控制消息,并接收節(jié)點矩陣返回的數據處理結果;
[0115]所述節(jié)點矩陣,用于接收主控芯片發(fā)送的控制消息和數據處理任務,根據所述控制消息,通過一個以上節(jié)點芯片對所述數據處理任務進行相應的處理,并向主控芯片返回數據處理結果。
[0116]2、根據I所述的數據處理裝置,所述節(jié)點矩陣包括N列節(jié)點芯片組,每列節(jié)點芯片組分別包括一個以上節(jié)點芯片;
[0117]其中,第一列節(jié)點芯片組中的每個節(jié)點芯片分別與所述主控芯片通信連接,第η列節(jié)點芯片組中的每個節(jié)點芯片,分別與第η-l列節(jié)點芯片組中的對應節(jié)點芯片通信連接,ηe【2,N】,N的取值為不小于I的整數。
[0118]3、根據2所述的數據處理裝置,每列節(jié)點芯片組中的節(jié)點芯片依次通信連接。
[0119]4、根據3所述的數據處理裝置,每列節(jié)點芯片組中分別位于首、尾節(jié)點芯片通信連接。
[0120]5、根據I至4任意一項所述的數據處理裝置,所述主控芯片與節(jié)點芯片上分別設置有串行器/解串器SERDES接口;具有通信連接關系的主控芯片與節(jié)點芯片之間、節(jié)點芯片之間具體通過SERDES接口,采用SERDES通信通道進行通信連接;
[0121]或者
[0122]所述主控芯片與節(jié)點芯片上分別設置有總線和接口標準PCIE接口;具有通信連接關系的主控芯片與節(jié)點芯片之間、節(jié)點芯片之間具體通過PCIE接口,采用PCIE通信通道進行通信連接。
[0123]6、根據5所述的數據處理裝置,所述SERDES通信通道在數據處理任務發(fā)送方向Tx的傳輸帶寬大于接收方向Rx的傳輸帶寬。
[0124]7、根據I至6任意一項所述的數據處理裝置,所述節(jié)點芯片包括多個計算單元;
[0125]所述數據處理任務包括深度神經網絡DNN的數據處理任務。
[0126]8、根據7所述的數據處理裝置,每個節(jié)點芯片中的多個計算單元被分為不同的計算單元組;
[0127]所述節(jié)點矩陣具體通過一個節(jié)點芯片對所述數據處理任務進行相應的處理;
[0128]接收到數據處理任務的節(jié)點芯片對所述數據處理任務進行相應的處理時,具體用于:
[0129]根據預先配置的執(zhí)行策略,分別通過所述接收到數據處理任務的節(jié)點芯片中不同的計算單元組,依次對DNN中各個層或連續(xù)多個層的數據處理任務進行處理。
[0130]9、根據7所述的數據處理裝置,所述節(jié)點矩陣具體通過同一個節(jié)點芯片組或不同節(jié)點芯片組中的多個節(jié)點芯片對所述數據處理任務進行相應的處理。
[0131]10、根據9所述的數據處理裝置,所述多個節(jié)點芯片中的各節(jié)點芯片,分別用于依次對DNN中各個層或連續(xù)多個層的數據處理任務進行處理。
[0132]11、根據9所述的數據處理裝置,所述多個節(jié)點芯片中的每個節(jié)點芯片,用于對DNN一個層的數據處理任務進行處理,并在得到處理結果數據后發(fā)送給縱向通信連接的、所在節(jié)點芯片組的下一個節(jié)點芯片,或者橫向通信連接的、下一列節(jié)點芯片組的下一個節(jié)點芯片,以便所述下一個節(jié)點芯片對所述DNN下一個層的數據處理任務進行處理。
[0133]12、根據7所述的數據處理裝置,所述節(jié)點矩陣具體通過由多列節(jié)點芯片組構成的二維節(jié)點矩陣對所述DNN中所有層的數據處理任務進行相應的處理。
[0134]13、根據12所述的數據處理裝置,每一列節(jié)點芯片組中的所有節(jié)點芯片,用于對DNN—個層的數據處理任務進行并行處理,并將處理數據處理任務獲得的數據處理結果發(fā)送給該列節(jié)點芯片組中各節(jié)點芯片對應橫向通信連接的、下一列節(jié)點芯片組的節(jié)點芯片,以便所述下一列節(jié)點芯片組中的所有節(jié)點芯片對DNN下一層的數據處理任務進行并行處理。
[0135]14、根據I至13任意一項所述的數據處理裝置,所述外部接口包括PCIE接口。
[0136]15、根據I至14任意一項所述的數據處理裝置,所述主控芯片具體基于現場可編程門陣列FPGA方式實現。
[0137]16、一種數據處理系統(tǒng),包括多個如I至16任意一項所述的數據處理裝置;
[0138]相鄰數據處理裝置中的主控芯片之間通信連接,以通過一個以上所述數據處理裝置實現對同一個數據處理任務的處理。
[0139]17、根據16所述的數據處理系統(tǒng),相鄰數據處理裝置中的主控芯片之間具體通過主控芯片上的串行器/解串器SERDES接口,采用SERDES通信通道進行通信連接;或者
[0140]相鄰數據處理裝置中的主控芯片之間具體通過主控芯片上的PCIE接口,采用PCIE通信通道進行通信連接。
[0141]18、根據17所述的數據處理系統(tǒng),所述SERDES通信通道在數據處理任務發(fā)送方向Tx的傳輸帶寬大于接收方向Rx的傳輸帶寬。
[0142]19、一種服務器,包括主板,所述主板上具有一個以上卡槽,還包括:
[0143]一個以上如I至15任意一項所述的數據處理裝置,所述數據處理裝置中的主控芯片以插接方式插入主板上的卡槽中時,主控芯片通過外部接口與主板進行數據交互;或者
[0144]如16至18任意一項所述的數據處理系統(tǒng),所述數據系統(tǒng)中的多個主控芯片分別以插接方式插入主板上的不同卡槽中時,主控芯片分別通過外部接口與主板進行數據交互。
[0145]20、根據21所述的服務器,主控芯片外部接口為總線和接口標準PCIE接口時,所述卡槽具體為PCIE插槽。
[0146]21、根據19或20所述的服務器,還包括與主板連接的、用于與其他服務器進行數據交互的外部通信接口。
[0147]22、根據21所述的服務器,所述外部通信接口包括以太網接口。
[0148]23、根據19至22任意一項所述的服務器,還包括分別與每個主控芯片通信連接的存儲單元。
[0149]24、根據23所述的服務器,所述存儲單元包括雙倍速率同步動態(tài)隨機存儲器DDR、低功率雙倍速率同步動態(tài)隨機存儲器LPDDR、圖形雙倍速率同步動態(tài)隨機存儲器⑶DR、高帶寬存儲器HBM、或者混合存儲立方體存儲器HMC。
[0150]在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設備固有相關。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據上面的描述,構造這類系統(tǒng)所要求的結構是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現在此描述的本發(fā)明的內容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
[0151]在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
[0152]類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權利要求書由此明確地并入該【具體實施方式】,其中每個權利要求本身都作為本發(fā)明的單獨實施例。
[0153]本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0154]此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內并且形成不同的實施例。例如,所公開的實施例的任意之一都可以以任意的組合方式來使用。
[0155]本發(fā)明實施例的各個部件可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發(fā)明實施例的裝置、系統(tǒng)、服務器中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本發(fā)明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0156]應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在說明書中,不應將位于括號之間的任何參考符號構造成對本發(fā)明實施例的限制。單詞“包含”不排除存在未列出的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明實施例可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現。
[0157]顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。
【主權項】
1.一種數據處理裝置,其特征在于,包括主控芯片和與所述主控芯片通信連接的節(jié)點矩陣,所述節(jié)點矩陣包括一個以上節(jié)點芯片;其中: 所述主控芯片,設置有外部接口,用于將通過外部接口接收到的數據處理任務分發(fā)給節(jié)點矩陣,以及向節(jié)點矩陣發(fā)送控制消息,并接收節(jié)點矩陣返回的數據處理結果; 所述節(jié)點矩陣,用于接收主控芯片發(fā)送的控制消息和數據處理任務,根據所述控制消息,通過一個以上節(jié)點芯片對所述數據處理任務進行相應的處理,并向主控芯片返回數據處理結果。2.根據權利要求1所述的數據處理裝置,其特征在于,所述節(jié)點矩陣包括N列節(jié)點芯片組,每列節(jié)點芯片組分別包括一個以上節(jié)點芯片; 其中,第一列節(jié)點芯片組中的每個節(jié)點芯片分別與所述主控芯片通信連接,第η列節(jié)點芯片組中的每個節(jié)點芯片,分別與第η-l列節(jié)點芯片組中的對應節(jié)點芯片通信連接,ne【2,N】,N的取值為不小于I的整數。3.根據權利要求2所述的數據處理裝置,其特征在于,每列節(jié)點芯片組中的節(jié)點芯片依次通信連接。4.根據權利要求3所述的數據處理裝置,其特征在于,每列節(jié)點芯片組中分別位于首、尾節(jié)點芯片通信連接。5.根據權利要求1至4任意一項所述的數據處理裝置,其特征在于,所述主控芯片與節(jié)點芯片上分別設置有串行器/解串器SERDES接口;具有通信連接關系的主控芯片與節(jié)點芯片之間、節(jié)點芯片之間具體通過SERDES接口,采用SERDES通信通道進行通信連接; 或者 所述主控芯片與節(jié)點芯片上分別設置有總線和接口標準PCIE接口;具有通信連接關系的主控芯片與節(jié)點芯片之間、節(jié)點芯片之間具體通過PCIE接口,采用PCIE通信通道進行通信連接。6.根據權利要求5所述的數據處理裝置,其特征在于,所述SERDES通信通道在數據處理任務發(fā)送方向Tx的傳輸帶寬大于接收方向Rx的傳輸帶寬。7.根據權利要求1至6任意一項所述的數據處理裝置,其特征在于,所述節(jié)點芯片包括多個計算單元; 所述數據處理任務包括深度神經網絡DNN的數據處理任務。8.根據權利要求7所述的數據處理裝置,其特征在于,每個節(jié)點芯片中的多個計算單元被分為不同的計算單元組; 所述節(jié)點矩陣具體通過一個節(jié)點芯片對所述數據處理任務進行相應的處理; 接收到數據處理任務的節(jié)點芯片對所述數據處理任務進行相應的處理時,具體用于: 根據預先配置的執(zhí)行策略,分別通過所述接收到數據處理任務的節(jié)點芯片中不同的計算單元組,依次對DNN中各個層或連續(xù)多個層的數據處理任務進行處理。9.一種數據處理系統(tǒng),其特征在于,包括多個如權利要求1至8任意一項所述的數據處理裝置; 相鄰數據處理裝置中的主控芯片之間通信連接,以通過一個以上所述數據處理裝置實現對同一個數據處理任務的處理。10.一種服務器,包括主板,所述主板上具有一個以上卡槽,其特征在于,還包括: 一個以上如權利要求1至8任意一項所述的數據處理裝置,所述數據處理裝置中的主控芯片以插接方式插入主板上的卡槽中時,主控芯片通過外部接口與主板進行數據交互;或者 如權利要求9所述的數據處理系統(tǒng),所述數據系統(tǒng)中的多個主控芯片分別以插接方式插入主板上的不同卡槽中時,主控芯片分別通過外部接口與主板進行數據交互。
【文檔編號】G06N3/02GK105956659SQ201610312410
【公開日】2016年9月21日
【申請日】2016年5月11日
【發(fā)明人】詹克團, 范靖, 楊存永, 高鵬
【申請人】北京比特大陸科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乌拉特中旗| 凤山市| 湘潭市| 黎城县| 额敏县| 兴安盟| 赤壁市| 西青区| 寿光市| 贡嘎县| 宜川县| 酉阳| 峨眉山市| 三门县| 博野县| 湟中县| 博爱县| 泽普县| 扎赉特旗| 米林县| 南通市| 临夏市| 扬中市| 福安市| 三明市| 溧水县| 梓潼县| 贵定县| 扬中市| 永胜县| 乐东| 龙泉市| 师宗县| 沿河| 曲靖市| 南溪县| 剑河县| 泌阳县| 南通市| 陆川县| 信宜市|