當前位置:首頁 » 編程軟體 » 並行編譯技術及發展研究

並行編譯技術及發展研究

發布時間: 2022-05-26 02:58:46

『壹』 計算機專業分類

目前我國計算機專業主要分為三大類:計算機基礎專業、與理工科交叉的計算機專業、與文科藝術類交叉的計算機專業。

1. 計算機基礎專業

專業要求與就業方向:這些專業不但要求學生掌握計算機基本理論和應用開發技術,具有一定的理論基礎,同時又要求學生具有較強的實際動手能力。學生畢業後能在企事業單位、政府部門從事計算機應用以及計算機網路系統的開發、維護等工作。

2. 與理工科交叉的計算機專業

與理工科交叉而衍生的計算機專業很多,如數學與應用數學專業、自動化專業、信息與計算科學專業、通信工程專業、電子信息工程專業、計算機應用與維護專業等。

1)數學與應用數學專業:

專業要求與就業方向:數學與應用數學是計算機專業的基礎和上升的平台,是與計算機科學與技術聯系最為緊密的專業之一。該專業就業面相對於計算機科學與技術專業來說寬得多,不但適用於IT 領域,也適用於數學領域。

2)自動化專業:

專業要求與就業方向:自動化專業是一個歸並了多個自動控制領域專業的寬口徑專業,要求學生掌握自動控制的基本理論,並立足信息系統和信息網路的控制這一新興應用領域制定專業課程體系,是工業製造業的核心專業。自動化專業的畢業生具有很強的就業基礎和優勢。

3)信息與計算科學專業:

專業要求與就業方向:這是一個由信息科學、計算數學、運籌與控制科學等交叉滲透而形成的專業,就業面涉及到教學、商業、網路開發、軟體設計等各個方面,就業率高達95%以上。

4)通信工程專業:

專業要求與就業方向:通信工程專業要求學生掌握通信基礎理論和基本基礎,掌握微波、無線電、多媒體等通信技術,以及電子和計算機技術,在信息時代有著極佳的就業優勢。

5)電子信息工程專業:

專業要求與就業方向:電子信息工程專業是寬口徑專業,主要培養信息技術、電子工程、網路系統集成等領域的高級IT 人才,畢業生可從事電子設備、信息系統和通信系統的研究、設計、製造、應用和開發工作。

(1)並行編譯技術及發展研究擴展閱讀:

畢業生主要面向交通系統各單位、交通信息化與電子政務建設與應用部門、各類計算機專業化公司、廣告設計製作公司、汽車營銷技術服務等從事IT行業工作。

WEB應用程序設計專業

畢業後能夠從事網站應用程序開發、網站維護、網頁製作、軟體生產企業編碼、軟體測試、系統支持、軟體銷售、資料庫管理與應用、非IT企事業單位信息化。

可視化程序設計專業

畢業後能夠從事軟體企業桌面應用開發、軟體生產企業編碼、軟體測試、系統支持、軟體銷售、資料庫管理與應用開發等工作。

資料庫管理專業

畢業後能夠從事企、事業單位資料庫管理、軟體開發、專業資料庫應用設計與開發、資料庫的應用與開發、信息管理系統開發、企、事業單位網路管理、軟體銷售等工作。

多媒體應用專業

畢業後能夠從事計算機美工、動畫製作、影視編輯與製作、廣告設計與製作、多媒體綜合應用開發、多媒體課件製作等工作。

移動應用開發專業

畢業後能夠從事移動設備應用開發、嵌入式應用開發、移動網站開發、軟體生產企業編碼、軟體測試、系統支持、軟體銷售、企、事業單位信息管理、辦公自動化集成等工作。

電子政務軟體專業

能夠勝任基層政府部門、事業單位數字化政務管理系統的設計、維護與信息管理、辦公自動化集成、辦公室文員等工作。

軟體測試專業

畢業後能夠從事軟體測試、軟體編碼、IT企事業單位系統支持、非IT企事業單位信息化軟體銷售等工作。

物流信息技術專業

畢業後能夠勝任現代物流業信息管理,能在企事業單位從事物流系統設計、供應鏈管理、倉儲管理以及運輸等管理工作。

物流管理專業

畢業後能夠勝任全省各級企事業單位物流系統設計、供應鏈管理、倉儲管理以及運輸等管理工作等工作。

網路系統管理專業

畢業後能夠從事政府管理部門、經貿、金融、郵電、電子、學校、交通、社區以及應用計算機網路的有關行業,從事計算機網路系統的設計、維護、管理、從事網站開發與應用、網路安全管理、計算機軟硬體調試、安裝、計算機及網路產品營銷等工作。

計算機游戲專業

畢業後能夠從事網路游戲美術,網路游戲動漫設計,游戲概念/故事情節設計,網路游戲3D設計,網路游戲人物設計,網路游戲環境設計,網路游戲皮膚/紋理設計,網路游戲圖形開發,網路游戲測試,網路游戲音頻開發,游戲客戶端開發,游戲伺服器開發,游戲引擎開發,手機游戲策劃,手機游戲開發,手機游戲程序開發,手機游戲美工,手機游戲測試等工作。

計算機圖形/圖像製作專業

畢業後能夠從事廣告企業平面的設計與製作、網路企業網頁製作、企事業單位職員等工作。

目前,計算機專業在國內的高等院校中,以理工科的實力較強;以文科、綜合性高等院校為補充,基本上每所高等院校都設有這樣的專業;或者有這樣的專業人才。

『貳』 臧斌宇的社會評價

