999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于并行算法的大數據階乘算法的時間效率優化分析

2021-01-28 03:35:48高鑫王世杰許舒翔
微型電腦應用 2021年1期

高鑫, 王世杰, 許舒翔

(1.國家電網公司西北分部, 陜西 西安 710048;2.國電南瑞科技股份有限公司, 江蘇 南京 211106)

0 引言

有學者最早在上世紀90年代定義了階乘多項式并對其相關特性進行了分析[1-5]。之后又有文獻進一步補充了階乘的具體概念與運算特征。例如,有學者設計了一種可以對不同編號進行排列的階乘數字處理系統,這在一定程度上促進了大數階乘應用的發展。從實際應用層面分析,可以利用階乘運算的方式將一些工業生產以及經濟活動方面的內容通過不同形式進行組合優化。同時,在計算機處理系統中,近似處理泰勒多項式以及e自然對數的時候,也屬于一種對整數n進行階乘計算的過程[6-9]。另一方面,考慮到利用計算機來表達整數時受到天花板因素的限制,需要根據編譯器來確定最大表示值,以64位編譯器作為分析例子,可以獲得的最大整數是264-1,因此只能將其用于表示20的階乘。這就要求必須對整數類型進行新的設置,或引入更合適的算法,使計算機能夠計算更大整數的階乘[10]。

為了計算超過20的整數階乘,可以引入動態數組與鏈表的方法,考慮到鏈表訪問的速度通常慢于數組訪問速度,同時還需要設置更大空間容量用于存儲鏈表數據,這使得對較大的整數進行階乘運算時,采用鏈表將無法滿足運算速率與數據存儲的要求[11-13]。

通過整數數組來創建一個數值盡量大的整數過程中,從理論層面考慮這受制于存儲空間的限制,同時為了增強直觀性,將數組內各元素都以十進制的形式進行表示[14]。該學者通過動態數組的方式完成大數階乘的存儲以及表達過程,并以不同位數來存儲各數組所包含的元素。采用上述方法雖然可以對大數階乘進行精確表達,但受到實際運算速率的明顯限制,無法有效適應不同的問題規模,而如果設置過大靜態存儲空間則會引起存儲資源發生浪費的情況;也可能遇到存儲空間過小而出現在過大問題規模的情況下發生數據溢出的結果[15]。本文根據以上分析內容設計得到了一種基于并行算法的大數階乘運算方法。該方法能夠滿足處于有限硬件資源的條件下,針對不同的問題規模,自主完成存儲空間的優化分配過程;并且可以發揮FPGA并行處理的性能,對多核處理器進行模擬測試,實現計算速度的大幅提升。

1 算法

1.1 算法設計過程

本文算法的具體運行方式,如圖1所示。

圖1 基于FPGA的算法實現框架

在圖1中列出了各項硬件測試的系統平臺。該算法總共包含了以下3個運算階段:第一階段是預估問題的規模,得到階乘n包含的位數Num,當n與Num增大后,將會獲得更大規模的問題;之后再結合位數Num對數據存儲空間實施優化處理;接著選擇并行計算的模式計算出整數n的階乘。以VHDL作為硬件描述語言,在FPGA平臺上完成階乘運算。具體包括了以下過程:在鎖相環PLL上對全局時鐘進行調節,同時管理所有Ala語句,達到并行計算的功能;利用在動態存儲器(SDR)對各項計算參數進行保存;Fifo可以讀取SDR中的計算結果,再將其顯示于液晶屏上,加入Fifo之后可以更快讀取計算結果。以下部分將會詳細論述算法的不同組成部分。

1.2 存儲空間優化

VHDL語言可以利用數組來表示十進制數,以a表示數組名,以M表示數組的規模,如式(1)。

a[M]=aM-1aM-2…a0

(1)

式中,ai與i∈(0,M-1),各數組元素都是由w位十進制數組成;γ表示通過SDR方式進行數據存儲的過程中跟數據對齊方法有關的一個參數,大部分情況下都取γ等于1。由于LCD只存在有限的硬件資源,在此假定問題規模取決于Nmax=20 000的上限值,n的取值范圍介于0~20 000之間。在相同的w條件下,當問題規模增加后,計算時間也發生了快速增加,如圖2所示。

圖2 不同w下的計算時間

同時還應注意,處理同樣規模的問題時,當w增大后所需的計算時間將會縮短。這主要是因為當w增大后將會提高數組內的各元素權重占比,可以更加高效裝載數據并且不發生溢出的情況,同時還會引起數組內元素刷新頻率的降低,由此獲得更快的計算速率。但也需注意w無法實現持續增大的狀態。并且數組內元素位數增加后,處理同等規模問題時,可以有效降低存儲空間。因此,對于不同規模的問題可以自動調節存儲空間,從而達到優化的效果。通過上述方式來確定存儲空間與問題的規模,之后根據上述各項參數并通過并行計算的方式來求解得到n階乘。

