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.
- 本次实验在Mac OSX 上安装VMware Fusion虚拟机,并在虚拟机上用Ubuntu14.04 32位上进行配置
-
进行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)的开源版本
- Ant:一种基于Java的build工具,用Java的类进行扩展,是一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。Ant具有很多优点:
-
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
-
开始安装前需要先准备好安装文件,包括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
-
解压文件
确认处于home文件目录下,首先创建dol文件夹:
mkdir dol
然后输入下面的指令把dolethz.zip解压到dol文件夹中:
unzip dol_ethz.zip -d dol
接着解压systemc
tar -zxvf systemc-2.3.1.tgz
-
编译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"/>