被稱為 「老大」的院長
——訪復旦大學軟體學院院長、博士生導師臧斌宇教授
開 篇
說出來你也許不相信,復旦大學軟體學院里,上上下下都稱年輕的臧斌宇院長為「老大」——一個頗具威懾力卻又無比親近的稱呼。說起臧院長「老大」的由來,有段感人的故事。軟體學院是復旦大學最年輕的學院之一,2001年開始籌備。在學院創建期間,各方面條件都比較艱苦——教職員工人手緊張,教學、實驗、辦公場地缺乏,資金也比較緊缺……唯一讓人欣慰的是,一百多名來自電光源、化學、數學、物理、中文、國政等院系的新同學即將轉入軟體學院。一個學院有了學生,就有了一切。然而,他們來自多個院系,分散居住在學校的各個宿舍區,給同學之間的交流和學院工作的開展帶來極大的不便。了解到這一問題之後,臧院長當機立斷,向學校積極爭取,以最快速度解決了學生寢室的集中問題,並親自為那些同學安排轉系轉專業的調動手續。因為學生原專業不同,進入軟院後,對新的學習生活有諸多不適應。
而臧院長不僅在學習上給與細心指導,還對他們的思想、生活付出了無微不至的關懷,經常與學生促膝談心,幫助學生逐步適應新的學習環境。他像一位父親,一位慈祥卻不失嚴厲的「父親」,把大山般、無私的愛毫無保留的給予軟院的每個學生。在同學當中,「院長」並不存在,只有這樣一個人:一個可以和學生一起吃幾塊錢盒飯的「夥伴」,一個在大家困難時能夠給予足夠支持的「朋友」,一個在彷徨猶豫時會對你循循善誘的「前輩」。對這樣一個人,「老大」的稱呼似乎再貼切不過,於是慢慢在學生之間傳開,以至於有人問起「軟體學院誰是院長」時,學生會莞爾一笑,「我們只有『老大』」。「老大」是一種形象,也是一種精神,已深深植根在軟院的師生心中。很多人認為,大學生活與中學不一樣,學生與老師除了上課以外,平時師生之間接觸的時間不多,更不要說是領導。但軟院卻迥然不同,師生一家人,沒有上下級、領導與被領導的等級關系,只有「眾志成城、團結一致」的信念。這,就是復旦軟院人的精神。
這種精神的核心,就來自這位「老大」,或者說院長。臧斌宇院長是為響應黨中央大力發展中國的軟體產業的號召而從英特爾中國軟體實驗室回到復旦大學創辦軟體學院的。在學校的大力支持下,他在很短的時間內完成了軟體學院的組建,並且對各項事務都身體力行,得到師生員工的一致認可。經過一年多的努力,目前學院已經擁有本科生400餘人、軟體工程碩士400餘人,教職員工隊伍超過30人,初具規模。「我沒做什麼的,大家一起的功勞。」談到自己的工作成果,臧斌宇院長,一個計算機編譯技術專家,一個不善言表的人,對自己的工作如此評價。
離家 回家 建家
1983年,臧斌宇從蘇州第四中學以優異的成績考入著名學府——復旦大學,專業是計算機科學,從此開始了他對信息技術孜孜不倦的追求。1990年碩士研究生畢業留校後,他一直從事教學和科研工作,並於1996年師從國內著名的並行計算處理專家朱傳琪教授深入研究並行編譯技術,1999年獲得博士學位。隨後,他於2001年晉升為復旦大學教授,2002年成為復旦大學博士生導師。十多年來,他在並行化編譯、優化編譯、動態優化編譯等諸多領域都取得了突出成就:自行研製了並行化編譯系統AFT(Automatic Fortran Transformer);與Minnesota大學合作研製了並行化編譯系統開發平台Agassiz(目標語言為C、Fortran);並行化編譯的科研成果在1996年獲得國防科工委科技進步二等獎、上海市科技進步二等獎;在二進制動態翻譯器研究領域獲美國專利一項;在國際、國內權威刊物上發表論文數十篇;同時主持了眾多科研計劃,如「上海市啟明星計劃」、「Intel 大學合作計劃」、「Philips大學合作計劃」等等。除了科研方面取得的成就之外,臧教授還積極從事社會工作,擔任中國共享軟體聯盟理事、中國計算機學會系統軟體委員會委員等職務。這些豐富的科研、社會經歷為他今日取得的輝煌業績打下了堅實的基礎。
「創辦軟體學院既是機遇,也是挑戰」是臧院長開始他傳奇故事的第一句話。軟院創建的前前後後,臧院長經歷了「離家——回家——建家」的曲折過程。從對學院教學體制改革的緣由談起,臧院長用他簡潔的語匯講述了這段經歷。1999年,他參加了當時所在的計算機系課程改革小組的工作,因此有機會接觸到美國、加拿大等許多國家著名大學的計算機課程設置情況。他發現國外與國內在教學理念、教學方法、教學內容等方面存在著很大的差別。首先,國外課程體系比較完整,內容銜接合理。其次,學分制的實施也較為徹底。而在國內,課程體系不完整、教學內容有脫節的現象並不鮮見;而學分制的推進還僅處於初始階段。這些原因使得國內的教學和人才培養水平與國外拉開了很大的差距,從某種程度上說,這也是中國軟體業發展緩慢的原因之一。因此,在1999年的計算機系課程改革中,他特意引進了國外一些課程和教材,採用了國外計算機學科的部分教學體制,對2000級計算機系學生的課程體系做出了改革。但這次的教學改革力度並沒有達到臧院長的預期要求,在他心中,始終期望能有一個更加自由的空間以實現他的教學理念。另外,人才培養的水平差距也體現在國內外科研水平的差距上,長期在高校工作的他,意識到科研體制的差異是產生這種差距的重要原因,但國外科研機構的體制究竟是什麼樣的,他並沒有機會去深入了解。恰逢2000年8月,英特爾中國實驗室有一個很重要的科研項目急需並行化編譯方面的專家,於是對他發出了邀請。經過斟酌,他決定辭去計算機系的職務,去了解國外科研機構的運作機制。
於是,2000年,臧院長「離家」去了英特爾中國軟體實驗室。當時在他所工作的團隊里,他是唯一一個「國產」的架構工程師,其餘的都是外國人,這給他帶來了充分施展才華和交流溝通的空間。在英特爾公司的一年,他深入了解了國外科研機構的現代化管理體制,深切感受到英特爾公司濃郁的企業文化。臧院長告訴我們,國外企業十分重視每個員工的職業發展規劃,包括對一些技能的培訓,以求最大限度地發揮每個員工的聰明才智,同時盡可能保證每位員工都可以在企業中找到自己的生存發展空間,員工就是企業文化的一部分。他印象最深的,就是「三大」與「三小」的差異:在英特爾等國外知名公司里,企業的人事、財務、總務等工作被稱為「三小」,這些部門的宗旨就是服務,為技術、生產、銷售等部門服務。相反,這些部門在國內很多企業中都變成「三大」,權大,官架大,派頭大,沒有或很少有服務理念。
在英特爾公司一年的工作經歷使臧院長原有的改革信念更加堅定,改革想法更為成熟。但此時的他還沒有想到實施變革的機會——被他笑稱為「戲劇性轉變」的時刻正悄悄來臨。
2001年下半年,教育部、國家發展計劃委員會下發《教育部、國家計委關於批准有關高等學校試辦示範性軟體學院的通知》,復旦大學獲准試辦國家示範性軟體學院。新的學院需要新的領軍人物,原信息學院的同事向王生洪校長推薦了臧院長。此時,他在英特爾公司已取得不少科研成果,所領導的項目小組成功完成多個課題任務,自己對公司也有了感情。但在和校領導的座談中,聽到校長談到軟體學院的辦學方針、辦學體制以及國際化辦學的想法時,臧院長毅然決定放棄在英特爾公司的優厚待遇,欣然接受使命。明知創業之難,卻「偏向虎山行」,「離家」一年,他又「回家」了,而且回的是一個尚處於構思之中的「家」。雖然此時的「家」幾乎「家徒四壁」,但他卻堅信,十多年的知識、經驗積淀以及一年的跨國企業科研經歷,一定可以把「家」建立起來。采訪過程中,臧院長說過的一句話,「在這里(指Intel公司)做得再好,都是為別人做。現在國家需要培養人才,領導信任我,以後我就可以為咱們自家人做事情了。」
到2001年12月,軟體學院開始籌建,臧院長正式走馬上任。
招生 引才 育人
沒有學生,學院無以為本,因此當務之急就是招生。按照教育部精神,可以從在校學生中招收轉系轉專業學生,於是臧院長立即組織人手開展招生宣傳,從策劃、設計到製作招生海報、宣傳廣告及宣傳彩頁一氣呵成,並利用一切可以利用的方法和手段發布信息:舉辦講座、張貼海報、散發傳單、校園廣播、架設網站、開設BBS專版等等,吸引了2000級各院系200多名學生前來報名。選拔考試安排在春節以後,根據成績擇優錄取了107人。2000年3月18日,軟體學院舉行開學典禮,首屆本科生開始上課,一所國家示範性軟體學院開始了它的歷程。接著,學院又於同年開展了面向2001、2002級本科的招生,成功完成了招生計劃。9月,作為軟體學院辦學目標之一的國際合作辦學也塵埃落定:和愛爾蘭都柏林大學簽署了軟體人才聯合培養計劃,並招收了第一屆聯合培養學生。自此,學院的本科生培養體系基本完備。
成立軟體學院的一個重要目標是培養具有國際競爭力的和創新能力的高層次的復合型軟體人才,因此除了本科生教育,還需要面向國內、國際開展工學碩士、工程碩士的學歷與學位教育。於是,招收軟體工程碩士、工學碩士自然成為學院的一大任務。經過充分的籌備和宣傳,2002年完成了兩屆工程碩士的招生。用臧院長的話來說,2002年是招生年,一年內先後招進5屆學生,這在以前是從來沒有過的。今年,首次從全國高中畢業生中按照填報志願和高考成績招收了130餘名新生,標志著學院的招生工作走上了正規化的道路。
為了實現學院的辦學目標,一支優秀的師資隊伍是必不可少的。鑒於軟體領域知識更新快、對人員素質要求高的特點,臧院長除了引進具有豐富教學和科研經驗的中老年教師外,還大膽啟用年輕教師,並給青年教師提供全方位發展的機會。學院的人事以「用人不疑,疑人不用」為原則,在保證教學質量的前提下,給每位教師充分的自由發揮空間。人才,始終是學院師資建設過程中關注的核心問題。在招聘教師的過程中,有這樣一個故事:清華大學一位自控系畢業的博士,憑其博士論文的產業價值出任一家公司的CTO。當他聞知復旦大學軟體學院的情況後,慕名前來應聘。經過了解和交談,臧院長認為他是個難得的人才,因此竭盡所能誠邀博士加盟。這位博士希望繼續他的科研,為此學院必須提供非常充分的條件,都得到臧院長的一一拍板。精誠所至,金石為開,這位博士最終辭掉了原來的職務,成為復旦軟體學院的一員。他的妻子,一個同樣從事IT業的出色女性,也和他一起落戶復旦。難怪在最近一次聯歡會上,這對博士夫婦發出感慨,「夫妻雙雙把家還,軟院就是我們的家」。
一年多來,以相對穩定、合理流動、專兼結合為原則,學院從國內外著名高校和知名IT企業吸收了不少人才。臧院長高興地告訴我們,目前,學院師資建設已初步建立起相對穩定的骨幹層與出入有序的流動層相結合的教師隊伍管理模式和教師資源配置與開發的有效體制,一支學術造詣高、學緣結構良好、教學和軟體開發經驗豐富的教師隊伍正在逐步形成。
學生、師資已經有了規模,教學工作必須相應地提高水準。為此,臧院長在教學體制方面也付出了諸多心血。他著眼於軟體的系統級應用和企業級應用,提出課程設置應以分布式、異構平台上的高端和低端開發為核心,加強程序設計、演算法、數據結構、體系結構、工程管理等基礎理論和基本技能訓練,吸收歐美知名大學課程體制寬度和深度並重的優勢,結合當前市場對人才的需求並把握產業發展的前瞻性,全面提高學生的分析設計能力和開發實踐能力。整個課程體系的設計不拘泥於流行工具的教授,而是要注重基本理論的吸收和思維方式、學習能力的訓練。除此之外,對於軟體工程碩士而言,還要注重方法論的講授、管理思想的提升,應以案例研究為核心,以軟體開發過程為著力點,促使學生勝任系統分析與項目管理的職位。
在教學方面,臧院長告訴我們,學院強調大信息量的授課內容、大量的課外閱讀材料和高強度的課後實習項目,培養學生掌握堅實的基礎理論和寬廣的專業知識,鍛煉學生分析與解決問題的能力,進而形成較強的國際競爭力。同時,臧院長為提高教學質量,要求教師使用多媒體進行教學,並且建立了新教師試講制度、學生評議制度、教學督察制度等,一種全新的教學管理體制已經浮出水面。
除此之外,現代化的科研管理體制和行政管理體制也在臧院長的主持下建立起來,整個學院的工作全面鋪開。作為對一段時期工作的總結,今年7月,在杭州舉行的全體教職員工的工作會議上,臧院長提出了學院未來發展的三句話方針:「學科建設為基礎,工程碩士為重點,體制建設為保障」。
說完工作,臧院長又提到進入軟院的第一批學生,說現在學院事情很多,沒有更多的時間與學生在一起,還得找個時間補上,因為這是學院的傳統:專業導師全面貼近學生,對學生的發展提供全方位的指導,讓他們從軟院畢業時能學到些實在的本領,樹立健全的人格。院長帶頭對學生給予的關懷,從學生的成果中體現出了它的價值。今年第一屆軟院學生進入IBM、微創、惠普、戴爾、索尼、畢博、寶信、復旦金仕達等多家知名IT企業實習,其綜合素質和工作能力都得到這些企業的認可,它們都對復旦的學生表示出極大的滿意。這樣的形勢導致學生供不應求,例如IBM希望招聘40名實習生,但學院只能提供十多個,令公司意猶未盡。談到這里,臧院長臉上顯現出一絲欣慰,許久以來沉重的擔子似乎可以稍稍放下,長期的四處奔波也已略見成效。
家庭 賢妻 愛子
寶劍鋒從磨礪出,梅花香自苦寒來。臧院長多年的執著追求,讓他獲得了事業上的豐收,但這只是「幸福的一半」。他的「另一半幸福」系之於他那溫馨和睦的家庭。臧院長愛人是學校物理系的博士,主要從事科研工作,而他們的兒子也已經7歲了。說起家來,臧院長臉上不禁流露出濃濃的愛意。他說,過去在並行所擔任科研工作的時候,還可以享受到家庭的樂趣,基本上可以平衡工作科研與家庭的關系。自從任職軟體學院以來,工作壓力很大,事務繁多,在家的時間越來越少,可謂「日出而作,日落而息」。兩個人工作一忙,孩子沒人照顧,自己總是弄得「臟西西」的,夫妻倆索性就把孩子的小名叫做「臧兮兮」。對於妻子的理解與支持,臧院長只說了一句話,「她知道我這邊脫不開身的」;提起兒子,父親的臉上再次洋溢出幸福和興奮。孩子小時候沒人照顧,夫妻倆就給孩子書看。孩子這點倒像爸爸,看起書來全神貫注,安安靜靜的。在談到平衡家庭與工作的關系時,臧院長還是那句話,「軟體學院優先順序最高,科研其次,最後為家庭。」但臧院長也說,只要有空,他一定會和家人一起度過。閑暇時,還會陪兒子看看書,識識字。
結 語
中國軟體產業的發展水平與美國、印度、愛爾蘭等國家相比還存在著一定的差距,國家在高校創辦軟體學院目的之一就是希望能通過人才培養促進中國軟體產業的發展,提高整個國家的軟體研發能力,讓信息技術更好地為經濟發展服務,並使軟體產業成為新的國民經濟增長點之一。復旦大學軟體學院經過上下一致的努力,發展到如今的規模,已經起到了一個很好的示範作用。作為學院奠基人之一的臧斌宇院長也擔當了一個領軍人物的角色,功不可沒。
在采訪結束時,天色已晚,臧院長卻打開了電腦,說還要處理完一些工作後再回家。我們深深祝願,這位「老大」院長今後的人生之路更加燦爛,復旦大學軟體學院在他的帶領下,取得更加豐碩的辦學成果。

