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