跳转到内容

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 输出代码。
华夏公益教科书