『叄』 編譯技術的發展歷程

1954年至1957年間,IBM的John Backus帶領一個小組開發FORTRAN語言及其編譯器,使得上面的擔憂不必要了。
但由於當時處理中所涉及到的大多數程序設計語言的翻譯並不為人所掌握,所以這個項目的成功也伴隨著巨大的辛勞。
幾乎與此同時,人們也在開發著第一個編譯器,Noam Chomsky開始自然語言結構的研究。使得編譯器結構異常簡單,甚至還帶有了一些自動化。
Chomsky的研究導致了根據語言文法(grammar,結構規則)的難易程度以及識別它們所需的演算法來為語言分類。文法有4個層次:0型、1型、2型和3型文法,且其中的每一個都是其前者的專門化。2型(或上下文無關文法context-free grammar)是程序設計語言中最有用的,代表著程序設計語言結構的標准方式。
人們接著又深化了生成有效的目標代碼的方法,這就是最初的編譯器,它們被一直使用至今。人們通常將其誤稱為優化技術(optimization technique),但因其從未真正地得到過被優化了的目標代碼而僅僅改進了它的有效性,因此實際上應稱作代碼改進技術(code improvement technique)。
在70年代後期和80年代早期,大量的項目都關注於編譯器其他部分的生成自動化,這其中就包括了代碼生成。這些嘗試並未取得多少成功,這大概是因為操作太復雜而人們又對其不甚了解。

『肆』 編譯器的發展史

編譯器
編譯器,是將便於人編寫,閱讀,維護的高級計算機語言翻譯為計算機能識別,運行的低級機器語言的程序。編譯器將源程序(Source program)作為輸入,翻譯產生使用目標語言(Target language)的等價程序。源程序一般為高級語言(High-level language),如Pascal,C++等,而目標語言則是匯編語言或目標機器的目標代碼(Object code),有時也稱作機器代碼(Machine code)。

一個現代編譯器的主要工作流程如下:

源程序(source code)→預處理器(preprocessor)→編譯器(compiler)→匯編程序(assembler)→目標程序(object code)→連接器(鏈接器,Linker)→可執行程序(executables)
目錄 [隱藏]
1 工作原理
2 編譯器種類
3 預處理器(preprocessor)
4 編譯器前端(frontend)
5 編譯器後端(backend)
6 編譯語言與解釋語言對比
7 歷史
8 參見

工作原理
翻譯是從源代碼(通常為高級語言)到能直接被計算機或虛擬機執行的目標代碼(通常為低級語言或機器言)。然而,也存在從低級語言到高級語言的編譯器,這類編譯器中用來從由高級語言生成的低級語言代碼重新生成高級語言代碼的又被叫做反編譯器。也有從一種高級語言生成另一種高級語言的編譯器,或者生成一種需要進一步處理的的中間代碼的編譯器(又叫級聯)。

典型的編譯器輸出是由包含入口點的名字和地址以及外部調用(到不在這個目標文件中的函數調用)的機器代碼所組成的目標文件。一組目標文件,不必是同一編譯器產生,但使用的編譯器必需採用同樣的輸出格式,可以鏈接在一起並生成可以由用戶直接執行的可執行程序。

編譯器種類
編譯器可以生成用來在與編譯器本身所在的計算機和操作系統(平台)相同的環境下運行的目標代碼,這種編譯器又叫做「本地」編譯器。另外,編譯器也可以生成用來在其它平台上運行的目標代碼,這種編譯器又叫做交叉編譯器。交叉編譯器在生成新的硬體平台時非常有用。「源碼到源碼編譯器」是指用一種高級語言作為輸入,輸出也是高級語言的編譯器。例如: 自動並行化編譯器經常採用一種高級語言作為輸入,轉換其中的代碼,並用並行代碼注釋對它進行注釋(如OpenMP)或者用語言構造進行注釋(如FORTRAN的DOALL指令)。

預處理器(preprocessor)
作用是通過代入預定義等程序段將源程序補充完整。

編譯器前端(frontend)
前端主要負責解析(parse)輸入的源程序,由詞法分析器和語法分析器協同工作。詞法分析器負責把源程序中的『單詞』(Token)找出來,語法分析器把這些分散的單詞按預先定義好的語法組裝成有意義的表達式,語句 ,函數等等。 例如「a = b + c;」前端詞法分析器看到的是「a, =, b , +, c;」,語法分析器按定義的語法,先把他們組裝成表達式「b + c」,再組裝成「a = b + c」的語句。 前端還負責語義(semantic checking)的檢查,例如檢測參與運算的變數是否是同一類型的,簡單的錯誤處理。最終的結果常常是一個抽象的語法樹(abstract syntax tree,或 AST),這樣後端可以在此基礎上進一步優化,處理。

編譯器後端(backend)
編譯器後端主要負責分析,優化中間代碼(Intermediate representation)以及生成機器代碼(Code Generation)。

一般說來所有的編譯器分析,優化,變型都可以分成兩大類: 函數內(intraproceral)還是函數之間(interproceral)進行。很明顯,函數間的分析,優化更准確,但需要更長的時間來完成。

編譯器分析(compiler analysis)的對象是前端生成並傳遞過來的中間代碼,現代的優化型編譯器(optimizing compiler)常常用好幾種層次的中間代碼來表示程序,高層的中間代碼(high level IR)接近輸入的源程序的格式,與輸入語言相關(language dependent),包含更多的全局性的信息,和源程序的結構;中層的中間代碼(middle level IR)與輸入語言無關,低層的中間代碼(Low level IR)與機器語言類似。 不同的分析,優化發生在最適合的那一層中間代碼上。

常見的編譯分析有函數調用樹(call tree),控制流程圖(Control flow graph),以及在此基礎上的 變數定義-使用,使用-定義鏈(define-use/use-define or u-d/d-u chain),變數別名分析(alias analysis),指針分析(pointer analysis),數據依賴分析(data dependence analysis)等等。

上述的程序分析結果是編譯器優化(compiler optimization)和程序變形(compiler transformation)的前提條件。常見的優化和變新有:函數內嵌(inlining),無用代碼刪除(Dead code elimination),標准化循環結構(loop normalization),循環體展開(loop unrolling),循環體合並,分裂(loop fusion,loop fission),數組填充(array padding),等等。 優化和變形的目的是減少代碼的長度,提高內存(memory),緩存(cache)的使用率,減少讀寫磁碟,訪問網路數據的頻率。更高級的優化甚至可以把序列化的代碼(serial code)變成並行運算,多線程的代碼(parallelized,multi-threaded code)。

機器代碼的生成是優化變型後的中間代碼轉換成機器指令的過程。現代編譯器主要採用生成匯編代碼(assembly code)的策略,而不直接生成二進制的目標代碼(binary object code)。即使在代碼生成階段,高級編譯器仍然要做很多分析,優化,變形的工作。例如如何分配寄存器(register allocatioin),如何選擇合適的機器指令(instruction selection),如何合並幾句代碼成一句等等。

