基于Ubuntu 14.04 32位的 DOL开发环境配置

一.DOL框架描述

DOL全称为Distributed Operation Layer, 根据TIK 的定义:

  • The distributed operation layer (DOL) is a framework that enables the (semi-) automatic mapping of applications onto the multiprocessor SHAPES architecture platform.

DOL 有三个基本的功能:

  • DOL Application Programming Interface: The DOL defines a set of computation and communication routines that enable the programming of distributed, parallel applications for the SHAPES platform. Using these routines, application programmers can write programs without having detailed knowledge about the underlying architecture. In fact, these routines are subject to further refinement in the hardware dependent software (HdS) layer.

  • DOL Functional Simulation: To provide programmers a possibility to test their applications, a functional simulation framework has been developed. Besides functional verification of applications, this framework is used to obtain performance parameters at the application level.

  • DOL Mapping Optimization: The goal of the DOL mapping optimization is to compute a set of optimal mappings of an application onto the SHAPES architecture platform. In a first step, XML based specification formats have been defined that allow to describe the application and the architecture at an abstract level. Still, all the information necessary to obtain accurate performance estimates is contained.

二.DOL开发环境配置流程

  • 本次实验在Mac OSX 上安装VMware Fusion虚拟机,并在虚拟机上用Ubuntu14.04 32位上进行配置
  1. 进行DOL配置之前需要先安装一些必要的环境,在Ubuntu打开终端,在命令行输入:

    sudo apt-get update
    sudo apt-get install ant
    sudo apt-get install openjdk-7-jdk
    sudo apt-get install unzip

    下面简要介绍一下上述安装的工具:(参考于Ant工具介绍

    • Ant:一种基于Java的build工具,用Java的类进行扩展,是一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。Ant具有很多优点:
      • 跨平台性,基于纯Java语言编写
      • 操作简单,Ant由一个内置任务和可选任务组成,运行时需要xml文件(构建文件)
      • 易于维护、书写,结构简单,可集成到开发环境
    • Openjdk-7-jdk :在Java平台构建的JAVA开发环境(JDK)的开源版本
  2. Java的补充配置

    openjdk运行不了就采取手动下载Java安装包的方法,网址在官网, 我的系统为32位,所以我选择了x86的版本(jdk-8u101-linux-i586.tar.gz),下载之后把压缩包放入ubuntu的home文件夹中

    打开命令行, 解压压缩包到/usr/lib/java文件夹

    cd /usr/lib
    sudo mkdir java
    sudo tar xvf ./jdk-8u101-linux-i586.tar -C /usr/lib/java

    文件夹重命名为jdk8

    cd /usr/lib/java
    sudo mv jdk1.8.0_40/ jdk8     //此处的jdk1.8.0_40根据实际名字书写

    修改环境变量

    sudo gedit ~/.bashrc

    在文件末尾添加jdk文件路径

    export JAVA_HOME=/usr/lib/java/jdk8
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH

    保存退出,输入下面命令使之生效

    source ~/.bashrc

    之后配置默认的JDK

    sudo update-alternatives --install /usr/bin/java java /usr/lib/java/jdk8/bin/java 300
    sudo update-alternatives --install /usr/bin/javac javac /usr/lib/java/jdk8/bin/javac 300

    查看当前各种JDK版本和配置: 链接组 java (提供 /usr/bin/java)中只有一个选项:/usr/lib/java/jdk8/bin/java ,无需配置。

    sudo update-alternatives --config java

    最后通过命令看配置是否成功,成功就会有java对应的各种指令信息

    java -version	# 查看JDK版本
    java
    javac
  3. 开始安装前需要先准备好安装文件,包括systemc-2.3.1.tgz 和dol_ethz.zip,可以先行下载再放入ubuntu的home文件夹中,或者直接在命令行输入下面的代码:

    sudo wget http://www.accellera.org/images/downloads/standards/systemc/systemc-2.3.1.tgz
    sudo wget http://www.tik.ee.ethz.ch/~shapes/downloads/dol_ethz.zip

  4. 解压文件

    确认处于home文件目录下,首先创建dol文件夹:

    mkdir dol

    然后输入下面的指令把dolethz.zip解压到dol文件夹中:

    unzip dol_ethz.zip -d dol

    接着解压systemc

    tar -zxvf systemc-2.3.1.tgz

  5. 编译systemc

    解压后进入systems-2.3.1的目录下

    cd systemc-2.3.1

    新建一个临时文件夹objdir(mkdir 即生成新文件夹指令)

    mkdir objdir
    

    用下面的命令运行configure(使其根据系统环境设置参数,用于编译)

    ../configure CXX=g++ --disable-async-updates
    

    接着我们可以进行编译

   sudo make install

编译之后退到上一层目录

   cd ..
   ls

文件目录如下(此为32位系统)

通过下面的指令输出当前路劲,并记下来

pwd

我的路径是 /home/serena/systemc-2.3.1

接着进入dol文件夹

   cd ../dol

修改build_zip.xml文件,可以使用gedit或者vim,要注意用sudo才有权限修改

   sudo gedit build_zip.xml
   //或者
   sudo vim build_zip.xml 

在文件中找到以下两句话,把YYY部分的路径改为之前的pwd保存的结果(32位系统),对于64位的系统,lib-linux要改成lib-linux64

   <property name="systemc.inc" value="YYY/include"/>
   <property name="systemc.lib" value="YYY/lib-linux/libsystemc.a"/>
  1. 编译dol

    继续在当前目录下输入指令

    ant -f build_zip.xml all

    成功会显示build successful

    然后可以试着运行第一个例子,进入build/bin/mian,运行下面的指令

    cd build/bin/mian
    ant -f runexample.xml -Dnumber=1

    成功结果如图

    至此全部配置完成。