欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

并行除法算法及并行除法計算器的制造方法

文檔序號:6489306閱讀:836來源:國知局
并行除法算法及并行除法計算器的制造方法
【專利摘要】本發(fā)明是涉及一種利用多個處理器實現(xiàn)并行除法的算法與裝置,是把傳統(tǒng)只能一人計算的除法,變成可以任意多人同時并行計算的算法與裝置。獨創(chuàng)點是,發(fā)明出了可以并行計算出任何一步余數(shù)的新方法:計算A除以B第K步的余數(shù),用A乘10的K次冪模B的方法來并行計算出余數(shù)。用該方法,可以把計算A/B的N位商,巧妙的變化成同時計算A/B,A1/B,A2/B,...A(m-1)/B,的N/m+1位商,m為該計算機核的個數(shù)。這樣m個核就能同時用任何一種除法的計算方法來并行計算Ai/B的N/m+1位商,最后把各核計算結果合并,就得到A/B的N位商。需要特別說明的是,由于該算法的這個m可以任意大,因此該算法也能用于可以同時做數(shù)百萬次并行計算的量子計算機。
【專利說明】并行除法算法及并行除法計算器
[0001]所屬領域
[0002]本發(fā)明是涉及一種利用多個處理器實現(xiàn)并行除法的算法與裝置,具體地說是涉及一種把傳統(tǒng)只能一人計算的除法,變成可以任意多人同時并行計算的算法與裝置。
【背景技術】
[0003]上世紀八九十年代以來,隨著半導體工藝技術的飛速進步和體系結構的不斷發(fā)展,桌面處理器的主頻在2000年達到了 1GHz,2001年達到2GHz,2002年達到了 3GHz。但在將近5年之后我們?nèi)匀粵]有看到4GHz處理器的出現(xiàn)。原因就在于如果繼續(xù)通過提高主頻來提高處理器的性能,就會使處理器的功耗以指數(shù)(三次方)而非線性(一次方)的速度急劇上升,很快就會觸及所謂的“頻率的墻”(frequency wall)。因此無法再通過簡單提升時鐘頻率就可設計出下一代的新CPU。主頻之路已經(jīng)走到了拐點,采用同樣的微架構的情況下,為了達到提高處理器性能的目的,我們可以采用多核的方法,同時有效地控制功耗的急劇上升。由此可見,將來處理器發(fā)展的趨勢是:為了達到更高的性能,在采用相同微架構的情況下,可以增加處理器的內(nèi)核數(shù)量同時維持較低的主頻。這樣設計的效果是,更多的并行提高處理器性能,較低的主頻有效地控制了功耗的上升。開創(chuàng)于2005年春季的多核時代到來了,其標志是Intel的Pentium D2 = 800雙核芯片,現(xiàn)在四核cpu已經(jīng)成了 pc電腦主流配置,8核也不少見,連手機也已經(jīng)開始使用雙核芯片。
[0004]現(xiàn)在計算機硬件已經(jīng)進入了多核時代,計算機軟件計算方式也要“改朝換代”了,串行計算將步入歷史,而并行計算則逐漸走向主流.目前能夠充分發(fā)揮多核威力的軟件還很少,為了與高速發(fā)展的硬件相適應,許多公司投入大量資金來研究多核并行計算技術。由英特爾和無錫市濱湖區(qū)政府共同資助建設全球首個并行計算中心:“英特爾中國并行計算中心”,已于2010年年初正式投入運行。并行計算已經(jīng)在數(shù)據(jù)中心和超級計算機有了很多應用,隨著更高性能和更低能耗的多核時代的不斷演進,并行計算在個人電腦上也會有更多更廣應用,必將滲透到人們工作和生活的方方面面。為最大程度地發(fā)揮多核的優(yōu)勢,需要有針對多核并行計算開發(fā)和優(yōu)化應用程序。正是在此大背景下,我從四大基本運算中最復雜的除法著手,發(fā)明了除法并行計算算法,為多核計算機除法計算并行提供了新的重要工具。

【發(fā)明內(nèi)容】

