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 輸出程式碼。