標題: 實作一個原型的平行編譯程式
Implementation of a prototype parallel compiler
作者: 陳昌盛
CHEN, CHANG-SHENG
曾憲雄
ZENG, XIAN-XIONG
資訊科學與工程研究所
關鍵字: 原型;平行;編譯程式
公開日期: 1992
摘要: 隨著兼具高效能及低價位的超大型積體電路 (VLSI) 晶片製作技術的不斷提昇,多 處理機(multiprocessing) 系統在學術界與商用市場正日漸吸引更多人的關注。在 電腦廠家及研究學者已經研發出不同架構的平行電腦系統之中,以具分享記憶體 ( shared-memory)的多處理機系統為前景最被看好的架構;其主因是,這類系統其架 構簡單,製造成本不算高而且也具有不錯的多重處理運算的能力。 有一個重要的問題,一直困擾著多數使用平行計算系統的研究者,那就是--缺乏能 將一般程式平行化的編譯程式(parallelizing compiler)來幫助程式設計者將程式 中可以平行處理的部份找出並加以利用,以期能善加使用平行系統的效能,從事於 需要較複雜運算的工作,並進而縮短部份研發工作的時間。 在這篇論文之中,我們提出一個通用化的方法,用來發展具平行化能力的編譯程式 並且利用它在我們的實驗系統--Acer Altos 10000 system ,使用模擬 4.3 BSD Unix的Mach 3.0 (OSF/1)作業系統--實作一個原型的(prototype) ,具平行化能力 的Fortran 編譯程式。 目前這個編譯程式由四個主要的模組所構成,分別是(1) p2fpp/p2cpp ,一個可將 傳統按順序執行的原始程式轉換成具有可平行化原始程式的改寫程式(Parafrase-2 source-to-source Restructurer),(2) f2c ,一個可將Fortran 程式轉成對應的 C程式的轉換程式,(3) s2m ,一個可將部份C程式由單一轉成多重引線(thread) 的轉換程式,和(4) GNU gcc ,原系統上傳統的編譯程式。其中第一與二項為先前 已經在別的系統上發展完成的程式,經修改後將其移殖到實驗系統上,第三項是我 們自己所設計的程式,使用Mach上所提供具有支援平行計算的C thread程式庫配合 其他幾個程式模組,來完成將程式僅量平行化的目的。
URI: http://140.113.39.130/cdrfb3/record/nctu/#NT812394006
http://hdl.handle.net/11536/57228
顯示於類別:畢業論文