[發明專利]數據平行代碼中的映射變換有效
| 申請號: | 201110382436.8 | 申請日: | 2011-11-16 |
| 公開(公告)號: | CN102541612A | 公開(公告)日: | 2012-07-04 |
| 發明(設計)人: | P·F·林塞斯;Y·萊瓦諾尼;朱偉榮 | 申請(專利權)人: | 微軟公司 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 上海專利商標事務所有限公司 31100 | 代理人: | 黃嵩泉 |
| 地址: | 美國華*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據 平行 代碼 中的 映射 變換 | ||
技術領域
本發明涉及計算機系統,尤其涉及計算機系統中代碼的映射變換。
背景
計算機系統通常包括一個或多個通用處理器(例如,中央處理單元(CPU))和一個或多個專有數據平行計算節點(例如,圖形處理單元(GPU)或CPU中的單指令多數據(SIMD)執行單元)。通用處理器一般執行計算機系統上的通用處理,而數據平行計算節點一般執行計算機系統上的數據平行處理(例如,圖形處理)。通用處理器通常具有實現數據平行算法的能力,但是在不需要數據平行節點中所發現的優化的硬件資源的情況下來這樣做。因此,通用處理器在執行數據平行算法時遠遠沒有數據平行計算節點有效。
數據平行計算節點在傳統上扮演了對執行計算機系統上的程序的通用處理器的支持角色。隨著由于數據平行計算節點處理能力的增強而造成的為數據平行算法優化的硬件角色的增加,將需要增強程序員編程數據平行計算節點以及使數據平行計算節點的編程更加簡單的能力。
數據平行計算節點一般執行例如被稱為內核或者著色器的指定的數據平行算法。為了執行多個數據平行算法,一般消耗明顯的計算開銷以啟動每一數據平行算法。此外,當數據平行計算節點具有和對應的主存計算節點不同的存儲器層級結構時,將消耗額外的開銷來將不同數據平行算法的中間結果復制到主存計算節點或者從主存計算節點復制。
發明內容
提供本發明內容以便以簡化的形式介紹將在以下具體實施方式中進一步描述的一些概念。本發明內容并不旨在標識出所要求保護的主題的關鍵特征或必要特征,也不旨在用于限定所要求保護的主題的范圍。
高層編程語言提供了映射變換,該映射變換采用數據平行算法并且將一組一個或多個輸入可索引類型作為自變量。映射變換將數據平行算法應用于該組輸入可索引類型,以生成輸出可索引類型,并且返回該輸出可索引類型。映射變換可用于將一個或多個數據平行算法與另一數據平行算法融合。
附圖說明
所附附圖被包括以提供對各實施例的進一步理解,并且被并入和組成本發明的一部分。附圖示出各實施例,并且與說明書一起用于解釋各實施例的原理。其他實施例以及許多各實施例的預期優點將隨著其通過參考以下詳細描述變得更好理解而被容易地明白。附圖的元素不需要相對于彼此而縮放。相同的標號指明對應的類似部分。
圖1是示出具有映射變換的數據平行代碼的實施例的計算機代碼圖。
圖2是示出將映射變換應用于一組輸入可索引類型的實施例的框圖。
圖3A-3C是示出使用映射變換的各實施例的框圖。
圖4是示出被配置為編譯和執行包括了映射變換的數據平行代碼的計算機系統的實施例的框圖。
詳細描述
在以下詳細描述中,對附圖進行了參考,附圖構成了實施例的一部分,并且在其中作為示例示出了其中能夠實踐本發明的特定實施例。出于這一考慮,參考所述附圖的方向來使用諸如“頂部”、“底部”、“前”、“后”、“在前的”、“在后的”等方向術語。由于可以以眾多不同的方向來放置各實施例的組件,因此方向術語僅用于示例的目的,而不作為限制??梢岳斫?,可使用其他實施例并且可做出結構上或邏輯的改變而不背離本發明的范圍。因此,以下詳細描述并不旨在限制,并且本發明的范圍由所附權利要求來限定??梢岳斫?,除非特別指明,此處描述的各示例性實施例的特征可以互相結合。
圖1是示出具有通用映射變換12的數據平行(DP)代碼10的實施例的計算機代碼圖。映射變換12采用DP算法14并且將一組一個或多個輸入可索引類型作為自變量,如箭頭16所指示將DP算法14應用于該組輸入可索引類型以生成輸出可索引類型,并且如箭頭18所指示返回輸出可索引類型。如以下更加詳細描述的,映射變換12可用于將一個或多個DP算法14與另一DP算法24融合。
如此處所使用的,可索引類型是與非負整數的秩一起實現一個或多個下標操作符的任意數據類型,并且是由element_type(元素_類型)表示的類型。如果索引<N>是表示N-元整數的類型(即,任意類型的整數數據類型),則索引<N>的實例為一組N個整數{i0,i1,...,im},其中m等于N-1(即,N-元)。秩N的索引操作符采用索引<N>的N-元實例,并且將該實例與被稱為元素類型的類型的另一實例相關聯,在該元素類型中元素類型以可索引類型定義每一元素。在一個實施例中,可索引類型定義以下操作符中的一個或多個:
element_type?operator[](index_declarator);
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟公司,未經微軟公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110382436.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種同相半波阻力型逆變電源
- 下一篇:高效隔離直流電源濾波器
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





