[發(fā)明專利]用于數(shù)據(jù)類型的類型和長(zhǎng)度抽象有效
| 申請(qǐng)?zhí)枺?/td> | 201110436673.8 | 申請(qǐng)日: | 2011-12-13 |
| 公開(公告)號(hào): | CN102446100A | 公開(公告)日: | 2012-05-09 |
| 發(fā)明(設(shè)計(jì))人: | C·T·艾特;D·L·德特勒夫斯 | 申請(qǐng)(專利權(quán))人: | 微軟公司 |
| 主分類號(hào): | G06F9/44 | 分類號(hào): | G06F9/44 |
| 代理公司: | 上海專利商標(biāo)事務(wù)所有限公司 31100 | 代理人: | 陳斌 |
| 地址: | 美國(guó)華*** | 國(guó)省代碼: | 美國(guó);US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 數(shù)據(jù)類型 類型 長(zhǎng)度 抽象 | ||
技術(shù)領(lǐng)域
本發(fā)明針對(duì)在軟件代碼中實(shí)現(xiàn)類屬SIMD數(shù)據(jù)類型,尤其涉及用于數(shù)據(jù)類型的類型和長(zhǎng)度抽象。
背景技術(shù)
計(jì)算機(jī)已變得高度集成于工作、家庭、移動(dòng)設(shè)備以及許多其他地方中。計(jì)算機(jī)可快速且有效地處理巨大量信息。被設(shè)計(jì)成在計(jì)算機(jī)系統(tǒng)上運(yùn)行的軟件應(yīng)用允許用戶執(zhí)行包括商業(yè)應(yīng)用、學(xué)校作業(yè)、娛樂等等在內(nèi)的各種各樣的功能。軟件應(yīng)用通常被設(shè)計(jì)成執(zhí)行專門任務(wù),諸如用于草擬文檔的文字處理器應(yīng)用或者用于發(fā)送、接收和組織電子郵件的電子郵件程序。
在某些情況下,軟件應(yīng)用被設(shè)計(jì)成在專用處理器或處理系統(tǒng)上執(zhí)行。例如,用于某一應(yīng)用的軟件代碼可包括一次在不止一個(gè)數(shù)據(jù)項(xiàng)上運(yùn)算(單指令多數(shù)據(jù)指令,即SIMD指令)且專用于特定類型的處理器的指令。這些專門指令通常用于包括整型、浮點(diǎn)型、雙精度型的面向數(shù)字的數(shù)據(jù)類型。在某些情況下,軟件編譯器可被配置成執(zhí)行自動(dòng)向量化,該自動(dòng)向量化改變軟件代碼供專用處理器使用。然而,自動(dòng)向量化并不對(duì)全部類型的軟件代碼都適用。
發(fā)明內(nèi)容
本文所述的實(shí)施例針對(duì)在軟件代碼中實(shí)現(xiàn)類屬SIMD數(shù)據(jù)類型。在一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)訪問軟件代碼的一部分,該部分包括具有類屬SIMD數(shù)據(jù)類型的算法,所述類屬SIMD數(shù)據(jù)類型包括可變數(shù)量的元素。元素的數(shù)量直到運(yùn)行時(shí)才被確定,但是可供該算法用作該類屬SIMD數(shù)據(jù)類型的特性。具有該類屬SIMD數(shù)據(jù)類型的該算法要由包括各種專用硬件特征的專用處理器處理。計(jì)算機(jī)系統(tǒng)在運(yùn)行時(shí)基于該類屬SIMD數(shù)據(jù)類型來確定要供指定的處理器使用的定制的處理器專用代碼的一部分,其中運(yùn)行時(shí)確定解析出要供該指定的處理器使用的元素的數(shù)量。計(jì)算機(jī)系統(tǒng)還使用確定的、定制的處理器專用代碼來處理包括具有該類屬SIMD數(shù)據(jù)類型的該算法的該軟件代碼。
提供本發(fā)明內(nèi)容以便以簡(jiǎn)化形式介紹將在以下的具體實(shí)施方式中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
另外的特征和優(yōu)點(diǎn)將在以下的描述中闡述,并且部分可從該描述中顯而易見,或者可以從此處的教示實(shí)踐中習(xí)得。本發(fā)明的各特征和優(yōu)點(diǎn)可以通過在所附的權(quán)利要求書中特別指出的手段和組合來實(shí)現(xiàn)和獲得。本發(fā)明的特征將從以下描述和所附權(quán)利要求書中變得完全顯而易見,或者可通過如下所述對(duì)本發(fā)明的實(shí)踐而獲知。
附圖說明
為了進(jìn)一步闡明本發(fā)明的各實(shí)施例的以上和其他優(yōu)點(diǎn)和特征,將參考附圖來呈現(xiàn)本發(fā)明的各實(shí)施例的更具體的描述。可以理解,這些附圖只描繪本發(fā)明的典型實(shí)施例,因此將不被認(rèn)為是對(duì)其范圍的限制。本發(fā)明將通過使用附圖用附加特征和細(xì)節(jié)來描述和解釋,附圖中:
圖1示出本發(fā)明的各實(shí)施例可在其中操作的計(jì)算機(jī)架構(gòu),包括在軟件代碼中實(shí)現(xiàn)類屬類型。
圖2示出用于在軟件代碼中實(shí)現(xiàn)類屬SIMD類型的示例方法的流程圖。
圖3示出用于在軟件代碼中實(shí)現(xiàn)類屬SIMD類型的替代架構(gòu)。
具體實(shí)施方式
本文所述的實(shí)施例針對(duì)在軟件代碼中實(shí)現(xiàn)類屬SIMD數(shù)據(jù)類型。在一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)訪問軟件代碼的一部分,該部分包括具有類屬SIMD數(shù)據(jù)類型的算法,所述類屬SIMD數(shù)據(jù)類型包括可變數(shù)量的元素。具有該類屬SIMD數(shù)據(jù)類型的該算法要由包括各種專用硬件特征的專用處理器處理。計(jì)算機(jī)系統(tǒng)在運(yùn)行時(shí)基于該類屬SIMD數(shù)據(jù)類型來確定要供指定的處理器使用的定制的處理器專用代碼的一部分,其中運(yùn)行時(shí)確定解析出要供該指定的處理器使用的元素的數(shù)量。計(jì)算機(jī)系統(tǒng)還使用確定的、定制的處理器專用代碼來處理包括具有該類屬SIMD數(shù)據(jù)類型的該算法的該軟件代碼。
以下討論現(xiàn)涉及可以執(zhí)行的多種方法以及方法動(dòng)作。應(yīng)當(dāng)注意,雖然這些方法動(dòng)作可能是按一定次序討論的,或者是在流程圖中被描繪為是按照特定順序進(jìn)行的,然而并非必然需要特定的次序,除非特別聲明,或者是因?yàn)橐粋€(gè)動(dòng)作依賴于另一動(dòng)作在該動(dòng)作被執(zhí)行之前完成而需要的。
本發(fā)明的各實(shí)施例可包括或利用專用或通用計(jì)算機(jī),該專用或通用計(jì)算機(jī)包括諸如例如一個(gè)或多個(gè)處理器和系統(tǒng)存儲(chǔ)器等計(jì)算機(jī)硬件,如以下更詳細(xì)討論的。本發(fā)明范圍內(nèi)的各實(shí)施例還包括用于攜帶或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理介質(zhì)和其他計(jì)算機(jī)可讀介質(zhì)。這些計(jì)算機(jī)可讀介質(zhì)可以是通用或?qū)S糜?jì)算機(jī)系統(tǒng)能夠訪問的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是計(jì)算機(jī)存儲(chǔ)介質(zhì)。攜帶計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實(shí)施例可包括至少兩種完全不同類型的計(jì)算機(jī)可讀介質(zhì):計(jì)算機(jī)存儲(chǔ)介質(zhì)和傳輸介質(zhì)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于微軟公司,未經(jīng)微軟公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110436673.8/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 用多數(shù)據(jù)類型表示來傳送數(shù)據(jù)對(duì)象的方法和系統(tǒng)
- 一種基于數(shù)據(jù)分類的動(dòng)態(tài)流量控制方法及裝置
- 基于數(shù)據(jù)類型的機(jī)器學(xué)習(xí)模型的訓(xùn)練方法及裝置
- 程序編寫的數(shù)據(jù)類型轉(zhuǎn)換方法、電子設(shè)備
- 數(shù)據(jù)處理方法、裝置、存儲(chǔ)介質(zhì)及電子設(shè)備
- 一種數(shù)據(jù)寫入、讀取方法及裝置
- 數(shù)據(jù)處理網(wǎng)絡(luò)系統(tǒng)及其計(jì)算圖生成方法
- 一種轉(zhuǎn)換代碼語言的方法及裝置
- 脫敏方法和脫敏裝置
- 一種數(shù)據(jù)同步方法及裝置
- 路徑長(zhǎng)度算出裝置及路徑長(zhǎng)度算出方法
- 損傷長(zhǎng)度測(cè)定系統(tǒng)及損傷長(zhǎng)度測(cè)定方法
- 長(zhǎng)度計(jì)算系統(tǒng)及長(zhǎng)度計(jì)算方法
- 長(zhǎng)度計(jì)算系統(tǒng)及長(zhǎng)度計(jì)算方法
- 長(zhǎng)度量測(cè)方法與長(zhǎng)度量測(cè)裝置
- 可調(diào)節(jié)測(cè)量長(zhǎng)度的長(zhǎng)度傳感器
- 長(zhǎng)度測(cè)量裝置及長(zhǎng)度測(cè)量系統(tǒng)
- 長(zhǎng)度測(cè)量設(shè)備及長(zhǎng)度測(cè)量方法
- 中等長(zhǎng)度導(dǎo)管長(zhǎng)度電子測(cè)量尺
- 中等長(zhǎng)度導(dǎo)管長(zhǎng)度機(jī)械測(cè)量尺





