天天看點

《并行計算的程式設計模型》一2.2 GASNet概述

最初設計的GASNet主要為支援源到源翻譯技術的語言編譯器把并行程式轉換為使用庫的串行代碼(通常是C語言)服務,在實作并行通信的同時凸顯了并行語言在其他方面的差別,如UPC中的全局記憶體配置設定和鎖。由于GASNet是語言無關的,是以翻譯的代碼通常需要調用特定語言的運作時庫。實作通信的GASNet可以由翻譯的代碼直接調用或通過特定的運作時庫間接調用。因為GASNet最初用于源到源翻譯,是以GASNet現在主要用于代碼自動生成方面以及為開發并行運作時庫的專業程式員提供服務。當性能與易用性發生沖突時,該設計傾向于選擇獲得高性能。GASNet的另一個優點是所指定實作的“接口”或“調用”不必以函數形式實作。是以,通常使用C語言的預處理宏對GASNet進行調用(尤其是從GASNet接口簡單映射到供應商提供的網絡API中)。

GASNet同時具有較好的可移植性,幾乎所有平台架構都可以直接有效實作GASNet接口。在編寫本書之時,GASNet已經應用在常見互連叢集的網絡API上,甚至是在目前可用的IBM和Cray超級計算機上。此外,GASNet也正嘗試在中國與日本最大的超算機器上進行移植。

接下來将介紹GASNet使用規範和本章所使用的相關術語,并對GASNet的功能進行概述。後續部分将詳細地介紹本節概述的内容及其使用示例,并對GASNet未來的發展進行了展望。

繼續閱讀