【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)涉及數(shù)據(jù)處理領(lǐng)域,特別涉及一種數(shù)論變換加速方法、裝置、介質(zhì)及芯片。
技術(shù)介紹
1、隨著人工智能和大數(shù)據(jù)算法的不斷發(fā)展,保護(hù)數(shù)據(jù)安全與隱私愈發(fā)重要,使用加密算法對(duì)數(shù)據(jù)進(jìn)行加密是保護(hù)數(shù)據(jù)安全的重要方式。目前,主流的隱私計(jì)算技術(shù)如全同態(tài)加密(fully?homomorphic?encryption,?fhe)、零知識(shí)證明(zero?knowledge?proof,?zkp)等均涉及大量的多項(xiàng)式乘法計(jì)算,若直接計(jì)算則復(fù)雜度較高,比如兩個(gè)長(zhǎng)度為n的多項(xiàng)式相乘,其時(shí)間復(fù)雜度為o(n2),而數(shù)論變換?(number?theoretic?transform,?ntt)則可以對(duì)多項(xiàng)式乘法的計(jì)算進(jìn)行優(yōu)化,使其時(shí)間復(fù)雜度降低到o(nlog2n)。其中,ntt是快速傅立葉變換(fast?fourier?transform,?fft)在數(shù)論領(lǐng)域的一個(gè)等價(jià)形式,其在有限域下進(jìn)行變換。
2、無論是正向數(shù)論變換(ntt)還是逆向數(shù)論變換(intt),其計(jì)算速度均是影響隱私計(jì)算效率的重要因素。然而,現(xiàn)有技術(shù)中,無論是正向數(shù)論變換(ntt)還是逆向數(shù)論變換(intt),其在各個(gè)運(yùn)算階段中,均是等待上一運(yùn)算階段的各個(gè)計(jì)算結(jié)果全部寫回后,再進(jìn)行下一運(yùn)算階段的運(yùn)算,此種數(shù)論變換的方法速度較慢。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)的主要目的是提出一種數(shù)論變換加速方法、裝置、介質(zhì)及芯片,旨在解決目前正向及逆向數(shù)論變換中,需要等待上一運(yùn)算階段的各個(gè)計(jì)算結(jié)果全部寫回后,才能進(jìn)行下一運(yùn)算階段的運(yùn)算所導(dǎo)致的運(yùn)算速度較慢的問題。
2、為實(shí)現(xiàn)上述目的,本申請(qǐng)?zhí)岢鲆环N數(shù)論變換加速方法,包括:
3、確定待處理數(shù)據(jù)在數(shù)論變換中的當(dāng)前運(yùn)算階段的各個(gè)操作數(shù)是否全部讀取;
4、若是,則確定延遲時(shí)間;所述延遲時(shí)間基于目標(biāo)寫回時(shí)間和目標(biāo)讀取時(shí)間確定;所述目標(biāo)寫回時(shí)間為在目標(biāo)運(yùn)算階段中各存儲(chǔ)器的目標(biāo)地址的寫回結(jié)果寫回所需的時(shí)間,所述各存儲(chǔ)器用于儲(chǔ)存所述待處理數(shù)據(jù)在各個(gè)運(yùn)算階段中的各個(gè)操作數(shù);所述目標(biāo)讀取時(shí)間為任一運(yùn)算階段中的各個(gè)操作數(shù)全部讀取所需的時(shí)間;在所述目標(biāo)運(yùn)算階段中,所述待處理數(shù)據(jù)在蝶形計(jì)算時(shí)所劃分的組數(shù)與并行度相同;在所述目標(biāo)運(yùn)算階段時(shí),所述各存儲(chǔ)器的目標(biāo)地址的寫回結(jié)果,為目標(biāo)運(yùn)算階段的下一運(yùn)算階段進(jìn)行第一次并行蝶形計(jì)算時(shí)的所需操作數(shù);
5、等待所述延遲時(shí)間后開始下一運(yùn)算階段的數(shù)論變換。
6、在本申請(qǐng)實(shí)施例中,所述目標(biāo)運(yùn)算階段基于如下公式得到:;
7、其中,代表目標(biāo)運(yùn)算階段,,k代表并行度,所述待處理數(shù)據(jù)在數(shù)論變換時(shí)的運(yùn)算階段序數(shù)從零開始。
8、在本申請(qǐng)實(shí)施例中,述各存儲(chǔ)器的目標(biāo)地址基于如下公式得到:;
9、其中,代表各存儲(chǔ)器的目標(biāo)地址,,n為待處理數(shù)據(jù)的序列長(zhǎng)度,,k代表并行度。
10、在本申請(qǐng)實(shí)施例中,所述各存儲(chǔ)器均具有如下深度的存儲(chǔ)空間:s=;
11、其中,s代表所述各存儲(chǔ)器的存儲(chǔ)深度,,n為待處理數(shù)據(jù)的序列長(zhǎng)度,,k代表并行度。
12、在本申請(qǐng)實(shí)施例中,基于如下公式確定在目標(biāo)運(yùn)算階段中所述各存儲(chǔ)器的目標(biāo)地址寫回結(jié)果的寫回所需的時(shí)間:=+delay;
13、其中,代表在目標(biāo)運(yùn)算階段中各存儲(chǔ)器的目標(biāo)地址寫回結(jié)果寫回所需的時(shí)鐘周期數(shù),delay代表所述待處理數(shù)據(jù)在一個(gè)蝶形計(jì)算中從讀取操作數(shù)至寫回計(jì)算結(jié)果所需的時(shí)鐘周期數(shù),,n為待處理數(shù)據(jù)的序列長(zhǎng)度,,k代表并行度。
14、在本申請(qǐng)實(shí)施例中,基于如下公式確定任一運(yùn)算階段中的各個(gè)操作數(shù)全部讀取所需的讀取時(shí)間:=;
15、其中,代表各個(gè)運(yùn)算階段中的各個(gè)操作數(shù)全部讀取所需的讀取時(shí)鐘周期數(shù),,n為待處理數(shù)據(jù)的序列長(zhǎng)度,,k代表并行度。
16、在本申請(qǐng)實(shí)施例中,基于如下方法確定所述延遲時(shí)間,包括:
17、當(dāng)delay≤時(shí),=0;
18、當(dāng)delay>時(shí),=delay-;
19、其中,代表延遲時(shí)間,delay代表所述待處理數(shù)據(jù)一個(gè)蝶形從讀取操作數(shù)至寫回計(jì)算結(jié)果所需的時(shí)鐘周期數(shù),,n為待處理數(shù)據(jù)的序列長(zhǎng)度,,k代表并行度。
20、本申請(qǐng)還提出一種數(shù)論變換加速裝置,包括:
21、判斷模塊,用于確定待處理數(shù)據(jù)在數(shù)論變換中的當(dāng)前運(yùn)算階段的各個(gè)操作數(shù)是否全部讀取;
22、處理模塊,用于確定延遲時(shí)間;所述延遲時(shí)間基于目標(biāo)寫回時(shí)間和目標(biāo)讀取時(shí)間確定;所述目標(biāo)寫回時(shí)間為在目標(biāo)運(yùn)算階段中各存儲(chǔ)器的目標(biāo)地址的寫回結(jié)果寫回所需的時(shí)間,所述各存儲(chǔ)器用于儲(chǔ)存所述待處理數(shù)據(jù)在各個(gè)運(yùn)算階段中的各個(gè)操作數(shù);所述目標(biāo)讀取時(shí)間為任一運(yùn)算階段中的各個(gè)操作數(shù)全部讀取所需的時(shí)間;在所述目標(biāo)運(yùn)算階段中,所述待處理數(shù)據(jù)在蝶形計(jì)算時(shí)所劃分的組數(shù)與并行度相同;在所述目標(biāo)運(yùn)算階段時(shí),所述各存儲(chǔ)器的目標(biāo)地址的寫回結(jié)果,為目標(biāo)運(yùn)算階段的下一運(yùn)算階段進(jìn)行第一次并行蝶形計(jì)算時(shí)的所需操作數(shù);
23、在當(dāng)前運(yùn)算階段的各個(gè)操作數(shù)是否全部讀取后,等待所述延遲時(shí)間后開始下一運(yùn)算階段的數(shù)論變換。
24、在本申請(qǐng)實(shí)施例中,所述處理模塊被配置為基于如下公式得到所述目標(biāo)運(yùn)算階段:;
25、其中,代表目標(biāo)運(yùn)算階段,,k代表并行度,所述待處理數(shù)據(jù)在數(shù)論變換時(shí)的運(yùn)算階段序數(shù)從零開始。
26、在本申請(qǐng)實(shí)施例中,所述處理模塊被配置為基于如下公式得到所述各存儲(chǔ)器的目標(biāo)地址:;
27、其中,代表各存儲(chǔ)器的目標(biāo)地址,,n為待處理數(shù)據(jù)的序列長(zhǎng)度,,k代表并行度。
28、在本申請(qǐng)實(shí)施例中,所述處理模塊被配置按照如下方式為所述各存儲(chǔ)器配置存儲(chǔ)空間:s=;
29、其中,s代表所述各存儲(chǔ)器的存儲(chǔ)深度,,n為待處理數(shù)據(jù)的序列長(zhǎng)度,,k代表并行度。
30、在本申請(qǐng)實(shí)施例中,所述處理模塊被配置為基于如下公式確定在目標(biāo)運(yùn)算階段中所述各存儲(chǔ)器的目標(biāo)地址寫回結(jié)果的寫回所需的時(shí)間:=+delay;
31、其中,代表在目標(biāo)運(yùn)算階段中各存儲(chǔ)器的目標(biāo)地址寫回結(jié)果寫回所需的時(shí)鐘周期數(shù),delay代表所述待處理數(shù)據(jù)在一個(gè)蝶形計(jì)算中從讀取操作數(shù)至寫回計(jì)算結(jié)果所需的時(shí)鐘周期數(shù),,n為待處理數(shù)據(jù)的序列長(zhǎng)度,,k代表并行度。
32、在本申請(qǐng)實(shí)施例中,所述處理模塊被配置為基于如下公式確定任一運(yùn)算階段中的各個(gè)操作數(shù)全部讀取所需的讀取時(shí)間:=;
33、其中,代表各個(gè)運(yùn)算階段中的各個(gè)操作數(shù)全部讀取所需的讀取時(shí)鐘周期數(shù),,n為待處理數(shù)據(jù)的序列長(zhǎng)度,,k代表并行度。
34、在本申請(qǐng)實(shí)施例中,所述處理模塊被配置為基于如下方法確定所述延遲時(shí)間:
35、當(dāng)delay≤時(shí),=0;
36、當(dāng)delay>時(shí),=delay-;
37、其中,代表延遲時(shí)間,delay代表所述待處理數(shù)據(jù)一個(gè)蝶形從讀取操作數(shù)至寫回計(jì)算結(jié)果所需的時(shí)鐘周期數(shù),,n為待處理數(shù)據(jù)的序列長(zhǎng)度,,k代表并行度。
38、本申請(qǐng)實(shí)施例還提出一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種數(shù)論變換加速方法,包括:
2.如權(quán)利要求1所述的數(shù)論變換加速方法,其中,所述目標(biāo)運(yùn)算階段基于如下公式得到:;
3.如權(quán)利要求1所述的數(shù)論變換加速方法,其中,所述各存儲(chǔ)器的目標(biāo)地址基于如下公式得到:;
4.如權(quán)利要求1所述的數(shù)論變換加速方法,其中,所述各存儲(chǔ)器均具有如下深度的存儲(chǔ)空間:S=;
5.如權(quán)利要求1所述的數(shù)論變換加速方法,其中,基于如下公式確定在目標(biāo)運(yùn)算階段中所述各存儲(chǔ)器的目標(biāo)地址寫回結(jié)果的寫回所需的時(shí)間:=+delay;
6.如權(quán)利要求1所述的數(shù)論變換加速方法,其中,基于如下公式確定任一運(yùn)算階段中的各個(gè)操作數(shù)全部讀取所需的讀取時(shí)間:=;
7.如權(quán)利要求1所述的數(shù)論變換加速方法,其中,基于如下方法確定所述延遲時(shí)間,包括:
8.一種數(shù)論變換加速裝置,包括:
9.如權(quán)利要求8所述的數(shù)論變換加速裝置,所述處理模塊被配置為基于如下公式得到所述目標(biāo)運(yùn)算階段:;
10.如權(quán)利要求8所述的數(shù)論變換加速裝置,所述處理模塊被配置為基于如下公式得到所述各存儲(chǔ)器的目標(biāo)地址:;
...【技術(shù)特征摘要】
1.一種數(shù)論變換加速方法,包括:
2.如權(quán)利要求1所述的數(shù)論變換加速方法,其中,所述目標(biāo)運(yùn)算階段基于如下公式得到:;
3.如權(quán)利要求1所述的數(shù)論變換加速方法,其中,所述各存儲(chǔ)器的目標(biāo)地址基于如下公式得到:;
4.如權(quán)利要求1所述的數(shù)論變換加速方法,其中,所述各存儲(chǔ)器均具有如下深度的存儲(chǔ)空間:s=;
5.如權(quán)利要求1所述的數(shù)論變換加速方法,其中,基于如下公式確定在目標(biāo)運(yùn)算階段中所述各存儲(chǔ)器的目標(biāo)地址寫回結(jié)果的寫回所需的時(shí)間:=+delay;
6.如權(quán)利要求1所述的數(shù)論變換加速方法,其中,基于如下公式確定任一運(yùn)算階段中的各個(gè)操作數(shù)全部讀取所需的讀取時(shí)間:=;
7.如權(quán)利要求1所述的數(shù)論變換加速方法,其中,基于如下方法確定所述延遲時(shí)間,包括:
8.一種數(shù)論變換加速裝置,包括:
9.如權(quán)利要求8所述的數(shù)論變換加速裝置,所述處理模塊被配置為基于如下公式得到所述目標(biāo)運(yùn)算階段:;
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:楊龔軼凡,鄭瀚尋,闖小明,楊曉宇,
申請(qǐng)(專利權(quán))人:中昊芯英杭州科技有限公司,
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。