編譯語言與解釋語言對比
許多人將高級程序語言分為兩類: 編譯型語言 和 解釋型語言 。然而,實際上,這些語言中的大多數既可用編譯型實現也可用解釋型實現,分類實際上反映的是那種語言常見的實現方式。(但是,某些解釋型語言,很難用編譯型實現。比如那些允許 在線代碼更改 的解釋型語言。)

歷史
上世紀50年代,IBM的John Backus帶領一個研究小組對FORTRAN語言及其編譯器進行開發。但由於當時人們對編譯理論了解不多,開發工作變得既復雜又艱苦。與此同時,Noam Chomsky開始了他對自然語言結構的研究。他的發現最終使得編譯器的結構異常簡單,甚至還帶有了一些自動化。Chomsky的研究導致了根據語言文法的難易程度以及識別它們所需要的演算法來對語言分類。正如現在所稱的Chomsky架構(Chomsky Hierarchy),它包括了文法的四個層次:0型文法、1型文法、2型文法和3型文法,且其中的每一個都是其前者的特殊情況。2型文法(或上下文無關文法)被證明是程序設計語言中最有用的,而且今天它已代表著程序設計語言結構的標准方式。分析問題(parsing problem,用於上下文無關文法識別的有效演算法)的研究是在60年代和70年代,它相當完善的解決了這個問題。現在它已是編譯原理中的一個標准部分。

有限狀態自動機(Finite Automaton)和正則表達式(Regular Expression)同上下文無關文法緊密相關,它們與Chomsky的3型文法相對應。對它們的研究與Chomsky的研究幾乎同時開始,並且引出了表示程序設計語言的單詞的符號方式。

人們接著又深化了生成有效目標代碼的方法,這就是最初的編譯器,它們被一直使用至今。人們通常將其稱為優化技術(Optimization Technique),但因其從未真正地得到過被優化了的目標代碼而僅僅改進了它的有效性,因此實際上應稱作代碼改進技術(Code Improvement Technique)。

當分析問題變得好懂起來時,人們就在開發程序上花費了很大的功夫來研究這一部分的編譯器自動構造。這些程序最初被稱為編譯器的編譯器(Compiler-compiler),但更確切地應稱為分析程序生成器(Parser Generator),這是因為它們僅僅能夠自動處理編譯的一部分。這些程序中最著名的是Yacc(Yet Another Compiler-compiler),它是由Steve Johnson在1975年為Unix系統編寫的。類似的,有限狀態自動機的研究也發展了一種稱為掃描程序生成器(Scanner Generator)的工具,Lex(與Yacc同時,由Mike Lesk為Unix系統開發)是這其中的佼佼者。

在70年代後期和80年代早期,大量的項目都貫注於編譯器其它部分的生成自動化,這其中就包括了代碼生成。這些嘗試並未取得多少成功,這大概是因為操作太復雜而人們又對其不甚了解。

編譯器設計最近的發展包括:首先,編譯器包括了更加復雜演算法的應用程序它用於推斷或簡化程序中的信息;這又與更為復雜的程序設計語言的發展結合在一起。其中典型的有用於函數語言編譯的Hindley-Milner類型檢查的統一演算法。其次,編譯器已越來越成為基於窗口的交互開發環境(Interactive Development Environment,IDE)的一部分,它包括了編輯器、連接程序、調試程序以及項目管理程序。這樣的IDE標准並沒有多少,但是對標準的窗口環境進行開發已成為方向。另一方面,盡管近年來在編譯原理領域進行了大量的研究,但是基本的編譯器設計原理在近20年中都沒有多大的改變,它現在正迅速地成為計算機科學課程中的中心環節。

在九十年代,作為GNU項目或其它開放源代碼項目的一部分,許多免費編譯器和編譯器開發工具被開發出來。這些工具可用來編譯所有的計算機程序語言。它們中的一些項目被認為是高質量的,而且對現代編譯理論感性趣的人可以很容易的得到它們的免費源代碼。

大約在1999年,SGI公布了他們的一個工業化的並行化優化編譯器Pro64的源代碼,後被全世界多個編譯器研究小組用來做研究平台,並命名為Open64。Open64的設計結構好,分析優化全面,是編譯器高級研究的理想平台。

編譯器是一種特殊的程序,它可以把以特定編程語言寫成的程序變為機器可以運行的機器碼。我們把一個程序寫好,這時我們利用的環境是文本編輯器。這時我程序把程序稱為源程序。在此以後程序員可以運行相應的編譯器,通過指定需要編譯的文件的名稱就可以把相應的源文件(通過一個復雜的過程)轉化為機器碼了。

編譯器工作方法
首先編譯器進行語法分析,也就是要把那些字元串分離出來。然後進行語義分析,就是把各個由語法分析分析出的語法單元的意義搞清楚。最後生成的是目標文件,我們也稱為obj文件。再經過鏈接器的鏈接就可以生成最後的可執行代碼了。有些時候我們需要把多個文件產生的目標文件進行鏈接,產生最後的代碼。我們把一過程稱為交叉鏈接。

『伍』 畢業設計 我想闡述一下並行計算的發展

從20世紀40年代開始的現代計算機發展歷程可以分為兩個明顯的發展時代:串列計算時代、並行計算時代。每一個計算時代都從體系結構發展開始,接著是系統軟體(特別是編譯器與操作系統)、應用軟體,最後隨著問題求解環境的發展而達到頂峰。

並行計算機是由一組處理單元組成的。這組處理單元通過相互之間的通信與協作,以更快的速度共同完成一項大規模的計算任務。因此,並行計算機的兩個最主要的組成部分是計算節點和節點間的通信與協作機制。並行計算機體系結構的發展也主要體現在計算節點性能的提高以及節點間通信技術的改進兩方面。

節點性能不斷進步

20世紀60年代初期,由於晶體管以及磁芯存儲器的出現,處理單元變得越來越小,存儲器也更加小巧和廉價。這些技術發展的結果導致了並行計算機的出現。這一時期的並行計算機多是規模不大的共享存儲多處理器系統,即所謂大型主機。IBM 360是這一時期的典型代表。

到了20世紀60年代末期,同一個處理器開始設置多個功能相同的功能單元,流水線技術也出現了。與單純提高時鍾頻率相比,這些並行特性在處理器內部的應用大大提高了並行計算機系統的性能。伊利諾依大學和Burroughs公司此時開始實施Illiac Ⅳ計劃,研製一台64顆CPU的SIMD主機系統,它涉及到硬體技術、體系結構、I/O設備、操作系統、程序設計語言直至應用程序在內的眾多研究課題。不過,當一台規模大大縮小的原型系統(僅使用了16顆CPU)終於在1975年面世時,整個計算機界已經發生了巨大變化。

首先是存儲系統概念的革新,提出虛擬存儲和緩存的思想。以IBM 360/85和IBM 360/91為例,兩者是屬於同一系列的兩個機型,IBM 360/91的主頻高於IBM 360/85,所選用的內存速度也較快,並且採用了動態調度的指令流水線。但是,IBM 360/85的整體性能卻高於IBM 360/91,惟一的原因就是前者採用了緩存技術,而後者則沒有。

其次是半導體存儲器開始代替磁芯存儲器。最初,半導體存儲器只是在某些機器中被用作緩存,而CDC7600則率先全面採用這種體積更小、速度更快、可以直接定址的半導體存儲器,磁芯存儲器從此退出了歷史舞台。與此同時,集成電路也出現了,並迅速應用到計算機中。元器件技術的這兩大革命性突破,使得Illiac Ⅳ的設計者們在底層硬體以及並行體系結構方面提出的種種改進都大為遜色。

處理器高速發展

1976年Cray-1問世以後,向量計算機從此牢牢地控制著整個高性能計算機市場15年。Cray-1對所使用的邏輯電路進行了精心的設計,採用了我們如今稱為RISC的精簡指令集,還引入了向量寄存器,以完成向量運算。這一系列技術手段的使用,使Cray-1的主頻達到了80MHz。

微處理器隨著機器的字長從4位、8位、16位一直增加到32位,其性能也隨之顯著提高。正是因為看到了微處理器的這種潛力,卡內基·梅隆大學開始在當時流行的DEC PDP-11小型計算機的基礎上研製一台由16台PDP-11/40處理機通過交叉開關與16個共享存儲器模塊相連接而成的共享存儲多處理器系統C.mmp。

從20世紀80年代開始,微處理器技術一直在高速前進。稍後又出現了非常適合於SMP方式的匯流排協議。而伯克利加州大學則對匯流排協議進行了擴展,提出了Cache一致性問題的處理方案。從此,C.mmp開創出的共享存儲多處理器之路越走越寬。現在,這種體系結構已經基本上統治了伺服器和桌面工作站市場。

通信機制穩步前進

同一時期,基於消息傳遞機制的並行計算機也開始不斷涌現。20世紀80年代中期,加州理工學院成功地將64個i8086/i8087處理器通過超立方體互連結構連結起來。此後,便先後出現了Intel iPSC系列、INMOS Transputer系列,Intel Paragon以及IBM SP的前身Vulcan等基於消息傳遞機制的並行計算機。

20世紀80年代末到90年代初,共享存儲器方式的大規模並行計算機又獲得了新的發展。IBM將大量早期RISC微處理器通過蝶形互連網路連結起來。人們開始考慮如何才能在實現共享存儲器緩存一致的同時,使系統具有一定的可擴展性。20世紀90年代初期,斯坦福大學提出了DASH計劃,它通過維護一個保存有每一緩存塊位置信息的目錄結構來實現分布式共享存儲器的緩存一致性。後來,IEEE在此基礎上提出了緩存一致性協議的標准。

