[發明專利]在GPU中進行大整數計算時的存儲資源分配方法及裝置在審
| 申請號: | 201310435220.2 | 申請日: | 2013-09-23 |
| 公開(公告)號: | CN103631660A | 公開(公告)日: | 2014-03-12 |
| 發明(設計)人: | 荊繼武;潘無窮;顧青;向繼;趙原;李淼;謝超 | 申請(專利權)人: | 中國科學院數據與通信保護研究教育中心 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 牛崢;王麗琴 |
| 地址: | 100093 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | gpu 進行 整數 計算 存儲 資源 分配 方法 裝置 | ||
1.一種在圖形處理器GPU中進行大整數計算時的存儲資源分配方法,其特征在于,GPU線程執行大整數計算過程中,包括:
線程當前執行的大整數計算的模數和與線程當前執行的大整數計算無關的其他數據存儲在內存中,所述其他數據為除了線程當前執行的大整數計算的操作數、中間計算變量和模數之外的數據;
線程當前執行的大整數計算的操作數和中間計算變量存儲在線程所分配的寄存器中;
線程調用分配的寄存器中的大整數計算的操作數和中間計算變量,調用內存中的大整數計算的模數,進行大整數計算。
2.如權利要求1所述的方法,其特征在于,當大整數計算采用模加、模減或模乘時,所述線程當前執行的大整數計算的操作數為源操作數、中間計算變量及目的操作數;
所述內存包括GPU的常數內存和全局內存,其中,將線程當前執行的大整數計算的模數存儲在所述常數內存中,將與線程當前執行的大整數計算無關的其他數據存儲在全局內存中。
3.如權利要求2所述的方法,其特征在于,所述大整數計算應用在SM2算法中時,所述模數為素數p和基點G的階n。
4.如權利要求3所述的方法,其特征在于,當大整數計算采用模加時,所述中間計算變量為加法之和;
當大整數計算采用模減時,所述中間計算變量為算數減法之差;
當大整數計算采用模乘時,所述中間計算變量為算數乘法之積和其中快速模約減運算中多次迭代計算中產生的結果。
5.如權利要求1~4任一所述的方法,其特征在于,完整的大整數計算由多個GPU線程同時完成;
所述線程所分配的寄存器大小根據操作數和中間計算變量大小確定。
6.一種在圖形處理器GPU中進行大整數計算時的存儲資源分配裝置,其特征在于,該裝置包括:內存、寄存器及大整數計算模塊,其中,
內存,用于存儲線程當前執行的大整數計算的模數和存儲與線程當前執行的大整數計算無關的其他數據,所述其他數據為除了線程當前執行的大整數計算的操作數、中間計算變量和模數之外的數據;
寄存器,用于存儲線程當前執行的大整數計算的操作數和中間計算變量;
大整數計算模塊,用于線程調用寄存器中的大整數計算的操作數和中間計算變量,調用內存中的大整數計算的模數,進行大整數計算。
7.如權利要求6所述的裝置,其特征在于,當大整數計算采用模加、模減或模乘時,
所述寄存器,還用于所述線程當前執行的大整數計算的操作數為源操作數、中間計算變量及目的操作數;
所述內存,還包括常數內存和全局內存,其中,
常數內存,用于存儲線程當前執行的大整數計算的模數;
全局內存,用于存儲與線程當前執行的大整數計算無關的其他數據。
8.如權利要求7所述的裝置,其特征在于,當大整數計算應用在SM2算法時,所述常數內存,還用于存儲的模數為素數p和基點G的階n。
9.如權利要求7所述的裝置,其特征在于,所述寄存器,還用于當大整數計算采用模加時,所述存儲的中間計算變量為加法之和;當大整數計算采用模減時,所述存儲的中間計算變量為算數減法之差;當大整數計算采用模乘時,所述存儲的中間計算變量為算數乘法之積和其中快速模約減運算中多次迭代計算中產生的結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院數據與通信保護研究教育中心,未經中國科學院數據與通信保護研究教育中心許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310435220.2/1.html,轉載請聲明來源鉆瓜專利網。





