跳轉到內容

ROSE 編譯器框架/ShiftCalculus

來自華夏公益教科書

2015 年 3 月的會議使用了 projects/ShiftCalculus2 專案,測試程式碼在 makefile 中為 test10。

主要原始檔

  • shiftCalculusCompiler.C 和 .h : DSL 編譯器
  • dslCodeGeneration.C 和 .h : 程式碼生成器 generateStencilCode()

EDG 4.9 和 GNU 4.8 是必需的,以支援 Shift Calculus DSL 中存在的 C++11。

  • 此專案需要 C++11。建議使用 GCC 4.8.1 以接受“-std=c++11”。
  • 需要 EDG 4.9 前端:--enable-edg_version=4.9


設定環境

  • GCC_VERSION=4.8.1 BOOST_VERSION=1_50_0 source /nfs/casc/overture/ROSE/opt/rhel6/x86_64/rose_environment.sh

示例配置行

../sourcetree/configure --prefix=/path/to/install --with-boost=/nfs/casc/overture/ROSE/opt/rhel6/x86_64/boost/1_50_0/gcc/4.8.1/ --with-C_OPTIMIZE=-O0 --with-CXX_OPTIMIZE=-O0 --with-ROSE_LONG_MAKE_CHECK_RULE=yes --enable-boost-version-check=false --enable-gcc-version-check=false --enable-edg_version=4.9

  • "make test10" 將生成沒有額外最佳化的 C++ 輸出程式碼
  • "make rose_laplacian_lite_v3_GPU_collapsed.cu" 將生成具有迴圈摺疊的 CUDA 輸出程式碼。
華夏公益教科書