跳轉到內容

ROSE 編譯器框架/專案

來自華夏公益教科書

此頁面用作關於 rose/projects 下主要目錄的簡要指南

專案概述

[編輯 | 編輯原始碼]

解析

  • pragmaParsing:一個示例翻譯器,使用 ROSE 提供的解析構建塊來解析編譯指示

翻譯

  • autoTuning:一個專案,使用 ROSE 的引數化翻譯器來促進經驗性調整(或自動調整)
  • DataFaultTolerance:一個專案,使用源到源翻譯來使應用程式對記憶體錯誤具有彈性
  • extractMPISkeleton:提取 MPI 通訊骨架
  • Fortran_to_C : 一個 Fortran 到 C 語言翻譯器

靜態分析

  • compass:一個靜態分析工具,用於查詢應用程式中的錯誤

動態分析

  • RTED:使用編譯器對庫呼叫的工具進行執行時錯誤檢測。

二進位制分析

  • BinaryCloneDetection:檢測二進位制可執行檔案之間的相似性。
  • CloneDetection


高階抽象的最佳化

  • arrayOptimization:基於陣列抽象的最佳化
  • autoParallelization:一個翻譯器,可以根據依賴性分析和可選的抽象語義,自動將 OpenMP 指令插入序列程式碼中。

並行程式設計模型

  • mint:一個基於指令的 GPU 程式設計模型
  • OpenMP_Translator:使用 ROSE 實現 OpenMP 的第一個版本。不推薦用於生產環境,僅作為示例保留。
  • UpcTranslation:一個初步的示例專案,用於演示如何使用 ROSE 建立 UPC 編譯器

一個正在進行的專案,用於探索知識驅動的 HPC 分析和最佳化。我們使用 OWL 使用的標準和工具鏈來正式建模 HPC 領域中的概念和關係,包括程式、硬體、分析和最佳化等。

在主文章 OpenK 中檢視更多資訊

Shift Calculus DSL

[編輯 | 編輯原始碼]

開發一個用於模板計算的可擴充套件領域特定語言

minitermite

[編輯 | 編輯原始碼]

問題:一個學生在 ROSE 中添加了一些新的 IR 節點。她無法透過 minitermite 的 make

解決方案:projects/minitermite/HOWTO_ADD_NEW_SGNODE_VARIANTS

華夏公益教科書