20世紀90年代至今,主要的幾種體系結構開始走向融合。

屬於數據並行類型的CM-5除大量採用商品化的微處理器以外,也允許用戶層的程序傳遞一些簡單的消息。

Cray T3D是一台NUMA結構的共享存儲型並行計算機,但是它也提供了全局同步機制、消息隊列機制,並採取了一些減少消息傳遞延遲的技術。

隨著微處理器商品化、網路設備的發展以及MPI/PVM等並行編程標準的發布,集群架構的並行計算機出現開始。IBM SP2系列集群系統就是其中的典型代表。在這些系統中,各個節點採用的都是標準的商品化計算機,它們之間通過高速網路連接起來。
1.2 有限元並行計算的發展和現狀
目前,在計算力學領域內,圍繞著基於變分原理的有限元法
和基於邊界積分方程的邊界元法,以及基於現在問世的各種並行
計算機,逐漸形成了一個新的學科分支——有限元並行計算。它
是高效能的,使得許多現在應用串列計算機和串列演算法不能解決
或求解不好的大型的、復雜的力學問題能得到滿意的解答,故其
發展速度十分驚人。在國際上已經掀起了利用並行機進行工程分
析和研究的高潮。從1975到1995年的二十年間,有關有限元方法
和相應的數值並行計算的文章已發表1000餘篇。
有限元並行計算正在向兩個方向發展。一是對系統方程組實
施並行求解的各種演算法。二是並行分析方法,包括有限元並行算
法和邊界元並行演算法,前者趨向成熟,而後者的研究較少。對這
一方面的研究,是為了挖掘有限元計算自身潛在的並行性,是有
限元並行計算的根本問題。
1.2.1國內
並行演算法的設計和有效實現強烈地依賴於並行機的硬軟體環
境。國內僅極少數單位擁有並行機,且機型雜亂,因此研究人員
少,起步晚,而且局限於特定的硬體環境。從有限元分析方法的
內容來看,發表的幾十篇研究論文(報告)還未顯示出較強的系
統性。
1)南京航空航天大學周樹荃教授等在YH-1向量機上實現了剛度
矩陣計算、對稱帶狀矩陣的Cholesky分解和線性方程組的求解等
並行處理。針對不規則結構工程分析問題,他們還採用了變帶寬
存貯方法,並實現了剛度矩陣的並行計算以及求解變帶寬稀疏線
性方程組的並行直接解法【20】。
2)中國科學院計算中心王藎賢研究員等在基於Transputer晶元
的分布式MIMD系統上,提出了有限元分析中變帶寬線性方程組的
並行直接解法,初步完成了一個靜力分析程序【21】。
3)重慶大學張汝清教授等藉助於ELXSI-6400共享存貯器型MIMD
系統,先後開展了范圍比較廣泛的並行演算法研究,主要成果有:
a)提出了靜力分析中子結構解法的並行演算法,以及動力分析中模
態綜合子結構法的並行演算法;
b)從波前法出發,發展了多波前並行演算法以求解大型結構分析
問題;
c)從Jacobi塊迭代法和加權殘差法出發,導出了基於非同步控制的
有限元方程並行解法和有限元並行迭代的基本格式;
d)利用圖論中的著色理論,實現了剛度矩陣的並行計算;
e)實現了基於有色線剖分的SOR並行迭代解法;
f)實現了子空間迭代法、Lanczos法以及利用多項式割線迭代法
和矢量迭代法求解結構固有頻率和模態的並行演算法;
g)針對彈塑性分析,提出了一種多波前子結構並行演算法;
h)針對彈性接觸問題,提出了一種基於參數變分原理的並行解法;
i)實現了一步積分法的並行處理【22】。
4)南京航空航天大學喬新教授等藉助於Transputer晶元的分布式
MIMD系統實現了有限元方程組的並行直接解法,並提出了基於子結
構的預處理共軛梯度法的並行計算方法【23】。
此外,浙江大學姚堅【24】、中國科學院西南計算中心馬寅國、
東北工學院張鐵以及國防科技大學六系也曾對有限元分析的並行計
算開展了一些研究。
上述研究結果表明,國內並行計算方法的研究,在硬體上基於
向量機、分布式並行機和共享存貯式並行機;在內容上,似乎面很
廣,但系統性和深度還很不夠,軟體開發距實際應用和商品化還有
很大距離,對不依賴並行機具體環境的通用並行演算法研究還很少,
同樣對旨在進行結構有限元分析的並行計算的硬體研究也很少。
1.2.2國外
自從美國國家宇航局(NASA)的A.K.Noor於1975年發表第一篇
有限元並行計算的文章以來,有限元並行處理技術幾乎與並行計算
機同步發展。距不完全統計,到1992年,國外已發表了400餘篇這方
面的論文,其中後5年的文章篇數是前12年的總和。在研究內容上也
由過去的演算法研究發展到了演算法、軟體和硬體相結合的研究,並針對
一些機型開發了一些實用的大型結構分析軟體。
1)有限元機器FEM【25】(Finite Element Machine)。早在70年
代末,就有人發表了有關FEM的論文,1982年美國國家宇航局Langley
研究中心的O.O.Storaasli等撰文詳細地介紹了該中心設計的供研究
用的FEM。該機器由1個處理器陣列、1台作為控制器的微機和1個並行
操作系統及一些模塊化了的通用並行演算法程序組成,用戶使用系統的
文本編輯器和控制器的其它特殊功能,能建立有限元計算模型並進行
分析。10多年來,又有一些人在這一方面進行了不懈的努力,但FEM
的發展前景仍然不太令人樂觀。
2)心動陣列並行機【26】。心動陣列並行機主要應用於信號和圖象
的並行處理,但由於其高效的矩陣計算功能,近年來有人把它應用於
有限元分析,並作了一些有益的嘗試。
3)巨型向量機【27】。在有限元分析中越來越顯示出巨大的威力,
處於領先的是美國思維公司的CM-2。許多結構分析家把這個具有65536
個處理器的巨型向量機應用於有限元計算,如T.Belyschko等人採用顯
式方法,完成了具有32768個單元的殼的非線性有限元計算,並行效率
極高,速度幾乎比CRAY X-MP/14並行機高出1個數量級。
4)並行機網路和工作站網路【28】。日本東京大學矢川等藉助高速網
絡把3台CRAY Y-MP機聯成網路進行有限元分析,有限元方程求解採用
的是基於區域分裂技術的共軛梯度法(CGM), 在求解三維彈性問題
時自由度個數超過了100萬,系統平均運行速度高達1.74GFLOPS。另外,
他們還基於一個工程工作站網路,在並行環境下進行了類似的研究,
求解問題的自由度數高達20萬個。
--
我左看右看前看後看可還是看不過來
這個....那個....我越看越奇怪....
不是我不明白,這世界變化快

『陸』 目前處理並行編譯技術有哪幾種方法

三種形式編輯
時間並行
時間並行指時間重疊,在並行性概念中引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬體設備的各個部分,以加快硬體周轉而贏得速度。?
時間並行性概念的實現方式就是採用流水處理部件。這是一種非常經濟而實用的並行技術,能保證計算機系統具有較高的性能價格比。目前的高性能微型機幾乎無一例外地使用了流水技術。
空間並行
空間並行指資源重復,在並行性概念中引入空間因素,以「數量取勝」為原則來大幅度提高計算機的處理速度。大規模和超大規模集成電路的迅速發展為空間並行技術帶來了巨大生機,因而成為實現並行處理的一個主要途徑。空間並行技術主要體現在多處理器系統和多計算機系統。但是在單處理器系統中也得到了廣泛應用。?
時間並行+空間並行
指時間重疊和資源重復的綜合應用,既採用時間並行性又採用空間並行性。顯然,第三種並行技術帶來的高速效益是最好的。

『柒』 什麼是計算機學科包括哪兩個方面其核心概念有哪些

計算機學科即計算機科學與技術,是研究計算機的設計與製造和利用計算機進行信息獲取、表示、存儲、處理、控制等的理論、原則、方法和技術的學科。方法論是對計算機領域認識和實踐過程中的一般方法及其性質特點、內在聯系和變化規律進行系統研究的理論總結。

包括科學和技術2方面。計算機科學側重於研究現象揭示規律。計算機技術則側重於研製計算機和研究使用計算機進行處理的方法和技術手段。

計算機學科方法論是對計算機領域認識和實踐過程中的一般方法及其性質特點、內在聯系和變化規律進行系統研究的理論總結。據研究,其主要內容包括3個形態:

形態

3個形態:抽象過程、理論總結過程、設計過程。

計算機學科:計算機科學與技術屬於工學門類里的一級學科,分為三個二級學科:計算機應用,計算機系統結構,計算機軟體與理論,每個二級學科下面又分若干研究方向:

計算機應用