1.3 并行計算

VHDL通過并行語句的模式來構建Ala語句,各權重單元都實施階乘運算,當權重單元發生溢出的情況時再迭代更新。所有子過程都可通過簡化階乘遞推方式來實現,只有遇到溢出的情況時,對溢出值進行更新并將其存儲到另一個空間中,并對現有存儲空間實施求模,如圖3所示。

圖3 并行計算方法

2 結果分析

比較算法運行速度及計算結果的精度。通過VHDL時序以及計時器得到算法運行的總時間。對n=10 000條件下的所有算法運行效率進行了計算,如圖4所示。

圖4 不同復雜度下各算法的時間效率

可以明顯發現,與現有階乘算法相比,本文算法所需的用時最短。對不同復雜度情況的算法效率進行了統計,結果表明可以利用調整n值來獲得不同的復雜度。圖4給出了各復雜度條件下的算法效率。通過對比可知,在各復雜度下本文算法都相對于傳統算法實現了效率的明顯提升,如表1所示。

不同復雜度下各算法的精度位數,如圖5所示。

圖5 不同復雜度下各算法的精度位數

可以看出,迭代前期各算法幾乎完全重合,表現出相似的計算精度。本文提出的算法精度位數達到2 500節點,表現出很低的計算誤差。針對不同的應用領域進行處理時,采用大數階乘來實現底層功能的過程中通常需要利用數組、堆或鏈表等多種存儲方式,同時引起近似分析、傅里葉轉變與并行分析的模式來共同實現;進行間接應用時,可以對大數階乘實施求導與加權處理,這使其成為許多模型分析的重要方式,能夠快速處理多種工程應用問題。

3 總結

本文設計得到了一種基于并行算法的大數階乘運算方法,可以在有限的硬件資源條件下根據不同的問題規模為計算過程分配合適的存儲空間,并且可以發揮FPGA所具備的并行處理功能,對多核處理器的并行處理過程進行模擬分析,實現計算速率的大幅提升。在此基礎上,利用此算法開發得到了可以實現多種功能的階乘計算器上位機,顯著提升了時空效率,有效滿足了大數階乘運算的需求。

主站蜘蛛池模板: 中文字幕在线不卡视频| 国产91精品最新在线播放| yjizz国产在线视频网| 在线观看国产精品一区| 日韩亚洲综合在线| 中文字幕亚洲另类天堂| 福利在线不卡一区| 国产玖玖玖精品视频| 国产在线一区二区视频| 99久久国产自偷自偷免费一区| 国产三级国产精品国产普男人 | 天天操精品| 国产玖玖视频| 国产精品流白浆在线观看| 国产成人喷潮在线观看| 四虎在线观看视频高清无码| 国产乱子伦精品视频| 亚洲美女久久| 亚洲视频在线观看免费视频| 国产小视频在线高清播放| 天天视频在线91频| 国产欧美网站| 亚洲永久色| 国产噜噜噜| 久久综合结合久久狠狠狠97色| 久久综合色天堂av| 国产正在播放| 欧美日韩一区二区三区四区在线观看| 国产理论最新国产精品视频| 色哟哟国产精品| 精品天海翼一区二区| 色哟哟国产精品| 丁香六月综合网| 激情在线网| 国产 在线视频无码| 国产拍在线| 欧美精品亚洲精品日韩专区| 亚洲国产精品成人久久综合影院| 免费一级无码在线网站| 国产精品区网红主播在线观看| 大乳丰满人妻中文字幕日本| 欧美爱爱网| 伊人久久综在合线亚洲91| 中文字幕av一区二区三区欲色| 亚洲成人播放| 欧美日本不卡| 99国产在线视频| AV不卡国产在线观看| 亚洲综合色在线| AV不卡国产在线观看| 伊人久久婷婷| 手机成人午夜在线视频| 亚洲一区二区三区麻豆| 亚洲日韩AV无码一区二区三区人| 色噜噜综合网| 一级不卡毛片| 欧美日韩中文字幕在线| 经典三级久久| 毛片大全免费观看| 久久伊人色| 内射人妻无码色AV天堂| 99re精彩视频| 亚洲性影院| 亚洲va视频| 久久黄色视频影| 亚洲天堂日韩在线| 欧美国产精品不卡在线观看| 青青久久91| 亚洲无码电影| 日韩黄色大片免费看| 久视频免费精品6| 精品视频免费在线| 无码免费视频| 精品视频免费在线| 欧美无遮挡国产欧美另类| 精品国产女同疯狂摩擦2| 亚洲高清免费在线观看| 日本一区中文字幕最新在线| 国产毛片基地| 欧美色综合网站| 亚洲美女操| 日韩在线播放中文字幕|