基于GPU的SHA-2哈希算法的快速實現(xiàn)及應(yīng)用
發(fā)布時間:2021-07-07 13:06
隨著十幾年來GPU硬件制造技術(shù)的不斷提升,GPU計算能力以接近摩爾定律的速度飛速發(fā)展著。得益于GPU設(shè)備的可編程性、高吞吐量和高并發(fā)能力,GPU通用計算成為研究熱點,也越來越多的被用于高性能計算。作為兩大GPU通用計算平臺之一的OpenCL平臺,提供了更廣泛的硬件支持。本文在OpenCL平臺上研究基于GPU設(shè)備的SHA-2系列哈希算法的快速實現(xiàn)及應(yīng)用。文章結(jié)合GPU硬件結(jié)構(gòu)特點,提出了降低GPU計算量、降低GPU額外開銷和增加GPU設(shè)備占用率這三條GPU優(yōu)化原則。在這些原則的基礎(chǔ)上,本文總結(jié)了一系列存儲訪問方面和算法結(jié)構(gòu)方面的優(yōu)化方法,并針對性地提出了 SHA-2系列算法的快速實現(xiàn)方案。本文將SHA-2系列算法的快速實現(xiàn)方案應(yīng)用于口令恢復(fù),設(shè)計并實現(xiàn)了基于GPU的高性能SHA-2 口令恢復(fù)算法。該算法支持多種口令恢復(fù)模式,實現(xiàn)了不同模式下的并行口令哈希計算。實驗數(shù)據(jù)說明,優(yōu)化后的SHA-2系列口令恢復(fù)算法有效降低了算法計算量和額外開銷、有效提高了設(shè)備利用率和算法性能,在口令恢復(fù)方面比CPU和FPGA設(shè)備有著顯著優(yōu)勢。在掩碼模式下,優(yōu)化后的SHA-256和SHA-512 口令恢復(fù)算法在A...
【文章來源】:上海交通大學(xué)上海市 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:88 頁
【學(xué)位級別】:碩士
【部分圖文】:
召GC卜通用標且寄存器LICa己卜們(SGPR.,日K日)
??GCN架構(gòu)的計算單元的設(shè)計和上一代架構(gòu)截然不同,如圖2-3所示,每個??GCN計算單元包.括1個標量ALU?(Arithmetic?Logical?Unit,運算器)單元和64個??矢量ALU單元標量ALU単元和8KB的標量逋用寄存器(ScalarGeneral-purpose??Register,簡稱SGPR>相連;64個矢量ALU單元均分到4個SIMD單元中,每??個SIMD.牟元還擁有一片64KB的矢量通用寄存器.(Vector?General?Purpose?Register,.??簡稱VGPR)。整個計算單元共享一片16KB的一級讀寫緩存、指令調(diào)度單元和一??些其他硬件資源。??對應(yīng)到OpenCL標準Jv每個矢鐘ALU單元對應(yīng)為一個處理單元,每個work-??item運行在不詞的矢量ALU單元Jj*在.OpenCL執(zhí)行;酥,work-item被組銳??成work-group?C作組的形式存在,同一H作組內(nèi)的線程會并行運行在同一??個計算單元內(nèi),菌一個計算單元可以并行運行多個:。鹤鹘M。??GCN架構(gòu)_的GPU以64個work-item為最小調(diào)廢單位
2.2.1平臺模型??OpenCL的平臺模型包括一個Host?C主機)和一個或多個Device?(設(shè)備)[28],??如圖2-7所示。OpenCL定義了一個平臺統(tǒng)一接D!每家支持OpenCL的硬件廠商??都在統(tǒng)一接口下實現(xiàn)自B的OpenCL庫。由于平臺接口是統(tǒng)一的i主機可以和不??同的設(shè)備通信&??Host??CPU??,?^?|??Device?1?〇???Device?0??Compute?Compute????Unit?Unit??Built-in?Compute?Compute??Unit?Unit??Kernel???????Compute?pE?pE????Unit?I?I??圖2-7?0penCL平臺模型??Fig.2-7?OpenCL?platform?model??-15?-??
本文編號:3269685
【文章來源】:上海交通大學(xué)上海市 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:88 頁
【學(xué)位級別】:碩士
【部分圖文】:
召GC卜通用標且寄存器LICa己卜們(SGPR.,日K日)
??GCN架構(gòu)的計算單元的設(shè)計和上一代架構(gòu)截然不同,如圖2-3所示,每個??GCN計算單元包.括1個標量ALU?(Arithmetic?Logical?Unit,運算器)單元和64個??矢量ALU單元標量ALU単元和8KB的標量逋用寄存器(ScalarGeneral-purpose??Register,簡稱SGPR>相連;64個矢量ALU單元均分到4個SIMD單元中,每??個SIMD.牟元還擁有一片64KB的矢量通用寄存器.(Vector?General?Purpose?Register,.??簡稱VGPR)。整個計算單元共享一片16KB的一級讀寫緩存、指令調(diào)度單元和一??些其他硬件資源。??對應(yīng)到OpenCL標準Jv每個矢鐘ALU單元對應(yīng)為一個處理單元,每個work-??item運行在不詞的矢量ALU單元Jj*在.OpenCL執(zhí)行;酥,work-item被組銳??成work-group?C作組的形式存在,同一H作組內(nèi)的線程會并行運行在同一??個計算單元內(nèi),菌一個計算單元可以并行運行多個:。鹤鹘M。??GCN架構(gòu)_的GPU以64個work-item為最小調(diào)廢單位
2.2.1平臺模型??OpenCL的平臺模型包括一個Host?C主機)和一個或多個Device?(設(shè)備)[28],??如圖2-7所示。OpenCL定義了一個平臺統(tǒng)一接D!每家支持OpenCL的硬件廠商??都在統(tǒng)一接口下實現(xiàn)自B的OpenCL庫。由于平臺接口是統(tǒng)一的i主機可以和不??同的設(shè)備通信&??Host??CPU??,?^?|??Device?1?〇???Device?0??Compute?Compute????Unit?Unit??Built-in?Compute?Compute??Unit?Unit??Kernel???????Compute?pE?pE????Unit?I?I??圖2-7?0penCL平臺模型??Fig.2-7?OpenCL?platform?model??-15?-??
本文編號:3269685
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3269685.html
最近更新
教材專著