[0005]1.發(fā)明目的
[0006]本發(fā)明的目的是把人類使用了幾千年只能串行計算的傳統(tǒng)除法,變成可以并行計算,使多核計算機進一步提高除法的計算速度,為眾多多核并行計算應用程序,超級計算機并行計算以及未來的量子計算機提供了重要工具。
[0007]2.算法原理
[0008]普通除法的基本計算過程是這樣的,第一步用除數(shù)來分被除數(shù)計算出商數(shù),再把余數(shù)看做新的被除數(shù),繼續(xù)用除數(shù)來分,如此循環(huán)做下去。從這個計算過程可以看出,后面的每一步必須在前一步完成后,計算出新的余數(shù),才可以做下一步的計算。因此這種方法是典型的串行計算方法,無法進行并行計算。
[0009]我發(fā)明的并行計算算法的核心點是發(fā)明出了可以并行計算出任何一步余數(shù)的新方法:計算A除以B的第K步的余數(shù),可以用A乘10的K次冪模B的方法來計算出余數(shù)。由于10的K次冪模B是可以并行計算,所以這一步也能發(fā)揮多核的優(yōu)勢。
[0010]不失一般性,在下面的說明中總是設定A < B,g A > B,只要先做一步普通除法,以后的除法就變成A < B的情形了。
[0011]利用這個原理就可以把計算A/B的N位商,巧妙的變化成同時計算A/B,A1/B,A2/B,A3/B,...A(m-1)/B,的Ν/m+l位商,m為該計算機核的個數(shù)(計算機算機實際可以并行計算的進程數(shù))。首先計算41^2^3,...,Am-1,m-l個新被除數(shù)的值,加上原來的被除數(shù)A,共有m個被除數(shù),這樣m個核就能同時開始用任何一種除法的計算方法來并行計算Ai/B的Ν/m+l位商,最后把每個核計算結果合并,就得到A/B的N位商。
[0012]為了使原理說明簡單明了,把并行計算的進程數(shù)m取為計算機的核數(shù),(計算機實際可以并行計算的進程數(shù)),實際應用時m可以根據(jù)B/m的大小而改變,m可以取計算機的核數(shù)的任何一個因子數(shù),以使B/m的余數(shù)最大為最好,因為這個余數(shù)較小時最后這一進程需要做的多余計算會多一些。需要特別說明的是,由于該算法的這個m可以任意大,因此該算法也能用于未來十幾年 后就會面世的量子計算機。由于量子計算機可以同時做數(shù)百萬次的并行計算,因此,今天因為除法計算量太大而不能解決的問題,屆時都會迎刃而解了。
[0013]應用這個原理就可以除法實現(xiàn)并行計算,另一個重要突破就是該原理可以用在除法計算的許多方面,例如除法結果可以從小數(shù)點后1000位開始計算而并不要知道前1000位是什么數(shù)。
[0014]3.算法特點:
[0015]該方法的串行計算部分的計算量很小,兩大部分主要計算工作量都可以并行計算,因此加速比很高。理論上有幾個核就提高到幾倍。各個并行計算進程部分完全同時獨立完成本部分的計算,不需要和別的進程通信,所以適用各種類型超級計算機或多核計算機的并行除法計算。該方法也適用于任何進制數(shù)的除法運算,在G進制下計算A除以B第K位的余數(shù),可以用A乘G的K次冪模B的方法來并行計算出第K位的余數(shù)。
[0016]4.算法邏輯如下:
[0017]Λ代表該行為注釋說明
[0018]Λ多核計算機除法并行計算算法邏輯
[0019]Λ輸入:Μ被除數(shù),N除數(shù),M < N, core_num計算機核數(shù)
[0020]Δ D[l...core_num-l]保存 core_num_l 個新的被除數(shù)
[0021]AG[1...b]保存b位普通除法結果
[0022]Λ輸出:Η[1...N]保存Μ/Ν全部N位商
[0023]Program:
[0024]Δ Procedure Ptcf (A,B,c,E[c])任何一種普通除法過程,A < B,計算 A/B 的 c位商,保存在E [c]
[0025]Δ begin
[0026]b — floor (N/ core_num)
[0027]R — fmod(N,core—num)[0028]If (R ! =0)
[0029]b = b+1
[0030]D[0] — M
[0031]Λ并行計算計算core_num-l個新被除數(shù)
[0032]For k — I to core_num_l
[0033]Do
[0034]X — k*b [0035]y — M*pow(10, x)
[0036]D [k] — fmod (y, N)
[0037]Λ新被除數(shù)并行計算結束
[0038]Λ并行除計算開始
[0039]For k — O To core_num_l
[0040]Do
[0041]G.clear ()清空 G
[0042]Call Ptcf (D[k], N, b, G[b])
[0043]For j — I To b
[0044]Do H[j+k*b] — G[j]
[0045]Λ并行除計算結束
[0046]Λ輸出計算結果:Η[Ν]
[0047]Δ End
[0048]發(fā)明有益效果
[0049]本發(fā)明把人類使用了幾千年只能串行計算的傳統(tǒng)除法,變成可以并行計算,從而大大提高了除法的計算速度。今天多核CPU已經(jīng)成為計算機普遍使用的基本配置,因此每個多核計算機都可以從本發(fā)明獲益。特別是對于那些具有十幾萬核數(shù)的超級計算機更是受益匪淺,過去因除法計算量太大而不能解決的有些問題,現(xiàn)在使用本發(fā)明后有可能解決了。根據(jù)我?guī)啄陙碓诙嗪擞嬎銠C大量實際計算測試,不管用什么方法計算除法,用我發(fā)明的這個多核并行計算算法,都比傳統(tǒng)的除法要快。理論上有幾個核,除法計算速度提高到幾倍。由于現(xiàn)在多核計算機的核還只有幾個或十幾個,超級計算機也只有十幾萬個,而量子計算機的并行計算能力相當于數(shù)百萬個核的能力,那時該算法才能真正發(fā)揮出它的并行計算威力。
[0050]發(fā)明實施方案
[0051]算法實際計算實例:
[0052]Δ以四核計算機算13/47為例
[0053]Core_num = 4
[0054]M = 13
[0055]N = 47
[0056]b = 47/4 =11
[0057]R = 47mod 4
[0058]b = 11+1 = 12[0059]D[O] = 13
[0060]Λ并行計算出三個新被除數(shù)
[0061]D[l] = (13*10~12 mod 47) = 40
[0062]D[2] = (13*10~24 mod 47) = 11
[0063]D[3] = (13*10~36 mod 47) = 23
[0064]Λ并行除計算:四個核同時做12位普通除法計算,
[0065]Ptcf (13,47,12, G[12])
[0066]Η[1...12] = G[l...12] = 0.276595744680
[0067]Ptc(40,47,12,G[12])
[0068]G[13...24] = G[l...12] = 851063829787
[0069]Ptcf (11,47,12, G[12])
[0070]H[25...36] = G[l...12] = 234042553191
[0071]Ptcf (23,47,12, G[12])
[0072]H[37...48] = G[l...12] = 489361702127
[0073]Λ最后一個會多算幾位(本例多計算一位)
[0074]Λ合并輸出各核計算結果
[0075]H[l...47] = 0.276595744680 851063829787 2340425519148936170212。
【權利要求】
1.一種實現(xiàn)并行除法的算法與裝置,其特征是:提出了一種可以并行計算出任何一步余數(shù)的新方法:計算A除以B第K步的余數(shù),可以用A乘10的K次冪模B的方法來并行計算出余數(shù)。
2.根據(jù)權利要求1所述的方法,其特征是:把計算A/B的N位商,變化成同時計算A/B,A1/B,A2/B,A3/B,...A(m_l)/B,的Ν/m+l位商,m為該計算機核的個數(shù)(計算機算機實際可以并行計算的進程數(shù))。首先并行計算Al,A2,A3,...,Am-Lm-1個新被除數(shù)的值,加上原來的被除數(shù)A,共有m個被除數(shù),這樣m個核就能同時開始用任何一種除法的計算方法來并行計算Ai/B的Ν/m+l位商,最后把每個核計算結果合并,就得到A/B的N位商。
3.根據(jù)權利要求2所述的方法,其特征是:同時并行計算的進程數(shù)m可以任意大,因此該算法也可以用于同時做數(shù)百萬次并行計算的量子計算機。
4.根據(jù)權利要求1所述的一種實現(xiàn)并行除法的算法與裝置,其特征是:除法計算可以從小數(shù)點后任何一位開始計算而并不要知道前面的計算結果。
5.根據(jù)權利要求1所述的一種實現(xiàn)并行除法的算法與裝置,其特征是:說明書僅以10進制為例來說明原理,事實上該方法也適用于任何進制數(shù)的除法運算,在G進制下計算A除以B第K步的余數(shù),可以用A乘G的K次冪除以B的方法來并行計算出第K位的余數(shù)。
【文檔編號】G06F7/535GK103699356SQ201210365716
【公開日】2014年4月2日 申請日期:2012年9月27日 優(yōu)先權日:2012年9月27日
【發(fā)明者】任光前 申請人:任光前
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
盐津县| 松江区| 定边县| 兴业县| 日喀则市| 曲靖市| 文山县| 遵义市| 普格县| 黔江区| 墨竹工卡县| 普定县| 上思县| 福安市| 商河县| 临沂市| 翼城县| 大理市| 鄱阳县| 蒲城县| 长兴县| 广德县| 绥宁县| 响水县| 舒城县| 嵊州市| 黑河市| 广昌县| 大洼县| 寿阳县| 潼关县| 万荣县| 大庆市| 岱山县| 陈巴尔虎旗| 三河市| 黔南| 盐山县| 八宿县| 普安县| 且末县|