1. 人工智慧;2. 智能控制機器人;3. 計算機視覺、語音及多媒體信息處理;4. 人工智慧、多媒體技術;5. 計算機語言學、機器翻譯及自然語言理解;6. 計算機圖形學及可視化技術;7. 計算機及VLSI設計自動化。8. 大規模集成 電路與微電子系統計算機輔助設計、微電子學新工藝新器件和新結構集成電路及其物理基礎等。9. 計算機網路技術及應用10. 信息安全技術及應用11. 資料庫技術、數據倉庫技術及應用;12. 並行計算13. 計算機科學理論14. 計算機應用支撐技術;15. 計算機在信息產業中的應用;16. 計算機在製造產業中的應用;17. 各個領域中計算機應用軟體的開發技術;18. 計算機集成技術和分布式計算環境 ;19. 仿腦計算理論與仿腦計算機 ;20. 智能信息處理 ;21. 數據和知識管理;22. Web技術軟體工程和環境。23. CIMS及其它先進製造技術24. 網路多媒體 25. 操作系統 26. 互聯網路下的協同工作環境;27. 實與多媒體技術;28. 工程與過程工程;29. 互聯網路體系結構;30. 信息安全技術;31. 容錯計算技術;32. 計算機應用工程化;33. 虛擬環境方面;34. IPv6協議的中間件和軟體應用;35. 實與多媒體技術;36. 微處理的開發應用研究:嵌入式設備(醫療設備(治癌儀、熱療儀等)、加密機(E1、DDN)等)的開發;研製類比推理部件(可作為獨立的類比問題求解系統,也可以嵌入其它人工智慧系統)。37. 遠程教學;38. 多資料庫系統集成技術研究;39. 以Intention形式化為核心的BDI建模;40. 以機器人足球為標准問題的MAS體系結構與合作規劃;41. MAS中的策略協作學習;42. 基於多主體技術的Internet信息檢索和用戶建模43. 機器學習44. 計算智能:* 遺傳演算法的理論和應用;* 免疫模型與演算法的基本原理及其應用;* 人工神經網路的理論和應用;* 網路智能信息檢索與數據挖掘。45. 語言信息處理

計算機系統結構

1. 並行/分布處理及高性能計算機系統;2. 先進的計算機結果和網路計算;3. 系統的可重構和可擴展技術;4. 高性能存儲系統及處理機同步通信機制;5. 並行編譯技術;6. 並行調試技術;7. 並行與分布系統容錯性、可用性、可靠性技術;8. 指令及並行處理(ILP)體系結果的理論與技術;9. 對稱多處理器(SMP)並行體系結構的理論與技術;10. 機群並行處理體系結構、互連技術、程序設計環境以及計算密集型應用在機群系統中的實現;11. 超常指令字(VLIW)系統結構;12. 多線程機制;13. 並行處理技術;14. 並行演算法及環境;15. 並行分布式演算法;16. 各種並行與分布式軟體、工具與環境;17. 分布式與多機系統新型計算機系統機構及語言;18. 計算機系統體系結構軟體模擬環境構建方法研究;19. 當代主流並行機的體系結構模型、存儲技術的研究;20. 高性能通信機制與策略的研究;21. 分布式資源管理、故障恢復、進程動態遷移、分布式存取控制技術22. 指令級並行關鍵技術研究;23. 格點計算模型及體系結構的研究;24. 工作站機群、網路和網格等環境下的並行分布式計算模型;25. 可視化並行程序設計環境;26. 大規模科學與工程計算;27. VLSI 系統機構及RISC技術;28. 晶元設計;29. 計算機支持的協同工作(CSCW)30. 嵌入式技術及其應用;31. 嵌入式系統整體設計方法、技術與應用研究;32. 嵌入式系統軟硬體功能分配演算法、軟硬體協同驗證、協同模擬方法研究;33. 嵌入式微處理器設計;34. 嵌入式操作系統;35. 計算網路及其應用;36. 高速互連網路;37. 網路計算環境下的知識處理、網路體系結構、網路管理;38. 多媒體信息在網路中的傳輸及處理;39. 高速計算機網路和網路服務質量;40. 網路互聯、協議測試;41. 網路信息安全;42. 管理信息系統和網路信息檢索;43. 新型高性能計算機系統及其軟體技術;44. 計算機網路技術及應用;45. 智能卡技術;46. 信息安全與密碼;47. 波分復用WDM全光網中的路由及波長分配演算法的研究。

計算機軟體與理論

1. 軟體工程與方法;2. 資料庫和知識工程;3. 計算機圖形學與計算機輔助設計;4. 數據安全。5. 系統軟體(操作系統、編輯系統、實時系統) ;6. 軟體工程及環境;7. 分布對象計算;8. 並行及分布式處理;9. 語義理論及應用(自然語言、程序語言) ;10. 推理技術;11. 並行理論;12. 類型理論及應用;13. 計算語義學;14. CAD/CAM技術的理論研究、CAD/CAM系統的軟體開發平台研製;15. 工程與科學計算方面,對數值模擬進行的多學科的應用研究;16. 計算機圖形學與CAD;17. 群件與網路技術研究;18. 嵌入式資料庫;19. 電子商務;20. 計算機網路及信息系統;21. 軟體重建工程的理論與技術研究;22. 軟體規格說明的形式方法與CASE工具研究。23. 形式化方法:形式語義、代數規范、范疇論、類型論和重寫技術等的應用研究;24. 軟體系統結構的研究; 25. 程序設計語言的設計於實現.26. 可計算性和計算復雜性;27. 各種高效實用的計算模型;28. 一般難解問題的高效實用演算法;29. 面向應用的大尺度難解問題的工程實用演算法;30. 工程演算法集成和相應軟體體系結構;31. 工程演算法分析和評價體系等。

『捌』 編譯原理的發展歷程


在20世紀40年代,由於馮·諾伊曼在存儲-程序計算機方面的先鋒作用,編寫一串代碼或程序已成必要,這樣計算機就可以執行所需的計算。開始時,這些程序都是用機器語言 (machine language )編寫的。機器語言就是表示機器實際操作的數字代碼,例如:
C7 06 0000 0002 表示在IBM PC 上使用的Intel 8x86處理器將數字2移至地址0 0 0 0 (16進制)的指令。
但編寫這樣的代碼是十分費時和乏味的,這種代碼形式很快就被匯編語言(assembly language )代替了。在匯編語言中,都是以符號形式給出指令和存儲地址的。例如,匯編語言指令 MOV X,2 就與前面的機器指令等價(假設符號存儲地址X是0 0 0 0 )。匯編程序(assembler )將匯編語言的符號代碼和存儲地址翻譯成與機器語言相對應的數字代碼。
匯編語言大大提高了編程的速度和准確度,人們至今仍在使用著它,在編碼需要極快的速度和極高的簡潔程度時尤為如此。但是,匯編語言也有許多缺點:編寫起來也不容易,閱讀和理解很難;而且匯編語言的編寫嚴格依賴於特定的機器,所以為一台計算機編寫的代碼在應用於另一台計算機時必須完全重寫。
發展編程技術的下一個重要步驟就是以一個更類似於數學定義或自然語言的簡潔形式來編寫程序的操作,它應與任何機器都無關,而且也可由一個程序翻譯為可執行的代碼。例如,前面的匯編語言代碼可以寫成一個簡潔的與機器無關的形式 x = 2。
在1954年至1957年期間,IBM的John Backus帶領的一個研究小組對FORTRAN語言及其編譯器的開發,使得上面的擔憂不必要了。但是,由於當時處理中所涉及到的大多數程序設計語言的翻譯並不為人所掌握,所以這個項目的成功也伴隨著巨大的辛勞。幾乎與此同時,人們也在開發著第一個編譯器, Noam Chomsky開始了他的自然語言結構的研究。他的發現最終使得編譯器結構異常簡單,甚至還帶有了一些自動化。Chomsky的研究導致了根據語言文法(grammar ,指定其結構的規則)的難易程度以及識別它們所需的演算法來為語言分類。正如現在所稱的-與喬姆斯基分類結構(Chomsky hierarchy )一樣-包括了文法的4個層次:0型、1型、2型和3型文法,且其中的每一個都是其前者的專門化。2型(或上下文無關文法(context-free grammar ))被證明是程序設計語言中最有用的,而且今天它已代表著程序設計語言結構的標准方式。
分析問題( parsing problem ,用於限定上下文無關語言的識別的有效演算法)的研究是在20世紀60年代和70年代,它相當完善地解決了這一問題, 現在它已是編譯理論的一個標准部分。它們與喬姆斯基的3型文法相對應。對它們的研究與喬姆斯基的研究幾乎同時開始,並且引出了表示程序設計語言的單詞(或稱為記號)的符號方式。
人們接著又深化了生成有效的目標代碼的方法,這就是最初的編譯器,它們被一直使用至今。人們通常將其誤稱為優化技術(optimization technique ),但因其從未真正地得到過被優化了的目標代碼而僅僅改進了它的有效性,因此實際上應稱作代碼改進技術(code improvement technique )。
這些程序最初被稱為編譯程序-編譯器,但更確切地應稱為分析程序生成器 (parser generator ),這是因為它們僅僅能夠自動處理編譯的一部分。這些程序中最著名的是 Yacc (yet another compiler- compiler),它是由Steve Johnson在1975年為Unix系統編寫的。
類似地,有窮自動機的研究也發展了另一種稱為掃描程序生成器 (scanner generator )的工具,Lex (與Yacc同時,由Mike Lesk為Unix系統開發的)是這其中的佼佼者。在20世紀70年代後期和80年代早期,大量的項目都關注於編譯器其他部分的生成自動化,這其中就包括代碼生成。這些嘗試並未取得多少成功,這大概是因為操作太復雜而人們又對其不甚了解。
編譯器設計最近的發展包括:首先,編譯器包括了更為復雜的演算法的應用程序,它用於推斷或簡化程序中的信息;這又與更為復雜的程序設計語言(可允許此類分析)的發展結合在一起。其中典型的有用於函數語言編譯的Hindle y - Milner類型檢查的統一演算法。
其次,編譯器已越來越成為基於窗口的交互開發環境(interactive development environment,IDE )的一部 分,它包括了編輯器、鏈接程序、調試程序以及項目管理程序。這樣的IDE的標准並沒有多少, 但是已沿著這一方向對標準的窗口環境進行開發了。

