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 输出代码。