『玖』 並行處理的並行演算法的基本策略

在並行處理技術中所使用的演算法主要遵循三種策略:
1.分而治之法:也就是把多個任務分解到多個處理器或多個計算機中,然後再按照一定的拓撲結構來進行求解。
2.重新排序法:分別採用靜態或動態的指令詞度方式。
3.顯式/隱式並行性結合:顯式指的是並行語言通過編譯形成並行程序,隱式指的是串列語言通過編譯形成並行程序,顯式/隱式並行性結合的關鍵就在於並行編譯,而並行編譯涉及到語句、程序段、進程以及各級程序的並行性。
二、並行性描述定義
利用計算機語言進行並行性描述的時候主要有三種方案:
1.語言擴展方案:也就是利用各種語言的庫函數來進行並行性功能的擴展。
2.編譯制導法:也稱為智能編譯,它是隱式並行策略的體現,主要是由並行編譯系統進行程序表示、控制流的分析、相關分析、優化分析和並行化劃分,由相關分析得到方法庫管理方案,由優化分析得到知識庫管理方案,由並行化劃分得到程序重構,從而形成並行程序。
3.新的語言結構法:這是顯式並行策略的體現。也就是建立一種全新的並行語言的體系,而這種並行語言通過編譯就能直接形成並行程序。
三、並行軟體
並行軟體可分成並行系統軟體和並行應用軟體兩大類,並行系統軟體主要指並行編譯系統和並行操作系統,並行應用軟體主要指各種軟體工具和應用軟體包。在軟體中所牽涉到的程序的並行性主要是指程序的相關性和網路互連兩方面。
1.程序的相關性:程序的相關性主要分為數據相關、控制相關和資源相關三類。
數據相關說明的是語句之間的有序關系,主要有流相關、反相關、輸出相關、I/O相關和求知相關等,這種關系在程序運行前就可以通過分析程序確定下來。數據相關是一種偏序關系,程序中並不是每一對語句的成員都是相關聯的。可以通過分析程序的數據相關,把程序中一些不存在相關性的指令並行地執行,以提高程序運行的速度。
控制相關指的是語句執行次序在運行前不能確定的情況。它一般是由轉移指令引起的,只有在程序執行到一定的語句時才能判斷出語句的相關性。控制相關常使正在開發的並行性中止,為了開發更多的並行性,必須用編譯技術克服控制相關。
而資源相關則與系統進行的工作無關,而與並行事件利用整數部件、浮點部件、寄存器和存儲區等共享資源時發生的沖突有關。軟體的並行性主要是由程序的控制相關和數據相關性決定的。在並行性開發時往往把程序劃分成許多的程序段——顆粒。顆粒的規模也稱為粒度,它是衡量軟體進程所含計算量的尺度,一般用細、中、粗來描述。劃分的粒度越細,各子系統間的通信時延也越低,並行性就越高,但系統開銷也越大。因此,我們在進行程序組合優化的時候應該選擇適當的粒度,並且把通訊時延盡可能放在程序段中進行,還可以通過軟硬體適配和編譯優化的手段來提高程序的並行度。
2.網路互連:將計算機子系統互連在一起或構造多處理機或多計算機時可使用靜態或動態拓撲結構的網路。靜態網路由點一點直接相連而成,這種連接方式在程序執行過程中不會改變,常用來實現集中式系統的子系統之間或分布式系統的多個計算結點之間的固定連接。動態網路是用開關通道實現的,它可動態地改變結構,使之與用戶程序中的通信要求匹配。動態網路包括匯流排、交叉開關和多級網路,常用於共享存儲型多處理機中。在網路上的消息傳遞主要通過尋徑來實現。常見的尋徑方式有存儲轉發尋徑和蟲蝕尋徑等。在存儲轉發網路中以長度固定的包作為信息流的基本單位,每個結點有一個包緩沖區,包從源結點經過一系列中間結點到達目的結點。存儲轉發網路的時延與源和目的之間的距離(段數)成正比。而在新型的計算機系統中採用蟲蝕尋徑,把包進一步分成一些固定長度的片,與結點相連的硬體尋徑器中有片緩沖區。消息從源傳送到目的結點要經過一系列尋徑器。同一個包中所有的片以流水方式順序傳送,不同的包可交替地傳送,但不同包的片不能交叉,以免被送到錯誤的目的地。蟲蝕尋徑的時延幾乎與源和目的之間的距離無關。在尋徑中產生的死鎖問題可以由虛擬通道來解決。虛擬通道是兩個結點間的邏輯鏈,它由源結點的片緩沖區、結點間的物理通道以及接收結點的片緩沖區組成。物理通道由所有的虛擬通道分時地共享。虛擬通道雖然可以避免死鎖,但可能會使每個請求可用的有效通道頻寬降低。因此,在確定虛擬通道數目時,需要對網路吞吐量和通信時延折衷考慮。
四、硬體技術在硬體技術方面主要從處理機、存儲器和流水線三個方面來實現並行。
1.處理機:主要的處理機系列包括CISC、RISC、超標量、VL1W、超流水線、向量以及符號處理機。
傳統的處理機屬於復雜指令系統計算(CISC)結構。指令系統大,指令格式可變,通用寄存器個數較少,基本上使用合一的指令與數據高速緩存,時鍾頻率較低,CPI較高,大多數利用ROM 實現微碼控制CPU,而當今的精簡指令系統計算(RISC)處理機指令格式簡單規范,面向寄存器堆,採用重疊寄存器窗口技術,具有多級Cache,多種流水線結構,強調編譯優化技術,時鍾頻率快,CPI低,大多數用硬連線控制CPU。
CISC或RISC標量處理機都可以採用超標量或向量結構來改善性能。標量處理機在每個周期內只發射一條指令並要求周期只完成從流水線來的一條指令。而在超標量處理機中,使用了多指令流水線,每個周期要發射多條指令並產生多個結果。由於希望程序中有許多的指令級並行性,因此超標量處理機更要依靠優化編譯器去開發並行性。
VL1W 結構是將水平微碼和超標量處理這兩種普遍採用的概念結合起來產生的。典型的超長指令字VL1W 機器指令字長度有數百位。在VLlW 處理機中,多個功能部件是並發工作的,所有的功能部件共享使用公用大型寄存器堆,由功能部件同時執行的各種操作是用VL1W 指令來同步的,每條指令可指定多個操作。VL1W 指令解碼比超標量指令容易,但在開發不同數量的並行性時總是需要不同的指令系統。VL1W 主要是開發標量操作之間的並行性,它的成功與否很大程度取決於代碼壓縮的效率,其結構和任何傳統的通用處理機完全不兼容。即使同一結構的不同實現也不大可能做到彼此二進制兼容。VL1W 的主要優點在於它的硬體結構和指令系統簡單,在科學應用領域可以發揮良好作用,但在一般應用場合可能並不很好用。
向量處理機對數組執行向量指令,每條指令都包含一串重復的操作。它是專門設計用來完成向量運算的協處理機,通常用於多流水線超級計算機中。向量處理機可以利用循環級展開所得的並行性,它可以附屬於任何標量處理機。專用的向量流水線可以在循環控制中消除某些軟體開銷,它的效果與優化編譯器將順序代碼向量化的性能很有關系。從理論上說,向量機可以具有和超標量處理機同樣的性能,因此可以說向量機的並行性與超標量機相同。
符號處理機是為AI應用而研製的,已用於定理證明、模式識別、專家系統、知識工程、文本檢索、科學以及機器智能等許多應用領域。在這些應用中,數據和知識表達式、原語操作、演算法特性、存儲器、I/0和通信以及專用的結構特性與數值計算是不一樣的,符號處理機也稱為邏輯程序設計語言處理機、表處理語言處理機或符號變換器。符號處理並不和數值數據打交道,它處理的是邏輯程序、符號表、對象、劇本、黑板、產生式系統、語義網路、框架以及人工神經網路等問題。這些操作需要專門的指令系統,通常不使用浮點操作。
2.存儲器:存儲設備按容量和存取時間從低到高可分為寄存器、高速緩存、主存儲器、磁碟設備和磁帶機五個層次。較低層存儲設備與較高層的相比,存取速度較快、容量較小,每位元組成本較高、帶寬較寬、傳輸單位較小。
存放在存儲器層次結構中的信息滿足三個重要特性:包含性、一致性和局部性。所謂包含性,指的是一個信息字的復製品可以在比它高的所有層中找到,而如果在高層中丟失了一個信息,則在比它低的所有層中此信息也將丟失。CPU 和高速緩存之間的信息傳送是按字進行的,高速緩存和主存儲器間用塊作為數據傳送的基本單位,主存和磁碟之間又是以頁面為基本單位來傳送信息的,而在磁碟和磁帶機之間的數據傳送則是按文件級處理的。所謂一致性要求的是同一個信息項與後繼存儲器層次上的副本是一致的。也就是說,如果在高速緩存中的一個字被修改過,那麼在所有更高層上該字的副本也必須立即或最後加以修改。為了盡量減少存儲器層次結構的有效存取時間,通常把頻繁使用的信息放在較低層次。維護存儲器層次結構一致性一般有兩種策略,一種是寫直達策略,也就是如果,則立即在所有高層存儲器中進行同樣的修改;另一種是寫回策略,也就是在較低層中對信息進行修改後並不立即在高層存儲器中進行相應的修改,而是等到該信息將被替換或將從低層中消失時才在所有高層存儲器中進行同樣的修改。甚至可以將寫直達和寫回策略的優點結合起來,形成寫一次協議來維護存儲器的一致性。
存儲器的層次結構是在一種程序行為——訪問的局部性基礎上開發出來的。主要有時間局部性、空間局部性和順序局部性。時間局部性指的是最近的訪問項很可能在不久的將來再次被訪問。它往往會引起對最近使用區域的集中訪問。空間局部性表示一種趨勢,指的是一個進程訪問的各項其地址彼此很近。順序局部性指的是在典型程序中,除非是轉移指令,一般指令都是順序執行的。
在多處理機系統中一般使用共享存儲器。對共享存儲器的組織一般採用低位交叉、高位交叉、高低位交叉三種方法。低位交叉又稱並發存取,它是把相鄰的地址放在相鄰的存儲器模塊中,在訪問時不容易產生沖突,並行性較好,但可靠性容錯能力和擴展性均較差。高位交叉又稱允許同時存取,它是把相鄰地址分配到同一個存儲器模塊中,可靠性、容錯能力和擴展性均較強,但訪問時易產生沖突,帶寬較窄,並行性較差。高低位交叉存取又稱C—s存取,它是結合了高位交叉和低位交叉兩種方法的優點,既解決了沖突問題,又能有效地提高容錯能力和並行性,最適合於向量處理機結構。
3.流水線:流水線技術主要有指令流水線技術和運算流水線技術兩種。
指令流水線技術主要目的是要提高計算機的運行效率和吞吐率。它主要通過設置預取指令緩沖區、設置多功能部件、進行內部數據定向、採取適當的指令調度策略來實現。指令調度的策略主要有靜態和動態兩種,靜態詞度是基於軟體的,主要由編譯器完成,動態詞度是基於硬體的,主要是通過硬體技術進行。
運算流水線主要有單功能流水線和多功能流水線兩種。其中多功能流水線又可分為靜態流水線和動態流水線。靜態流水線技術只用來實現確定的功能,而動態流水線可以在不同時間重新組合,實現不同的功能,它除流線連接外,還允許前饋和反饋連接,因此也稱為非線性流水線。這些前饋和反饋連接使得進入流水線的相繼事件的詞度變得很不簡單。由於這些連接,流水線不一定從最後一段輸出。根據不同的數據流動模式,人們可以用同一條流水線求得不同功能的值。
並行計算機發展簡述
40 年代開始的現代計算機發展歷程可以分為兩個明顯的發展時代:串列計算時代、並行計算時代。每一個計算時代都從體系結構發展開始,接著是系統軟體(特別是編譯器與操作系統)、應用軟體,最後隨著問題求解環境的發展而達到頂峰。創建和使用並行計算機的主要原因是因為並行計算機是解決單處理器速度瓶頸的最好方法之一。
並行計算機是由一組處理單元組成的,這組處理單元通過相互之間的通信與協作,以更快的速度共同完成一項大規模的計算任務。因此,並行計算機的兩個最主要的組成部分是計算節點和節點間的通信與協作機制。並行計算機體系結構的發展也主要體現在計算節點性能的提高以及節點間通信技術的改進兩方面。
60 年代初期,由於晶體管以及磁芯存儲器的出現,處理單元變得越來越小,存儲器也更加小巧和廉價。這些技術發展的結果導致了並行計算機的出現,這一時期的並行計算機多是規模不大的共享存儲多處理器系統,即所謂大型主機(Mainframe)。IBM360 是這一時期的典型代表。
到了60 年代末期,同一個處理器開始設置多個功能相同的功能單元,流水線技術也出現了。與單純提高時鍾頻率相比,這些並行特性在處理器內部的應用大大提高了並行計算機系統的性能。伊利諾依大學和Burroughs 公司此時開始實施IlliacIV 計劃,研製一台64 個CPU 的SIMD 主機系統,它涉及到硬體技術、體系結構、I/O 設備、操作系統、程序設計語言直至應用程序在內的眾多研究課題。不過,當一台規模大大縮小了的16CPU 系統終於在1975 年面世時,整個計算機界已經發生了巨大變化。
首先是存儲系統概念的革新,提出虛擬存儲和緩存的思想。IBM360/85 系統與360/91是屬於同一系列的兩個機型,360/91 的主頻高於360/85,所選用的內存速度也較快,並且採用了動態調度的指令流水線;但是,360/85 的整體性能卻高於360/91,唯一的原因就是前者採用了緩存技術,而後者則沒有。
其次是半導體存儲器開始代替磁芯存儲器。最初,半導體存儲器只是在某些機器被用作緩存,而CDC7600 則率先全面採用這種體積更小、速度更快、可以直接定址的半導體存儲器,磁芯存儲器從此退出了歷史舞台。與此同時,集成電路也出現了,並迅速應用到了計算機中。元器件技術的這兩大革命性突破,使得IlliacIV 的設計者們在底層硬體以及並行體系結構方面提出的種種改進都大為遜色。
1976 年CRAY-1 問世以後,向量計算機從此牢牢地控制著整個高性能計算機市場15 年。CRAY-1 對所使用的邏輯電路進行了精心的設計,採用了我們如今稱為RISC 的精簡指令集,還引入了向量寄存器,以完成向量運算。這一系列全新技術手段的使用,使CRAY-1 的主頻達到了80MHz。
微處理器隨著機器的字長從4 位、8 位、16 位一直增加到32 位,其性能也隨之顯著提高。正是因為看到了微處理器的這種潛力,卡內基- 梅隆大學開始在當時流行的DECPDP11 小型計算機的基礎上研製成功一台由16 個PDP11/40 處理機通過交叉開關與16 個共享存儲器模塊相連接而成的共享存儲多處理器系統C.mmp。
從80 年代開始,微處理器技術一直在高速前進。稍後又出現了非常適合於SMP 方式的匯流排協議,而伯克利加州大學則對匯流排協議進行了擴展,提出了Cache 一致性問題的處理方案。從此,C.mmp 開創出的共享存儲多處理器之路越走越寬;現在,這種體系結構已經基本上統治了伺服器和桌面工作站市場。
同一時期,基於消息傳遞機制的並行計算機也開始不斷涌現。80 年代中期,加州理工成功地將64 個i8086/i8087 處理器通過超立方體互連結構連結起來。此後,便先後出現了Intel iPSC 系列、INMOS Transputer 系列,Intel Paragon 以及IBM SP 的前身Vulcan 等基於消息傳遞機制的並行計算機。
80 年代末到90 年代初,共享存儲器方式的大規模並行計算機又獲得了新的發展。IBM將大量早期RISC 微處理器通過蝶形互連網路連結起來。人們開始考慮如何才能在實現共享存儲器緩存一致的同時,使系統具有一定的可擴展性(Scalability)。90 年代初期,斯坦福大學提出了DASH 計劃,它通過維護一個保存有每一緩存塊位置信息的目錄結構來實現分布式共享存儲器的緩存一致性。後來,IEEE 在此基礎上提出了緩存一致性協議的標准。
90 年代以來,主要的幾種體系結構開始走向融合。屬於數據並行類型的CM-5 除大量採用商品化的微處理器以外,也允許用戶層的程序傳遞一些簡單的消息;CRAY T3D是一台NUMA 結構的共享存儲型並行計算機,但是它也提供了全局同步機制、消息隊列機制,並採取了一些減少消息傳遞延遲的技術。
隨著商品化微處理器、網路設備的發展,以及MPI/PVM 等並行編程標準的發布,機群架構的並行計算機出現。IBM SP2 系列機群系統就是其中的典型代表。在這些系統中,各個節點採用的都是標準的商品化計算機,它們之間通過高速網路連接起來。
今天,越來越多的並行計算機系統採用商品化的微處理器加上商品化的互連網路構造,這種分布存儲的並行計算機系統稱為機群。國內幾乎所有的高性能計算機廠商都生產這種具有極高性能價格比的高性能計算機,並行計算機就進入了一個新的時代,並行計算的應用達到了前所未有的廣度和深度。
並行計算機隨著微處理晶元的發展,已經進入了一個新時代。目前並行計算機的性能已經突破20PFLOPS,正在向百億億次發展。我國並行計算機的研製已經走在世界前列。2003年由聯想公司生產的深騰6800 在2003 年11 月世界TOP500 排名中位列第14 名,2004 年曙光公司生產的曙光4000A 在2004 年6 月的世界TOP500 排名中位列第10 名,這是我國公開發布的高性能計算機在世界TOP500 中首次進入前十名,這標志著我國在並行計算機系統的研製和生產中已經趕上了國際先進水平,為提高我國的科學研究水平奠定了物質基礎。2013年國際超級計算機大會最新發布的世界超級計算機500強排名中,國防科技大學研製的天河二號超級計算機系統,以峰值計算速度每秒5.49億億次、持續計算速度每秒3.39億億次雙精度浮點運算的優異性能位居榜首。
從TOP500 的前10 名來看,美國仍然是超級計算機的最大擁有者。按照世界TOP500 的統計數據來分析,美國在計算能力上佔有近全世界的一半,在TOP500 中的所有計算機中擁有的數量超過50%。

『拾』 如何評價復旦大學並行處理研究所

其主要研究方向有:並行編譯系統aft、並行程序設計環境parapie、並行演算法及並行分布式系統的性能評估和監測等。近年來,其主要的科研成果有:「並行化編譯關鍵技術的研究與開發」、「大規模並行處理中關鍵技術—並行程序開發的研究」、「並行及分布式計算機監測系統」等,這些成果均達到了當前國際先進水平。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:705
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:968
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:676
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:828
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:737
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1076
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:308
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:188
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:875
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:829